Sort items in tmm properly, and allow clicking the final item
[emacs.git] / ChangeLog.3
blob16e74f41be412b36b66acb006521e07b2210b1ad
1 2020-08-03  Phil Sainty  <psainty@orcon.net.nz>
3         lisp/so-long.el: Improve support for major mode hooks
5         * lisp/so-long.el (so-long-remember-all, so-long-disable-minor-modes)
6         (so-long-override-variables): Store and use the `so-long-minor-modes'
7         and `so-long-variable-overrides' values seen by the original major
8         mode, so that buffer-local changes made in the major mode hook will be
9         respected.
11         Add documentation of this and other major mode hook usage.
13 2020-08-02  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
15         Avoid segfaults if XIM is set but not xim_styles
17         Emacs segfaults at the X11 initialization if XIM is set
18         and xim_styles is NULL.  This patch avoids the crash.
19         * src/xfns.c: Check also if FRAME_X_XIM_STYLES(f) is NULL.
20         (Bug#42676)  (Bug#42673)  (Bug#42677)
22 2020-07-31  Philipp Stephani  <phst@google.com>
24         Backport: Make checking for liveness of global values more precise.
26         We can't just use a hash lookup because a global and a local reference
27         might refer to the same Lisp object.
29         * src/emacs-module.c (module_free_global_ref): More precise check for
30         global liveness.
32         (cherry picked from commit 9f01ce6327af886f26399924a9aadf16cdd4fd9f)
34 2020-07-31  Philipp Stephani  <phst@google.com>
36         Backport: Fix subtle bug when checking liveness of module values.
38         We can't simply look up the Lisp object in the global reference table
39         because an invalid local and a valid global reference might refer to
40         the same object.  Instead, we have to test the address of the global
41         reference against the stored references.
43         * src/emacs-module.c (module_global_reference_p): New helper function.
44         (value_to_lisp): Use it.
46         (cherry picked from commit 6355a3ec62f43c9b99d483982ff851d32dd78891)
48 2020-07-31  Philipp Stephani  <phst@google.com>
50         Backport: Fix memory leak for global module objects (Bug#42482).
52         Instead of storing the global values in a global 'emacs_value_storage'
53         object, store them as hash values alongside the reference counts.
54         That way the garbage collector takes care of cleaning them up.
56         * src/emacs-module.c (global_storage): Remove.
57         (struct module_global_reference): New pseudovector type.
58         (XMODULE_GLOBAL_REFERENCE): New helper function.
59         (module_make_global_ref, module_free_global_ref): Use
60         'module_global_reference' struct for global reference values.
61         (value_to_lisp, module_handle_nonlocal_exit): Adapt to deletion of
62         'global_storage'.
64         (cherry picked from commit 5c5eb9790898e4ab10bcbbdb6871947ed3018569)
66 2020-07-30  Nicolas Petton  <nicolas@petton.fr>
68         * admin/authors.el (authors-aliases): Remove a faulty regexp.
70 2020-07-29  Stefan Kangas  <stefankangas@gmail.com>
72         * doc/lispref/symbols.texi (Definitions): Fix typo.
74 2020-07-28  Nicolas Petton  <nicolas@petton.fr>
76         * etc/HISTORY: Add Emacs 27.1 release date.
78 2020-07-28  Nicolas Petton  <nicolas@petton.fr>
80         Bump Emacs version to 27.1
82         * README:
83         * configure.ac:
84         * msdos/sed2v2.inp:
85         * nt/README.W32: Bump Emacs version.
87 2020-07-28  Nicolas Petton  <nicolas@petton.fr>
89         * etc/AUTHORS: Update.
91 2020-07-28  Nicolas Petton  <nicolas@petton.fr>
93         Update authors.el
95         * admin/authors.el (authors-aliases): Add author aliases.
97 2020-07-28  Nicolas Petton  <nicolas@petton.fr>
99         * etc/NEWS: Remove temporary markup.
101 2020-07-26  Philipp Stephani  <phst@google.com>
103         Add another test for global module references
105         * test/src/emacs-module-tests.el (mod-test-globref-reordered): New
106         unit test.
108         * test/data/emacs-module/mod-test.c (Fmod_test_globref_reordered): New
109         test module function.
110         (emacs_module_init): Export it.
112 2020-07-26  Philipp Stephani  <phst@google.com>
114         Backport: add another test case for module assertions.
116         This backports commit 9f01ce6327 from master.  Since the bug isn’t
117         present on emacs-27, just backport the new test case.
119         * test/data/emacs-module/mod-test.c (Fmod_test_globref_invalid_free):
120         New test module function.
121         (emacs_module_init): Export it.
123         * test/src/emacs-module-tests.el
124         (module--test-assertions--globref-invalid-free): New unit test.
126 2020-07-26  Philipp Stephani  <phst@google.com>
128         Backport: Add module test for edge case.
130         This backports commit 6355a3ec62 from master.  Since the bug isn’t
131         present in emacs-27, just backport the test case.
133         * test/data/emacs-module/mod-test.c
134         (Fmod_test_invalid_store_copy): New test module function.
135         (emacs_module_init): Export it.
137         * test/src/emacs-module-tests.el
138         (module--test-assertions--load-non-live-object-with-global-copy):
139         New unit test.
141 2020-07-25  Eli Zaretskii  <eliz@gnu.org>
143         Fix last change
145         * src/composite.c (composition_reseat_it): Fix of the commentary,
146         and a minor change of the last fix.
148 2020-07-25  Pip Cet  <pipcet@gmail.com>
150         Fix Arabic shaping when column-number-mode is in effect
152         * src/indent.c (scan_for_column, compute_motion): Pass -1,
153         instead of NEUTRAL_DIR, to 'composition_reseat_it'.
154         * src/composite.c (composition_reseat_it): Interpret negative
155         value of BIDI_LEVEL to mean the caller doesn't know what is the
156         bidi direction of the text.  (Bug#41005)
158 2020-07-24  Eli Zaretskii  <eliz@gnu.org>
160         Fix description of kmacro-* commands in the user manual
162         * doc/emacs/kmacro.texi (Basic Keyboard Macro): Separate old-style
163         macro definition commands from the new style in the summary
164         table.  (Bug#42492)
166 2020-07-24  Lars Ingebrigtsen  <larsi@gnus.org>
168         Fix viewing of encrypted S/MIME messages
170         * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Don't
171         add a content-type header if there already is one (bug#41659).
173 2020-07-21  Ken Manheimer  <ken.manheimer@gmail.com>
175         Revert "Rectify allout-widgets region undecoration so item at start is not missed."
177         This reverts commit 33d85cb768b40794bffcd9ab22fbdec1211a74e5.
179         Backporting it to emacs-27 was not appropriate.
181 2020-07-21  Ken Manheimer  <ken.manheimer@gmail.com>
183         Revert "Resolve missing button-region keymap bindings."
185         This reverts commit dd7c191291c8eb1afeac0f1512745491c5c7a317.
187         Backporting it to emacs-27 was not appropriate.
189 2020-07-21  Ken Manheimer  <ken.manheimer@gmail.com>
191         Revert "Provide missing let definition to prevent background void-variable error."
193         This reverts commit 3c410b6b4753e02269bb36914e7534eb124150dd.
195         Backporting it to emacs-27 was not appropriate.
197 2020-07-21  Ken Manheimer  <ken.manheimer@gmail.com>
199         Revert "Don't let item decoration be disrupted by too-shallow items."
201         This reverts commit 8684216542889fa57daa32072104afc69785907f.
203         Backporting it to emacs-27 was not appropriate.
205 2020-07-21  Ken Manheimer  <ken.manheimer@gmail.com>
207         Revert "Fix allout-widgets-mode handling of edits to item cue, fixing (bug#11312)"
209         This reverts commit 8e13d332481551e4c8c1c66dd0c69dd09256dffc.
211         Backporting it to emacs-27 was not appropriate.
213 2020-07-21  Robert Pluim  <rpluim@gmail.com>
215         Run custom-magic-reset in the customize buffer
217         If the user has navigated away from the customize buffer, then
218         clicking on a widget in the customize buffer applies changes in the
219         selected buffer rather than in the customize buffer.  Pass the
220         customize buffer to 'custom-magic-reset' to avoid this.
222         * lisp/cus-edit.el (custom-magic-reset): Add optional buffer argument,
223         apply changes in that buffer.
224         (custom-notify): Pass the buffer containing the widget to
225         'custom-magic-reset'.  (Bug#40788)
227 2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>
229         Backport: Rectify allout-widgets region undecoration so item at start is not missed.
231         * lisp/allout-widgets.el (allout-widgets-undecorate-region):
232         Reorganize the loop so an item at the start is not skipped.
234         (cherry picked from commit 33d85cb768b40794bffcd9ab22fbdec1211a74e5)
236 2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>
238         Backport: Resolve missing button-region keymap bindings.
240         * lisp/allout-widgets.el (allout-item-icon-keymap,
241         allout-item-body-keymap, allout-cue-span-keymap, allout-widgets-mode):
242         Inherit from both (current-local-map) and (current-global-map). This
243         provides for missing global bindings when inheriting from
244         just (current-local-map), eg Esc-<.
246         (cherry picked from commit dd7c191291c8eb1afeac0f1512745491c5c7a317)
248 2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>
250         Backport: Provide missing let definition to prevent background void-variable error.
252         * lisp/allout-widgets.el (allout-widgets-exposure-change-processor)
253         Let-declare handled-conceal, for reference through `(symbol-value)'
254         within the let body. (Because the error happens in an
255         after-change-functions hook, so it is caught and reported as a message
256         by allout-widgets-hook-error-handler.)
258         (cherry picked from commit 3c410b6b4753e02269bb36914e7534eb124150dd)
260 2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>
262         Backport: Don't let item decoration be disrupted by too-shallow items.
264         * lisp/allout-widgets.el (allout-decorate-item-and-context): Check for
265         parent-position having value before using it.
267         Also, shift local emacs vars topic deeper so it doesn't constitute
268         an instance of that particular aberrant case.
270         (cherry picked from commit 8684216542889fa57daa32072104afc69785907f)
272 2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>
274         Backport: Fix allout-widgets-mode handling of edits to item cue, fixing (bug#11312)
276         * lisp/allout-widgets.el (allout-decorate-item-cue): Properly decorate
277         item cue span.
278         (allout-setup-text-properties): use allout-graphics-modification-handler
279         as allout-cue-span-category modification hook.
281         (cherry picked from commit 8e13d332481551e4c8c1c66dd0c69dd09256dffc)
283 2020-07-20  Robert Pluim  <rpluim@gmail.com>
285         Document prefix arg effects for 'epa-mail-{sign,encrypt}'
287         * doc/misc/epa.texi (Mail-mode integration): Describe effect of
288         prefix arg to 'epa-mail-encrypt' and 'epa-mail-sign'.
290         * lisp/epa-mail.el (epa-mail-sign): Describe effect of prefix arg.
292 2020-07-20  Robert Pluim  <rpluim@gmail.com>
294         * etc/NEWS: Correct description of :client-certificate change
296 2020-07-18  Eli Zaretskii  <eliz@gnu.org>
298         Revert "Fix filename completion in shell mode buffers"
300         This reverts commit e4d17d8cb479ffeeb7dfb7320a1432722ac8df75.
301         Per bug#42383 discussions, the fix for bug#34330 probably
302         just works around the real issue, which is in pcomplete.el.
304 2020-07-18  Eli Zaretskii  <eliz@gnu.org>
306         Improve documentation of 'bookmark-bmenu-mode'
308         * lisp/bookmark.el (bookmark-bmenu-mode): Add
309         `bookmark-bmenu-search' to the doc string.  (Bug#42325)
311 2020-07-18  Eli Zaretskii  <eliz@gnu.org>
313         Update systems using GnuTLS certificate files
315         * lisp/net/gnutls.el (gnutls-trustfiles): Update the names of the
316         systems in the comments.  Reported by Richard Stallman <rms@gnu.org>
317         in
318         https://lists.gnu.org/archive/html/emacs-devel/2020-07/msg00455.html.
320 2020-07-17  Eli Zaretskii  <eliz@gnu.org>
322         Improve documentation of 'kill-emacs'
324         * doc/lispref/os.texi (Killing Emacs):
325         * src/emacs.c (Fkill_emacs): Document what non-integer, non-string
326         argument to 'kill-emacs' means.  (Bug#42400)
328 2020-07-17  Eli Zaretskii  <eliz@gnu.org>
330         Improve documentation of 'display-raw-bytes-as-hex'
332         * doc/emacs/display.texi (Text Display): Mention
333         'display-raw-bytes-as-hex'.  (Bug#42384)
335 2020-07-17  Robert Pluim  <rpluim@gmail.com>
337         Correct descriptions of init file
339         These still referred to XDG as being preferred.
341         * doc/emacs/custom.texi (Init File): Correct description of init
342         file preference order (Bug#42388).
344         * doc/emacs/custom.texi (Find Init): Correct description of
345         default init-file.
347 2020-07-16  Eli Zaretskii  <eliz@gnu.org>
349         Fix interrupt-process on MS-Windows
351         * src/w32proc.c (sys_kill): Test the status of the left Ctrl key
352         for the purpose of restoring it after simulating Ctrl-C.  This
353         avoids leaving the left Ctrl key status in depressed state when
354         the user actually pressed the right Ctrl key.  (Bug#42350)
356 2020-07-11  Andrea Corallo  <akrl@sdf.org>
358         Revert "* doc/misc/flymake.texi (An annotated example backend): Typo fix."
360         This reverts commit b1ad0380d2372b8df35ff603b8918d22c27ad964.
362 2020-07-11  Mattias Engdegård  <mattiase@acm.org>
364         Correct 'concat' manual entry (bug#42296)
366         * doc/lispref/strings.texi (Creating Strings): 'concat' does not
367         necessarily return a newly allocated string.  This has been the case
368         at least since 1997 (Emacs 20.3).
370 2020-07-11  Andrea Corallo  <akrl@sdf.org>
372         * doc/misc/flymake.texi (An annotated example backend): Typo fix.
374 2020-07-11  Eli Zaretskii  <eliz@gnu.org>
376         Add commentary in gtkutil.c
378         * src/gtkutil.c: Add a comment regarding the incompatibilities
379         vis-a-vis GTK.  Suggested by Richard Stallman <rms@gnu.org>.
381 2020-07-10  Basil L. Contovounesios  <contovob@tcd.ie>
383         Consistently stylize eldoc as ElDoc in prose
385         * doc/emacs/custom.texi (Specifying File Variables):
386         * doc/emacs/modes.texi (Major Modes):
387         * doc/emacs/programs.texi (Lisp Doc):
388         * etc/NEWS.22:
389         * etc/NEWS.23:
390         * lisp/progmodes/python.el:
391         (python-eldoc-function):
392         * test/lisp/progmodes/python-tests.el: Consistently capitalize eldoc
393         as ElDoc rather than Eldoc.
395 2020-07-09  Eli Zaretskii  <eliz@gnu.org>
397         Improve documentation of "C-u C-x ="
399         * doc/emacs/mule.texi (International Chars): Mention the
400         composition information displayed by "C-u C-x =".  (Bug#42256)
402 2020-07-09  Paul Eggert  <eggert@cs.ucla.edu>
404         Mention floating rounding issues
406         * doc/lispref/numbers.texi (Float Basics): Mention floating-point
407         rounding issues uncovered by the discussion in Bug#42417.
409 2020-07-09  Mattias Engdegård  <mattiase@acm.org>
411         Repair global-auto-revert-ignore-modes (bug#42271)
413         Reported by Gustavo Tavares Cabral.
415         * lisp/autorevert.el (auto-revert--global-add-current-buffer): Fix typo.
417 2020-07-08  Eli Zaretskii  <eliz@gnu.org>
419         One more improvement of left/right-fringe display spec docs
421         * doc/lispref/display.texi (Fringe Bitmaps): Yet another
422         clarification of how to use FACE in left/right-fringe display
423         spec.
425 2020-07-07  Eli Zaretskii  <eliz@gnu.org>
427         Another clarification of left/right-fringe display spec
429         * doc/lispref/display.texi (Fringe Bitmaps): More accurate
430         description of what FACE means in the left/right-fringe display
431         spec.
433 2020-07-07  Eli Zaretskii  <eliz@gnu.org>
435         Avoid infloop in 'format-mode-line'
437         * src/xdisp.c (decode_mode_spec): Don't use W->start if it is
438         outside of the buffer's accessible region.  (Bug#42220)
440 2020-07-05  Eli Zaretskii  <eliz@gnu.org>
442         Clarify the documentation of 'left/right-fringe' display spec
444         * doc/lispref/display.texi (Other Display Specs, Fringe Bitmaps):
445         Clarify how the optional FACE parameter of the left-fringe and
446         right-fringe display spec is used.  Reported by Gregory Heytings
447         <ghe@sdf.org>.
449 2020-07-04  Eli Zaretskii  <eliz@gnu.org>
451         Minor improvement in ELisp manual
453         * doc/lispref/frames.texi (Position Parameters): Clarify the
454         description of the 'above' frame parameter.  (Bug#42154)
456 2020-07-02  Michael Albinus  <michael.albinus@gmx.de>
458         * doc/misc/tramp.texi (Customizing Methods): Fix typo.
460 2020-06-29  Philipp Stephani  <phst@google.com>
462         Fix undefined behavior in json.c (Bug#42113)
464         * src/json.c (lisp_to_json_toplevel_1, Fjson_parse_string): Check
465         whether input strings are actually strings.
467         * test/src/json-tests.el (json-parse-string/wrong-type)
468         (json-serialize/wrong-hash-key-type): New regression tests.
470 2020-06-28  Richard Kim  <emacs18@gmail.com>
472         Fix ACTION argument of 'display-buffer' call in gud.el
474         * lisp/progmodes/gud.el (gud-common-init): The ACTION argument of
475         'display-buffer' should be a list of list of functions.  (Bug#41888)
477 2020-06-27  Eli Zaretskii  <eliz@gnu.org>
479         * src/keyboard.c (Fclear_this_command_keys): Doc fix.
481 2020-06-27  Eli Zaretskii  <eliz@gnu.org>
483         Improve do string of 'man'
485         * lisp/man.el (man): Mention the need to use C-q for quoting the
486         SPC character in the man-page input.  (Bug#41859)
488 2020-06-26  Eli Zaretskii  <eliz@gnu.org>
490         Fix posn-at-point at beginning of a display string
492         * src/xdisp.c (pos_visible_p): Account for the line-number width
493         when the display string at CHARPOS ends in a newline.  (Bug#42039)
495 2020-06-26  Eli Zaretskii  <eliz@gnu.org>
497         Improve documentation of Info node movement commands
499         * lisp/info.el (Info-next, Info-prev, Info-forward-node)
500         (Info-backward-node): More detailed descriptions of what each
501         commands does with respect to child and parent nodes.  (Bug#42050)
503 2020-06-22  Phillip Lord  <phillip.lord@russet.org.uk>
505         Add Jansson dependency to Windows Build
507         * admin/nt/dist-build/build-dep-zips.py: Add dependency
509 2020-06-22  Richard Copley  <rcopley@gmail.com>  (tiny change)
511         Unbreak 'reverse-region'
513         * lisp/sort.el (reverse-region): Unbreak the function.  It was
514         broken by a fix for bug#39376.
516 2020-06-22  Basil L. Contovounesios  <contovob@tcd.ie>
518         Fix typos and markup in fill column indicator docs
520         * doc/emacs/display.texi (Displaying Boundaries): Fix typos and
521         Texinfo markup.
523 2020-06-20  Stephen Berman  <stephen.berman@gmx.net>
525         Avoid crashes in 'defconst'
527         * src/eval.c (Fdefconst): Verify that SYMBOL is a known symbol.
528         (Bug#41817)
530 2020-06-20  Richard Stallman  <rms@gnu.org>
532         Fix text about Lisp archives in the Emacs FQ
534         * doc/misc/efaq.texi (Packages that do not come with Emacs): Warn
535         about using Lisp archives other than GNU ELPA.
537 2020-06-20  Eli Zaretskii  <eliz@gnu.org>
539         Don't use 'cl' functions in ELisp manual's examples
541         * doc/lispref/control.texi (pcase Macro): Use 'cl-evenp' instead
542         of 'evenp'.  (Bug#41947)
544 2020-06-17  Basil L. Contovounesios  <contovob@tcd.ie>
546         Fix some Texinfo markup
548         * doc/misc/gnus-faq.texi (FAQ 3-11):
549         * doc/emacs/frames.texi (Tab Bars): Consistently use @var with
550         lower-case metasyntactic variables and @minus instead of a dash.
551         (Text-Only Mouse):
552         * doc/emacs/files.texi (Auto Revert):
553         * doc/emacs/misc.texi (emacsclient Options)
554         (Embedded WebKit Widgets):
555         * doc/lispref/control.texi (pcase Macro):
556         * doc/lispref/debugging.texi (Backtraces):
557         * doc/lispref/files.texi (Truenames):
558         * doc/lispref/frames.texi (Management Parameters):
559         * doc/lispref/os.texi (Time Calculations):
560         * doc/lispref/text.texi (Parsing JSON):
561         * doc/misc/efaq-w32.texi (Other versions of Emacs, Debugging)
562         (Swap Caps NT, Printing, Bash, Developing with Emacs):
563         * doc/misc/efaq.texi (New in Emacs 25):
564         * doc/misc/emacs-gnutls.texi (Help For Users):
565         * doc/misc/message.texi (Using S/MIME, Passphrase caching):
566         * test/manual/etags/tex-src/gzip.texi (Overview): Use @. when a
567         sentence in the middle of a paragraph ends with an upper-case letter
568         as per "(texinfo) Ending a Sentence".
570 2020-06-17  Basil L. Contovounesios  <contovob@tcd.ie>
572         Fix recentf typo in Emacs manual
574         * doc/emacs/files.texi (File Conveniences): Fix misspelling of
575         recentf-list.
577 2020-06-17  Juri Linkov  <juri@linkov.net>
579         Rename default function to next-error-buffer-unnavigated-current (bug#40919)
581         * lisp/simple.el (next-error-find-buffer-function): Rename default function
582         from next-error-no-navigation-try-current
583         to next-error-buffer-unnavigated-current.
585 2020-06-17  Juri Linkov  <juri@linkov.net>
587         * lisp/image-mode.el (image-toggle-display-image): Fix fit of rotated images.
589         When fitting rotated image to width and height, swap width and height
590         when changing orientation between portrait and landscape (bug#41886).
592 2020-06-16  Michael Albinus  <michael.albinus@gmx.de>
594         * doc/misc/tramp.texi (Predefined connection information): Add "tmpdir".
596 2020-06-13  João Távora  <joaotavora@gmail.com>
598         Delete, don't kill, dir dir fragments in icomplete-fido-backward-updir
600         Reported by: Andrew Schwartzmeyer <andrew@schwartzmeyer.com>
602         * lisp/icomplete.el (icomplete-fido-backward-updir): Don't save
603         dir fragments to kill ring.
605 2020-06-13  Basil L. Contovounesios  <contovob@tcd.ie>
607         Revert markup change in with-coding-priority docs
609         This partially reverts commit fc759eb9b3
610         "Fix with-coding-priority markup in Elisp manual"
611         of 2019-10-13T15:36:02Z!contovob@tcd.ie.
613         For discussion, see the following thread:
614         https://lists.gnu.org/archive/html/emacs-devel/2019-10/msg00550.html
615         https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00473.html
617         * doc/lispref/nonascii.texi (Specifying Coding Systems): Use more
618         specific cross-reference to progn even if info.el displays it
619         suboptimally.
621 2020-06-10  Juri Linkov  <juri@linkov.net>
623         * lisp/emulation/cua-rect.el (cua--rectangle-region-insert): New function.
625         Add cua--insert-rectangle around region-insert-function (bug#41440).
627 2020-06-09  Juri Linkov  <juri@linkov.net>
629         * lisp/simple.el (shell-command-on-region): Fix docstring.
631         * lisp/simple.el (shell-command-on-region): Mention REGION-NONCONTIGUOUS-P
632         in docstring (bug#41440)
634         * etc/NEWS: Better example for 'windmove-display-default-keybindings'.
636 2020-06-08  Basil L. Contovounesios  <contovob@tcd.ie>
638         Clean up D-Bus documentation (bug#41744)
640         * doc/lispref/errors.texi (Standard Errors): The error symbol
641         dbus-error is defined even when Emacs is built without D-Bus.
643         * doc/misc/dbus.texi (Bus Names, Introspection)
644         (Nodes and Interfaces, Methods and Signal)
645         (Properties and Annotations, Arguments and Signatures)
646         (Synchronous Methods, Receiving Method Calls, Signals)
647         (Alternative Buses, Errors and Events): Clarify wording.  Fix
648         indentation of and simplify examples where possible.  Improve
649         Texinfo markup and cross-referencing where possible.
650         (Type Conversion): Ditto.  Remove mentions of Emacs' fixnum range
651         now that we have bignums.
653         * lisp/net/dbus.el (dbus-return-values-table)
654         (dbus-call-method-asynchronously, dbus-send-signal)
655         (dbus-register-signal, dbus-register-method)
656         (dbus-string-to-byte-array, dbus-byte-array-to-string)
657         (dbus-escape-as-identifier, dbus-check-event, dbus-event-bus-name)
658         (dbus-event-message-type, dbus-event-serial-number)
659         (dbus-event-service-name, dbus-event-path-name)
660         (dbus-event-interface-name, dbus-event-member-name)
661         (dbus-list-activatable-names, dbus-list-queued-owners, dbus-ping)
662         (dbus-introspect-get-interface-names, dbus-introspect-get-interface)
663         (dbus-introspect-get-method, dbus-introspect-get-signal)
664         (dbus-introspect-get-property, dbus-introspect-get-annotation-names)
665         (dbus-introspect-get-annotation, dbus-introspect-get-argument-names)
666         (dbus-introspect-get-argument, dbus-introspect-get-signature)
667         (dbus-set-property, dbus-register-property)
668         (dbus-get-all-managed-objects, dbus-init-bus): Clarify docstring and
669         improve formatting where possible.
670         (dbus-call-method): Ditto.  Remove mentions of Emacs' fixnum range
671         now that we have bignums.
673 2020-06-08  Juri Linkov  <juri@linkov.net>
675         * lisp/image-mode.el (image-transform-original): New command (bug#41222).
677         (image-mode-map): Bind it to "so" and add to menu.
679 2020-06-08  Juri Linkov  <juri@linkov.net>
681         Move tab-bar and tab-line faces to faces.el (part of bug#41200)
683         These are basic faces, so they need to be defined in
684         faces.el, otherwise (get 'tab-line 'face) returns 0.
686         * lisp/faces.el (tab-bar, tab-line): Move faces here
687         from tab-bar.el and tab-line.el.
689         * lisp/tab-bar.el (tab-bar): Move face to faces.el.
690         (tab-bar-faces): Add '((tab-bar custom-face))
691         to the second arg MEMBERS of 'defgroup'.
693         * lisp/tab-line.el (tab-line): Move face to faces.el.
694         (tab-line-faces): Add '((tab-line custom-face))
695         to the second arg MEMBERS of 'defgroup'.
697 2020-06-07  Basil L. Contovounesios  <contovob@tcd.ie>
699         Fix typo in "(elisp) Type Keywords"
701         * doc/lispref/customize.texi (Type Keywords): Fix typo of 'choice'
702         composite type.  (Bug#41749)
704 2020-06-07  Tassilo Horn  <tsdh@gnu.org>
706         Gnus nnir-summary-line-format has no effect
708         * lisp/gnus/nnir.el (nnir-mode): Update summary format specs if
709         nnir-summary-line-format is set and different from
710         gnus-summary-line-format.
711         (nnir-open-server): Run nnir-mode in gnus-summary-generate-hook
712         instead of gnus-summary-prepared-hook.
714 2020-06-06  Eli Zaretskii  <eliz@gnu.org>
716         Improve documentation of 'window-text-pixel-size'
718         * doc/lispref/display.texi (Size of Displayed Text): Clarify the
719         description of 'window-text-pixel-size'.
721 2020-06-06  Eli Zaretskii  <eliz@gnu.org>
723         * src/xdisp.c (Fwindow_text_pixel_size): Doc fix.  (Bug#41737)
725 2020-06-06  Basil L. Contovounesios  <contovob@tcd.ie>
727         Minor improvements to EDE and EIEIO manuals
729         For discussion, see the following threads:
730         https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg00630.html
731         https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00099.html
733         * doc/misc/ede.texi (ede-generic-project): Clean up example.
734         * doc/misc/eieio.texi (Accessing Slots): Document slot-value as a
735         generalized variable and set-slot-value as obsolete.
736         (Predicates): Fix typo.
737         (Introspection): Document eieio-class-slots in place of the obsolete
738         object-slots.
740 2020-06-06  João Távora  <joaotavora@gmail.com>
742         Have Fido mode also imitate Ido mode in ignore-case options
744         Suggested by Sean Whitton <spwhitton@spwhitton.name>.
746         * lisp/icomplete.el (icomplete--fido-mode-setup): Set ignore-case
747         options.
749 2020-06-05  Basil L. Contovounesios  <contovob@tcd.ie>
751         Update package-menu-quick-help
753         * lisp/emacs-lisp/package.el (package--quick-help-keys): Filtering
754         is now bound to the prefix '/', not the key 'f' (bug#41721).
755         Advertise only the standard 'g' binding now that both it and 'r' are
756         bound to revert-buffer (bug#35504).
757         (package--prettify-quick-help-key): Avoid modifying string literals.
758         (package-menu-filter): Reintroduce as obsolete alias of
759         package-menu-filter-by-keyword for backward
760         compatibility (bug#36981).
762 2020-06-05  Eli Zaretskii  <eliz@gnu.org>
764         Improve documentation of 'sort-subr'
766         * doc/lispref/text.texi (Sorting): Clarify the meaning and use of
767         PREDICATE argument to 'sort-subr'.  (Bug#41706)
769 2020-06-05  Andrii Kolomoiets  <andreyk.mad@gmail.com>
771         Update Ukrainian transliteration
773         * lisp/language/cyril-util.el (standard-display-cyrillic-translit):
774         Add missing letter "ґ"; tweak letter "г".  (Bug#41683)
776 2020-06-05  Eli Zaretskii  <eliz@gnu.org>
778         Fix Arabic shaping when eww/shr fill the text to be rendered
780         * src/hbfont.c (hbfont_shape): Don't use DIRECTION if the current
781         buffer has bidi reordering disabled.  (Bug#41005)
783 2020-06-03  Basil L. Contovounesios  <contovob@tcd.ie>
785         Silence some byte-compiler warnings in tests
787         * test/lisp/emacs-lisp/cl-generic-tests.el:
788         * test/lisp/progmodes/elisp-mode-tests.el: Declare functions
789         referred to within macroexpansions.
790         (xref-elisp-overloadable-no-default)
791         (xref-elisp-overloadable-co-located-default)
792         (xref-elisp-overloadable-separate-default): Prefix unused arguments
793         with underscore.
795         * test/lisp/international/ccl-tests.el:
796         * test/lisp/wdired-tests.el:
797         * test/lisp/emacs-lisp/package-tests.el: Declare functions used.
798         (package-test-update-archives, package-test-signed): Use
799         revert-buffer in place of its obsolete alias package-menu-refresh.
801         * test/lisp/eshell/eshell-tests.el:
802         * test/lisp/mail/footnote-tests.el:
803         * test/src/buffer-tests.el: Require dependencies used.
805         * test/lisp/image/exif-tests.el: Remove unneeded (require 'seq).
806         (test-exit-direct-ascii-value): Actually perform the test.
807         * test/lisp/progmodes/sql-tests.el (sql-test-add-existing-product):
808         Fix typo.
810         * test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):
811         * test/src/data-tests.el (test-bool-vector-bv-from-hex-string)
812         (test-bool-vector-apply-mock-op): Remove unused local variables.
814 2020-06-03  Basil L. Contovounesios  <contovob@tcd.ie>
816         * test/lisp/battery-tests.el: New file.
818 2020-06-02  Basil L. Contovounesios  <contovob@tcd.ie>
820         Improve format-spec documentation (bug#41571)
822         * doc/lispref/text.texi (Interpolated Strings): Move from here...
823         * doc/lispref/strings.texi (Custom Format Strings): ...to here,
824         renaming the node and clarifying the documentation.
825         (Formatting Strings): End node with sentence referring to the next
826         one.
827         * lisp/format-spec.el (format-spec): Clarify docstring.
829 2020-06-01  Eli Zaretskii  <eliz@gnu.org>
831         Don't call 'mbrtowc' on WINDOWSNT
833         * src/emacs.c (using_utf8): Don't call 'mbrtowc' on WINDOWSNT
834         systems, as it's not available on Windows 9X.
836 2020-06-01  João Távora  <joaotavora@gmail.com>
838         * doc/emacs/buffers.texi (Icomplete): Mention icomplete-minibuffer-setup-hook.
840 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
842         Be more aggressive in marking objects during GC
844         Simplified version of a patch from Pip Cet (Bug#41321#299).
845         * src/alloc.c (maybe_lisp_pointer): Remove.  All uses removed.
846         (mark_memory): Also look at the pointer offset by ‘lispsym’,
847         for symbols.
849 2020-05-31  Alan Mackenzie  <acm@muc.de>
851         Fix bug #41618 "(byte-compile 'foo) errors when foo is a macro."
853         * lisp/emacs-lisp/bytecomp.el (byte-compile): Disentangle the eval of the
854         final form from the pushing of 'macro onto it, doing the former first.
856 2020-05-31  Eli Zaretskii  <eliz@gnu.org>
858         Avoid crashes due to bidi cache being reset during redisplay
860         If automatic character composition triggers GC, and
861         'garbage-collection-messages' are turned on, we could have the
862         bidi cache reset while processing RTL text, which would then
863         consistently crash.
864         * src/xdisp.c (display_echo_area_1): Protect the bidi cache
865         against changes inside 'try_window'.
867 2020-05-31  Juri Linkov  <juri@linkov.net>
869         * lisp/tab-bar.el (switch-to-buffer-other-tab): Normalize buffer.
871         * lisp/tab-bar.el (switch-to-buffer-other-tab): Use
872         'window-normalize-buffer-to-switch-to' on 'buffer-or-name',
873         like does 'pop-to-buffer' used by 'switch-to-buffer-other-frame',
874         instead of raising the error "Invalid buffer" on a non-existent buffer name.
876 2020-05-30  Eli Zaretskii  <eliz@gnu.org>
878         Fix mingw.org's MinGW GCC 9 warning about 'execve'
880         * nt/inc/ms-w32.h (execve) [__GNUC__ > 9]: Provide a different
881         prototype for mingw.org's MinGW as well, to match the GCC builtin.
883 2020-05-28  Glenn Morris  <rgm@gnu.org>
885         Tiny texinfo markup fixes
887         * doc/lispref/edebug.texi (Edebug Views):
888         * doc/lispref/loading.texi (Library Search):
889         * doc/lispref/os.texi (User Identification): Markup fixes.
891 2020-05-27  Dmitry Gutov  <dgutov@yandex.ru>
893         Make next-error behavior a bit more flexible
895         * lisp/simple.el (next-error-no-navigation-try-current):
896         Extract from the case #2 in next-error-find-buffer (bug#40919).
897         (next-error-find-buffer-function): Use it as the default.
899 2020-05-27  Noam Postavsky  <npostavs@gmail.com>
901         * etc/NEWS.25: Belatedly announce upcase-dwim and downcase-dwim.
903 2020-05-25  Eli Zaretskii  <eliz@gnu.org>
905         Fix access to single-byte characters in buffer text
907         * src/xdisp.c (get_visually_first_element)
908         (Fbidi_find_overridden_directionality):
909         * src/cmds.c (Fend_of_line): Use FETCH_BYTE instead of FETCH_CHAR,
910         and byte position instead of character position, to access
911         individual bytes of buffer text.  This avoids producing invalid
912         characters and accessing wrong buffer positions.  (Bug#41520)
914 2020-05-25  Noam Postavsky  <npostavs@gmail.com>
916         Revert "Fix eshell-mode-map initialization"
918         It makes eshell-return-exits-minibuffer permanently affect the
919         eshell-mode-map (Bug#41370).
921         Do not merge to master, we will fix it properly there.
923 2020-05-25  Matthias Meulien  <orontee@gmail.com>
925         Fix tab-bar-tab-name-ellipsis initialization
927         * lisp/tab-bar.el (tab-bar-tab-name-truncated): Evaluate displayable
928         character when generating tab name.
930 2020-05-24  Basil L. Contovounesios  <contovob@tcd.ie>
932         Fix Elisp manual entry for format-spec
934         * doc/lispref/text.texi (Interpolated Strings): Fix typos.  Don't
935         document modifier for default space padding as it's redundant and
936         inconsistent with the docstring and implementation of format-spec.
938 2020-05-24  Eli Zaretskii  <eliz@gnu.org>
940         Fix rare assertion violations in 'etags'
942         * lib-src/etags.c (pfnote): Instead of raising an assertion when
943         we get an empty tag name, return immediately.  (Bug#41465)
945         * test/manual/etags/ETAGS.good_1:
946         * test/manual/etags/ETAGS.good_2:
947         * test/manual/etags/ETAGS.good_3:
948         * test/manual/etags/ETAGS.good_4:
949         * test/manual/etags/ETAGS.good_5:
950         * test/manual/etags/ETAGS.good_6: Adapt to latest changes in
951         etags.
953 2020-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
955         * lisp/subr.el (save-match-data): Clarify use in docstring
957 2020-05-23  Eli Zaretskii  <eliz@gnu.org>
959         Improve the documentation of setting up fontsets
961         * doc/lispref/display.texi (Fontsets): Improve the accuracy of a
962         cross-reference to "Character Properties".
964         * doc/emacs/mule.texi (Fontsets, Modifying Fontsets): Improve the
965         documentation of fontsets and how to modify them.
967 2020-05-23  Eli Zaretskii  <eliz@gnu.org>
969         * doc/emacs/killing.texi (Rectangles): Improve indexing.
971 2020-05-23  Eli Zaretskii  <eliz@gnu.org>
973         Fix accessing files on networked drives on MS-Windows
975         * src/w32.c (acl_get_file): Set errno to ENOTSUP if
976         get_file_security returns ERROR_NOT_SUPPORTED.  (Bug#41463)
978 2020-05-22  Alan Mackenzie  <acm@muc.de>
980         CC Mode: Fix bug #39972, by fixing c-display-defun-name for nested defuns
982         * lisp/progmodes/cc-mode.el (c-common-init): Build
983         add-log-current-defun-function out of c-defun-name-and-limits instead of the
984         former c-defun-name.
986 2020-05-21  Paul Eggert  <eggert@cs.ucla.edu>
988         Redo RCS Id for pdumper
990         * lisp/version.el: Don’t put an RCS Id style string into the
991         executable via purecopy, as this does not work with the pdumper.
992         * src/emacs.c (RCS_Id): New constant, for 'ident'.
994         (cherry picked from commit 3d1bcfba5e21b29be8669aa2a8f27b344c9e02fd)
996 2020-05-21  Stefan Kangas  <stefankangas@gmail.com>
998         Second attempt at improving indexing in control.texi
1000         * doc/lispref/control.texi (Processing of Errors): Improve indexing by
1001         adding the word form "handle" in addition to "handling".  With thanks
1002         to Eli Zaretskii.
1004 2020-05-19  Stefan Kangas  <stefankangas@gmail.com>
1006         * doc/lispref/control.texi (Processing of Errors): Improve indexing.
1008 2020-05-17  Paul Eggert  <eggert@cs.ucla.edu>
1010         Minor fixups for mutability doc
1012         * doc/lispref/objects.texi (Mutability): Minor fixups in
1013         response to a comment by Dmitry Gutov (Bug#40671#477).
1015 2020-05-17  Paul Eggert  <eggert@cs.ucla.edu>
1017         Don’t use “constant” for values you shouldn’t change
1019         Inspired by patch proposed by Dmitry Gutov (Bug#40671#393)
1020         and by further comments by him and by Michael Heerdegen
1021         in the same bug report.
1022         * doc/lispintro/emacs-lisp-intro.texi (setcar):
1023         Don’t push mutability here.
1024         * doc/lispref/eval.texi (Self-Evaluating Forms, Quoting)
1025         (Backquote):
1026         * doc/lispref/lists.texi (Modifying Lists):
1027         * doc/lispref/objects.texi (Lisp Data Types, Mutability):
1028         * doc/lispref/sequences.texi (Array Functions, Vectors):
1029         * doc/lispref/strings.texi (String Basics, Modifying Strings):
1030         Don’t use the word “constant” to describe all values that
1031         a program should not change.
1032         * doc/lispref/objects.texi (Mutability):
1033         Rename from “Constants and Mutability”.  All uses changed.
1034         In a footnote, contrast the Emacs behavior with that of Common
1035         Lisp, Python, etc. for clarity, and say the goal is to be nicer.
1037 2020-05-16  Eli Zaretskii  <eliz@gnu.org>
1039         Improve documentation of manually installing Lisp packages
1041         * doc/emacs/building.texi (Lisp Libraries): Describe how to
1042         manually load packages in the init file.  Mention the 'site-lisp'
1043         subdirectory of the default 'load-path'.
1045         * doc/emacs/package.texi (Packages): Describe manual installation
1046         of ELisp packages.  Suggested by Jean-Christophe Helary
1047         <jean.christophe.helary@traduction-libre.org>.
1049 2020-05-16  Eli Zaretskii  <eliz@gnu.org>
1051         Reflect the emacs-devel ELPA/MELPA dispute in FAQ
1053         * doc/misc/efaq.texi (Packages that do not come with Emacs): Warn
1054         that some MELPA packages may require non-free software.
1056 2020-05-15  Tassilo Horn  <tsdh@gnu.org>
1058         Consider face inheritance when checking region face background.
1060         Some themes (like dracula) make the region face inherit from some
1061         other face.  If the background color of the region was inherited,
1062         `indicate-copied-region' did the switch-point-and-mark-twice dance
1063         which is not visible in case the region is highlighted.  It just
1064         looked like Emacs would hang for a second after M-w.
1066         * lisp/simple.el (indicate-copied-region): Consider face inheritance
1067         when checking region face background.
1069 2020-05-15  Leo Vivier  <leo.vivier+dev@gmail.com>
1071         Fix dired default file operation (bug#41261)
1073         * lisp/dired-aux.el (dired-dwim-target-directories): Restore
1074         pre-emacs-27 behavior of 'dired-dwim-target'.
1076 2020-05-14  Philipp Stephani  <phst@google.com>
1078         Fix documentation related to 'command-switch-alist'.
1080         While there, add a unit test to verify the behavior.
1082         * doc/lispref/os.texi (Command-Line Arguments): Fix documentation: the
1083         option string in 'command-switch-alist' does include leading hyphens.
1084         Also mention that 'command-switch-alist' parsing ignores equals signs
1085         in options.
1087         * test/lisp/startup-tests.el
1088         (startup-tests/command-switch-alist): New unit test.
1090 2020-05-13  Simon Lang  <simon.lang@outlook.com>  (tiny change)
1092         Improve ediff readability in misterioso theme (Bug#41221)
1094         * etc/themes/misterioso-theme.el: Add ediff faces.
1096 2020-05-13  Clément Pit-Claudel  <clement.pitclaudel@live.com>
1098         Fix a crash in handle_display_spec
1100         * src/xdisp.c (handle_display_spec): Check that the cdr of the
1101         disable-eval spec is a cons before taking its car.  (Bug#41232)
1103 2020-05-13  Martin Rudalics  <rudalics@gmx.at>
1105         In x_hide_tip reset tip_last_frame for GTK+ tooltips only (Bug#41200)
1107         * src/xfns.c (x_hide_tip): Reset tip_last_frame only when
1108         using GTK+ system tooltips (Bug#41200).
1110 2020-05-12  João Távora  <joaotavora@gmail.com>
1112         Fix docstring of flymake-make-diagnostic (bug#40351)
1114         * lisp/progmodes/flymake.el (flymake-make-diagnostic): Fix docstring
1116 2020-05-10  Paul Eggert  <eggert@cs.ucla.edu>
1118         Go back to “Bahá’í”
1120         * doc/emacs/calendar.texi (Holidays): Revert previous change, as
1121         bahai.org spells it “Bahá’í” (with U+2019 RIGHT SINGLE QUOTATION
1122         MARK) and that’s good enough for us.
1124 2020-05-10  Eli Zaretskii  <eliz@gnu.org>
1126         * lisp/dired.el (dired-toggle-marks): Doc fix.  (Bug#41097)
1128 2020-05-09  Philipp Stephani  <phst@google.com>
1130         Small fix for type of 'display-fill-column-indicator-character'
1132         * lisp/cus-start.el (standard): Don't mark t as safe file-local value
1133         for 'display-fill-column-indicator-character', as that value isn't
1134         allowed.
1136 2020-05-09  Eli Zaretskii  <eliz@gnu.org>
1138         Fix customization of 'display-fill-column-indicator-character'
1140         * lisp/cus-start.el (display-fill-column-indicator-character): Fix
1141         the customization form.  (Bug#41145)
1143 2020-05-09  Philipp Stephani  <phst@google.com>
1145         Refer to fill column indicator Info node in some places.
1147         * src/xdisp.c (syms_of_xdisp): Add reference to manual in
1148         documentation strings for variables related to fill column indicators.
1150         * lisp/display-fill-column-indicator.el (display-fill-column-indicator)
1151         (display-fill-column-indicator-mode): Add reference to manual.
1153 2020-05-09  Martin Rudalics  <rudalics@gmx.at>
1155         Fix GTK's Tool Bar menu radio buttons
1157         * lisp/menu-bar.el (menu-bar-showhide-tool-bar-menu): Fix typo
1158         that makes the radio buttons pretend that the tool bar is always
1159         shown on the left side of the frame.
1161 2020-05-09  Eli Zaretskii  <eliz@gnu.org>
1163         Minor clarifications in NEWS
1165         * etc/NEWS: Tell how to revert to previous behaviors regarding
1166         displaying messages when the minibuffer is active.  (Bug#41087)
1168 2020-05-08  Philipp Stephani  <phst@google.com>
1170         Improve documentation of 'with-suppressed-warnings'.
1172         * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): Refer to
1173         'byte-compile-warnings' instead of 'byte-compile-warning-types', as
1174         only the former variable documents the available warning types.
1176 2020-05-08  Eli Zaretskii  <eliz@gnu.org>
1178         Fix a typo in a comment
1180         * lisp/display-fill-column-indicator.el: Fix a typo in a comment.
1181         Suggested by david s <ds@fastmail.com>.
1183 2020-05-08  Eli Zaretskii  <eliz@gnu.org>
1185         Improve documentation of Hi Lock mode
1187         * lisp/hi-lock.el (hi-lock-mode, hi-lock-face-buffer)
1188         (hi-lock-face-phrase-buffer, hi-lock-face-symbol-at-point):
1189         Clarify when 'hi-lock-mode' will use Font Lock and when it will
1190         use overlays.  (Bug#41124)
1192 2020-05-08  Eli Zaretskii  <eliz@gnu.org>
1194         Fix typos in the Emacs user manual
1196         * doc/emacs/calendar.texi (Holidays): Fix usage of non-ASCII
1197         accents.
1198         * doc/emacs/custom.texi (Init Rebinding): Fix a cross-reference.
1199         * doc/emacs/dired.texi (Operating on Files): Make the
1200         cross-reference to "VC Delete/Rename" be to a different manual in
1201         the printed version.  (Bug#41100)
1203 2020-05-08  Björn Holby  <bjorn.holby@gmail.com>  (tiny change)
1205         Fix references to Speedbar in VHDL mode
1207         * lisp/progmodes/vhdl-mode.el (vhdl-speedbar-initialize): Update
1208         references to Speedbar variables.  (Bug#41084)
1210 2020-05-08  Eli Zaretskii  <eliz@gnu.org>
1212         Fix handling of FROM = t and TO = t by 'window-text-pixel-size'
1214         * src/xdisp.c (Fwindow_text_pixel_size): Use byte position for
1215         accessing buffer text, not character positions.  (Bug#41125)
1217 2020-05-06  Eli Zaretskii  <eliz@gnu.org>
1219         * doc/emacs/modes.texi (Major Modes): Fix quoting.  (Bug#41110)
1221 2020-05-06  Noam Postavsky  <npostavs@gmail.com>
1223         Fix docstring quoting
1225         * lisp/gnus/message.el (message-sendmail-extra-arguments): Fix
1226         escaping of quotes in docstring.
1228 2020-05-06  Noam Postavsky  <npostavs@gmail.com>
1230         Revert "cl-loop: Calculate the array length just once"
1232         Don't merge to master.  This is a safe-for-release fix for Bug#40727.
1234 2020-05-06  Noam Postavsky  <npostavs@gmail.com>
1236         Revert "cl-loop: Add missing guard condition"
1238         Don't merge to master.  This is a safe-for-release fix for Bug#40727.
1240 2020-05-06  Noam Postavsky  <npostavs@gmail.com>
1242         Revert "Refix conditional step clauses in cl-loop"
1244         Don't merge to master.  This is a safe-for-release fix for Bug#40727.
1246 2020-05-05  Eli Zaretskii  <eliz@gnu.org>
1248         Improve "Help Summary" section in user manual
1250         * doc/emacs/help.texi (Help Summary): Add cross-references to
1251         sections with details of each Help command.
1253 2020-05-05  Stefan Kangas  <stefankangas@gmail.com>
1255         Clarify message-sendmail-extra-arguments docstring
1257         * lisp/gnus/message.el (message-sendmail-extra-arguments): Clarify
1258         docstring.
1260 2020-05-05  Philipp Stephani  <phst@google.com>
1262         * src/editfns.c (Fformat): Small documentation fix.
1264 2020-05-04  Alan Mackenzie  <acm@muc.de>
1266         Remove calls to non-existent functions from edebug.el.
1268         Do not merge to master.
1270         *lisp/emacs-lisp/edebug.el (edebug--display-1)
1271         (edebug-toggle-disable-breakpoint): Remove calls to
1272         edebug--overlay-breakpoints and edebug--overlay-breakpoints-removed which had
1273         been overlooked in a recent changed to edebug.
1275 2020-05-04  Dmitry Gutov  <dgutov@yandex.ru>
1277         Honor search-upper-case
1279         * lisp/fileloop.el (fileloop--case-fold):
1280         Extract from existing code.  Honor search-upper-case (bug#40940).
1281         (fileloop-initialize-replace, fileloop-initialize-search): Use it.
1282         Update the docstring.
1284 2020-05-04  Basil L. Contovounesios  <contovob@tcd.ie>
1286         Fix eww-follow-link on URLs with #target
1288         * lisp/net/eww.el (eww-display-html): Ensure shr-target-id is set as
1289         callers depend on this (bug#28441, bug#40532).
1291 2020-05-04  Juri Linkov  <juri@linkov.net>
1293         Revert part of recent commit 85544f8ef5 (bug#40808)
1295         * lisp/isearch.el (isearch-lazy-highlight-search): Remove recent fix of
1296         lazy-highlighting of hidden matches.  In emacs-27 leave only the fix for
1297         lazy-counting of hidden matches when isearch-lazy-count is non-nil.
1299 2020-05-03  Stefan Kangas  <stefankangas@gmail.com>
1301         Improve doc strings of makunbound and fmakunbound
1303         * src/data.c (Fmakunbound, Ffmakunbound): Improve doc
1304         strings.  (Bug#41026)
1306 2020-05-03  Alan Mackenzie  <acm@muc.de>
1308         Revert "Mark breakpoints in edebug with highlights".  This fixes bug #40992
1310         Do not merge to master.
1312         This reverts commit e8b3a15cb6ff187ce08afcb43bd9a0b7907268ca.
1314 2020-05-02  Paul Eggert  <eggert@cs.ucla.edu>
1316         Make memq etc. examples more like they were
1318         Problem reported by Štěpán Němec in:
1319         https://lists.gnu.org/r/emacs-devel/2020-05/msg00130.html
1320         * doc/lispref/lists.texi (Sets And Lists, Association Lists):
1321         Revert examples to be more like the way they were, using
1322         self-evaluating expressions.  Be more consistent about listing
1323         unspecified results.
1325 2020-05-02  Eli Zaretskii  <eliz@gnu.org>
1327         Document effect of 'search-upper-case' on replacement commands
1329         * doc/emacs/search.texi (Replacement and Lax Matches): Document
1330         the role of 'search-upper-case' in replacement commands.
1331         (Lax Search): Document the value 'not-yanks' of
1332         'search-upper-case' where the variable itself is documented.
1334         * lisp/replace.el (query-replace-regexp, query-replace): Mention
1335         'search-upper-case' and its effect in doc strings.  (Bug#40940)
1337 2020-05-01  Eli Zaretskii  <eliz@gnu.org>
1339         * lisp/desktop.el (desktop-save): Doc fix.  (Bug#41007)
1341 2020-04-30  Stefan Kangas  <stefankangas@gmail.com>
1343         Recommend to avoid unnecessary abbreviations in doc
1345         * doc/lispref/tips.texi (Documentation Tips): Recommend to avoid
1346         unnecessary abbreviations.  (Bug#40011)
1348 2020-04-30  Eli Zaretskii  <eliz@gnu.org>
1350         Revert "Fix calculator division truncation (bug#40892)"
1352         This reverts commit 82140c510c4d27e639b4bca1e9bf158f0f66c375.
1353         (Bug#40892)
1355 2020-04-30  Mattias Engdegård  <mattiase@acm.org>
1357         Fix calculator division truncation (bug#40892)
1359         * lisp/calculator.el (calculator-string-to-number): Convert decimal
1360         numbers input to float, fixing a regression introduced in f248292ede.
1361         Reported by Aitor Soroa.
1363 2020-04-29  Dmitry Gutov  <dgutov@yandex.ru>
1365         Expand file name for remote dirs as well
1367         * lisp/progmodes/project.el (project--files-in-directory):
1368         Expand file name for remote dirs as well (bug#40940).
1370 2020-04-29  Eli Zaretskii  <eliz@gnu.org>
1372         Fix project.el commands in "transient" projects
1374         * lisp/progmodes/project.el (project--files-in-directory): Run
1375         local DIR directory names through 'expand-file-name', so that "~/"
1376         is expanded, in case the shell doesn't or the shell's notion of
1377         the home directory is different from that of Emacs.  (Bug#40940)
1379 2020-04-29  Eli Zaretskii  <eliz@gnu.org>
1381         Make sure alist-related functions say so in their doc
1383         * src/fns.c (Fassq, assq_no_quit, Fassoc, assoc_no_quit, Frassq)
1384         (Frassoc): Rename argument LIST to ALIST.  Doc strings updated.
1386 2020-04-29  Eli Zaretskii  <eliz@gnu.org>
1388         * lisp/env.el (substitute-env-vars): Doc fix.  (Bug#40948)
1390 2020-04-29  Juri Linkov  <juri@linkov.net>
1392         * lisp/isearch.el: Fix lazy-highlighting and lazy-counting of hidden matches
1394         * lisp/isearch.el (isearch-lazy-highlight-search): Let-bind
1395         search-invisible to t when search-invisible is 'open' or when both
1396         isearch-lazy-count and search-invisible are non-nil.  (Bug#40808)
1398 2020-04-28  Eli Zaretskii  <eliz@gnu.org>
1400         Fix error in ERC when 'erc-server-coding-system' is customized
1402         * lisp/erc/erc-backend.el (erc-split-line): Handle the case where
1403         'erc-coding-system-for-target' returns a coding-system's symbol.
1404         (Bug#40914)
1406 2020-04-28  Eli Zaretskii  <eliz@gnu.org>
1408         Avoid crashes on TTY frames with over-long compositions
1410         * src/term.c (encode_terminal_code): Each character from an
1411         automatic composition is a multibyte character, so its multibyte
1412         representation can take up to MAX_MULTIBYTE_LENGTH bytes.
1413         Account for that when allocating storage for characters to be
1414         encoded.  (Bug#40913)
1416 2020-04-27  Stefan Kangas  <stefankangas@gmail.com>
1418         Fix typo in custom.texi
1420         * doc/emacs/custom.texi (Variables): Fix typo.  Pointed out by
1421         ej32u@protonmail.com.  (Bug#40890)
1423 2020-04-27  Michael Albinus  <michael.albinus@gmx.de>
1425         * test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):
1427         Use `shell-quote-argument' instead of quoting 'like this'.
1429 2020-04-27  Juri Linkov  <juri@linkov.net>
1431         * lisp/image-mode.el (image-mode-map): Update menu items.
1433         * lisp/image-mode.el (image-mode-map): Move "Fit Image to Window (Best Fit)"
1434         higher.  Add "Zoom In" (image-increase-size), "Zoom Out" (image-decrease-size)
1435         and "Rotate Clockwise" (image-rotate).  Use name "Set Rotation..."
1436         for image-transform-set-rotation.  Swap "Next Image" and "Previous Image".
1437         Swap "Next Frame" and "Previous Frame".
1439 2020-04-27  Juri Linkov  <juri@linkov.net>
1441         Fix bugs in tab-bar and tab-line and mention remaining features in manual.
1443         * doc/emacs/frames.texi (Tab Bars): Mention tab-bar-new-tab-to,
1444         tab-bar-close-last-tab-choice, tab-bar-close-tab-select, tab-undo,
1445         tab-select, tab-bar-history-mode.
1447         * doc/emacs/windows.texi (Tab Line): Mention tab-line-tabs-function.
1449         * lisp/tab-bar.el (tab-bar-select-tab-modifiers): Mention
1450         tab-bar-tab-hints in docstring.
1451         (tab-bar-tab-hints): Mention tab-bar-select-tab-modifiers
1452         in docstring.
1453         (tab-bar-select-tab): Mention tab-bar-select-tab-modifiers
1454         in docstring.
1455         (tab-bar-switch-to-tab): Expand the docstring.
1456         (tab-bar-new-tab-to): Fix bug in handling 'left' value.
1457         (tab-bar-close-tab): Fix bug in handling 'left' value.
1458         (tab-bar-undo-close-tab): Use funcall tab-bar-tabs-function
1459         instead of direct call to tab-bar-tabs.
1460         (tab-bar-history-back, tab-bar-history-forward): Add docstrings.
1461         (tab-bar-history-mode): Expand docstring.
1463         * lisp/tab-line.el (tab-line-format): Fix bug for handling window
1464         switching that should set face 'tab-line-tab-current'.
1466 2020-04-26  Michael Albinus  <michael.albinus@gmx.de>
1468         Make shell-command tests fit for tcsh.
1470         * test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):
1471         Fix debug spec.  Format command to run also under tcsh.
1472         (simple-tests-shell-command-39067)
1473         (simple-tests-shell-command-dont-erase-buffer): Quote newline in string.
1475 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
1477         Remove doc duplication
1479         * doc/lispref/objects.texi (Constants and Mutability): Remove
1480         duplication.  From a suggestion by Andreas Schwab (Bug#40671#150).
1482 2020-04-25  Michael Albinus  <michael.albinus@gmx.de>
1484         * etc/NEWS: Fix inconsistencies.
1486 2020-04-25  Noam Postavsky  <npostavs@gmail.com>
1488         Clarify semantics of trace-function CONTEXT argument
1490         * lisp/emacs-lisp/trace.el (trace-function-foreground): Explain that
1491         CONTEXT should be a function, when called from Lisp.
1493 2020-04-25  Noam Postavsky  <npostavs@gmail.com>
1495         Don't let a code literal get modified in mml parsing (Bug#39884)
1497         * lisp/gnus/mml.el (mml-parse-1): Make a fresh cons for the tag type,
1498         because 'mml-generate-mime' destructively modifies it.
1500 2020-04-25  Eli Zaretskii  <eliz@gnu.org>
1502         * lisp/simple.el (kill-ring-save): Doc fix.  (Bug#40797)
1504 2020-04-25  Clément Pit-Claudel  <cpitclaudel@gmail.com>
1506         Minor doc clarification regarding fringe bitmaps
1508         * doc/lispref/display.texi (Customizing Bitmaps): Add a note
1509         regarding the order of bits being the opposite of that in
1510         XBM images.  (Bug#40784)
1512 2020-04-25  Eli Zaretskii  <eliz@gnu.org>
1514         Fix documentation of fringe bitmaps
1516         * doc/lispref/display.texi (Fringe Bitmaps): The 'empty-line'
1517         fringe indicator _is_ used.  (Bug#40799)
1519 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
1521         Tweak mutability doc a bit more
1523         Inspired by a comment from Michael Heerdegen (Bug#40671#114).
1524         * doc/lispref/objects.texi (Constants and Mutability): Tweak further.
1526 2020-04-24  Mattias Engdegård  <mattiase@acm.org>
1528         Calc: fix autoload errors (bug#40800)
1530         Reported by Hugo Daschbach.
1532         * lisp/calc/calc-ext.el (calc-init-extensions):
1533         Remove calc-kbd-report key binding and autoload; it was removed in 2005.
1534         calc-keypad-x-{left,right,middle}-click were renamed to
1535         calc-keypad-{left,right,middle}-click in 2001; fix the autoloads.
1536         calc-twos-complement-mode is a variable, not a function; remove the
1537         autoload.
1538         * lisp/calc/calc-prog.el: Remove commented-out calc-kbd-report.
1540 2020-04-24  Stefan Kangas  <stefankangas@gmail.com>
1542         Improve indexing of ELisp manual
1544         * doc/lispref/tips.texi (Tips): Add index entry 'best practices'.
1546 2020-04-24  Juri Linkov  <juri@linkov.net>
1548         * lisp/image-mode.el (image-transform-resize): Remove FIXME comment.
1550         The user customizable variable 'image-auto-resize' is documented now
1551         in the manual.
1553 2020-04-23  Tassilo Horn  <tsdh@gnu.org>
1555         Improve the default value of 'doc-view-ghostscript-program'.
1557         * lisp/doc-view.el (doc-view-ghostscript-program): Use plain command
1558         name instead of qualified name returned by executable-find (as
1559         suggested by Stefan Monnier).  (Bug#36357)
1561 2020-04-23  Juri Linkov  <juri@linkov.net>
1563         Change doc-view-mode-map prefix key 's' to 'c'.
1565         * doc/emacs/misc.texi (DocView Slicing): Change prefix key 's' to 'c'.
1567         * lisp/doc-view.el (doc-view-mode-map): Change prefix key 's' to 'c'.
1569         * lisp/image-mode.el (image-mode-map): Add image-transform-set-scale to menu.
1571         * doc/emacs/files.texi (Image Mode): Describe commands
1572         image-transform-fit-both, image-transform-set-scale, image-transform-reset.
1574         * etc/NEWS: Rearrange image sections.
1576         https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg01315.html
1578 2020-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1580         Improve wording about constants
1582         Thanks to Štěpán Němec and Drew Adams for reviews of recent changes.
1583         * doc/lispref/eval.texi (Quoting): Give an example.
1584         * doc/lispref/lists.texi (Association Lists): Simplify example code.
1585         * doc/lispref/objects.texi (Lisp Data Types)
1586         (Constants and Mutability): Clarify wording.
1588 2020-04-22  Tassilo Horn  <tsdh@gnu.org>
1590         Improve the default value of 'doc-view-ghostscript-program'.
1592         * lisp/doc-view.el (doc-view-ghostscript-program): On Windows, try
1593         gswin64c, gswin32c, rungs, and mgs.  (Bug#36357)
1595 2020-04-21  Eli Zaretskii  <eliz@gnu.org>
1597         Minor improvements in documentation of the last change
1599         * etc/NEWS:
1600         * doc/emacs/files.texi (Image Mode): Minor copyedits of last change.
1602 2020-04-21  Juri Linkov  <juri@linkov.net>
1604         Add image-auto-resize defcustoms to image-mode.el
1606         * lisp/image-mode.el (image-auto-resize)
1607         (image-auto-resize-on-window-resize): New defcustoms.
1608         (image-mode-map): Bind "sb" to image-transform-fit-both.
1609         (image-mode): Set image-transform-resize to image-auto-resize initially.
1610         (image-mode--setup-mode): Add hook on image-auto-resize-on-window-resize.
1611         (image-toggle-display-image): Check if image-transform-resize is t.
1612         (image-transform-properties): Check image-transform-resize for nil and t.
1613         (image-transform-fit-both): New command.
1614         (image-transform-reset): Reset image-transform-resize to image-auto-resize.
1616         * doc/emacs/files.texi (Image Mode): Mention image-auto-resize and
1617         image-auto-resize-on-window-resize.
1619         https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg01160.html
1621 2020-04-21  Juri Linkov  <juri@linkov.net>
1623         Improve the documentation of tab-bar and tab-line
1625         * doc/emacs/frames.texi (Tab Bars): Add xref to "Tab Line".
1626         Document more commands.
1628         * doc/emacs/windows.texi (Windows):
1629         * doc/emacs/emacs.texi (Top): Add "Tab Line" menu.
1631         * doc/emacs/windows.texi (Window Convenience):
1632         Move tab-line documentation to new node "Tab Line".
1633         (Tab Line): New node.
1635         * doc/emacs/glossary.texi (Glossary):
1636         * doc/emacs/modes.texi (Minor Modes):
1637         * doc/emacs/display.texi (Standard Faces): Add xref to "Tab Line".
1639 2020-04-20  Paul Eggert  <eggert@cs.ucla.edu>
1641         Tweak wording re constant variables
1643         * doc/lispref/objects.texi (Constants and Mutability): Tweak.
1644         Problem reported by Michael Heerdegen (Bug#40693#44).
1646 2020-04-20  Paul Eggert  <eggert@cs.ucla.edu>
1648         Tweak setcar-related wording
1650         * doc/lispref/eval.texi (Self-Evaluating Forms):
1651         Change “primitives” to “operations”.
1652         Problem reported by Štěpán Němec in:
1653         https://lists.gnu.org/r/emacs-devel/2020-04/msg01146.html
1655 2020-04-20  Juri Linkov  <juri@linkov.net>
1657         * lisp/image-mode.el: Add prefix key 's' and reduce dependency on ImageMagick.
1659         * lisp/image-mode.el (image-mode-map): Regroup existing keybindings and
1660         add new ones with the prefix key 's'.
1661         Remove condition ":visible (eq image-type 'imagemagick)" from menu.
1662         (image-toggle-display-image): Don't rotate again after user rotated manually.
1663         (image-transform-check-size): Remove check for imagemagick.
1664         (image-transform-properties, image-transform-set-scale)
1665         (image-transform-fit-to-height, image-transform-fit-to-width)
1666         (image-transform-set-rotation, image-transform-reset):
1667         Remove mentions of ImageMagick from docstrings since these commands
1668         now work without ImageMagick.
1670 2020-04-20  Juri Linkov  <juri@linkov.net>
1672         * doc/emacs/windows.texi (Window Convenience): Describe more windmove features.
1674         * doc/emacs/windows.texi (Window Convenience): Add descriptions of
1675         windmove-display-default-keybindings,
1676         windmove-delete-default-keybindings,
1677         windmove-swap-states-in-direction.
1679         * etc/NEWS: Regroup to move some parts closer to related sections.
1681 2020-04-20  Paul Eggert  <eggert@cs.ucla.edu>
1683         Fix mutability glitches reported by Drew Adams
1685         See Bug#40693#32.
1686         * doc/lispref/eval.texi (Self-Evaluating Forms, Backquote):
1687         Say that these yield constant conses, vectors and strings,
1688         not constant symbols.
1689         * doc/lispref/objects.texi (Constants and Mutability): Say that an
1690         attempt to modify a constant variable signals an error, instead of
1691         saying that it has undefined behavior.
1693 2020-04-19  Paul Eggert  <eggert@cs.ucla.edu>
1695         Improve mutability doc
1697         See Eli Zaretskii’s suggestions (Bug#40671#33).
1698         * doc/lispref/lists.texi (Setcar, Setcdr, Rearrangement):
1699         * doc/lispref/sequences.texi (Sequence Functions)
1700         (Array Functions):
1701         Add commentary to examples.
1702         * doc/lispref/lists.texi (Sets And Lists):
1703         Revert change to delq example.
1705 2020-04-19  Paul Eggert  <eggert@cs.ucla.edu>
1707         Improve mutability documentation
1709         This change was inspired by comments from Štěpán Němec in:
1710         https://lists.gnu.org/r/emacs-devel/2020-04/msg01063.html
1711         * doc/lispref/objects.texi (Lisp Data Types): Mention mutability.
1712         (Constants and mutability): New section.
1713         * doc/lispintro/emacs-lisp-intro.texi (Lists diagrammed)
1714         (Indent Tabs Mode): Improve wording.
1715         * doc/lispref/eval.texi (Self-Evaluating Forms):
1716         Say that they return constants.
1717         * doc/lispref/lists.texi (Sets And Lists):
1718         Fix memql mistake/confusion that I recently introduced.
1720 2020-04-19  Paul Eggert  <eggert@cs.ucla.edu>
1722         Document that quoting yields constants
1724         * doc/lispref/eval.texi (Quoting, Backquote):
1725         Mention that quoted expressions yield a constant (Bug#40693).
1727 2020-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
1729         * doc/lispref/keymaps.texi (Extended Menu Items, Easy Menu) <:key-sequence>:
1731         Clarify the documentation further
1733 2020-04-19  Mattias Engdegård  <mattiase@acm.org>
1735         Remove #' and function quoting from lambda forms in manual
1737         * doc/lispref/abbrevs.texi (Abbrev Expansion):
1738         * doc/lispref/backups.texi (Reverting):
1739         * doc/lispref/functions.texi (Mapping Functions):
1740         * doc/lispref/help.texi (Accessing Documentation):
1741         * doc/lispref/sequences.texi (Char-Tables):
1742         * doc/lispref/syntax.texi (Categories):
1743         * doc/lispref/text.texi (Sorting):
1744         Remove function quoting from lambda in examples where it still occurs,
1745         since examples should follow our best style and be consistent.
1747 2020-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
1749         * src/regex-emacs.c (re_match_2_internal): Rework comment in last change
1751         Explain why we don't need to worry about Lisp modifying the buffer.
1753         * src/syntax.c (parse_sexp_propertize): Fix name in error message.
1755 2020-04-19  Juri Linkov  <juri@linkov.net>
1757         Add new node "Image Mode" to Emacs Manual.
1759         * doc/emacs/dired.texi (Image-Dired): Add xref to "Image Mode".
1761         * doc/emacs/emacs.texi (Top): Add new node "Image Mode" to menu.
1763         * doc/emacs/files.texi (Files): Add new node "Image Mode" to menu.
1764         (File Conveniences): Split part of node to new node "Image Mode".
1766         * doc/emacs/frames.texi (Mouse Commands): Add xref to "Image Mode".
1768         * doc/emacs/misc.texi (Embedded WebKit Widgets): Rename xref from
1769         "File Conveniences" to "Image Mode".
1771 2020-04-18  Paul Eggert  <eggert@cs.ucla.edu>
1773         * doc/lispref/display.texi (Customizing Bitmaps): Fix typo.
1775 2020-04-18  Paul Eggert  <eggert@cs.ucla.edu>
1777         Document constant vs mutable objects better
1779         This patch builds on a suggested patch by Mattias Engdegård
1780         and on further comments by Eli Zaretskii.
1781         Original bug report by Kevin Vigouroux (Bug#40671).
1782         * doc/lispintro/emacs-lisp-intro.texi (set & setq, Review)
1783         (setcar, Lists diagrammed, Mail Aliases, Indent Tabs Mode):
1784         setq is a special form, not a function or command.
1785         * doc/lispintro/emacs-lisp-intro.texi (setcar):
1786         * doc/lispref/lists.texi (Modifying Lists, Rearrangement):
1787         * doc/lispref/sequences.texi (Sequence Functions)
1788         (Array Functions, Vectors):
1789         * doc/lispref/strings.texi (String Basics, Modifying Strings):
1790         Mention mutable vs constant objects.
1791         * doc/lispintro/emacs-lisp-intro.texi (setcar, setcdr)
1792         (kill-new function, cons & search-fwd Review):
1793         * doc/lispref/edebug.texi (Printing in Edebug):
1794         * doc/lispref/keymaps.texi (Changing Key Bindings):
1795         * doc/lispref/lists.texi (Setcar, Setcdr, Rearrangement)
1796         (Sets And Lists, Association Lists, Plist Access):
1797         * doc/lispref/sequences.texi (Sequence Functions)
1798         (Array Functions):
1799         * doc/lispref/strings.texi (Text Comparison):
1800         Fix examples so that they do not try to change constants.
1802 2020-04-18  Eli Zaretskii  <eliz@gnu.org>
1804         Improve documentation of 'sort-lines'
1806         * lisp/sort.el (sort-lines): Clarify the interactive invocation.
1807         (Bug#40697)
1809 2020-04-18  Štěpán Němec  <stepnem@gmail.com>
1811         Mention 'spam-stat-process-directory-age' in the documentation
1813         I was at a loss as to why my attempt to set up spam-stat seemed to
1814         have no effect, only to find (digging in the code) that it was
1815         ignoring most of the sample files due to this undocumented variable.
1817         * doc/misc/gnus.texi (Creating a spam-stat dictionary): Document
1818         the variable 'spam-stat-process-directory-age'.  (bug#39780)
1820 2020-04-18  Eli Zaretskii  <eliz@gnu.org>
1822         Avoid crashes in regex-emacs.c due to GC
1824         * src/regex-emacs.c (re_match_2_internal): Prevent GC from
1825         invalidating C pointers to buffer text.  (Bug#40661)
1827 2020-04-18  Eli Zaretskii  <eliz@gnu.org>
1829         Fix "C-u M-!" when 'shell-command-dont-erase-buffer' is non-nil
1831         * lisp/simple.el (shell-command-dont-erase-buffer): Clarify the
1832         effect of the various values in the doc string.
1833         (shell-command-save-pos-or-erase, shell-command): Don't move or
1834         push point if the output will go to the current buffer.
1835         (Bug#40690)
1836         (shell-command): Mention 'shell-command-dont-erase-buffer' in the
1837         doc string.
1839         * test/lisp/simple-tests.el
1840         (with-shell-command-dont-erase-buffer): Don't is shell quoting
1841         'like this', as it doesn't work on MS-Windows; quote "like this"
1842         instead.
1843         (simple-tests-shell-command-dont-erase-buffer): Adapt the test to
1844         the new modus operandi.
1846         * doc/emacs/misc.texi (Single Shell): Document the effect of the
1847         various values of 'shell-command-dont-erase-buffer'.
1849         * etc/NEWS: Expand and reword the entry regarding changes in
1850         'shell-command-dont-erase-buffer'.
1852 2020-04-17  Paul Eggert  <eggert@cs.ucla.edu>
1854         Fix cl-most-positive-float doc typo
1856         * doc/misc/cl.texi (Implementation Parameters):
1857         Fix typo in documentation of cl-most-positive-float.
1859 2020-04-16  jakub-w  <jakub-w@riseup.net>  (tiny change)
1861         Fix a typo in calculator.el
1863         * lisp/calculator.el (calculator-expt): Overflowing exponentiation
1864         caused the function to return -1.0e+INF if the base was an odd,
1865         negative number, no matter what the exponent was.
1867 2020-04-16  Amin Bandali  <bandali@gnu.org>
1869         * lisp/erc/erc.el: Add URL to the new ERC page on the Emacs site
1871 2020-04-16  Nicolas Petton  <nicolas@petton.fr>
1873         Bump Emacs version to 27.0.91
1875         * README:
1876         * configure.ac:
1877         * msdos/sed2v2.inp:
1878         * nt/README.W32: Bump Emacs version.
1880 2020-04-16  João Távora  <joaotavora@gmail.com>
1882         Correct Fido-mode's backspacing of directories with spaces
1884         (Bug#40625)
1886         * lisp/icomplete.el (icomplete-fido-backward-updir): Use
1887         zap-up-to-char.
1889 2020-04-15  João Távora  <joaotavora@gmail.com>
1891         Default completion-flex-nospace to nil
1893         By default, the flex completion style _does_ match spaces.
1895         (Bug#40625)
1897         * lisp/icomplete.el (icomplete--fido-mode-setup): Force
1898         completion-flex-nospace to nil.
1900         * lisp/minibuffer.el (completion-flex-nospace): Default to nil.
1902 2020-04-15  Eli Zaretskii  <eliz@gnu.org>
1904         Improve an example in w32 FAQ
1906         * doc/misc/efaq-w32.texi (Font names): Modify the expression to
1907         insert a list of all installed fonts so as to avoid producing too
1908         long lines.  Suggested by ndame <ndame@protonmail.com>.
1910 2020-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
1912         * lisp/htmlfontify.el (hfy-force-fontification): Fix bug#40642
1914         Don't presume that `jit-lock-mode` is enabled.
1915         Do not merge to `master`.
1917 2020-04-15  Nicolas Petton  <nicolas@petton.fr>
1919         * admin/authors.el: Add an author alias.
1921 2020-04-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1923         Limit RLIMIT_NOFILE to FD_SETSIZE on macOS
1925         * src/nsterm.m ([EmacsApp applicationDidFinishLaunching:]): Call
1926         CoreFoundation functions that increase RLIMIT_NOFILE behind our back
1927         during startup, and then set RLIMIT_NOFILE back to FD_SETSIZE to avoid
1928         crashes in setup_process_coding_system  (Bug#39164).
1930 2020-04-15  Martin Rudalics  <rudalics@gmx.at>
1932         Fix Elisp manual entry on 'set-window-configuration'
1934         * doc/lispref/windows.texi (Window Configurations): Fix
1935         description of 'set-window-configuration'.
1937 2020-04-14  Nicolas Petton  <nicolas@petton.fr>
1939         * admin/authors.el: Add missing author aliases.
1941 2020-04-14  Mattias Engdegård  <mattiase@acm.org>
1943         Fix edge case errors in filename-matching regexps
1945         These changes fix actual or latent bugs in regexps that match
1946         file names, such as PATTERN arguments to 'directory-files'.  See
1947         https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00265.html
1949         * admin/authors.el (authors-obsolete-files-regexps)
1950         (authors-renamed-files-regexps):
1951         * lisp/auth-source-pass.el (auth-source-pass-entries):
1952         * lisp/calendar/todo-mode.el (todo-show, todo-find-filtered-items-file)
1953         (todo-filter-items, todo-reset-nondiary-marker, todo-reset-done-string)
1954         (todo-reset-comment-string, todo-reset-highlight-item):
1955         * lisp/cedet/semantic/db-ebrowse.el (semanticdb-load-ebrowse-caches):
1956         * lisp/cedet/semantic/texi.el (semantic-texi-associated-files):
1957         * lisp/cedet/srecode/map.el (srecode-map-update-map):
1958         * lisp/dired.el (dired-re-no-dot):
1959         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
1960         * lisp/emacs-lisp/shadow.el (load-path-shadows-find):
1961         * lisp/files.el (auto-mode-alist, directory-files-no-dot-files-regexp):
1962         * lisp/finder.el (finder-compile-keywords):
1963         * lisp/generic-x.el (inetd-conf-generic-mode, named-boot-generic-mode)
1964         (resolve-conf-generic-mode, etc-modules-conf-generic-mode):
1965         * lisp/gnus/gnus-agent.el (gnus-agent-read-agentview)
1966         (gnus-agent-regenerate-group, gnus-agent-update-files-total-fetched-for):
1967         * lisp/gnus/gnus-cache.el (gnus-cache-articles-in-group):
1968         * lisp/gnus/gnus-score.el (gnus-score-search-global-directories):
1969         * lisp/gnus/gnus-util.el (gnus-delete-directory):
1970         * lisp/gnus/gnus-uu.el (gnus-uu-dir-files):
1971         * lisp/gnus/nndraft.el (nndraft-request-group):
1972         * lisp/gnus/nnmh.el (nnmh-request-group, nnmh-request-create-group):
1973         (nnmh-request-delete-group, nnmh-active-number, nnmh-update-gnus-unreads):
1974         * lisp/gnus/nnspool.el (nnspool-request-group):
1975         * lisp/gnus/spam-stat.el (spam-stat-process-directory)
1976         (spam-stat-test-directory):
1977         * lisp/help-fns.el (help-fns--first-release):
1978         * lisp/help.el (view-emacs-news):
1979         * lisp/international/quail.el (quail-update-leim-list-file):
1980         * lisp/international/titdic-cnv.el (batch-titdic-convert):
1981         * lisp/mail/mspools.el (mspools-set-vm-spool-files)
1982         (mspools-get-spool-files):
1983         * lisp/mail/rmail.el (rmail-secondary-file-regexp)
1984         (rmail-speedbar-match-folder-regexp):
1985         * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
1986         * lisp/net/tramp.el (tramp-use-absolute-autoload-file-names):
1987         * lisp/obsolete/gulp.el (gulp-send-requests):
1988         * lisp/obsolete/vc-arch.el (vc-arch-trim-revlib):
1989         * lisp/org/ob-core.el (org-babel-remove-temporary-directory):
1990         * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp, ebnf-style-database):
1991         * lisp/progmodes/executable.el (executable-command-find-posix-p):
1992         * lisp/startup.el (command-line):
1993         * lisp/textmodes/refer.el (refer-get-bib-files):
1994         * lisp/url/url-about.el (url-probe-protocols):
1995         * lisp/vc/vc-rcs.el (vc-rcs-register, vc-rcs-unregister):
1996         * test/lisp/net/tramp-archive-tests.el
1997         (tramp-archive-test19-directory-files-and-attributes):
1998         * test/lisp/net/tramp-tests.el (tramp-test19-directory-files-and-attributes):
1999         Replace ^ and $ with \` and \', respectively.
2000         Use (rx (or (not ".") "...")), translated into "[^.]\\|\\.\\.\\.",
2001         to match anything but "." and "..", instead of several incorrect
2002         regexps.
2004 2020-04-14  Eli Zaretskii  <eliz@gnu.org>
2006         Clarify the doc string of 'yank'
2008         * lisp/simple.el (yank): Mention 'current-kill' in the doc string,
2009         so that people could find all the gory details of what is "the most
2010         recent kill" for this purpose.  (Bug#40375)
2012 2020-04-14  Amin Bandali  <bandali@gnu.org>
2014         New function erc-track-switch-buffer-other-window
2016         * lisp/erc/erc-track.el (erc-track-switch-buffer): Factor out the
2017         implementation from here ...
2018         (erc-track--switch-buffer): ... to here.
2019         (erc-track-switch-buffer-other-window): New function, like
2020         `erc-track-switch-buffer', but uses `switch-to-buffer-other-window'
2021         instead, to open the buffer in another window.
2023 2020-04-14  Amin Bandali  <bandali@gnu.org>
2025         New function erc-switch-to-buffer-other-window
2027         * lisp/erc/erc.el (erc-switch-to-buffer): Factor out the buffer choice
2028         implementation from here ...
2029         (erc--switch-to-buffer): ... to here.
2030         (erc-switch-to-buffer-other-window): New function, like
2031         `erc-switch-to-buffer', but uses `switch-to-buffer-other-window'
2032         instead, to open the buffer in another window.
2034 2020-04-13  Štěpán Němec  <stepnem@gmail.com>
2036         Clarify documentation on inhibit-modification-hooks intended usage
2038         Cf. bug#40332 and the discussion at
2039         https://lists.gnu.org/archive/html/emacs-devel/2020-03/msg00921.html
2041         * doc/lispref/text.texi (Change Hooks):
2042         * src/insdel.c (syms_of_insdel): Clarify the intended usage of
2043         'inhibit-modification-hooks'.
2045 2020-04-13  Štěpán Němec  <stepnem@gmail.com>
2047         gnus-shorten-url: Improve and avoid args-out-of-range error
2049         'gnus-shorten-url' (used by 'gnus-summary-browse-url') ignored
2050         fragment identifiers and didn't check substring bounds, in some cases
2051         leading to runtime errors, e.g.:
2053           (gnus-shorten-url "https://some.url.with/path/and#also_a_long_target" 40)
2054           ;; => Lisp error: (args-out-of-range "/path/and" -18 nil)
2056         This commit makes it account for #fragments and fixes faulty string
2057         computation.  (bug#39980)
2059         Do not merge to master, where the helper is put to subr-x.el.
2061         * lisp/gnus/gnus-sum.el (gnus--string-truncate-left): New helper
2062         function (copied from 'ediff-truncate-string-left').
2063         (gnus-shorten-url): Use it and don't drop #fragments.
2065 2020-04-13  Eli Zaretskii  <eliz@gnu.org>
2067         Minor wording change in Introduction to Programming in Emacs Lisp
2069         * doc/lispintro/emacs-lisp-intro.texi (Prevent confusion): Mention
2070         that dynamic scoping is only the default in Emacs Lisp, not the
2071         only scoping rule.  (Bug#40594)
2073 2020-04-13  Eli Zaretskii  <eliz@gnu.org>
2075         Fix 'flymake-show-diagnostics-buffer' when line numbers are displayed
2077         * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries):
2078         Do nothing if 'flymake--diagnostics-buffer-source' is not a
2079         buffer.  (Bug#40529)
2081 2020-04-12  Eli Zaretskii  <eliz@gnu.org>
2083         Fix last changes describing mail commands
2085         * doc/emacs/sending.texi (Sending Mail): Fix the description of
2086         the behavior of 'C-x m' without prefix argument.  (Bug#40561)
2088 2020-04-12  João Távora  <joaotavora@gmail.com>
2090         Do setup Flymake in file-less Elisp buffers
2092         (Bug#40573)
2094         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Change
2095         condition for setting flymake-diagnostic-functions.
2097 2020-04-12  Philipp Stephani  <phst@google.com>
2099         Fix error message for ‘cl-struct-unknown-slot’ (bug#39995)
2101         * lisp/emacs-lisp/cl-macs.el (cl-struct-unknown-slot): Remove spurious
2102         format specifiers.
2104 2020-04-12  Eli Zaretskii  <eliz@gnu.org>
2106         Fix and improve documentation of mail-related features
2108         * lisp/simple.el (compose-mail): Clarify the effect of the
2109         CONTINUE argument.
2110         * lisp/mail/sendmail.el (mail-from-style): Update the RFC value in
2111         the obsolescence warning text.
2113         * doc/emacs/sending.texi (Sending Mail): Fix the description of
2114         the behavior of 'C-x m' wrt prefix argument.
2115         (Mail Headers): Remove the description of 'mail-from-style'.
2117         * etc/NEWS: Mention that 'mail-from-style' is obsolete.
2119         (Bug#40561)
2121 2020-04-12  Martin Rudalics  <rudalics@gmx.at>
2123         Fix build failure with Fx_gtk_debug
2125         * src/xfns.c (Fx_gtk_debug, Sx_gtk_debug): Define only for GTK
2126         versions >= 3.14.0 so gtk_window_set_interactive_debugging is
2127         defined.  Reported by Andreas Schwab  <schwab@linux-m68k.org>.
2129 2020-04-11  Alan Mackenzie  <acm@muc.de>
2131         Mention jit-lock deferred as an alternative to fast-but-imprecise-scrolling
2133         * doc/emacs/display.texi (Scrolling): Add a paragraph on using jit-lock
2134         deferred fontification as a way of obviating Emacs hanging after
2135         auto-repeated scrolling.
2137 2020-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2139         * doc/lispref/keymaps.texi (Extended Menu Items): Tweak :key-sequence
2141         Don't make it sound like `:key-sequence nil` is any different than the
2142         absence of `:key-sequence`.  And the performance advantage of
2143         `:key-sequence` disappeared long ago.
2145 2020-04-10  Eli Zaretskii  <eliz@gnu.org>
2147         Fix redisplay when scrolling under redisplay-dont-pause
2149         * src/dispnew.c (update_window): Reset the window's
2150         'must_be_updated_p' flag if the window's update was completed
2151         without interruption.  This fixes redisplay glitches when
2152         'redisplay-dont-pause' is nil, at least on MS-Windows, because
2153         'expose_window' doesn't redraw the exposed rectangle when the
2154         window's 'must_be_updated_p' flag is set.
2156 2020-04-09  Eli Zaretskii  <eliz@gnu.org>
2158         Fix face extension in pulse.el
2160         * lisp/cedet/pulse.el (pulse-reset-face): Propagate the :extend
2161         attribute of FACE to the face used for displaying the pulse.
2162         Reported by Adam Porter <adam@alphapapa.net>.
2164 2020-04-09  Michael Albinus  <michael.albinus@gmx.de>
2166         * doc/misc/tramp.texi (Bug Reports): Avoid line breaks in traces.
2168 2020-04-09  Eli Zaretskii  <eliz@gnu.org>
2170         Avoid assertion violation in intervals.c
2172         * src/intervals.c (delete_interval): Allow negative values of
2173         LENGTH (i).  This happens when delete_interval is called from
2174         set_intervals_multibyte_1, because the caller zeroes out the
2175         total_length field of the interval to be deleted.  See
2176         https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00131.html
2177         for more details.  See also a related old discussion at
2178         https://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00399.html.
2180 2020-04-08  Eli Zaretskii  <eliz@gnu.org>
2182         Improve documentation of 'jit-lock-contextually'
2184         * lisp/jit-lock.el (jit-lock-contextually): Clarify the jit-lock
2185         operation when 'jit-lock-contextually' is non-nil and non-t.
2187         * doc/lispref/modes.texi (Syntactic Font Lock)
2188         (Other Font Lock Variables): Document the relation between
2189         'jit-lock-register', 'font-lock-keywords-only', and syntactic
2190         refontification.
2192 2020-04-08  Dmitry Gutov  <dgutov@yandex.ru>
2194         Speed up 'resize-mode' child frames a little
2196         * src/gtkutil.c (xg_frame_set_char_size): Skip resizing if the
2197         target dimensions are unchanged for child frames with
2198         'resize-mode' resize policy as well.
2200 2020-04-06  Martin Rudalics  <rudalics@gmx.at>
2202         Fix some problems with moving and resizing child frames
2204         (1) Provide new option 'x-gtk-resize-child-frames' which allows
2205         to either hide a child frame during resizing or asks GTK to
2206         resize it "immediately".  This is needed because desktops like
2207         GNOME shell otherwise won't allow resizing child frames at all.
2208         (2) Do not try to synchronize the position of a child frame
2209         after moving it.  Needed because the present implementation
2210         introduces a 0.5 secs delay which makes dragging child frames
2211         virtually impossible with Lucid and Motif toolkits on desktops
2212         like GNOME shell that use invisible outer frame borders.
2214         For further information see the thread starting with
2215         https://lists.gnu.org/archive/html/emacs-devel/2020-01/msg00343.html
2217         * src/frame.c (syms_of_frame): New symbol Qxg_frame_set_char_size_4.
2218         * src/gtkutil.c (xg_frame_set_char_size): Hide child frame
2219         during resizing when 'x-gtk-resize-child-frames' equals 'hide'.
2220         * src/xfns.c (x_set_parent_frame, Fx_create_frame): Set
2221         gtk_container_resize_mode to GTK_RESIZE_IMMEDIATE for child
2222         frames when'x-gtk-resize-child-frames' equals 'resize-mode'.
2223         (Fx_gtk_debug): New function to toggle interactive GTK debugging
2224         from within Emacs.
2225         (syms_of_xfns): New symbols Qhide and Qresize_mode.
2226         (x-gtk-resize-child-frames): New option that allows to resize
2227         child frames on desktops like GNOME shell (with the mutter WM)
2228         that otherwise refuse to resize them.
2229         * src/xterm.c (x_set_offset): Don't x_sync_with_move for child
2230         frames, it makes moving child frames virtually impossible with
2231         the Lucid and Motif toolkits.
2233 2020-04-05  Philipp Stephani  <phst@google.com>
2235         Fix syntax error in man page.
2237         * doc/man/emacs.1.in: Fix syntax of --script argument.  The Info
2238         manual states that --script has to be followed by a space, and the
2239         syntax with the equals sign doesn't actually work.
2241 2020-04-05  Noam Postavsky  <npostavs@gmail.com>
2243         Handle filling of indented ChangeLog function entries
2245         * lisp/vc/log-edit.el (log-edit-fill-entry): Relax regexp a bit to
2246         recognize function entries with leading blanks.
2247         * test/lisp/vc/log-edit-tests.el: New test.
2249 2020-04-05  Noam Postavsky  <npostavs@gmail.com>
2251         Fix void-variable n-reb in re-builder (Bug#40409)
2253         * lisp/emacs-lisp/re-builder.el (reb-while): Take the current value of
2254         the counter instead of its name.
2255         (reb-mark-non-matching-parenthesis): Bind n-reb to 0 at the start and
2256         don't wrongly treat it as dynamically bound.
2258 2020-04-03  Philipp Stephani  <phst@google.com>
2260         Fix small bug in copy_string_contents.
2262         * src/emacs-module.c (module_copy_string_contents): Fix incorrect
2263         variable use.  In this branch 'lisp_str_utf8' is always nil, so it
2264         makes little sense to add it as error data.
2266 2020-04-03  Eli Zaretskii  <eliz@gnu.org>
2268         Fix invocations of gpg from Gnus
2270         * lisp/epg-config.el (epg-config--make-gpg-configuration): Bind
2271         coding-system-for-read/write to 'undecided', to countermand
2272         possible values of 'no-conversion' or somesuch by the callers.
2273         (Bug#40248)
2275 2020-04-03  Martin Rudalics  <rudalics@gmx.at>
2277         Don't draw GTK's internal border and tab bar on top of each other
2279         * src/xterm.c (x_clear_under_internal_border): For GTK builds
2280         have 'margin' count in the height of the tab bar to avoid that
2281         tab bar and internal border are drawn on top of each other.
2283 2020-04-03  Amin Bandali  <bandali@gnu.org>
2285         Tweak htmlfontify's generated output
2287         * lisp/htmlfontify.el (hfy-default-header): declare the character
2288         encoding for the generated HTML file.  This helps browsers display
2289         UTF-8 characters like the copyright symbol correctly.
2290         (hfy-sprintf-stylesheet): apply the default style to all of the text
2291         consistently, so that unstyled bits (which are not wrapped in span
2292         tags and are directly part of the surrounding pre tag's "innerHTML")
2293         have a look consistent with the rest of the document.
2295 2020-03-30  Dmitry Gutov  <dgutov@yandex.ru>
2297         Handle project--files-in-directory finding no files better
2299         * lisp/progmodes/project.el (project--find-regexp-in-files):
2300         Signal user-error when passed an empty list of files.
2302         * lisp/progmodes/xref.el (xref-matches-in-files):
2303         Make sure FILES is not empty.
2305 2020-03-30  Alan Mackenzie  <acm@muc.de>
2307         Let imenu to work on the menu bar when its list is a single non-nested member.
2309         * lisp/imenu.el (imenu-update-menubar): No longer accept a list of length 1 as
2310         being sufficient evidence for a nested list structure.  Instead, additionally
2311         check whether or not certain elements are atoms.
2313 2020-03-30  Juri Linkov  <juri@linkov.net>
2315         * lisp/image/image-converter.el: Fix customization of image-converter.
2317         * lisp/image/image-converter.el (image-convert-p): Update
2318         image-converter-regexp when image-converter was customized (bug#39994).
2320 2020-03-29  Andreas Schwab  <schwab@linux-m68k.org>
2322         Fix url-cookie.el for lexical binding
2324         * lisp/url/url-cookie.el (url-cookie-handle-set-cookie): Use setq
2325         instead of set to modify lexical binding.
2327 2020-03-29  Noam Postavsky  <npostavs@gmail.com>
2329         Don't suggest setting face-remapping-alist to a literal (Bug#39812)
2331         * src/xfaces.c (syms_of_xfaces) <face-remapping-alist>: Use copy-tree
2332         in the costring example code, and note why.
2334 2020-03-27  Mattias Engdegård  <mattiase@acm.org>
2336         Calc: don't treat nil as an integer (bug#40155)
2338         Make Math-num-integerp return false for nil, following Math-integerp
2339         which was changed in the bignum reform.  This fixes a crash in
2340         calc-graph-fast.
2342         Reported by Narendra Joshi.
2344         * lisp/calc/calc-macs.el (Math-num-integerp): Not true for nil.
2345         * test/lisp/calc/calc-tests.el (calc-Math-integerp): New tests.
2347 2020-03-25  Eli Zaretskii  <eliz@gnu.org>
2349         * lisp/files.el (directory-files-recursively): Doc fix.  (Bug#40202)
2351 2020-03-25  Michael Albinus  <michael.albinus@gmx.de>
2353         Document how to disable Tramp file archives
2355         * doc/misc/tramp.texi (Archive file names): Explain how to disable
2356         file archives.
2358 2020-03-24  Lars Ingebrigtsen  <larsi@gnus.org>
2360         Don't add repeated xlmns:xlink declarations in svg-create
2362         * lisp/svg.el (svg-create): Fix previous unconditional addition of
2363         the xmlns:xlink declaration -- callers may already add one, and
2364         having it twice is something most svg libraries doesn't like.
2366 2020-03-23  Mattias Engdegård  <mattiase@acm.org>
2368         Calc: Declare dynamic variable bound in lexbind code (bug#40185)
2370         * lisp/calc/calc.el: Declare math-comp-selected as dynamic.
2372 2020-03-23  Eli Zaretskii  <eliz@gnu.org>
2374         Don't build the Gnulib 'utimens' module on MinGW
2376         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_utimens): Omit the
2377         'utimens' module in the MinGW build: 'utimens' is not used by
2378         Emacs, and 'fdutimens' is implemented in w32.c.
2380 2020-03-23  Phillip Lord  <phillip.lord@russet.org.uk>
2382         Add Harfbuzz dependency
2384         * admin/nt/dist-build/build-dep-zips.py: Add harfbuzz as a dependency.
2386 2020-03-23  Noam Postavsky  <npostavs@gmail.com>
2388         Don't signal during backtrace unrewind (Bug#40088)
2390         backtrace_eval_unrewind is used to temporarily reverse
2391         let-bindings (it's called with a positive argument to reverse
2392         bindings, and then a negative argument to re-apply them) by
2393         backtrace--locals and backtrace-eval.  For the SPECPDL_LET_DEFAULT and
2394         SPECPDL_LET_LOCAL cases (which occur for let-bindings on buffer-local
2395         variables), the code calls Fdefault_value and Fbuffer_local_value on
2396         the symbol.
2398         For symbols which are unbound at top-level, the first (with positive
2399         argument) call to backtrace_eval_unrewind will set the symbol's value
2400         to unbound (putting the current value in the specpdl's "old value"
2401         slot).  On the second (with negative argument) call,
2402         backtrace_eval_unrewind attempts to retrieve the symbol's value with
2403         Fdefault_value or Fbuffer_local_value, but that raises a void-variable
2404         signal.  This interrupts the restoration of the let-bindings, so any
2405         other variables more recent on the stack will now have the wrong
2406         value.
2408         * src/data.c (default_value): Make non-static.
2409         * src/lisp.h: Declare it.
2410         * src/eval.c (backtrace_eval_unrewind): Replace the calls to
2411         Fdefault_value and Fbuffer_local_value with default_value and
2412         buffer_local_value, respectively.  The latter do exactly the same as
2413         the former, except if the symbol's value is Qunbound they just return
2414         it instead of signaling void-variable.
2416 2020-03-23  Noam Postavsky  <npostavs@gmail.com>
2418         Fix a couple of problems in changelog generating functions
2420         * lisp/vc/diff-mode.el (diff-add-log-current-defuns): If there is a
2421         scan-error when calling end-of-defun, go to end of hunk.  This can
2422         easily happen since we are calling end-of-defun on a partial code
2423         fragment from a diff.
2424         * lisp/vc/log-edit.el (log-edit-generate-changelog-from-diff): Bind
2425         display-buffer-overriding-action around the log-edit-show-diff call
2426         only.  Otherwise, it can affect, for example, debugger windows
2427         triggered by the diff-add-log-current-defuns call.
2429 2020-03-23  Noam Postavsky  <npostavs@gmail.com>
2431         Fix cl-concatenate (Bug#40180)
2433         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use apply, to avoid
2434         adding extra nesting of args.
2435         * test/lisp/emacs-lisp/cl-extra-tests.el (cl-concatenate): New test.
2437 2020-03-21  Eli Zaretskii  <eliz@gnu.org>
2439         Improve documentation of project.el commands
2441         * lisp/progmodes/project.el (project-find-regexp): Require 'grep'
2442         to be able to call 'grep-read-files'.
2443         (project-search, project-query-replace-regexp): Doc fixes.
2445         * doc/emacs/maintaining.texi (Projects): New section.
2446         * doc/emacs/emacs.texi (Top): Add "Projects" to the detailed menu.
2448 2020-03-20  Zhu Zihao  <all_but_last@163.com>  (tiny change)
2450         Make svg images with links valid
2452         * lisp/svg.el (svg-create): Specify xlink namespace for svg images
2453         (bug#40010).
2455 2020-03-20  Juri Linkov  <juri@linkov.net>
2457         * lisp/tab-line.el (tab-line-new-button-show): New defcustom.
2459         * lisp/tab-line.el (tab-line-format-template): Use tab-line-new-button-show.
2460         (tab-line-new-tab-choice): Remove choice 'nil' with "No button".
2461         (tab-line-separator): Add docstring.
2463 2020-03-19  Lars Ingebrigtsen  <larsi@gnus.org>
2465         Don't have exif bugging out on short strings
2467         * lisp/image/exif.el (exif--direct-ascii-value): New function
2468         (bug#40127).
2469         (exif--parse-directory): Use it to get the correct values for
2470         in-directory (i.e., shorter than 4 octets) strings.
2472 2020-03-19  Robert Pluim  <rpluim@gmail.com>
2474         Use correct registry name for windows-1251 charset
2476         * src/ftfont.c (fc_charset_table): The registry to use to lookup
2477         windows-1251 charset is microsoft-cp1251, not windows-1251.
2478         (Bug#40097)
2480 2020-03-19  Amin Bandali  <bandali@gnu.org>
2482         ERC: Update maintainer address
2484 2020-03-18  Philipp Stephani  <phst@google.com>
2486         Remove raw carriage return characters from test file.
2488         This protects against tools that mangle newline characters in text
2489         files.
2491         * test/lisp/electric-tests.el (electric-pair-mode-newline-between-parens)
2492         (electric-layout-mode-newline-between-parens-without-e-p-m)
2493         (electric-layout-mode-newline-between-parens-without-e-p-m-2): Escape
2494         carriage return characters.
2496 2020-03-17  Robert Pluim  <rpluim@gmail.com>
2498         Recalculate default font when switching font backend
2500         This is an updated version of the patch by Dmitry Antipov
2501         <dmantipov@yandex.ru> in
2502         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23386#43>.
2504         Fixes Bug#23386
2506         * src/dispextern.h (struct redisplay_interface): New member
2507         default_font_parameter.
2508         * src/xterm.h: Add prototype for x_default_font_parameter.
2509         * src/xterm.c (x_redisplay_interface): Initialize
2510         default_font_parameter member.
2511         * src/xfns.c (x_default_font_parameter): Make non-static.
2512         * src/w32term.h: Add prototype for w32_default_font_parameter
2513         * src/w32fns.c (w32_default_font_parameter): Make non-static.
2514         * src/w32term.c (w32_redisplay_interface): Initialize
2515         default_font_parameter member.
2516         * src/nsterm.m (ns_redisplay_interface): Add dummy
2517         ns_default_font_parameter (there is currently only one possible font
2518         backend on macOS).  Initialize default_font_parameter member.
2519         * src/frame.c (gui_set_font_backend): Recalculate default font using
2520         RIF default_font_parameter to avoid crash when changing font backend.
2522 2020-03-17  Juri Linkov  <juri@linkov.net>
2524         * lisp/tab-line.el: Fix tab-line-format and tab-line-format-template.
2526         * lisp/tab-line.el (tab-line-format): Use buffer-name in the cache key
2527         instead of just buffer object to invalidate the cache on buffer renaming.
2528         (tab-line-format-template): Always leave the separator after the last tab
2529         like tab-bar.el already does.
2531 2020-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
2533         * etc/NEWS: Make the `--eval` example slightly more precise
2535 2020-03-15  Juri Linkov  <juri@linkov.net>
2537         * lisp/image/image-converter.el: Support more ImageMagick versions (bug#39994)
2539         * lisp/image/image-converter.el (image-converter--probe): Match
2540         a possible additional second column in some ImageMagick versions
2541         of "convert -list format".
2543 2020-03-14  Eli Zaretskii  <eliz@gnu.org>
2545         Support Unicode 13.0
2547         * admin/unidata/BidiBrackets.txt:
2548         * admin/unidata/BidiMirroring.txt:
2549         * admin/unidata/Blocks.txt:
2550         * admin/unidata/NormalizationTest.txt:
2551         * admin/unidata/SpecialCasing.txt:
2552         * admin/unidata/UnicodeData.txt:
2553         * admin/unidata/copyright.html:
2554         * test/manual/BidiCharacterTest.txt: Updated files imported from
2555         Unicode v13.0.
2557         * admin/unidata/blocks.awk: Add "Symbols for Legacy Computing" to
2558         known aliases.
2560         * lisp/international/fontset.el (script-representative-chars)
2561         (setup-default-fontset): Add new scripts.
2562         * lisp/international/characters.el: Set syntax for Symbols for
2563         Legacy Computing characters.  Update setting of char-width-table.
2564         * lisp/international/mule-cmds.el (ucs-names): Update ranges of
2565         characters for which we want names in 'ucs-names'.
2567         * test/lisp/international/ucs-normalize-tests.el
2568         (ucs-normalize-tests--failing-lines-part1)
2569         (ucs-normalize-tests--failing-lines-part2): Update according to
2570         'ucs-normalize-check-failing-lines'.
2572 2020-03-14  Lars Ingebrigtsen  <larsi@gnus.org>
2574         Fix regression in wisent-total-conflicts
2576         * lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts):
2577         There may not be a current source file.  In that case, don't try
2578         to keep track of the number of expected conflicts (bug#39911).
2580 2020-03-14  Alan Mackenzie  <acm@muc.de>
2582         * lisp/progmodes/cc-defs.el (c-version): update to 5.34.1 for Emacs 27.1
2584         Don't merge to master.
2586 2020-03-14  Philipp Stephani  <phst@google.com>
2588         * lisp/textmodes/fill.el (fill-nobreak-predicate): Fix documentation.
2590 2020-03-14  Stefan Kangas  <stefankangas@gmail.com>
2592         Improve Package Menu hiding docstrings
2594         * lisp/emacs-lisp/package.el (package-menu-toggle-hiding): Add
2595         reference to 'package-menu-hidden-regexps'.
2596         * lisp/emacs-lisp/package.el (package-menu-hide-package): Improve
2597         docstring to say that hiding is saved in a user option.  Fix a
2598         typo.  (Bug#39436)
2600 2020-03-14  Eli Zaretskii  <eliz@gnu.org>
2602         Fix display of Big5 characters when using Fontconfig
2604         * src/ftfont.c (fc_charset_table): Fix the value of the big-5
2605         representative codepoint.  Reported by Brian Schack
2606         <bschack-cocoa@usa.net>.  (Bug#40057)
2608         * src/macfont.m (cf_charset_table): Adjust the comment.
2610 2020-03-13  Eli Zaretskii  <eliz@gnu.org>
2612         Fix a recent documentation change
2614         * doc/emacs/frames.texi (Mouse Commands): More detailed
2615         description of how tilting the mouse-wheel works.
2617         * lisp/mwheel.el (mouse-wheel-tilt-scroll)
2618         (mouse-wheel-flip-direction): Fix the wording of doc strings.
2619         (Bug#39979)
2621 2020-03-13  Eli Zaretskii  <eliz@gnu.org>
2623         Fix last change
2625         * lisp/tab-bar.el (tab-bar-new-button-show): Fix wording of the
2626         doc string.
2628 2020-03-13  Juri Linkov  <juri@linkov.net>
2630         * lisp/tab-bar.el: Last-minute changes.
2632         * lisp/tab-bar.el (tab-bar-mode): Check for non-nil
2633         tab-bar-new-button and tab-bar-close-button.
2634         (tab-bar-new-button-show): New defcustom.
2635         (tab-bar-make-keymap-1): Check for tab-bar-new-button-show.
2636         (tab-bar-separator): Add docstring.
2638 2020-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
2640         * lisp/subr.el (cancel-change-group): Fix bug#39680
2642         Don't re-use an existing `pending-undo-list` even if (eq last-command 'undo)
2643         since there might have been changes to the buffer since that `undo` command
2644         and the `pending-undo-list` can hence be invalid for the current
2645         buffer contents.
2647 2020-03-12  İ. Göktuğ Kayaalp  <self@gkayaalp.com>
2649         Improve docs for horizontal scrolling with mouse and touchpad (Bug#39979)
2651         * lisp/mwheel.el (mouse-wheel-tilt-scroll,
2652         mouse-wheel-flip-direction): Improve docstrings.
2653         * doc/emacs/frames.texi (Mouse Commands): Mention touchpads.
2655 2020-03-10  Juri Linkov  <juri@linkov.net>
2657         * lisp/emacs-lisp/package.el (package-install): Fix typo in docstring.
2659 2020-03-09  Paul Eggert  <eggert@cs.ucla.edu>
2661         Port .gdbinit to clang with -gdwarf-4
2663         * src/.gdbinit (xgetsym): Port to clang with -gdwarf-4, which
2664         doesn’t output the type of lispsym anywhere other than emacs.o
2665         (Bug#39962).
2667 2020-03-09  Mattias Engdegård  <mattiase@acm.org>
2669         Simplify rx example in manual
2671         * doc/lispref/searching.texi (Rx Notation):
2672         Use the 'not' shorthand introduced in Emacs 27.
2674 2020-03-09  Paul Eggert  <eggert@cs.ucla.edu>
2676         * src/timefns.c: Add comments.
2678 2020-03-08  Paul Eggert  <eggert@cs.ucla.edu>
2680         * src/timefns.c: Add comments.
2682 2020-03-08  Andrew Eggenberger  <andrew.eggenberger@gmail.com>  (tiny change)
2684         Eliminate use of cl-concatenate in 'seq' package
2686         Fixes (Bug#39761) by making cl-extra dependent on seq rather than
2687         vice versa.
2688         * lisp/emacs-lisp/seq.el (seq-concatenate): Move cl-concatenate's
2689         code here instead of calling it.
2690         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use cl-concatenate.
2692 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
2694         Fix bug with JIT stealth timers
2696         * lisp/emacs-lisp/timer.el (run-at-time): Don’t assume that Lisp
2697         time values must be conses (Bug#39944).
2699 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
2701         * doc/lispref/os.texi (time-subtract): Doc fix.
2703 2020-03-07  Alan Third  <alan@idiocy.org>
2705         NS port documentation updates
2707         * doc/emacs/macos.texi (Mac / GNUstep Customization): Document some
2708         more of the ns- variables and remove incorrect font back-end
2709         information.
2710         * etc/NEWS: Update the documentation status of macOS news entries.
2712 2020-03-07  João Távora  <joaotavora@gmail.com>
2714         Let fido-mode users force a minibuffer-exit
2716         * lisp/icomplete.el (icomplete-fido-exit):
2717         Add FORCE arg.  Rewrite docstring. (bug#38992)
2719 2020-03-07  Dmitry Gutov  <dgutov@yandex.ru>
2721         icomplete-fido-exit: New command for the M-j binding
2723         * lisp/icomplete.el (icomplete-fido-exit): New command.
2724         (icomplete-fido-mode-map): Use it (bug#38992).
2726 2020-03-07  Dmitry Gutov  <dgutov@yandex.ru>
2728         minibuffer-force-complete-and-exit: Allow input with no matches
2730         * lisp/minibuffer.el (minibuffer--require-match): New variable.
2731         (completing-read-default): Bind it to the REQUIRE-MATCH value.
2732         (minibuffer-force-complete-and-exit): Consult it to allow input
2733         with no matches when a match is not required (bug#38992).
2735         * lisp/icomplete.el (icomplete-exhibit): Use it to render the
2736         correct parens around matches.
2738 2020-03-07  Eli Zaretskii  <eliz@gnu.org>
2740         Document that 'byte-compile-dynamic' is obsolete
2742         * doc/lispref/compile.texi (Dynamic Loading): Document that this
2743         is deprecated.
2745         * etc/NEWS: mark the 'byte-compile-dynamic' entry as documented.
2747 2020-03-07  Eli Zaretskii  <eliz@gnu.org>
2749         Document the changes in 'read-answer'
2751         * doc/lispref/minibuf.texi (Multiple Queries): Document the
2752         fact that 'read-answer' can now accept non-character input
2753         events.
2755 2020-03-07  Eli Zaretskii  <eliz@gnu.org>
2757         Document changes in lexical-binding
2759         * doc/lispref/variables.texi (Using Lexical Binding): Document
2760         that lexical-binding is now turned on by default in more cases.
2762         * etc/NEWS: Fix wording of the NEWS entry about the above, and mark it
2763         as fully documented.
2765 2020-03-06  Amin Bandali  <mab@gnu.org>
2767         Update ERC mailing list address
2769         * lisp/erc/erc.el (erc-official-location): As part of bringing ERC
2770         under the Emacs umbrella, erc-discuss has been renamed to emacs-erc,
2771         and will be *the* mailing list for discussions and announcements about
2772         ERC going forward.  The other two lists, erc-announce and erc-commit,
2773         are now retired.  For more details, see the announcement at
2774         <https://lists.gnu.org/archive/html/emacs-erc/2020-03/msg00001.html>.
2776 2020-03-06  Roland Winkler  <winkler@gnu.org>
2778         Use regexp-opt to define bibtex-autokey-transcriptions.  (Bug#39686)
2780 2020-03-06  Eli Zaretskii  <eliz@gnu.org>
2782         Improve documentation of 'table-generate-source'
2784         * lisp/textmodes/table.el (table-generate-source): Doc fix.
2785         (Bug#39935)
2787         * etc/NEWS: Fix wording of the 'table-generate-source' entry and
2788         mark it as documented.
2790 2020-03-06  Eli Zaretskii  <eliz@gnu.org>
2792         Attempt to avoid rare segfaults in show_mouse_face
2794         * src/xdisp.c (show_mouse_face): Don't display the active region
2795         if called on a frame different from the one recorded in HLINFO.
2796         (Bug#37671)
2798 2020-03-05  Eli Zaretskii  <eliz@gnu.org>
2800         Avoid crashes when a fontset has strange entries
2802         * src/fontset.c (reorder_font_vector): Skip nil entries in the
2803         loop that assigns scores to rfont_def's.
2804         (fontset_compare_rfontdef): Cope with nil.  This has the effect of
2805         moving any nil entries to the end of the font-group, and avoids
2806         crashing if an element other than the last in the font-group is
2807         nil.  (Bug#39892)
2809 2020-03-05  Mattias Engdegård  <mattiase@acm.org>
2811         Fix rx error with ? and ??
2813         The ? and ?? rx operators are special in that they can be written as
2814         characters (space and '?' respectively).  This confused the definition
2815         look-up mechanism in rare cases.
2817         * lisp/emacs-lisp/rx.el (rx--expand-def): Don't look up non-symbols.
2818         * test/lisp/emacs-lisp/rx-tests.el (rx-charset-or): Test.
2820 2020-03-05  Mattias Engdegård  <mattiase@acm.org>
2822         * lisp/emacs-lisp/rx.el (rx--string-to-intervals): Fix error string.
2824 2020-03-05  Justin Burkett  <justin@burkett.cc>  (tiny change)
2826         Fix args in 'window-text-pixel-size' call in 'fit-window-to-buffer'
2828         * lisp/window.el (fit-window-to-buffer): Fix arguments in
2829         'window-text-pixel-size' call.
2831 2020-03-04  João Távora  <joaotavora@gmail.com>
2833         Have pulse.el preserve existing overlay priorities
2835         (Bug#39821)
2837         * lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Save
2838         overlay priority.
2839         (pulse-momentary-unhighlight): Restore.
2841 2020-03-04  Alan Mackenzie  <acm@muc.de>
2843         CC Mode: Fix the handling of two adjacent after-change-functionses.
2845         The bug involved failing to set c-new-END correctly, which lead to an
2846         args-out-of-range error when after-change-functions was invoked twice without
2847         an intervening invocation of before-change-functions.
2849         * lisp/progmodes/cc-mode.el (c-after-change): Correct a coding error in the
2850         handling of c-just-done-before-change.
2852 2020-03-04  Alan Mackenzie  <acm@muc.de>
2854         Fix combine-change-calls-1 for when buffer-undo-list is t
2856         * lisp/subr.el (combine-change-calls-1): Bind before/after-change-functions to
2857         nil also when buffer-undo-list is t.
2859 2020-03-04  Mattias Engdegård  <mattiase@acm.org>
2861         Don't misinterpret doc string as initial value
2863         * lisp/loadhist.el (loadhist--restore-autoload):
2864         * lisp/progmodes/vhdl-mode.el (vhdl-font-lock-keywords-0):
2865         Prevent the doc string from being used as initial value.
2867 2020-03-04  Stefan Kangas  <stefankangas@gmail.com>
2869         Bump checkdoc-version to match library header
2871         * lisp/emacs-lisp/checkdoc.el (checkdoc-version): Bump version.
2873 2020-03-04  Noam Postavsky  <npostavs@gmail.com>
2875         Explain how to unset mode bindings (Bug#39802)
2877         * doc/emacs/custom.texi (Init Rebinding): Explain that passing nil to
2878         define-key will unbind keys, and extend the example accordingly.
2880 2020-03-04  Noam Postavsky  <npostavs@gmail.com>
2882         Fix describe-variable on values with circular syntax (Bug#39805)
2884         * lisp/help-fns.el (describe-variable): Set syntax tables before
2885         calling pp-buffer.
2887 2020-03-04  Juri Linkov  <juri@linkov.net>
2889         Improve documentation of next-error-highlight-no-select (bug#38778)
2891         * doc/emacs/building.texi (Compilation Mode):
2892         Mention next-error-highlight-no-select.
2894         * lisp/simple.el (next-error-highlight): Add reference to
2895         next-error-highlight-no-select.
2896         (next-error-highlight-no-select): Add reference to
2897         next-error-highlight.
2899 2020-03-03  Andreas Schwab  <schwab@linux-m68k.org>
2901         Fix implicit declaration of getenv and atol
2903         * src/gtkutil.c: Include <stdlib.h>.
2905 2020-03-03  Eli Zaretskii  <eliz@gnu.org>
2907         Fix handling MS-Windows keyboard input above the BMP
2909         * src/w32term.c (w32_read_socket): If we get a WM_UNICHAR message
2910         with a surrogate codepoint, assemble the corresponding character
2911         code above the BMP from its UTF-16 encoding, communicated in two
2912         consecutive WM_UNICHAR messages.
2914 2020-03-03  Mattias Engdegård  <mattiase@acm.org>
2916         * etc/NEWS: More complete description of rx 'not' changes.
2918 2020-03-02  Juri Linkov  <juri@linkov.net>
2920         * doc/emacs/mini.texi (Yes or No Prompts): 'y-or-n-p' now uses the minibuffer.
2922 2020-03-02  Robert Pluim  <rpluim@gmail.com>
2924         Don't attempt to cache glyph metrics for FONT_INVALID_CODE
2926         This was causing massive slowdown in redisplay when eg #xfe0f
2927         (VARIATION SELECTOR-16) was present, as the cache ended up very large,
2928         unused, and being recreated on every call to font_fill_lglyph_metrics
2929         (Bug#39133).
2931         * src/composite.c (fill_gstring_body): Hoist FONT_OBJECT_P check out
2932         of loop.  Calculate glyph code and check for FONT_INVALID_CODE before
2933         calling font_fill_lglyph_metrics.  Pass glyph code to it.
2935         * src/font.c (font_fill_lglyph_metrics): Add code parameter, move
2936         glyph code calculation up the call stack into fill_gstring_body.
2938         * src/font.h: Adjust font_fill_lglyph_metrics prototype.
2940 2020-03-01  Sergey Trofimov  <sarg@sarg.org.ru>  (tiny change)
2942         Fix fit-frame-to-buffer for multi-monitor setup
2944         * lisp/window.el (fit-frame-to-buffer): Call
2945         'frame-monitor-attributes' instead of
2946         'display-monitor-attributes-list'.  Fix geometry calculations for
2947         multiple monitors.
2949 2020-03-01  Mattias Engdegård  <mattiase@acm.org>
2951         rx: Improve 'or' compositionality (bug#37659)
2953         Perform 'regexp-opt' on nested 'or' forms, and after expansion of
2954         user-defined and 'eval' forms.  Characters are now turned into strings
2955         for wider 'regexp-opt' scope.  This preserves the longest-match
2956         semantics for string in 'or' forms over composition.
2958         * doc/lispref/searching.texi (Rx Constructs): Document.
2959         * lisp/emacs-lisp/rx.el (rx--normalise-or-arg)
2960         (rx--all-string-or-args): New.
2961         (rx--translate-or): Normalize arguments first, and check for strings
2962         in subforms.
2963         (rx--expand-eval): Extracted from rx--translate-eval.
2964         (rx--translate-eval): Call rx--expand-eval.
2965         * test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-def-in-or): Add tests.
2966         * etc/NEWS: Announce.
2968 2020-02-29  Juri Linkov  <juri@linkov.net>
2970         * lisp/tab-line.el: Fix auto-hscrolling (bug#39649)
2972         Distinguish offsets between manual-vs-automatic scrolling
2973         as integers-vs-floats instead of positive-vs-negative integers.
2975         * lisp/tab-line.el (tab-line-format-template): Use 'numberp'
2976         instead of 'integerp', and 'truncate' instead of 'abs'.
2977         (tab-line-format): When the window-buffer was updated, set window-parameter
2978         to float to enable auto-hscroll after it was disabled on manual scrolling.
2979         (tab-line-auto-hscroll-buffer): New variable with internal buffer.
2980         (tab-line-auto-hscroll): Erase in tab-line-auto-hscroll-buffer.
2981         Use 'numberp' instead of 'integerp', 'truncate' instead of 'abs',
2982         and 'float' instead of '-'.
2983         (tab-line-hscroll): Use 'numberp' instead of 'integerp',
2984         and 'truncate' instead of 'abs'.
2986 2020-02-29  Mattias Engdegård  <mattiase@acm.org>
2988         Fix rx charset generation
2990         * lisp/emacs-lisp/rx.el (rx--charset-p): Don't overquote.
2991         (rx--generate-alt): Generate '.' for negated newline.
2992         * test/lisp/emacs-lisp/rx-tests.el (rx-any, rx-charset-or): Test.
2994 2020-02-28  Mattias Engdegård  <mattiase@acm.org>
2996         Fix overquoting in mule.el
2998         * lisp/international/mule.el (sgml-xml-auto-coding-function):
2999         Remove accidental quote.
3001 2020-02-28  Paul Eggert  <eggert@cs.ucla.edu>
3003         * src/timefns.c (time_arith): Omit incorrect comment.
3005 2020-02-28  Mattias Engdegård  <mattiase@acm.org>
3007         * lisp/vc/vc-cvs.el (vc-cvs-ignore): Copy-edit doc string
3009 2020-02-28  Štěpán Němec  <stepnem@gmail.com>
3011         checkdoc: Don't mistake "cf." for sentence end
3013         * lisp/emacs-lisp/checkdoc.el (checkdoc-sentencespace-region-engine):
3014         Recognize "cf." as an abbreviation, not a sentence end.
3016 2020-02-27  Nicolas Petton  <nicolas@petton.fr>
3018         Bump Emacs version to 27.0.90
3020         * README:
3021         * configure.ac:
3022         * msdos/sed2v2.inp:
3023         * nt/README.W32: Bump Emacs version.
3025 2020-02-27  Nicolas Petton  <nicolas@petton.fr>
3027         * etc/AUTHORS: Update.
3029 2020-02-27  Nicolas Petton  <nicolas@petton.fr>
3031         * admin/authors.el (authors-ignored-files): Fix entries.
3033 2020-02-26  Eric Abrahamsen  <eric@ericabrahamsen.net>
3035         Fix documented slot name of eieio-instance-tracker class
3037         * doc/misc/eieio.texi (eieio-instance-tracker): The code has the slot
3038           name as `tracking-symbol', not `tracker-symbol'.
3040 2020-02-26  Robert Pluim  <rpluim@gmail.com>
3042         Range-check width passed to define-fringe-bitmap
3044         This prevents a crash when attempting to create a zero-width bitmap.
3046         * src/fringe.c (Fdefine_fringe_bitmap): Check value of width,
3047         signal an error if outside documented range (Bug#39662).
3049 2020-02-26  Nicolas Petton  <nicolas@petton.fr>
3051         * admin/authors.el: Add missing entries
3053 2020-02-26  Noam Postavsky  <npostavs@gmail.com>
3055         Define libgnutls-version properly
3057         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: Define with
3058         DEFVAR_LISP and add docstring, so that this variable will accessible by
3059         help facilities.
3061 2020-02-25  Dmitry Gutov  <dgutov@yandex.ru>
3063         vc-dir-ignore: More accurately choose base directory
3065         * lisp/vc/vc-dir.el:
3066         (vc-dir-ignore): Use it (bug#37189).
3068         * lisp/vc/vc.el:
3069         (vc--ignore-base-dir): Extract from vc-ignore.
3071 2020-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
3073         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Change last fix
3075         Make sure we always work in the selected-window's buffer.
3077 2020-02-23  Alan Mackenzie  <acm@muc.de>
3079         CC Mode: Protect against consecutive calls to before-change-functions ...
3081         without an intervening call to after-change-functions.  This would have been a
3082         workaround to bug #38691 had the causes of that bug not been removed.
3084         * lisp/progmodes/cc-mode.el (c-just-done-before-change): Add an extra value to
3085         this variable, 'whole-buffer, this being set by c-before-change as a signal to
3086         c-after-change that although c-before-change has run, it has assumed the
3087         entire buffer as the change region.
3088         (c-before-change, c-after-change): Adapt to the new meaning of the above.
3090 2020-02-23  Noam Postavsky  <npostavs@gmail.com>
3092         Shorten some ppss struct field names
3094         * lisp/emacs-lisp/syntax.el (ppss): Capitalize docstrings.
3095         (ppss-comment-depth): Renamed from ppss-comment-nesting.
3096         (ppss-quoted-p): Renamed from ppss-after-quote-p.
3097         (ppss-min-depth): Renamed from ppss-minimum-paren-depth.
3098         (ppss-open-parens): Renamed from ppss-open-paren-positions.
3099         * etc/NEWS: Announce the ppss-* accessors.
3101 2020-02-23  Alan Mackenzie  <acm@muc.de>
3103         Java Mode: Fix fontification of variable decl inside `for'
3105         * lisp/progmodes/cc-engine.el (c-forward-declarator): In place of a test for
3106         C++ Mode, test for either C++ Mode or Java Mode.
3108 2020-02-23  Alan Mackenzie  <acm@muc.de>
3110         CC Mode: Fontify foo in "const auto foo :" correctly
3112         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): While attempting to
3113         find a declaration's identifier, recast the latest found id. as that
3114         identifier when there is no other type identifier and the result of the most
3115         recent c-forward-type call is 'maybe or 'found.  In the latter case, remove
3116         the id. from the found types list, too.
3118 2020-02-23  Juri Linkov  <juri@linkov.net>
3120         * lisp/replace.el (occur-engine-line): Revert part of fb16313025 (bug#39597)
3122 2020-02-23  Dmitry Gutov  <dgutov@yandex.ru>
3124         Move more logic to vc-ignore from vc-default-ignore
3126         * lisp/vc/vc-dir.el (vc-dir-ignore):
3127         Pass relative file names to vc-ignore.
3129         * lisp/vc/vc.el (vc-ignore): Move the responsibility of
3130         constructing the ignore pattern (right now, most often a relative
3131         file name) using a file name received from the user, here.
3132         (vc-default-ignore): ...from here (bug#37189, see discussion).
3133         Also clarify the docstring.
3135 2020-02-22  Eli Zaretskii  <eliz@gnu.org>
3137         Warn about the likes of "[:alnum:]" in regexps
3139         * doc/lispref/searching.texi (Char Classes): Warn about erroneous
3140         usage of named character classes.  Suggested by Stephen Leake
3141         <stephen_leake@stephe-leake.org>.
3143 2020-02-22  Wolfgang Scherer  <wolfgang.scherer@gmx.de>
3145         Don't write absolute filenames and duplicate strings to CVS ignore files
3147         * lisp/vc/vc-cvs.el (vc-cvs-ignore): Expand filename correctly
3148         and pass on only the basename as the pattern.
3149         (vc-cvs-append-to-ignore) Do not write duplicate strings to
3150         .cvsignore.  New optional parameter SORT to more explicitly
3151         control sorting of the ignore entries.  (Bug#37215)
3152         * lisp/vc/pcvs.el (cvs-mode-ignore): Call 'vc-cvs-append-to-ignore'
3153         with SORT argument.
3155 2020-02-21  Federico Tedin  <federicotedin@gmail.com>
3157         Fix cursor-sensor--detect when current buf != selected window's buf
3159         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Avoid
3160         trying to read text properties from position taken from another
3161         buffer.  (Bug#38740)
3163 2020-02-21  Eli Zaretskii  <eliz@gnu.org>
3165         * doc/emacs/sending.texi (Mail Sending): Fix index entries.
3167 2020-02-21  Allen Li  <darkfeline@felesatra.moe>
3169         Document 'message-send-mail-function' in the Emacs manual
3171         Most of the manual here addresses Message mode, yet talks about
3172         'send-mail-function' which is used for Mail mode.
3173         Fixing this completely requires more involved work, but for now at
3174         least document the difference here.
3176         * doc/emacs/sending.texi (Mail Sending): Mention
3177         'message-send-mail-function'.  (Bug#39639)
3179 2020-02-21  Allen Li  <darkfeline@felesatra.moe>
3181         Fix reference to 'message-send-and-exit' in Emacs manual
3183         Most of the manual here addresses Message mode, and C-c C-c directly
3184         above cites the Message mode command, not the Mail mode command.
3186         * doc/emacs/sending.texi (Mail Sending): Fix reference.  (Bug#39639)
3188 2020-02-21  Steven Allen  <steven@stebalien.com>
3190         Skip shell prompt on current line in Eshell even if it's protected
3192         When the eshell prompt is protected (e.g., with rear non-sticky,
3193         inhibited movements, etc.), 'beginning-of-line' won't move to the
3194         actual beginning of the line and therefore won't skip over the
3195         prompt.
3196         * lisp/eshell/em-prompt.el (eshell-previous-prompt): Use
3197         'forward-line' to go to the beginning of the line, even if it's
3198         protected.  (Bug#39627)
3200 2020-02-20  Mattias Engdegård  <mattiase@acm.org>
3202         Fix broken regexps
3204         Incorrect escaping prevented these from working as intended.
3205         Found by relint.
3207         * lisp/progmodes/cc-defs.el (c-search-backward-char-property):
3208         Add missing backslash.
3209         * lisp/progmodes/simula.el (simula-mode):
3210         Remove one backslash too many.
3212 2020-02-19  Paul Eggert  <eggert@cs.ucla.edu>
3214         * Makefile.in (PREFERRED_BRANCH): Now emacs-27.
3216 2020-02-19  Paul Eggert  <eggert@cs.ucla.edu>
3218         Fix bug when visiting euc-jp-encoded directories
3220         Problem reported by Kan Sasaki (Bug#39672).
3221         * src/fileio.c (Ffile_directory_p):
3222         Encode filename before giving it to file_directory_p.
3223         This fixes a typo introduced in
3224         2019-09-18T02:18:14Z!eggert@cs.ucla.edu.
3226 2020-02-17  Paul Eggert  <eggert@cs.ucla.edu>
3228         Clarify when fixnums are used.
3230         * doc/lispref/numbers.texi (Integer Basics): Clarify.
3231         Based on a suggestion by Noam Postavsky (Bug#39557#32).
3233 2020-02-17  Paul Eggert  <eggert@cs.ucla.edu>
3235         Reorder discussion of integer basics
3237         * doc/lispref/numbers.texi (Integer Basics): Put the fixnum/bignum
3238         discussion at the end of the section, not at the start (Bug#39557).
3240 2020-02-17  Mattias Engdegård  <mattiase@acm.org>
3242         Make OMake support slightly less expensive (bug#39595)
3244         When run with -p or -P, OMake regurgitates error messages that
3245         prevented further progress, indented by 6 spaces.  Use that fact
3246         to ameliorate the modification done to other error message regexps.
3248         * lisp/progmodes/compile.el (compilation-parse-errors):
3249         When 'omake' is enabled, allow error messages to be indented by 0 or 6
3250         spaces instead of any number of spaces, to avoid pathological
3251         behaviour.
3252         (compilation-error-regexp-alist-alist): Anchor the 'omake' pattern to
3253         bol for performance.  Repair the 'ruby-Test::Unit' pattern, which
3254         relied on the previously over-generous 'omake' hack.
3255         * etc/compilation.txt (OMake): Add examples.
3256         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data)
3257         (compile-test-error-regexps): Add test for OMake (indented error).
3259 2020-02-17  Mattias Engdegård  <mattiase@acm.org>
3261         Speed up 'msft' and 'watcom' compilation error regexps
3263         They have similar structure, and both suffer from being able to
3264         match leading spaces in multiple ways which leads to bad performance
3265         when backtracking (bug#39595).
3267         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
3268         Improved 'msft' and 'watcom' regexps.
3270 2020-02-17  Mattias Engdegård  <mattiase@acm.org>
3272         Speed up 'maven' compilation error message regexp
3274         Anchor the regexp at line-start to prevent quadratic behaviour when
3275         it doesn't match (bug#39595).  It's unclear whether the type tag, like
3276         [ERROR], is always present; we keep it optional just in case.
3278         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
3279         Rewrite 'maven' regexp, using rx for clarity.
3280         * etc/compilation.txt (maven): More examples.
3281         * test/lisp/progmodes/compile-tests.el
3282         (compile-tests--test-regexps-data): No leading spaces; they seems to
3283         stem from a misunderstanding in bug#11517.
3285 2020-02-16  Alan Mackenzie  <acm@muc.de>
3287         Amend c-backward-sws better to handle multiline block comments
3289         In particular, multiline comments lacking escaped newlines.
3291         * lisp/progmodes/cc-engine.el (c-backward-sws): Whilst searching backward for
3292         a putative beginning of macro, move back over block comments whose innards
3293         lack escaped newlines.
3295 2020-02-16  Alan Mackenzie  <acm@muc.de>
3297         Reformulate c-end-of-macro, handling multiline block comments better
3299         * lisp/progmodes/cc-langs.el (c-last-open-c-comment-start-on-line-re): Comment
3300         out.
3301         (c-open-c-comment-on-logical-line-re): Remove.
3303         * lisp/progmodes/cc-engine.el (c-end-of-macro): Handle multiline block
3304         comments lacking escaped newlines using parse-partial-sexp rather than the
3305         former variables removed from cc-langs.el.
3307 2020-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3309         Fix unexec failure on macOS 10.15.4
3311         * src/unexmacosx.c (unexec_regions_merge): Align region start addresses to
3312         page boundaries and then merge regions.
3314 2020-02-15  Eli Zaretskii  <eliz@gnu.org>
3316         Fix 'reverse-region' when less than one line is in region
3318         * lisp/sort.el (reverse-region): Signal a user-error if the region
3319         includes less than one full line, thus avoiding an inadvertent
3320         deletion of text following the current line.  Fix the doc string.
3321         Fix comments to start with a capital letter.  (Bug#39376)
3323 2020-02-15  Pieter van Oostrum  <pieter@vanoostrum.org>
3325         Correct default regexp in 'package-menu-hide-package'
3327         * lisp/emacs-lisp/package.el (package-menu-mode-menu): Correct default
3328         regexp, so it only selects the package at point.
3329         (Bug#39436)
3331 2020-02-15  Pieter van Oostrum  <pieter@vanoostrum.org>
3333         Remove obsolete menu entry "Redisplay buffer"
3335         * lisp/emacs-lisp/package.el (package-menu-mode-menu): Remove obsolete
3336         menu entry "Redisplay buffer".
3337         (package-menu-mode-menu): Menu entry "Refresh Package List":
3338         make the doc string more accurate.
3339         (Bug#39436)
3341 2020-02-14  Mattias Engdegård  <mattiase@acm.org>
3343         Remove redundant 'msft' compilation error rule (bug#39595)
3345         When the 'msft' rule was moved and modified, the old copy was left
3346         in place by mistake.
3348         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
3349         Remove old rule.
3351 2020-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
3353         * doc/lispref/variables.texi (special-variable-p): Clarify limits
3355 2020-02-13  Mattias Engdegård  <mattiase@acm.org>
3357         Remove the optional KEEP-ORDER argument to regexp-opt
3359         This argument was added for the 'or' clause in rx, but it turned out
3360         to be a bad idea (bug#37659), and there seems to be little other use
3361         for it.
3363         * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Remove KEEP-ORDER.
3364         * doc/lispref/searching.texi (Regexp Functions):
3365         * etc/NEWS: Remove it from the documentation.
3366         * test/lisp/emacs-lisp/regexp-opt-tests.el (regexp-opt-test--match-all)
3367         (regexp-opt-test--check-perm, regexp-opt-test--explain-perm)
3368         (regexp-opt-keep-order, regexp-opt-longest-match): Simplify test.
3370 2020-02-13  Alan Mackenzie  <acm@muc.de>
3372         Make after-change-functions called from call-process get the correct BEG
3374         This fixes bug #39585.
3376         * src/callproc.c (call_process): Supply the correct CHARPOS to
3377         signal_after_change (twice).
3379 2020-02-13  Bastien  <bzg@gnu.org>
3381         doc/misc/org.texi: Fix @dircategory
3383         * doc/misc/org.texi: Fix @dircategory.
3385 2020-02-12  Eli Zaretskii  <eliz@gnu.org>
3387         Fix display of minibuffer prompt in ido.el
3389         * lisp/minibuffer.el (minibuffer--message-overlay-pos): New
3390         function.
3391         (set-minibuffer-message): Use it to determine where to show the
3392         overlay with the temporary message.
3393         * lisp/ido.el (ido-exhibit): Revert "Render Ido suggestions using
3394         an overlay"; this restores the original code which inserted the
3395         match-status information into the minibuffer, instead of
3396         displaying it in an overlay with an after-string.  Put the special
3397         'minibuffer-message' text property at the beginning of the
3398         inserted text.  (Bug#39379)
3400         * etc/NEWS:
3401         * doc/lispref/display.texi (Displaying Messages):
3402         * doc/lispref/text.texi (Special Properties): Document the
3403         'minibuffer-message' text property and its effect.
3405 2020-02-12  Mattias Engdegård  <mattiase@acm.org>
3407         rx: Use longest match for all-string 'or' forms (bug#37659)
3409         Revert to the Emacs 26 semantics that always gave the longest match
3410         for rx 'or' forms with only string arguments.  This guarantee was
3411         never well documented, but it is useful and people likely have come to
3412         rely on it.  For example, prior to this change,
3414          (rx (or ">" ">="))
3416         matched ">" even if the text contained ">=".
3418         * lisp/emacs-lisp/rx.el (rx--translate-or): Don't tell regexp-opt to
3419         preserve the matching order.
3420         * doc/lispref/searching.texi (Rx Constructs): Document the
3421         longest-match guarantee for all-string 'or' forms.
3422         * test/lisp/emacs-lisp/rx-tests.el (rx-or): Update test.
3424 2020-02-11  Wolfgang Scherer  <Wolfgang.Scherer@gmx.de>
3426         Make sure not to mark directories
3428         * lisp/vc/vc-dir.el (vc-dir-mark-all-files):
3429         Make sure not to mark directories (bug#37182).
3431 2020-02-11  Dmitry Gutov  <dgutov@yandex.ru>
3433         vc-hg-dir-status-files: Fix when DIR is not repository root
3435         * lisp/vc/vc-hg.el (vc-hg-dir-status-files):
3436         Make sure it works correctly in a subdirectory of the repo root.
3437         Bind default-directory to DIR and add 're: -I .' to the arguments
3438         (bug#39380).
3440 2020-02-11  Alan Third  <alan@idiocy.org>
3442         Revert "Fix display of working text on NS (Bug#23412, Bug#1453)"
3444         This reverts commit ba042176d8931cdf9441b3b4919ec74b75019494.
3446         Do not merge to master (bug#38851)
3448 2020-02-10  Alan Mackenzie  <acm@muc.de>
3450         c-end-of-macro: Handle block comment lines with unescaped NLs correctly
3452         * lisp/progmodes/cc-langs.el (c-last-open-c-comment-start-on-line-re): Make
3453         obsolete, and supersede by ...
3454         (c-open-c-comment-on-logical-line-re): New language variable.
3456         * lisp/progmodes/cc-engine.el (c-end-of-macro): Inside macros, handle
3457         multiline block comments whose line ends are not escaped correctly.
3459 2020-02-09  Eli Zaretskii  <eliz@gnu.org>
3461         Fix set-fontset-font with ADD arg non-nil
3463         * src/fontset.c (fontset_add): Fix off-by-one error at TO.
3464         (Bug#39482)
3466 2020-02-09  Alan Mackenzie  <acm@muc.de>
3468         Correct "different than" to "different from" where appropriate
3470         (doc/emacs/screen.texi)
3471         (doc/lispintro/emacs-lisp-intro.texi)
3472         (doc/misc/calc.texi)
3473         (doc/misc/gnus.texi)
3474         (doc/misc/sc.texi)
3475         (lisp/align.el)
3476         (lisp/allout-widgets.el)
3477         (lisp/allout.el)
3478         (lisp/emacs-lisp/gv.el)
3479         (lisp/font-lock.el)
3480         (lisp/gnus/mm-util.el)
3481         (lisp/mail/feedmail.el)
3482         (lisp/mail/sendmail.el)
3483         (lisp/mail/supercite.el)
3484         (lisp/org/org-attach.el)
3485         (lisp/progmodes/cc-langs.el)
3486         (lisp/progmodes/idlw-shell.el)
3487         (lisp/ps-print.el)
3488         (lisp/simple.el)
3489         (src/cmds.c)
3490         (src/editfns.c)
3491         (src/frame.h)
3492         (src/regex-emacs.c)
3493         (src/xfaces.c): Replace "different than" by "different from".
3495 2020-02-08  Eli Zaretskii  <eliz@gnu.org>
3497         More accurate documentation of 'package-menu-hide-package'
3499         * doc/emacs/package.texi (Package Menu): Improve the description
3500         of the 'H' command.
3502         * lisp/emacs-lisp/package.el (package-menu-mode-menu): More
3503         accurate wording of the help-echo string.
3504         (package-menu-hide-package): Make the doc string more accurate.
3505         (Bug#39436)
3507 2020-02-06  Stefan Kangas  <stefankangas@gmail.com>
3509         Revert "Signal user-error on duplicate package refresh"
3511         That commit caused errors when the connection was dropped in the
3512         middle of a package refresh.  To avoid any further issues this close
3513         to the pretest, we simply remove this feature.  (Bug#39187)
3515         Don't merge to master, where we will instead try to fix the bug.
3517 2020-02-05  Juri Linkov  <juri@linkov.net>
3519         Wrap some set-auto-mode calls with delay-mode-hooks (bug#39190)
3521         * lisp/gnus/mm-view.el (mm-display-inline-fontify):
3522         * lisp/vc/diff-mode.el (diff-syntax-fontify-props):
3523         * lisp/vc/vc.el (vc-find-revision-no-save):
3524         Add delay-mode-hooks around set-auto-mode calls
3525         to not run hooks that might assume buffer-file-name
3526         really associates buffer with a file.
3528 2020-02-04  Dmitry Gutov  <dgutov@yandex.ru>
3530         Support ido-vertical-mode better
3532         * lisp/ido.el (ido-exhibit):
3533         Prepend a space to INF if it starts with a newline (bug#39379).
3535 2020-02-04  Juri Linkov  <juri@linkov.net>
3537         Fix faces tab-bar and tab-line.
3539         * lisp/tab-bar.el (tab-bar) <defface>:
3540         * lisp/tab-line.el (tab-line) <defface>:
3541         Check for min-colors 88 instead of type x.
3543 2020-02-03  Robert Pluim  <rpluim@gmail.com>
3545         Cater for 3-argument version of pthread_setname_np
3547         Fixes Bug#39363.
3549         * configure.ac: Add check for 3-argument version of
3550         pthread_setname_np.
3551         * src/systhread.c (sys_thread_set_name)
3552         [HAVE_PTHREAD_SETNAME_NP_3ARG]: Call pthread_setname_np with
3553         3 arguments.
3555 2020-02-02  Mattias Engdegård  <mattiase@acm.org>
3557         Clarify lexvar restrictions for add-to-ordered-list, add-to-history
3559         * lisp/subr.el (add-to-ordered-list, add-to-history):
3560         * doc/lispref/lists.texi (List Variables):
3561         * doc/lispref/minibuf.texi (Minibuffer History):
3562         Note in the doc string and manual that the variable arguments to
3563         add-to-ordered-list and add-to-history cannot refer to a lexical
3564         variable (bug#39373).
3566 2020-02-01  Mattias Engdegård  <mattiase@acm.org>
3568         Replace add-to-list to lexical variable with push (bug#39373)
3570         Since 'add-to-list', being a plain function, cannot access lexical
3571         variables, such use must be rewritten for correctness.
3572         (Some instances actually do work thanks to a compiler macro,
3573         but it's not something code should rely on.)
3575         * lisp/autoinsert.el (auto-insert-alist):
3576         * lisp/cedet/mode-local.el (mode-local-print-bindings):
3577         * lisp/net/tramp-cache.el (tramp-flush-connection-properties)
3578         (tramp-list-connections):
3579         * lisp/net/zeroconf.el (zeroconf-list-service-names)
3580         (zeroconf-list-service-types, zeroconf-list-services):
3581         * lisp/org/org.el (org-reload):
3582         * lisp/whitespace.el (whitespace-report-region):
3583         * test/lisp/emacs-lisp/map-tests.el (test-map-do):
3584         Replace add-to-list with push.
3586 2020-02-01  Mattias Engdegård  <mattiase@acm.org>
3588         Clarify add-to-list documentation (bug#39373)
3590         While add-to-list often works with lexical variables, this is a hack
3591         that isn't always effective; better tell the user not to try.
3593         * doc/lispref/lists.texi (List Variables): Add a note about lexical
3594         variables to the add-to-list description.  Fix the equivalent code.
3595         * lisp/subr.el (add-to-list): Amend doc string.
3597 2020-02-01  Stephen Gildea  <stepheng+emacs@gildea.com>
3599         MH-E: alter content in mh-display-msg, not mh-show-mode
3601         * lisp/mh-e/mh-show.el (mh-display-msg, mh-show-mode):  buffer-altering
3602         code formerly in mh-show-mode is moved to the location in mh-display-msg
3603         where mh-show-mode used to be called before the fix to MH-E bug #470
3604         moved the call earlier.
3606 2020-02-01  Stephen Gildea  <stepheng+emacs@gildea.com>
3608         Update documentation for mh-show-mode-hook
3610         * lisp/mh-e/mh-e.el, doc/misc/mh-e.texi (mh-show-mode-hook): Now that
3611         the fix for MH-E bug #470 calls mh-show-mode-hook earlier, update the
3612         documentation to no longer say that the message contents are available.
3614 2020-02-01  Stephen Gildea  <stepheng+emacs@gildea.com>
3616         Example goto-addr hook: MH-E already uses goto-address
3618         * lisp/net/goto-addr.el, doc/emacs/misc.texi: Do not use MH-E as the
3619         example of how to add a hook to goto-address, because MH-E calls
3620         goto-address internally.
3622 2020-01-31  Ken Brown  <kbrown@cornell.edu>
3624         Extend workaround for Cygwin O_PATH bug
3626         * configure.ac (HAVE_CYGWIN_O_PATH_BUG): Extend to Cygwin versions
3627         3.1.0 through 3.1.2.  (Bug#39371)
3629 2020-01-31  Paul Pogonyshev  <pogonyshev@gmail.com>
3631         * lisp/emacs-lisp/debug.el (debug): Merge the non-interactive cases
3633         bug#38927
3635         (cherry picked from commit 502059433ce0e9699eb73d21656ce6e9e127d63b)
3637 2020-01-31  Ansgar Burchardt  <ansgar@43-1.org>
3639         Add more blackboard bold characters to TeX input method
3641         This patch adds all capital blackboard bold letters and those for "1"
3642         and "2". Most characters are in common use in mathematics, but it does
3643         not seem useful to exclude the few not widely used.
3645         Reference: https://en.wikipedia.org/wiki/Blackboard_bold
3647         * lisp/leim/quail/latin-ltx.el (latin-ltx--define-rules): Add all
3648         the blackboard bold commands from AMSTeX.  (Bug#21103)
3650 2020-01-31  Yuan Fu  <casouri@gmail.com>
3652         Protect against errors in gdb-mi.el handlers
3654         * lisp/progmodes/gdb-mi.el (gdb-handle-reply): Handle errors
3655         in 'handler-function' so the cleanup code after it runs
3656         safely.  (Bug#39178)
3658 2020-01-31  Eli Zaretskii  <eliz@gnu.org>
3660         Allow exiting the Python interpreter of a GDB session
3662         * lisp/progmodes/gdb-mi.el (gdb-delchar-or-quit): Send EOF to GDB
3663         if we are in an embedded interpreter.  This allows to exit from
3664         "pi" cleanly.  (Bug#39140)
3666 2020-01-31  Federico Tedin  <federicotedin@gmail.com>
3668         Ensure minibuffer input is added to history in read_minibuf
3670         * src/minibuf.c (read_minibuf): Parse input string after saving
3671         the string to the history list instead of before, in case parsing
3672         signals an error or is interrupted by C-g.  (Bug#39291)
3674 2020-01-29  Juri Linkov  <juri@linkov.net>
3676         Tab-bar related fixes.
3678         * lisp/cus-start.el (tab-bar-mode): Use dedicated group 'tab-bar'.
3680         * lisp/tab-bar.el (tab-bar-history-mode): Add :group 'tab-bar'.
3681         (tab-bar-get-buffer-tab): Add optional arg 'ignore-current-tab'.
3683         * lisp/desktop.el (desktop-buffers-not-to-save-function): Add docstring.
3685 2020-01-29  Nicolas Petton  <nicolas@petton.fr>
3687         * admin/authors.el: Add missing entries.
3689 2020-01-27  Stephen Gildea  <stepheng+emacs@gildea.com>
3691         dns-mode-soa-auto-increment-serial: safe if symbolp
3693         * lisp/textmodes/dns-mode.el (dns-mode-soa-auto-increment-serial):
3694         Mark variable as safe as a file local variable when symbolp.
3696 2020-01-27  Juri Linkov  <juri@linkov.net>
3698         * lisp/wdired.el: Clean out isearch-filter-predicate (bug#37496)
3700         * lisp/wdired.el (wdired-change-to-dired-mode): Use remove-function to
3701         remove wdired-isearch-filter-read-only (whose value was added in
3702         wdired-change-to-wdired-mode) from local value of isearch-filter-predicate.
3704 2020-01-27  Alan Mackenzie  <acm@muc.de>
3706         Finish the documentation for c-noise-macro-{,with-parens-}names.
3708         The doc strings and pertinent CC Mode manual page failed to mention that these
3709         variables could also be regular expressions.  Amend them.
3711         * lisp/progmodes/cc-vars.el (c-noise-macro-names)
3712         (c-noise-macro-with-parens-names): Amend the doc strings.
3714         * doc/misc/cc-mode.texi (Noise Macros): Amend the descriptions of the two
3715         variables.
3717 2020-01-26  Mattias Engdegård  <mattiase@acm.org>
3719         Correct regexp for flags in `format' doc string
3721         * src/editfns.c (Fformat): Use the correct regexp for describing the
3722         flags in a %-sequence (place the hyphen last).
3724 2020-01-26  Mattias Engdegård  <mattiase@acm.org>
3726         Moderate recommendation to escape '(' in doc strings
3728         Thanks to 57e2ca5c50 and related changes, opening brackets at the
3729         leftmost column inside doc strings are no longer mistaken for the
3730         start of a defun.
3732         * doc/lispref/tips.texi (Documentation Tips): Clarify recommendation
3733         and move it down the list.
3734         * etc/NEWS: Announce.
3736 2020-01-26  Alan Mackenzie  <acm@muc.de>
3738         Objective C Mode: Make c-forward-type work with "unsigned long", etc.
3740         This allows the correct fontification of and correct functioning of C-c C-z
3741         (c-display-defun-name) in ns_get_pixel in Emacs's src/nsimage.m.
3743         * lisp/progmodes/cc-langs.el (c-primitive-type-prefix-kwds): For objc, use the
3744         same value as for c and c++ rather than the default nil.
3746 2020-01-26  Marco Wahl  <marcowahlsoft@gmail.com>
3748         Fix help text about configure module support
3750 2020-01-25  Stefan Kangas  <stefankangas@gmail.com>
3752         * doc/lispref/streams.texi (Output Functions): Improve indexing.
3754 2020-01-25  Stefan Kangas  <stefankangas@gmail.com>
3756         Improve doc string of 'newline'
3758         * lisp/simple.el (newline): Doc fix.  Move 'use-hard-newlines' down,
3759         since it's less important than the meaning of the prefix argument, and
3760         is less frequently used than 'electric-indent-mode' and
3761         'auto-fill-mode'.  Change the wording to no longer call it an
3762         option.
3764 2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>
3766         Improve doc of eq on bignums etc.
3768         * doc/lispref/numbers.texi (Integer Basics):
3769         * doc/lispref/objects.texi (Integer Type, Equality Predicates):
3770         Be clearer about eq vs eql vs = on bignums, floats, and strings.
3772 2020-01-24  Mario Lang  <mlang@blind.guru>
3774         Do not refer to obsolete alias
3776 2020-01-24  Alan Third  <alan@idiocy.org>
3778         Remove EmacsOpenPanel and EmacsSavePanel (bug#38031)
3780 2020-01-24  Eli Zaretskii  <eliz@gnu.org>
3782         * doc/emacs/files.texi (Auto Save Files): Improve indexing (bug#39259).
3784 2020-01-24  Eli Zaretskii  <eliz@gnu.org>
3786         Fix inaccurate wording in the Emacs manual
3788         * doc/emacs/custom.texi (Modifier Keys):
3789         * doc/emacs/basic.texi (Inserting Text): Fix minor inaccuracies in
3790         describing the 'Alt' modifier.  (Bug#39254)
3792 2020-01-23  Amin Bandali  <mab@gnu.org>
3794         Update ERC module URLs
3796         * lisp/erc/erc-autoaway.el, lisp/erc/erc-button.el,
3797         lisp/erc/erc-compat.el, lisp/erc/erc-fill.el, lisp/erc/erc-imenu.el,
3798         lisp/erc/erc-join.el, lisp/erc/erc-lang.el, lisp/erc/erc-match.el,
3799         lisp/erc/erc-pcomplete.el, lisp/erc/erc-ring.el,
3800         lisp/erc/erc-spelling.el, lisp/erc/erc-stamp.el,
3801         lisp/erc/erc-track.el: Update URL to friendlier form, over https.
3802         * lisp/erc/erc-ibuffer.el: Remove URL to nonexistent page.
3803         * lisp/erc/erc-list.el, lisp/erc/erc-log.el, lisp/erc/erc-notify.el,
3804         lisp/erc/erc-replace.el, lisp/erc/erc-services.el,
3805         lisp/erc/erc-sound.el, lisp/erc/erc-speedbar.el,
3806         lisp/erc/erc-truncate.el: Add URL to corresponding EmacsWiki page.
3808 2020-01-23  Lars Ingebrigtsen  <larsi@gnus.org>
3810         Minor doc string clarification in use-hard-newlines
3812         * lisp/textmodes/paragraphs.el (use-hard-newlines): Clarify that
3813         this minor mode isn't global (bug#20461).
3815 2020-01-23  Tino Calancha  <tino.calancha@gmail.com>
3817         Backport: Fix bug 39218
3819         * lisp/simple.el (shell-command):
3820         Ensure a shell command ending with `&' is run asynchronously.
3822 2020-01-22  Stefan Kangas  <stefankangas@gmail.com>
3824         Prefer saying "Info manual" to "info page" in docs
3826         Pointed out by Eli Zaretskii in:
3827         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39215#14
3828         * doc/emacs/Makefile.in:
3829         * doc/lispintro/Makefile.in:
3830         * doc/lispref/Makefile.in:
3831         * doc/misc/Makefile.in:
3832         * lisp/dired-x.el (top-level):
3833         * lisp/gnus/gnus-sum.el (gnus-summary-mode):
3834         * lisp/progmodes/cperl-mode.el (cperl-info-page): Doc fix; prefer
3835         saying "Info manual" over "info page".
3837 2020-01-22  Juri Linkov  <juri@linkov.net>
3839         Tab-bar related finishing touches.
3841         * lisp/tab-bar.el (tab-bar-tab-name-ellipsis): Use shorter name
3842         instead of tab-bar-tab-name-truncated-ellipsis.
3843         (tab-bar-new-tab-to) <defcustom>: Add 'function' option.
3844         (tab-bar-new-tab-to) <function>: Use it.
3846         * lisp/tab-line.el (tab-line-close-tab): Add missing arg 'tab' to
3847         tab-line-close-tab-function funcall.
3849 2020-01-22  Alan Mackenzie  <acm@muc.de>
3851         Make call_process call signal_after_change.  This fixes bug #38691.
3853         Now, functions such as call-proess-region invoke after-change-functions
3854         correctly.
3856         * src/callproc.c (call_process): Call prepare_to_modify_buffer in a single
3857         place, no longer delegating the task to insert_1_both, etc.  Call
3858         signal_after_change in each of two code branches, such that
3859         before-change-functions and after-change-functions are always called in
3860         balanced pairs.
3862 2020-01-22  Paul Eggert  <eggert@cs.ucla.edu>
3864         * lisp/simple.el: Minor fixes to commentary.
3866 2020-01-22  Eli Zaretskii  <eliz@gnu.org>
3868         Fix a few typos
3870         * etc/NEWS: Fix a typo.
3872         * src/xdisp.c (try_window_reusing_current_matrix, try_window_id):
3873         * src/dispnew.c (scrolling_window): Fix typos in comments.
3875 2020-01-22  Christophe Deleuze  <christophe.deleuze@free.fr>
3877         Fix doc strings for image-dired rotation commands
3879         * lisp/image-dired.el (image-dired-rotate-thumbnail-left)
3880         (image-dired-rotate-thumbnail-right)
3881         (image-dired-rotate-original-left)
3882         (image-dired-rotate-original-right): Move the text in the doc
3883         strings about rotating the originals to the correct commands
3884         (bug#38928).
3886 2020-01-22  Dmitry Gutov  <dgutov@yandex.ru>
3888         Render Ido suggestions using an overlay
3890         * lisp/ido.el (ido--overlay): New variable.
3891         (ido-exhibit): Render with 'after-string' on an overlay
3892         (bug#38457).
3894 2020-01-22  Michael Albinus  <michael.albinus@gmx.de>
3896         * doc/misc/tramp.texi (Bug Reports): Encourage use of "emacs -Q".
3898 2020-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
3900         * lisp/vc/smerge-mode.el (smerge-match-conflict): Fix bug#38456
3902         This situation is not an internal error, but a perfectly normal occurrence,
3903         so a `cl-assert` is not right
3905 2020-01-21  Robert Pluim  <rpluim@gmail.com>
3907         Correct statement about ftcr and recommend HarfBuzz
3909         * doc/lispref/frames.texi (Font and Color Parameters): Correct
3910         statement about availability of ftcr in the presence of HarfBuzz.
3911         Recommend HarfBuzz.
3913 2020-01-21  Eli Zaretskii  <eliz@gnu.org>
3915         Avoid leaving artifacts when the system caret is used on w32
3917         * src/xdisp.c (try_window_reusing_current_matrix, try_window_id):
3918         * src/dispnew.c (scrolling_window) [HAVE_NTGUI]: If
3919         w32-use-visible-system-caret is non-nil, disallow scrolling the
3920         display are in scroll_run_hook.  This avoids copying traces of the
3921         caret, about which Emacs knows nothing, and thus considers those
3922         pixels show the default background.  (Bug#39188)
3923         (gui_update_window_end): Block input only around part of the code,
3924         as we did before this code was extracted from backend-specific
3925         implementations.
3927         * src/w32term.c (w32_update_window_begin, w32_update_window_end):
3928         Only hide/show the caret when redisplaying the window where the
3929         caret is shown.
3931 2020-01-21  Eli Zaretskii  <eliz@gnu.org>
3933         Improve display of temporary echo messages
3935         * lisp/minibuffer.el (set-minibuffer-message): Fix cursor position
3936         for the temporary display of an echo-area message when minibuffer
3937         is active.  Ensure the message is visible even if the end of the
3938         completion candidates presented by the likes of Icomplete mode is
3939         not visible due to its length, under resize-mini-windows = nil.
3940         (Bug#38457)
3942 2020-01-20  Juri Linkov  <juri@linkov.net>
3944         * lisp/menu-bar.el: Remove desktop-save-mode from release branch (bug#37594)
3946 2020-01-20  Juri Linkov  <juri@linkov.net>
3948         Allow optional truncation of tab names in tab-bar and tab-line (bug#38693)
3950         * lisp/tab-line.el (tab-line-tab-name-truncated-max): New defcustom.
3951         (tab-line-tab-name-truncated-buffer): Use tab-line-tab-name-truncated-max
3952         consistently with similar options in tab-bar.el.
3953         (tab-line-tabs-limit): Remove variable.
3954         (tab-line-tabs-window-buffers): Remove use of tab-line-tabs-limit
3955         that was an experimental feature before horizontal scrolling was implemented.
3956         (tab-line-close-tab-function): Rename from tab-line-close-tab-action
3957         and allow a customizaed function as option.
3958         (tab-line-close-tab): Call function if tab-line-close-tab-function
3959         is customized to a function.
3961         * lisp/tab-bar.el (tab-bar-tab-name-function): Add option
3962         tab-bar-tab-name-truncated.
3963         (tab-bar-tab-name-truncated-max): New defcustom.
3964         (tab-bar-tab-name-truncated-ellipsis): New variable.
3965         (tab-bar-tab-name-truncated): New function.
3967 2020-01-20  Juri Linkov  <juri@linkov.net>
3969         Small fixes in documentation.
3971         * doc/emacs/dired.texi (Operating on Files): Fix name of dired-vc-rename-file.
3973         * doc/emacs/fixit.texi (Undo): Update new values of undo limits
3974         doubled in bug#31104.
3976 2020-01-20  Robert Pluim  <rpluim@gmail.com>
3978         Improve explanation of available font backends under X
3980         * doc/emacs/frames.texi (Font and Color Parameters): Clarify that you can't
3981         have HarfBuzz and non-HarfBuzz at the same time for xft and cairo
3982         font backends.
3984 2020-01-20  Pip Cet  <pipcet@gmail.com>
3986         Clear output data pointer on NS
3988         * src/nsterm.m (ns_free_frame_resources): Clear the output data
3989         pointer to prevent attempting to reuse freed resources (Bug#38748).
3991 2020-01-20  Michael Albinus  <michael.albinus@gmx.de>
3993         * admin/release-process: Adapt bug numbers for release critical bugs.
3995         Mention debbugs-gnu-emacs-release-blocking-reports.
3997 2020-01-20  Mattias Engdegård  <mattiase@acm.org>
3999         Fix shell-tests failures
4001         * test/lisp/shell-tests.el (shell-tests-completion-before-semi):
4002         Go back to actually testing completion before semicolon.
4003         (shell-tests-completion-after-semi): Test completion after semicolon,
4004         correctly (bug#39075).
4006 2020-01-20  Mattias Engdegård  <mattiase@acm.org>
4008         * test/lisp/simple-tests.el: Full path to Emacs binary (bug#39067).
4010 2020-01-19  Juri Linkov  <juri@linkov.net>
4012         * lisp/tab-line.el (tab-line-auto-hscroll): Fix for long tab names.
4014         Check for nil value returned by previous-single-property-change that
4015         happens when tab name is longer than window width.
4017 2020-01-19  Juri Linkov  <juri@linkov.net>
4019         * lisp/menu-bar.el (menu-bar-options-menu): Add desktop-save-mode (bug#37594)
4021 2020-01-19  Tino Calancha  <tino.calancha@gmail.com>
4023         Fix shell-command-dont-erase-buffer feature
4025         * lisp/simple.el (shell-command-dont-erase-buffer):
4026         The default, nil, is backward compatible, i.e. it erases the buffer
4027         only if the output buffer is not the current one; the new value 'erase
4028         always erases the output buffer.
4029         Update docstring.
4031         (shell-command-save-pos-or-erase):
4032         Add optional arg output-to-current-buffer.
4033         Rename it so that it's not internal.  All callers updated.
4035         (shell-command-set-point-after-cmd): Rename it so that it's not internal.
4036         All callers updated.
4037         Adjust it to cover a side case.
4039         (shell-command): Adjust logic to match the specification (Bug#39067).
4040         Enable the feature when the output buffer is the current one.
4042         (shell-command-on-region): Little tweak to follow
4043         `shell-command-dont-erase-buffer' specification.
4045         * test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):
4046         Add helper macro.
4047         (simple-tests-shell-command-39067)
4048         (simple-tests-shell-command-dont-erase-buffer): Add tests.
4050         * doc/emacs/misc.texi (Single Shell): Update manual.
4052         * etc/NEWS (Single shell commands): Announce the change.
4054 2020-01-18  Stefan Kangas  <stefankangas@gmail.com>
4056         Remove reference to Emacs 19 from FAQ
4058         * doc/misc/efaq.texi (Emacs ignores X resources): Remove reference to
4059         Emacs 19.
4061 2020-01-18  Stefan Kangas  <stefankangas@gmail.com>
4063         Doc fixes in package.el
4065         * lisp/emacs-lisp/package.el (package-process-define-package)
4066         (package-generate-description-file): Doc fixes.
4067         (package-generate-autoloads, package--write-file-no-coding)
4068         (package--archive-file-exists-p, package-desc-status): Add doc
4069         strings.
4071 2020-01-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
4073         Ensure that gnus-summary-attach-article finds the right articles
4075         * lisp/gnus/gnus-msg.el (gnus-summary-attach-article): Before
4076         iterating over the articles to attach, first close any open
4077         article. Using `set-buffer' required `gnus-summary-select-article' to
4078         re-set the buffer every time, meaning we never got off the original
4079         article.
4081         (cherry picked from commit 447bb1313a6abc07776d93ee78cd976ab43856e5)
4083 2020-01-18  Stefan Kangas  <stefankangas@gmail.com>
4085         Remove some doc references to old Emacs versions
4087         * doc/misc/efaq.texi (Horizontal scrolling): Remove section
4088         only relevant to Emacs 21 or older.
4089         (Repeating commands, Editing MS-DOS files):
4090         * lisp/progmodes/gdb-mi.el:
4091         * lisp/woman.el: Doc fix - remove some references to Emacs 20 and older.
4093 2020-01-18  Pieter van Oostrum  <pieter-l@vanoostrum.org>  (tiny change)
4095         Fix infloop in shell.el
4097         * test/lisp/shell-tests.el (shell-tests-completion-before-semi):
4098         Amend the shell.el tests to catch errors such as bug#39057.
4100         * lisp/shell.el (shell--parse-pcomplete-arguments): Skip the
4101         semi-colon as well.  This avoids inflooping when a semi-colon is
4102         typed by the user.  (Bug#39057)
4104 2020-01-17  Amin Bandali  <mab@gnu.org>
4106         Fix erc-notifications-notify for non-PRIVMSGs, broken in last commit
4108         * lisp/erc/erc-desktop-notifications.el (erc-notifications-notify):
4109         Take optional argument `privp', to be non-nil when notifying for a
4110         PRIVMSG.  This is to work around bug introduced in last commit, as
4111         `erc-get-buffer' may return nil for non-PRIVMSG cases.
4112         (erc-notifications-PRIVMSG): Call erc-notifications-notify with
4113         non-nil `privp', as described above.
4115 2020-01-17  Amin Bandali  <mab@gnu.org>
4117         Fix the notification action for PRIVMSG in erc-notifications-notify
4119         * lisp/erc/erc-desktop-notifications.el (erc-notifications-notify):
4120         explicitly request the buffer for `nick', rather than relying on
4121         (current-buffer) returning it.  That works fine for the very first
4122         PRIVMSG sent by `nick', but ERC seems to handle subsequent PRIVMSGs
4123         differently, where (current-buffer) would return the server buffer
4124         rather than the existing buffer for PRIVMSGs from `nick'.
4126 2020-01-17  Amin Bandali  <mab@gnu.org>
4128         ERC: New maintainer.
4130         * admin/MAINTAINERS: Add entries for Amin Bandali, new maintainer for
4131         ERC, and interested in maintaining Eshell.
4132         * lisp/erc/*: New maintainer.
4134 2020-01-17  Dmitry Gutov  <dgutov@yandex.ru>
4136         Honor tags-case-fold-search during xref identifier completion
4138         * etc/NEWS: New entry.
4140         * lisp/progmodes/etags.el (tags-case-fold-search):
4141         Mark as safe-local.
4142         (find-tag--completion-ignore-case):
4143         Extract from tags-completion-at-point-function, find-tag-tag and
4144         etags--xref-find-definitions.
4145         (xref-backend-identifier-completion-ignore-case):
4146         New method. Use it here as well.
4148         * lisp/progmodes/xref.el
4149         (xref-backend-identifier-completion-ignore-case): New generic.
4150         (xref--read-identifier): Use it here.
4152 2020-01-17  Eli Zaretskii  <eliz@gnu.org>
4154         Fix wording and punctuation of a recent commit
4156         * lisp/textmodes/ispell.el (ispell-correct-p): Doc fix.
4157         * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-init): Fix
4158         capitalization and punctuation of comments.
4160 2020-01-17  Damien Cassou  <damien@cassou.me>
4162         Add unattended spell-checking to checkdoc
4164         This commit makes checkdoc capable of spell-checking even when the
4165         user isn't using it interactively.  When TAKE-NOTES is non-nil,
4166         checkdoc will run spell-checking (with ispell) and report spelling
4167         mistakes.
4169         Fixes: (bug#38583).
4171         * lisp/textmodes/ispell.el (ispell-word): Extract part of it to
4172         `ispell--run-on-word`.
4173         (ispell--run-on-word): New function, extracted from `ispell-word`.
4174         (ispell-error-checking-word): New function.
4175         (ispell-correct-p): New function.  Use `ispell--run-on-word` and
4176         `ispell-error-checking-word`.
4177         * lisp/emacs-lisp/checkdoc.el (checkdoc-current-buffer): Pass
4178         TAKE-NOTES to `checkdoc-start`.
4179         (checkdoc-continue): Pass TAKE-NOTES to `checkdoc-this-string-valid`.
4180         (checkdoc-this-string-valid): Add optional argument TAKE-NOTES and
4181         pass it to `checkdoc-this-string-valid-engine`.
4182         (checkdoc-this-string-valid-engine): Add optional argument TAKE-NOTES
4183         and pass it to `checkdoc-ispell-docstring-engine`.
4184         (checkdoc-ispell-init): Call `ispell-set-spellchecker-params` and
4185         `ispell-accept-buffer-local-defs`.  These calls are required to
4186         properly use ispell.  The problem went unnoticed until now because
4187         checkdoc was only using ispell through the high-level command
4188         `ispell-word` which takes care of all the initialization for the user.
4189         (checkdoc-ispell-docstring-engine): Add optional argument TAKE-NOTES
4190         to force reporting of spell-checking errors.  Throw error
4191         when (checkdoc-ispell-init) fails configuring ispell.  Replace a
4192         few (if cond nil body) with (unless cond body). Replace (let ((var
4193         nil))) with (let (var)).  Replace (if (not (eq checkdoc-autofix-flag
4194         'never)) body) with just body because `checkdoc-autofix-flag` is
4195         checked at the beginning of the function.
4197         (cherry picked from commit 25adbc4a5ecc3e16625c0171607e3153bbdf7ab1)
4199 2020-01-17  Lin Sun  <lin.sun@zoom.us>
4201         Fix the error message from makefile-move-to-macro
4203         * lisp/cedet/ede/makefile-edit.el (makefile-macro-file-list):
4204         regexp-quote the param in makefile-move-to-macro (Bug#39094).
4206         (cherry picked from commit a36495da1ec1419998c17fd64fb7439eaf940f36)
4208 2020-01-16  Stefan Kangas  <stefankangas@gmail.com>
4210         Document feature requests in the Emacs manual
4212         * doc/emacs/trouble.texi (Contributing): Document how to send feature
4213         requests.  (Bug20697)
4215 2020-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
4217         * lisp/minibuffer.el (read-file-name-default): Fix bug#39057
4219 2020-01-16  Robert Pluim  <rpluim@gmail.com>
4221         Make emacs prefer an existing ~/.emacs.d to an existing XDG location
4223         * doc/emacs/custom.texi (Find Init): Update description of how Emacs
4224         finds its init file directory and the interaction with
4225         $XDG_CONFIG_HOME
4226         (Early Init File): Correct XDG location of early-init.el
4228         * etc/NEWS: Update description to make it clear the ~/.emacs.d is
4229         preferred, even if the XDG location exists.
4231         * lisp/startup.el: Prefer ~/.emacs.d even if the XDG location exists.
4233         * lib-src/emacsclient.c (open_config): Prefer home directory the XDG
4234         location.
4236 2020-01-16  Robert Pluim  <rpluim@gmail.com>
4238         Describe --with-cairo non-support for bitmapped fonts.
4240         * etc/NEWS: Mention Pango's removal of support for bitmapped fonts.
4242 2020-01-16  Robert Pluim  <rpluim@gmail.com>
4244         Mention GTK font chooser changes in NEWS
4246         * etc/NEWS: Mention GTK font chooser changes.
4248 2020-01-15  Glenn Morris  <rgm@gnu.org>
4250         f90: handle F2008 module function
4252         * lisp/progmodes/f90.el (f90-font-lock-keywords-1)
4253         (f90-looking-at-program-block-start):
4254         Handle F2008 "module function" and subroutine.  (Bug#38415)
4255         * test/lisp/progmodes/f90-tests.el (f90-test-bug38415): New test.
4257 2020-01-15  Juri Linkov  <juri@linkov.net>
4259         Move shell-related menu items to "Shell Commands" submenu (bug#37594)
4261         * lisp/menu-bar.el (menu-bar-shell-commands-menu): New variable.
4262         (menu-bar-tools-menu): Move shell-related menu items to
4263         'menu-bar-shell-commands-menu' and add menu items for
4264         'async-shell-command' and 'shell'.
4266 2020-01-15  Stefan Kangas  <stefankangas@gmail.com>
4268         * admin/notes/font-backend: Remove outdated file. (Bug#34663)
4270 2020-01-15  Stefan Kangas  <stefankangas@gmail.com>
4272         Declare the ftx font backend driver obsolete
4274         * etc/NEWS: Document that the ftx font driver is now
4275         obsolete and will be removed in Emacs 28.  (Bug#34663)
4277 2020-01-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4279         Fix build failure with --with-cairo --without-png
4281         * src/image.c: Don't enable PNG section only by USE_CAIRO.
4283 2020-01-14  Stefan Kangas  <stefankangas@gmail.com>
4285         Add new node "Package Statuses" to manual
4287         * doc/emacs/emacs.texi (Top):
4288         * doc/emacs/package.texi (Package Menu): New node "Package
4289         Statuses".  (Bug#29420)
4291 2020-01-14  Juri Linkov  <juri@linkov.net>
4293         * lisp/isearch.el: Fix corner cases of isearch-lazy-count.
4295         * lisp/isearch.el (isearch-mode): Reset isearch-lazy-count-current
4296         and isearch-lazy-count-total to nil, so when isearch-mode is started,
4297         there should be no counts from previous Isearch.
4298         (isearch-lazy-highlight-new-loop): Call isearch-message after resetting
4299         lazy-count variables only when isearch-mode is started.  This avoids
4300         the problem of inappropriate calls of isearch-message-function
4301         when query-replace in the minibuffer performs lazy-highlighting that
4302         used to call minibuffer-history-isearch-message unnecessarily.
4304 2020-01-14  Robert Pluim  <rpluim@gmail.com>
4306         Document spacing issues with Xft for some fonts
4308         * etc/PROBLEMS: Document issues with Xft and some recent fonts (Bug#39082).
4310 2020-01-13  Mattias Engdegård  <mattiase@acm.org>
4312         Always use lexical-binding in lisp-interaction-mode (bug#38835)
4314         * lisp/progmodes/elisp-mode.el (lisp-interaction-mode):
4315         Set lexical-binding.
4316         * lisp/startup.el (command-line, startup--get-buffer-create-scratch):
4317         Don't set lexical-binding here.
4318         * doc/lispref/variables.texi:
4319         * etc/NEWS:
4320         Make it clear that lisp-interaction-mode uses lexical-binding.
4322 2020-01-13  Robert Pluim  <rpluim@gmail.com>
4324         vc-dir: ensure we don't use a pager with git
4326         * lisp/vc/vc-git.el (vc-git--call): Call git with '--no-pager' to
4327         avoid hangs caused by remote pager settings (Bug#38688).
4329 2020-01-12  Amin Bandali  <bandali@gnu.org>
4331         Improve ERC's matching of nicks and URLs (bug#38257)
4333         * lisp/erc/erc-{button,match}.el (erc-{button,match}-syntax-table):
4334         Omit (, ), and '; as they're not valid nick characters, per RFC 2812
4335         section 2.3.1.  This enables correct matching/highlighting of nicks
4336         when they're surrounded by parens, like (nick), and when adjacent to
4337         an apostrophe, like nick's.
4338         * lisp/erc/erc-button.el (erc-button-url-regexp): Use the regexp from
4339         browse-url-button-regexp, which among other things, seems to handle
4340         surrounding pair of parens better.
4342 2020-01-12  Juri Linkov  <juri@linkov.net>
4344         Handle tab-bar clicks on a GPM-capable console.
4346         * src/term.c (handle_one_term_event): Call tty_handle_tab_bar_click.
4348         * src/xdisp.c (tty_handle_tab_bar_click): Force reset of up_modifier bit
4349         from the event modifiers.
4351         * lisp/tab-line.el (tab-line-tab-current): No need to use inverse-video
4352         on console/xterm because the selected tab already uses inverse-video.
4354 2020-01-12  Alan Third  <alan@idiocy.org>
4356         ;* etc/TODO: Update.
4358 2020-01-11  Eli Zaretskii  <eliz@gnu.org>
4360         Update Acknowledgments sections
4362         * doc/emacs/ack.texi (Acknowledgments):
4363         * doc/emacs/emacs.texi (Acknowledgments): Update for Emacs 27.
4365 2020-01-11  Eli Zaretskii  <eliz@gnu.org>
4367         Update Antinews in ELisp manual
4369         * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 27.
4370         * doc/lispref/elisp.texi (Top): Update the top-level menu item for
4371         Antinews.
4373 2020-01-11  Richard Stallman  <rms@gnu.org>
4375         Improve wording in the ELisp manual
4377         * doc/lispref/modes.texi (Setting Hooks): Improve and clarify
4378         wording.  (Bug#38818)
4380 2020-01-11  Mauro Aranda  <maurooaranda@gmail.com>
4382         Reset to the standard value when reverting session's customizations
4384         * lisp/cus-edit.el (custom-variable-reset-saved): When there is no
4385         previous saved value, reset to the standard value.  (Bug#15214)
4387 2020-01-11  Mauro Aranda  <maurooaranda@gmail.com>
4389         Fix saving multiple themes
4391         * lisp/custom.el (enable-theme): Be side-effect free when modifying
4392         custom-enabled-themes.  (Bug#19999)
4394 2020-01-10  Mattias Engdegård  <mattiase@acm.org>
4396         Calc: fix interval entry (bug#39040)
4398         * lisp/calc/calc.el (calcDigit-start): Initialise calc-prev-char to
4399         something more reasonable, so that non-algebraic entry of intervals
4400         whose start is a single digit, like (1..10), works properly.
4401         Reported by Michel Schinz.
4403 2020-01-10  Eli Zaretskii  <eliz@gnu.org>
4405         Fix horizontal line display in Custom buffers
4407         * lisp/cus-edit.el (custom-group-value-create): Insert a newline
4408         before calling 'custom-group--draw-horizontal-line'.  (Bug#39074)
4410 2020-01-10  Mattias Engdegård  <mattiase@acm.org>
4412         flymake: fix typo in variable binding (bug#38752)
4414         This mistake was found by an experimental elisp optimiser.
4416         * lisp/progmodes/flymake-proc.el (flymake-proc-stop-all-syntax-checks):
4417         Add missing brackets.
4419 2020-01-10  Eli Zaretskii  <eliz@gnu.org>
4421         Update Antinews in the Emacs manual
4423         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 27.
4424         * doc/emacs/emacs.texi (Top): Update the "Antiniews" item of the
4425         top-level menu.
4427 2020-01-09  Väinö Järvelä  <vaino@jarve.la>  (tiny change)
4429         Use NSNumber instead of BOOL (bug#39047)
4431         * src/nsfns.m (ns_set_represented_filename): Use correct type.
4433 2020-01-09  João Távora  <joaotavora@gmail.com>
4435         Add comment on fido-mode's file-sorting semantics
4437         * lisp/icomplete.el (icomplete--sorted-completions): Add comment.
4439 2020-01-09  João Távora  <joaotavora@gmail.com>
4441         Consider non-string minibuffer-default in icomplete
4443         (Bug#38992)
4445         * lisp/icomplete.el (icomplete--sorted-completions): Consider
4446         non-string minibuffer-default.
4448 2020-01-08  Eli Zaretskii  <eliz@gnu.org>
4450         Fix another compilation problem in a build without threads
4452         * src/systhread.c (sys_thread_set_name) [!THREADS_ENABLED]: Add
4453         a trivial implementation.
4455 2020-01-08  Eli Zaretskii  <eliz@gnu.org>
4457         Fix build without threads
4459         * src/systhread.c (sys_thread_create) [!THREADS_ENABLED]: Update
4460         the function's signature to match prototype.  Reported by Glenn
4461         Morris <rgm@gnu.org>.  (Bug#38632)
4463 2020-01-08  Eli Zaretskii  <eliz@gnu.org>
4465         Fix compression of directories in Dired
4467         This fixes comporession and uncompression of directories on
4468         MS-Windows, but also on other systems.  The original code used
4469         ":" as the REGEXP of the directory entry in
4470         dired-compress-file-suffixes, which on Windows always matched any
4471         absolute file name, and can also match unusual file names on Posix
4472         hosts.  This false match would cause dired-compress-file to act as
4473         if we are decompressing a directory, but use a command suitable
4474         for compression, which would fail in interesting ways.
4475         We now use a REGEXP that can never match any valid file name.
4477         * lisp/dired-aux.el (dired-compress-file-suffixes): Make the
4478         "compress directory" entry's REGEXP really fail to match any valid
4479         file name.
4480         (dired-compress-file): Adapt to the change in
4481         dired-compress-file-suffixes.  (Bug#39024)
4482         (dired-compress): If the current file is a directory, or if the
4483         uncompressed file is a directory, don't remove the original from
4484         the listing, since it is left in the filesystem.
4486 2020-01-08  Michael Albinus  <michael.albinus@gmx.de>
4488         Further enhancement on `tramp-file-local-name'
4490         * lisp/net/tramp.el (tramp-file-local-name): Call `file-local-name'
4491         if NAME is not a Tramp file name.
4493 2020-01-07  Alan Mackenzie  <acm@muc.de>
4495         Objective C Mode imenu: cease recognizing "functions" within comments, etc.
4497         This fixes bug #38749.
4499         * lisp/progmodes/cc-menus.el (cc-imenu-objc-function): Put a c-literal-limits
4500         test around the innards of the main re-search-backward loop.
4502 2020-01-07  Mattias Engdegård  <mattiase@acm.org>
4504         Fix BSD and macOS builds w.r.t. pthread_setname_np (bug#38632)
4506         pthread_setname_np takes only a single argument on BSD and macOS,
4507         and affects the current thread only.
4509         * configure.ac: Add check for single-argument pthread_setname_np
4510         * src/systhread.c (sys_thread_set_name): New (w32 and pthread versions).
4511         (sys_thread_create): Remove name argument and name-setting.
4512         (w32_beginthread_wrapper): Remove name-setting.
4513         * src/systhread.h (sys_thread_create, sys_thread_set_name):
4514         Update prototypes.
4515         * src/thread.c (run_thread): Call sys_thread_set_name.
4516         (Fmake_thread): Adapt call to sys_thread_create.
4517         * src/thread.h (struct thread_state): Adjust comment.
4519 2020-01-07  Robert Pluim  <rpluim@gmail.com>
4521         Scale top-left coordinates in display-monitor-attributes-list
4523         When using multiple monitors, and HiDPI, the top-left coordinates of
4524         the monitors need to be adjusted, not just the width and height
4525         (Bug#31223).
4527         * src/xfns.c (Fx_display_monitor_attributes_list): Scale top-left
4528         coordinates.
4530 2020-01-07  Dmitry Gutov  <dgutov@yandex.ru>
4532         xref-matches-in-files: Big Tramp speed-up
4534         * lisp/progmodes/xref.el (xref-matches-in-files):
4535         Greatly improve performance with remote files using Tramp
4536         (bug#34343).
4538 2020-01-07  Michael Albinus  <michael.albinus@gmx.de>
4540         * lisp/net/tramp.el (tramp-file-local-name): Remove `save-match-data'.
4542 2020-01-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4544         Fix rendering bug due to unsynchronized cairo surface size (Bug#38497)
4546         * src/xterm.c (handle_one_xevent) <ConfigureNotify> [USE_CAIRO && !USE_GTK]:
4547         Call x_cr_update_surface_desired_size for a related frame as a fallback.
4549 2020-01-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4551         Avoid crash by access to cleared img->pixmap->data/img->mask->data (Bug#38774)
4553         * src/image.c (prepare_image_for_display) [USE_CAIRO]: Call IMAGE_BACKGROUND
4554         and IMAGE_BACKGROUND_TRANSPARENT.
4556 2020-01-06  Eli Zaretskii  <eliz@gnu.org>
4558         Avoid assertion violations in very small-height windows
4560         * src/xdisp.c (try_cursor_movement, redisplay_window)
4561         (row_containing_pos): Skip tab-line glyph rows in addition to
4562         header-line rows, when working on the top-most glyph row of a
4563         window.  This avoids assertion violations in set_cursor_from_row.
4564         (Bug#38966)
4566 2020-01-06  Robert Pluim  <rpluim@gmail.com>
4568         Use pthread_setname_np to set thread name
4570         * configure.ac: Remove check for sys/prctl.h and prctl, check for
4571         pthread_setname_np instead.
4573         * src/systhread.c: Remove sys/prctl.h include.
4574         (sys_thread_create) [HAVE_PTHREAD_SETNAME_NP]: Use pthread_setname_np
4575         to set the name of the newly created thread (Bug#38632).
4577         * src/thread.c (Fmake_thread): Use ENCODE_SYSTEM instead of
4578         ENCODE_UTF_8 on the thread name.
4580 2020-01-05  Paul Eggert  <eggert@cs.ucla.edu>
4582         Move “Fix some broken conditional forms” to master
4584         Revert 2020-01-04T19:17:12Z!eggert@cs.ucla.edu
4585         which recently I installed into the emacs-27 branch by mistake.
4586         These patches are now on master instead (via merging).
4587         Do not merge to master.
4589 2020-01-05  Martin Rudalics  <rudalics@gmx.at>
4591         Improve doc-strings of 'quit-window' and 'quit-restore-window' (Bug#38819)
4593         * lisp/window.el (quit-restore-window, quit-window): Make
4594         doc-strings more consistent; add references to corresponding
4595         section of the Elisp manual (Bug#38819).
4597 2020-01-04  Stephen Gildea  <stepheng+emacs@gildea.com>
4599         Fix MH-E bug #470: Show buffer discards text properties
4601         * lisp/mh-e/mh-show.el (mh-display-msg): reset font lock and set
4602         major mode *before* formatting message content.  This changes lets
4603         fonts work when the Show buffer is reused for a new message.
4604         (mh-show-mode): no longer set buffer-read-only; that is better done
4605         by mh-display-msg after setting all content.
4607 2020-01-04  Paul Eggert  <eggert@cs.ucla.edu>
4609         Fix some broken conditional forms
4611         Problem reported by Mattias Engdegård in:
4612         https://lists.gnu.org/r/emacs-devel/2020-01/msg00088.html
4613         * lisp/cedet/ede/cpp-root.el (ede-create-lots-of-projects-under-dir):
4614         Remove this quick hack, which didn’t do anything anyway.
4615         * lisp/cedet/ede/pconf.el (ede-proj-configure-test-required-file):
4616         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-col):
4617         * lisp/net/nsm.el (nsm-check-tls-connection):
4618         Use ‘when’ rather than bypassing it.  This doesn’t affect behavior
4619         and is better style.
4620         * lisp/cedet/srecode/semantic.el (srecode-semantic-handle-:tag):
4621         Fix typo that suppressed an error.
4622         * lisp/filesets.el (filesets-run-cmd): Fix typo that mishandled spacing.
4623         * lisp/gnus/gnus-cloud.el (gnus-cloud-update-newsrc-data):
4624         Fix typo that caused “GROUP has older different info in the cloud
4625         as of DATE, update it here?” prompt result to always be treated as
4626         “yes”.
4627         * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Simplify,
4628         since smime-encrypt-buffer signals error on failure.
4629         * lisp/international/titdic-cnv.el (tsang-quick-converter): Simplify.
4630         The conversion of this file to utf-8-emacs in
4631         2019-01-08T02:18:40Z!monnier@iro.umontreal.ca removed the
4632         distinction between Big5 and CNS fulltitles in the generated docstring.
4633         * lisp/org/org-agenda.el (org-agenda-show-and-scroll-up):
4634         * lisp/textmodes/table.el (table--generate-source-cell-contents):
4635         Simplify by removing useless code.
4636         * lisp/org/ox-odt.el (org-odt--format-timestamp): Fix typo that
4637         always output time-of-day even when the timestamp lacked it.
4639 2020-01-04  Michael Albinus  <michael.albinus@gmx.de>
4641         Fix a scoping error in tramp-sudoedit.el
4643         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-system-info):
4644         Fix a scoping error.
4646 2020-01-04  Mattias Engdegård  <mattiase@acm.org>
4648         * lisp/autorevert.el (auto-revert-notify-handler): Fix bracketing.
4650 2020-01-04  Martin Rudalics  <rudalics@gmx.at>
4652         Fix typo in 'window_box_height'
4654         * src/xdisp.c (window_box_height): Add missing 'else'.
4656 2020-01-03  Mattias Engdegård  <mattiase@acm.org>
4658         Install g++ for CEDET tests
4660         * .gitlab-ci.yml (before_script): Add g++.
4661         Backport from master.
4663 2020-01-03  Michael Albinus  <michael.albinus@gmx.de>
4665         * lisp/net/tramp.el: Fix typos.
4667         * lisp/net/tramp.el (tramp-file-local-name): New defun.  (Bug#34343)
4669 2020-01-03  Michael Albinus  <michael.albinus@gmx.de>
4671         Adapt commentary in Tramp persistency file
4673         * lisp/net/tramp-cache.el (tramp-dump-connection-properties):
4674         Adapt commentary in `tramp-persistency-file-name'.
4676 2020-01-03  Michael Albinus  <michael.albinus@gmx.de>
4678         Change Tramp version to 2.4.3.27.1
4680         * doc/misc/trampver.texi:
4681         * lisp/net/trampver.el: Change version to "2.4.3.27.1".
4682         (customize-package-emacs-version-alist): Add Tramp version
4683         integrated in Emacs 27.1.
4685 2020-01-02  Eli Zaretskii  <eliz@gnu.org>
4687         Fix redisplay when mode-line-format changes mode-line's height
4689         * lisp/frame.el (top-level): Add mode-line-format,
4690         tab-line-format, and header-line-format to the list of variables
4691         that should trigger an immediate redisplay of the buffer's
4692         window.  This fixes redisplay of windows when the mode line
4693         changes its height.
4695         * src/xdisp.c (window_box_height): Use the window's
4696         mode_line_height, tab_line_height, and header_line_height fields
4697         in preference to CURRENT_MODE_LINE_HEIGHT,
4698         CURRENT_TAB_LINE_HEIGHT, and CURRENT_HEADER_LINE_HEIGHT,
4699         respectively.  This fixes display of vertical scroll bar when the
4700         height of the window's mode line changes.
4701         * src/dispnew.c (adjust_glyph_matrix): When resizing a window's
4702         matrix, reset the mode_line_p flag of the previous mode-line row,
4703         so that the window_box_height, CURRENT_MODE_LINE_HEIGHT, and their
4704         ilk won't use stale info.  (Bug#38828)
4706 2020-01-02  Eli Zaretskii  <eliz@gnu.org>
4708         * src/fileio.c (Fwrite_region): Improve the doc string.
4710 2020-01-02  Martin Rudalics  <rudalics@gmx.at>
4712         Fix removal of frame decorations on Windows (Bug#38705)
4714         * src/w32fns.c (w32_set_undecorated): Actualize
4715         f->output_data.w32->dwStyle for subsequent calls of
4716         AdjustWindowRect (Bug#38705).
4717         * src/w32term.h (struct w32_output): Add comment for
4718         dwstyle slot.
4720 2020-01-01  Eli Zaretskii  <eliz@gnu.org>
4722         Fix compilation with GTK versions older than 3
4724         * src/xfns.c (x_get_net_workarea): Change a recently moved #ifndef
4725         so that GTK builds which need this function will compile it.
4726         Reported by John <jpff@codemist.co.uk>.
4728         (cherry picked from commit d36adb544d984b91c70f6194da01344e4b2b6fc9)
4730 2020-01-01  Eli Zaretskii  <eliz@gnu.org>
4732         Fix reverting customizations
4734         * lisp/custom.el (custom-push-theme): Don't use setcar to modify
4735         the recorded value of PROP; instead, cons a new property list by
4736         deleting the old value and adding the new one.  (Bug#38812)
4738 2020-01-01  Mattias Engdegård  <mattiase@acm.org>
4740         * lisp/loadup.el: Set max-specpdl-size to 1800 when loading cl-generic.el.
4742 2020-01-01  Mattias Engdegård  <mattiase@acm.org>
4744         Revert "Raise default max-specpdl-size value"
4746         This reverts commit bb9402e6e9c12938aee31b81e25511eb1f6335d2.
4748 2020-01-01  Mattias Engdegård  <mattiase@acm.org>
4750         Raise default max-specpdl-size value
4752         Occasionally, loading cl-generic.el from source requires
4753         max_specpdl_size > 1600 when bootstrapping, and thus fails.
4754         In any case we are very close to the limit.
4756         * src/eval.c (init_eval_once): Raise max_specpdl_size to 1800.
4757         * doc/lispref/variables.texi (Local Variables): Update docs.
4759 2020-01-01  Phillip Lord  <phillip.lord@russet.org.uk>
4761         Update distribution documentation
4763         * admin/nt/README-ftp-server: Remove as obsolete
4764         * admin/nt/dist-build/README-windows-binaries: Add information
4765           about installer
4767 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
4769         Pacify gcc -Wunused-function on Ubuntu 18.04.3
4771         This improves on 2019-12-25T20:01:07Z!eggert@cs.ucla.edu,
4772         by fixing a GCC warning on Ubuntu 18.04.3
4773         “‘x_get_net_workarea’ defined but not used”.
4774         * src/xfns.c (x_get_net_workarea) [!USE_GTK]: Do not define.
4776 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
4778         Fix copyright years by hand
4780         These are dates that admin/update-copyright did not update.
4782 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
4784         Update copyright year to 2020
4786         Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
4788 2019-12-31  João Távora  <joaotavora@gmail.com>
4790         Don't always resort in recently introduced icomplete--sorted-completions
4792         Doing so breaks icomplete-forward-completions and
4793         icomplete-backward-completions.
4795         * lisp/icomplete.el (icomplete--sorted-completions): Don't always
4796         resort.
4798         (cherry picked from commit 639fb50ed4c622f99dfbde32fbdbca42ce36d385)
4800 2019-12-31  João Távora  <joaotavora@gmail.com>
4802         Don't force completion recalculation in icomplete-fido-ret
4804         Besides the adverse effect of delaying completions, it tripped up the
4805         useful logic of icomplete-force-complete-and-exit in the case where a
4806         default was available, but no completions calculated yet.
4808         * lisp/icomplete.el (icomplete-fido-ret): Don't force calculation
4809         of completions.
4811         (cherry picked from commit 13778aa5be7bf028893672d84c2a291f491d8216)
4813 2019-12-31  João Távora  <joaotavora@gmail.com>
4815         Correctly cache sorted completions in icomplete--sorted-completions
4817         * lisp/icomplete.el (icomplete--sorted-completions): Use
4818         completion--cache-all-sorted-completions.
4820         (cherry picked from commit 83587bb68830bd91124f99ddf8590d1d5f63869f)
4822 2019-12-31  João Távora  <joaotavora@gmail.com>
4824         Move flex style's minibuffer-default-aware sorting to lisp/icomplete.el
4826         This moves the logic from the series of commits starting in the commit named:
4828           Improve sorting of flex completion style with non-nil minibuffer-default
4830         to lisp/icomplete.el, so far the only confirmed beneficiary of that
4831         functionality.
4833         * lisp/icomplete.el (icomplete--sorted-completions): Consider
4834         minibuffer-default here.
4836         * lisp/minibuffer.el (completion--flex-adjust-metadata): Simplify.
4838         (cherry picked from commit 0d2a711dc9a65dc8eb6e995369e70cddbcd7d9a4)
4840 2019-12-31  João Távora  <joaotavora@gmail.com>
4842         Make fido-mode behave more like ido-mode when finding directories
4844         Notably C-x d (M-x dired) and C-x v d (M-x vc-dir) behaved quite
4845         differently, having regular files as the default instead of ido's
4846         usual "./".
4848         * lisp/icomplete.el (icomplete--sorted-completions): New helper.
4849         (icomplete-completions): Use it.
4851         (cherry picked from commit ee914051fbb4fbff9073a23b5ea7668bf48b5c6a)
4853 2019-12-31  João Távora  <joaotavora@gmail.com>
4855         Slightly simplify lisp/icomplete.el with new icomplete--category helper
4857         * lisp/icomplete.el (icomplete-fido-kill)
4858         (icomplete-fido-delete-char, icomplete-fido-ret)
4859         (icomplete-fido-backward-updir, icomplete-exhibit): Use
4860         icomplete--category.
4861         (icomplete--category): New helper.
4863         (cherry picked from commit 24a1f520f91c278cb8cc57325ea80285a3b252cf)
4865 2019-12-31  João Távora  <joaotavora@gmail.com>
4867         Another adjustment to flex completion style's sorting function
4869         * lisp/minibuffer.el (completion--flex-adjust-metadata): Adjust
4870         case when minibuffer-default is non-nil.
4872         (cherry picked from commit 9c912049927cfb18b9c8b37039b38ddf51f2fe81)
4874 2019-12-30  Mattias Engdegård  <mattiase@acm.org>
4876         Make minibuffer-tests work in out-of-tree builds (bug#38816)
4878         * test/lisp/minibuffer-tests.el (completion-table-test-quoting):
4879         Set default-directory.
4881 2019-12-30  Mattias Engdegård  <mattiase@acm.org>
4883         Make comint-tests more robust (bug#38813)
4885         * test/lisp/comint-tests.el (comint-test-no-password-function)
4886         (comint-test-password-function-with-value)
4887         (comint-test-password-function-with-nil):
4888         Call accept-process-output as many times as needed, with a slightly
4889         more generous timeout (100 ms), after sending the Password: prompt to
4890         the process, since there must be time for some back-and-forth
4891         communication.  Also clear the process-query-on-exit flag, since it
4892         doesn't go well with noninteractive tests.
4894 2019-12-30  Eli Zaretskii  <eliz@gnu.org>
4896         Fix tar-mode reading the oldgnu Tar format
4898         This makes sure an entry for a long file name will not
4899         accidentally appear as a directory, and thus its size will be
4900         disregarded, causing corrupted file headers for all the subsequent
4901         entries.  The original problem happened because the long file name
4902         truncated to 99 bytes happened to end in a slash, which tar-mode
4903         takes to be the indication of a directory.
4904         * lisp/tar-mode.el (tar-header-block-tokenize): Accept an
4905         additional argument DISABLE-SLASH; if non-nil, don't set the
4906         link-type field of the descriptor to 5 (meaning a directory) just
4907         because the name ends in a slash.  Use this argument when calling
4908         itself recursively, to read the entry of the file with a long
4909         name.  Set the link-type to 5 if the long name ends in a slash.
4910         (Bug#38777)
4912 2019-12-30  Eli Zaretskii  <eliz@gnu.org>
4914         Ensure mini-window is resized to show active minibuffer contents
4916         * src/keyboard.c (read_char, command_loop_1): Resize the
4917         mini-window after clearing the echo area while minibuffer is
4918         active.  (Bug#38645)
4920 2019-12-30  Eli Zaretskii  <eliz@gnu.org>
4922         Fix mini-window resizing under resize-mini-windows = t
4924         * src/window.c (grow_mini_window): Fix resizing of mini-window
4925         when the echo area is cleared, and the caller asks for the
4926         mini-window to have zero lines.  (Bug#38791)
4928 2019-12-29  Glenn Morris  <rgm@gnu.org>
4930         Fixes for makeinfo 4.13
4932         * doc/lispref/customize.texi (Variable Definitions): Fix xref.
4933         * doc/lispref/internals.texi (Writing Emacs Primitives)
4934         (Module Values): Follow xref with comma.
4936 2019-12-29  Robert Pluim  <rpluim@gmail.com>
4938         Fix crash under -nw on macOS properly this time
4940         * src/dispextern.h (FACE_COLOR_TO_PIXEL): Only use
4941         ns_color_index_to_rgba when we're running under the NS gui
4942         (Bug#38564).
4944 2019-12-29  Robert Pluim  <rpluim@gmail.com>
4946         Revert "Check for GUI frame in ns_color_index_to_rgba"
4948         This reverts commit ea84a95bd8d43612b4a424fb93de25a68ac31d05.
4950 2019-12-29  Robert Pluim  <rpluim@gmail.com>
4952         Ignore all color fonts when using XFT
4954         * etc/NEWS: Announce change to matching color fonts when using XFT.
4956         * src/ftfont.c (ftfont_list) [HAVE_XFT && FC_COLOR]: Query for the
4957         color attribute of the matched font, and skip it if it is not
4958         FcFalse (Bug#37786).
4960 2019-12-29  Mattias Engdegård  <mattiase@acm.org>
4962         Avoid unbounded growth of cl-random-state components (bug#38753)
4964         * lisp/emacs-lisp/cl-extra.el (cl-random):
4965         Perform the modulo 2**23 operation before updating the state instead
4966         of after.  The result is always the same, but it prevents the state
4967         from growing into arbitrary large bignums.
4969         Patch from Christopher Wellons.
4971 2019-12-29  Michael Albinus  <michael.albinus@gmx.de>
4973         Sync with Tramp 2.4.3
4975         * doc/misc/trampver.texi:
4976         * lisp/net/trampver.el: Change version to "2.4.3".
4978         * lisp/net/tramp.el: Bump version.
4979         (tramp-handle-shell-command): The temp file for error-buffer is remote.
4981         * test/lisp/net/tramp-tests.el (tramp-test30-make-process):
4982         Simplify buffer generation.
4983         (tramp-test32-shell-command): Extend test.
4985 2019-12-29  Dmitry Gutov  <dgutov@yandex.ru>
4987         Fix up requires
4989         * lisp/progmodes/project.el (project-files):
4990         Remove (require 'xref).
4991         (project--files-in-directory): Add it here instead.
4992         (project-find-regexp, project-or-external-find-regexp): And here.
4993         For 'xref--show-xrefs'.
4995 2019-12-29  Dmitry Gutov  <dgutov@yandex.ru>
4997         Extract xref-matches-in-files from project--find-regexp-in-files
4999         * lisp/progmodes/xref.el (xref-matches-in-files): Extract from
5000         project--find-regexp-in-files.
5002         * lisp/dired-aux.el (dired-do-find-regexp): Also use it here.
5004 2019-12-29  Dmitry Gutov  <dgutov@yandex.ru>
5006         Rename xref-collect-references and xref-collect-matches
5008         * lisp/progmodes/xref.el (xref-references-in-directory): Rename
5009         from xref-collect-references.  Update the sole caller.
5010         (xref-matches-in-directory): Rename from xref-collect-matches.
5011         Update all callers (all of them are in the /tests/ dir).
5013         * test/lisp/progmodes/xref-tests.el (xref-tests-data-dir):
5014         Don't use the EMACS_TEST_DIRECTORY env var. It doesn't work when
5015         running interactively.
5017 2019-12-29  Dmitry Gutov  <dgutov@yandex.ru>
5019         Improve docstrings
5021         * lisp/progmodes/xref.el (xref-collect-matches)
5022         (xref-collect-references): Improve docstrings.
5024 2019-12-29  Alan Third  <alan@idiocy.org>
5026         Fix when expose draws partially visible first glyph (bug#38731)
5028         * src/xdisp.c (expose_area): When the face extends to the end of the
5029         line draw text from the correct x coordinate.
5031 2019-12-28  Dmitry Gutov  <dgutov@yandex.ru>
5033         Don't require semantic/fw
5035         * lisp/progmodes/xref.el (xref-collect-matches): Don't require
5036         semantic/fw, we haven't been using semantic-find-file-noselect
5037         here for a while.
5039 2019-12-28  Dmitry Gutov  <dgutov@yandex.ru>
5041         Do some renames for clarity
5043         * lisp/progmodes/xref.el (xref--last-file-buffer):
5044         Rename from xref--last-visiting-buffer.  Update users.
5045         (xref--find-file-buffer): Rename from xref--find-buffer-visiting
5046         to match the standard function that gets called inside.  Ditto.
5048 2019-12-28  Eli Zaretskii  <eliz@gnu.org>
5050         Rearrange NEWS, add missing documentation
5052         * etc/NEWS: Rearrange and mark entries whether documented or not.
5054         * doc/lispref/streams.texi (Output Variables): Document the new
5055         default of 'print-quoted'.
5056         * doc/lispref/keymaps.texi (Functions for Key Lookup): Document
5057         that KEYMAP arg to 'lookup-key' can also be a list.
5058         * doc/lispref/customize.texi (Variable Definitions): Document the
5059         :local keyword of 'defcustom'.
5060         * doc/lispref/numbers.texi (Float Basics): Document changes in
5061         'logb'.
5062         * doc/lispref/hooks.texi (Standard Hooks): Document
5063         'comint-password-function'.
5065         * doc/emacs/display.texi (Text Scale): Document text-size
5066         adjustment using the mouse wheel.
5067         * doc/emacs/frames.texi (Mouse Commands): Document image scaling
5068         with the mouse wheel.
5069         * doc/emacs/windows.texi (Window Convenience): Document
5070         'global-tab-line-mode'.
5071         * doc/emacs/search.texi (Repeat Isearch, Symbol Search)
5072         (Isearch Yank): Document the new support for numeric arguments in
5073         Isearch commands.
5074         (Special Isearch): Document 'M-s M->' and 'M-s M-<'.
5075         (Search Customizations): Document 'isearch-lazy-count'.  Improve
5076         indexing.
5077         (Not Exiting Isearch): Document the new value of
5078         'isearch-allow-scroll'.
5079         * doc/emacs/maintaining.texi (Xref Commands): Document the new 'g'
5080         key binding.
5081         * doc/emacs/package.texi (Package Installation): Document changes
5082         in 'package-check-signature'.
5083         * doc/emacs/maintaining.texi (VC Change Log): Document
5084         'vc-log-search'.
5085         * doc/emacs/dired.texi (Operating on Files): Document
5086         'dired-vc-rename'.
5088 2019-12-28  Xu Chunyang  <xuchunyang56@gmail.com>
5090         Fix interactive spec in netrc-parse
5092         * lisp/net/netrc.el (netrc-parse): Fix placement of interactive
5093         spec (bug#38773).
5095 2019-12-28  Eli Zaretskii  <eliz@gnu.org>
5097         Fix documentation of define-obsolete-* functions
5099         * doc/lispref/functions.texi (Obsolete Functions): Make
5100         documentation of functions that obsolete symbols match the
5101         advertised calling conventions.
5103         * lisp/emacs-lisp/byte-run.el (define-obsolete-function-alias)
5104         (define-obsolete-variable-alias, define-obsolete-face-alias):
5105         State in the doc strings that WHEN is a mandatory argument, to be
5106         consistent with the advertised calling convention.  (Bug#38675)
5108 2019-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
5110         Fix recent gnus-start.el breakage
5112         * lisp/gnus/gnus-start.el (gnus-group-change-level): Fix previous
5113         patch that made info nil when adding new groups (thereby making
5114         gnus-newsrc-alist invalid).
5116 2019-12-27  Dmitry Gutov  <dgutov@yandex.ru>
5118         (xref--find-buffer-visiting): Speed up by using get-file-buffer
5120         * lisp/progmodes/xref.el (xref--find-buffer-visiting):
5121         Speed up by using get-file-buffer.
5122         (xref--collect-matches): Remove the condition on remote-id.
5123         (https://lists.gnu.org/archive/html/emacs-devel/2019-12/msg00753.html)
5125 2019-12-27  Dmitry Gutov  <dgutov@yandex.ru>
5127         project--vc-list-files: Recurse into submodules
5129         * lisp/progmodes/project.el (project-try-vc): Do not treat a Git
5130         submodule as a project root, go up to the parent repo.
5131         (project--git-submodules): New function.
5132         (project--vc-list-files): Use it.  Recurse into submodules.
5134 2019-12-27  Eli Zaretskii  <eliz@gnu.org>
5136         Minor improvements of buffer documentation
5138         * doc/emacs/buffers.texi (Buffers): Say that buffers are killed
5139         when no longer needed.  Suggested by Jean-Christophe Helary
5140         <jean.christophe.helary@traduction-libre.org>.
5142 2019-12-27  Dmitry Gutov  <dgutov@yandex.ru>
5144         xref--collect-matches: Speed up on remote
5146         * lisp/progmodes/xref.el (xref--collect-matches):
5147         Don't call find-buffer-visiting on remote file names, it's pretty
5148         slow (bug#34343).
5150 2019-12-26  Phillip Lord  <phillip.lord@russet.org.uk>
5152         Fix installer build
5154         * admin/nt/dist-build/build-zips.sh: Ensure that NSIS build always
5155           uses the actual build number to locate its files.
5157 2019-12-26  Phillip Lord  <phillip.lord@russet.org.uk>
5159         Update Windows build documentation
5161         * admin/nt/dist-build/README-scripts: Update with branch and snapshot
5162           information.
5164 2019-12-26  Mattias Engdegård  <mattiase@acm.org>
5166         Calc: add missing dynamic variable declarations
5168         * lisp/calc/calc-alg.el (math-simplify-only, calc-simplify-mode)
5169         (math-expand-formulas, calc-poly-div-remainder)
5170         (math-living-dangerously, math-simplifying, calc-angle-mode)
5171         (calc-prefer-frac, math-poly-base-variable):
5172         Declare dynamic variables.
5173         * test/lisp/calc/calc-tests.el (calc-poly-div):
5174         Add test for at least one bug caused by missing declarations.
5176 2019-12-26  Eli Zaretskii  <eliz@gnu.org>
5178         * doc/emacs/buffers.texi (Kill Buffer): Improve indexing.
5180 2019-12-26  Dmitry Gutov  <dgutov@yandex.ru>
5182         Speed up dired-do-find-regexp
5184         * lisp/dired-aux.el (dired-do-find-regexp): Speed up (bug#36857).
5185         Previously, 'find' was called for every marked file (for plain
5186         files and directories both).  Now 'find' is only called for
5187         directories.
5189 2019-12-26  Dmitry Gutov  <dgutov@yandex.ru>
5191         project--find-regexp-in-files: Support remote files
5193         * lisp/progmodes/project.el (project--find-regexp-in-files):
5194         Support remote files (bug#34343).
5196 2019-12-26  Philipp Stephani  <phst@google.com>
5198         Document some restrictions for module functions.
5200         * doc/lispref/internals.texi (Module Functions): Document some
5201         restrictions for module functions.
5203 2019-12-26  Philipp Stephani  <phst@google.com>
5205         Don't recommend using 'module-load' for loading modules.
5207         'module-load' most likely doesn't do what users expect.  Users should
5208         use 'load' and its wrappers, which do the right thing.
5210         * doc/lispref/loading.texi (Dynamic Modules): Document
5211         disadvantages of 'module-load' and recommend normal 'load' and
5212         its wrappers instead.
5214         * doc/lispref/internals.texi (Module Functions): Recommend
5215         'load' over 'module-load'.
5217 2019-12-25  Paul Eggert  <eggert@cs.ucla.edu>
5219         Port x_get_monitor_attributes_fallback to !HAVE_GTK3
5221         * src/xfns.c (x_get_net_workarea) [!HAVE_GTK3]:
5222         Define in this case too, since x_get_monitor_attributes_fallback
5223         contains a call to it regardless whether HAVE_GTK3 is defined.
5225 2019-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5227         Fix compilation warning in gnus-start.el
5229         * lisp/gnus/gnus-start.el (gnus-gnus-to-quick-newsrc-format): Fix
5230         compilation warning by not binding XEmacs-only variable.
5232         * lisp/gnus/gnus-util.el (gnus-bind-print-variables): Ditto.
5233         (gnus-prin1, gnus-prin1-to-string, gnus-pp, gnus-pp-to-string):
5234         Adjust doc string.
5236 2019-12-25  Eli Zaretskii  <eliz@gnu.org>
5238         Improve doc string of 'files--message'
5240         * lisp/files.el (files--message): Improve the wording of doc
5241         string.  (Bug#38737)
5243 2019-12-24  Wolfgang Scherer  <wolfgang.scherer@gmx.de>
5245         Improve vc--add-line, vc--remove-regexp
5247         * lisp/vc/vc.el (vc--add-line): Create file if it does not exist.
5248         Use existing buffer to avoid discrepancies with filesystem.  Make sure
5249         that the file ends with a newline.
5250         (vc--remove-line): Do not create file if it does not exist.  Use
5251         existing buffer to avoid discrepancies with filesystem. (bug#37185)
5253 2019-12-24  Dmitry Gutov  <dgutov@yandex.ru>
5255         Apply the 'xref-group' property properly
5257         * lisp/progmodes/xref.el (xref--insert-xrefs):
5258         Apply the 'xref-group' property properly (bug#36974).
5260 2019-12-24  Philipp Stephani  <phst@google.com>
5262         * src/pdumper.c (Fdump_emacs_portable): Reword error message.
5264         (cherry picked from commit ac7b2607735a64e657d65c87d8c9f73755ff3efa)
5266 2019-12-24  Philipp Stephani  <phst@google.com>
5268         Don’t allow portable dumping in interactive mode (Bug#38453).
5270         * src/pdumper.c (Fdump_emacs_portable): Don’t allow dumping in
5271         interactive mode.
5273         (cherry picked from commit e7edba42c8a525722cbd40f782b0df68e4976a62)
5275 2019-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
5277         Don't default to showing X-Faces externally in Gnus
5279         * lisp/gnus/gnus-art.el (gnus-article-x-face-command): It's seldom
5280         useful to display the face in an external command, so don't ever
5281         default to that.  This also fixes the problem of Emacs running as
5282         a server in mixed graphical/non-graphical environments.
5284 2019-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
5286         Fix manual typo in Special Read Syntax
5288         * doc/lispref/objects.texi (Special Read Syntax): Fix typo.
5290 2019-12-24  Robert Pluim  <rpluim@gmail.com>
5292         Fix problem with emacs -nw / eww / svg
5294         * lisp/net/shr.el (shr-parse-image-data): Don't bug out on
5295         non-visual Emacs versions on SVG images (bug#38507).
5297 2019-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
5299         Clarify base64 requirements and say what {en,de}code_coding_region does
5301         * src/coding.c (Fencode_coding_region): Clarify what this does.
5302         (Fdecode_coding_region): Ditto.
5304         * src/fns.c (Fbase64_decode_region): Clarify that this function
5305         returns bytes, not text (bug#38587).
5306         (Fbase64_encode_region): Clarify that this function takes bytes,
5307         not text.
5309 2019-12-24  Philipp Stephani  <phst@google.com>
5311         * src/emacs-module.h.in: Add reference to manual.
5313 2019-12-23  Juanma Barranquero  <lekktu@gmail.com>
5315         Trivial docstring fixes
5317         * ChangeLog.3:
5318         * lisp/emacs-lisp/cl-macs.el (cl-flet):
5319         * lisp/filesets.el (filesets-menu-ensure-use-cached):
5320         * lisp/progmodes/compile.el (compilation-context-lines):
5321         * lisp/progmodes/prolog.el (prolog-paren-indent):
5322         * lisp/progmodes/sql.el (sql-password-search-wallet-function):
5323         Fix typos in docstrings.
5325         * lisp/cedet/semantic/analyze.el (semantic-analyze-push-error):
5326         Doc fix.
5328         * lisp/emacs-lisp/map.el (map-put, map-info): Refill docstring.
5329         (map-contains-key): Fix typo.
5330         (map-every-p): Doc fix.
5332 2019-12-23  Dhruva Krishnamurthy  <dhruvakm@gmail.com>  (tiny change)
5334         imagemagick-types needs to initialize ImageMagick
5336         * src/image.c (imagemagick_initialize): New function,
5337         with body taken from imagemagick_load_image.
5338         (imagemagick_load_image, Fimagemagick_types): Use it.
5340 2019-12-23  Eli Zaretskii  <eliz@gnu.org>
5342         Cut the emacs-27 release branch
5344         * lisp/cus-edit.el (customize-changed-options-previous-release):
5345         Change the value to 26.3.
5347         * README:
5348         * configure.ac:
5349         * nt/README.W32:
5350         * msdos/sed2v2.inp: Bump Emacs version to 27.0.60.
5352 2019-12-23  Philipp Stephani  <phst@google.com>
5354         Document and verify that emacs_limb_t doesn’t have padding bits.
5356         This is a useful property when doing further bit-twiddling with the
5357         magnitude array before/after calling extract_big_integer or
5358         make_big_integer.  For example, constructing an emacs_limb_t object
5359         using repeated shift-and-add should work as expected, but relies on
5360         the type not having padding bits.  Since the C standard already
5361         guarantees that unsigned integers use a pure binary representation,
5362         not having padding bits is enough to guarantee that the type has
5363         unique object representations in the sense of C++’s
5364         std::has_unique_object_representations.
5366         * doc/lispref/internals.texi (Module Values): Document that
5367         emacs_limb_t doesn’t have padding bits.
5369         * src/emacs-module.c: Verify that emacs_limb_t doesn’t have padding
5370         bits.
5372 2019-12-23  Jimmy Aguilar Mena  <spacibba@aol.com>
5374         Fix extension of underline, overline, and strike-through attributes
5376         * src/xdisp.c (extend_face_to_end_of_line): Don't return early
5377         if face attributes beyond background color and box are set,
5378         since that means these attributes need to be extended past the
5379         EOL.
5381 2019-12-23  João Távora  <joaotavora@gmail.com>
5383         Comment on limitation of flex completion style's sorting function
5385         * lisp/minibuffer.el (completion--flex-adjust-metadata): Add
5386         comment.
5388 2019-12-23  João Távora  <joaotavora@gmail.com>
5390         Fix a bug in completion--flex-adjust-metadata
5392         If minibuffer-default coincided with the first of completions, the
5393         empty list would be returned.
5395         * lisp/minibuffer.el (completion--flex-adjust-metadata): Make sure
5396         to never return empty list.
5398 2019-12-23  Martin Rudalics  <rudalics@gmx.at>
5400         Fix documentation of implied frame resizing (Bug#38684)
5402         * src/frame.c (frame_inhibit_implied_resize): Fix doc-string.
5403         * doc/lispref/frames.texi (Implied Frame Resizing): Update and
5404         rewrite section.
5406 2019-12-22  Michael R. Mauger  <michael@mauger.com>
5408         Added `comint-password-function' hook
5410         * etc/NEWS:
5411         * lisp/comint.el (comint-password-function): New variable.
5412           (comint-send-invisible): Use it.
5413         * test/lisp/comint-tests.el (comint-test-no-password-function,
5414           comint-test-password-function-with-value,
5415           comint-test-password-function-with-nil): Test new variable.
5417 2019-12-22  Juri Linkov  <juri@linkov.net>
5419         * lisp/files.el (save-buffers-kill-emacs): Mark "*Process List*" as dedicated.
5421         Using the 'dedicated' prop for display-buffer--maybe-at-bottom marks the
5422         window of the buffer "*Process List*" as dedicated, so it won't be replaced
5423         by another buffer that might be visited following links to process buffers
5424         from the buffer "*Process List*".
5426 2019-12-22  Juri Linkov  <juri@linkov.net>
5428         * lisp/tab-bar.el: Use alist-get instead of (cdr (assq ...))
5430         * lisp/tab-bar.el (tab-bar-mode): Bind s-0 to tab-bar-switch-to-recent-tab.
5432 2019-12-22  Juri Linkov  <juri@linkov.net>
5434         * lisp/proced.el (proced-signal-list): Add more POSIX 1003.1-2001 signals.
5436 2019-12-22  João Távora  <joaotavora@gmail.com>
5438         Fix bug in flex completion style's sorting and simplify
5440         This previous commit targeting this function introduced a bug whereby
5441         the completion table's sorting function wouldn't be called.  That is
5442         fixed by this commit, which also simplifies the function further: it
5443         now skips re-sorting the completions completely if there is no
5444         minibuffer input at all (in other words, when flex isn't doing
5445         anything useful).
5447         * lisp/minibuffer.el (completion--flex-adjust-metadata): Simplify.
5449 2019-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
5451         * lisp/gnus/gnus-start.el: Use lexical-binding
5453         (gnus-group-change-level, gnus-make-hashtable-from-newsrc-alist):
5454         Use gnus-info-make.
5455         (gnus-make-hashtable-from-newsrc-alist): Prefer `gnus-info-group`
5456         to `car` when applied to a `gnus-info` object.
5457         (gnus-make-hashtable-from-killed): Remove unused vars `lists` and `list`.
5458         (gnus-gnus-to-quick-newsrc-format): Extract common code from if branches.
5460         * lisp/gnus/gnus.el (gnus-info-make): New constructor.
5462 2019-12-22  Eli Zaretskii  <eliz@gnu.org>
5464         Fix wording of recent documentation changes
5466         * src/xdisp.c (syms_of_xdisp):
5467         * lisp/minibuffer.el (minibuffer-message-clear-timeout):
5468         * etc/NEWS:
5469         * doc/lispref/display.texi (Displaying Messages): Minor
5470         changes of wording of a recent commit.  (Bug#38457)
5472 2019-12-22  Michael Albinus  <michael.albinus@gmx.de>
5474         Extend tramp-tests.el for other host name syntax and file name syntax
5476         * test/lisp/net/tramp-tests.el (inhibit-message)
5477         (connection-local-criteria-alist)
5478         (connection-local-profile-alist, async-shell-command-width): Declare.
5479         (tramp-test01-file-name-syntax)
5480         (tramp-test02-file-name-dissect): Set syntax to `default'.
5481         (tramp-test03-file-name-defaults)
5482         (tramp-test03-file-name-host-rules)
5483         (tramp-test03-file-name-method-rules)
5484         (tramp-test04-substitute-in-file-name)
5485         (tramp-test05-expand-file-name)
5486         (tramp-test06-directory-file-name, tramp-test44-auto-load):
5487         Skip unless syntax is `default'.
5488         (tramp-test06-directory-file-name, tramp-test10-write-region)
5489         (tramp-test17-dired-with-wildcards)
5490         (tramp-test26-file-name-completion): Handle IPv6 host names.
5491         (tramp-test21-file-links): Support all syntaxes.
5492         (tramp-test30-make-process, tramp-test45-unload):
5493         Suppress compiler warnings.
5494         (tramp-test37-make-auto-save-file-name): Skip for `separate' syntax.
5496 2019-12-22  Michael Albinus  <michael.albinus@gmx.de>
5498         * lisp/net/trampver.el (inhibit-message): Declare.
5500 2019-12-22  Michael Albinus  <michael.albinus@gmx.de>
5502         Add item to Frequently Asked Questions of Tramp manual
5504         * doc/misc/tramp.texi (Frequently Asked Questions): Add item for
5505         ControlMaster option on proxy hosts.  Explain changing syntax to
5506         Ange FTP.
5508 2019-12-22  Alan Third  <alan@idiocy.org>
5510         * lisp/term/ns-win.el (ns-insert-working-text): Comment is obsolete.
5512 2019-12-22  João Távora  <joaotavora@gmail.com>
5514         Improve sorting of flex completion style with non-nil minibuffer-default
5516         This affects the behaviour of flex completion when there is a default
5517         completion and the user hasn't entered any input pattern to flex-match
5518         against.  It is most visible when icomplete-mode or fido-mode are
5519         being used in conjunctio.
5521         When using M-x man, for instance, the default completion is picked
5522         from text around point.  Say it is "emacs" (for Emacs's man page).  It
5523         will not match the intended completion, "emacs(1)", exactly.  If the
5524         user hasn't yet given any input to the completion prompt, that
5525         completion should bubble to top so that
5526         icomplete-force-complete-and-exit will select it, but it didn't.
5528         This new approach uses 'string-prefix-p' instead of 'equal' to find
5529         the default to bubble to the top.  This strategy could eventually be
5530         improved, most naturally by flex-matching the default string to all
5531         the candidates and picking the highest scoring one.
5533         Additionally, the new strategy only considers minibuffer-default if
5534         there is no input in the minibuffer, which seems sensible and produces
5535         a small but noticeable speedup.
5537         * lisp/minibuffer.el (completion--flex-adjust-metadata):
5538         Reformulate sorting strategy.
5540 2019-12-22  Masahiro Nakamura  <tsuucat@icloud.com>  (tiny change)
5542         Fix display of working text on NS (Bug#23412, Bug#1453)
5544         * lisp/term/ns-win.el (ns-insert-working-text):
5545         (ns-delete-working-text): Change how working text is deleted to handle
5546         changed order of operations.
5547         * src/nsterm.m ([EmacsView insertText:]): Move deletion of working
5548         text until after insertion of new text.
5550 2019-12-22  Alan Third  <alan@idiocy.org>
5552         Check if file is in iCloud drive (bug#38618)
5554         * src/nsfns.m (ns_set_represented_filename): Check whether the file is
5555         a `ubiquitous item', and if so don't display a proxy icon.
5557 2019-12-21  Juri Linkov  <juri@linkov.net>
5559         * lisp/tab-bar.el: Rename tab-bar-list to tab-switcher (bug#38624)
5561 2019-12-21  Juri Linkov  <juri@linkov.net>
5563         New variable set-message-function to show message at the end of the minibuffer
5565         * doc/lispref/display.texi (Displaying Messages): Document
5566         set-message-function and clear-message-function.
5568         * lisp/minibuffer.el (minibuffer-message-clear-timeout): New defcustom.
5569         (minibuffer-message-timer, minibuffer-message-overlay): New variables.
5570         (set-minibuffer-message, clear-minibuffer-message): New functions.
5571         (set-message-function, clear-message-function): Set variables to
5572         set-minibuffer-message and clear-minibuffer-message respectively.
5574         * src/keyboard.c (read_char): Call clear_message when
5575         Vclear_message_function is a function.
5577         * src/xdisp.c (set_message): Call Vset_message_function when it's a function.
5578         (clear_message): Call Vclear_message_function when it's a function.
5579         (syms_of_xdisp): New variables set-message-function and clear-message-function
5580         (bug#38457).
5582 2019-12-21  Stephen Gildea  <stepheng+emacs@gildea.com>
5584         backup-by-copying-when-privileged-mismatch applies to file gid, too.
5586         * lisp/files.el (backup-by-copying-when-privileged-mismatch):  In addition
5587         to checking the file uid, a second test is added: if the file gid is not
5588         greater than backup-by-copying-when-privileged-mismatch,
5589         backup-by-copying-when-mismatch will also be forced on.
5591         * doc/emacs/files.texi, doc/lispref/backups.texi: Updated documentation.
5593         Also fixed a typo in the Emacs reference manual, changing "higher" to
5594         "no greater" so that the limit is no longer documented reversed.
5596 2019-12-21  Eli Zaretskii  <eliz@gnu.org>
5598         ;* src/process.c (read_process_output): Fix last change.
5600 2019-12-21  lin.sun  <lin.sun@zoom.us>
5602         Add new function `python-shell-send-statement'
5604         * lisp/progmodes/python.el (python-shell-send-statement): New function.
5605         (python-mode-map): Bind it to key "C-c C-e", and define a python-menu
5606         item for it.  (Bug#38426)
5608 2019-12-21  Eli Zaretskii  <eliz@gnu.org>
5610         Allow control of data amount read from subprocess in one chunk
5612         * src/process.c (syms_of_process) <read-process-output-max>:
5613         New variable.
5614         (read_process_output): Use it instead of the hard-coded
5615         constant 4096.  (Bug#38561)
5616         Use SAFE_ALLOCA to support large buffers for reading process
5617         output.
5619         * etc/NEWS: Mention 'read-process-output-max'.
5621 2019-12-20  Stefan Monnier  <monnier@iro.umontreal.ca>
5623         * lisp/international/mule-cmds.el: Fix bug#38642
5625         (universal-coding-system-argument): Adjust the code to the way
5626         `universal-argument` works nowadays.  Handle `prefix-arg` a bit more
5627         like `command_loop` does.
5629         * test/lisp/international/mule-tests.el
5630         (mule-cmds--test-universal-coding-system-argument): New test.
5632 2019-12-20  Dmitry Gutov  <dgutov@yandex.ru>
5634         Speed up vc-dir-update
5636         * lisp/vc/vc-dir.el (vc-dir-update): Speed up.
5637         (https://lists.gnu.org/archive/html/emacs-devel/2019-12/msg00568.html)
5639 2019-12-20  Alan Mackenzie  <acm@muc.de>
5641         Elisp manual: mention parse-partial-sexp as the source of a parser state, etc
5643         * doc/lispref/syntax.texi (Parser State): mention parse-partial-sexp as a
5644         function returning a parser state, and the function to which one supplies a
5645         parser state as an argument for continued parsing.
5646         Refine the documentation of syntax-ppss-context, and correct the text
5647         introducing it and another function.
5649 2019-12-20  Eli Zaretskii  <eliz@gnu.org>
5651         Support setting OS names of threads on MS-Windows
5653         * src/w32fns.c (setup_w32_kbdhook): Don't initialize
5654         is_debugger_present here...
5655         (globals_of_w32fns): ...initialize it here.  Also initialize
5656         the new global variable set_thread_description.
5657         * src/systhread.c: [WINDOWSNT] Include mbctype.h
5658         (w32_set_thread_name): New function.
5659         (MS_VC_EXCEPTION): New macro.
5660         (THREADNAME_INFO, IsDebuggerPresent_Proc)
5661         (SetThreadDescription_Proc): New typedefs.
5662         (w32_beginthread_wrapper): Call w32_set_thread_name to set the
5663         name of the new thread.
5664         * src/thread.h (struct thread_state): New member thread_name.
5665         * src/thread.c (Fmake_thread): Set the thread_name field of
5666         the new thread object.
5667         (run_thread): Free the thread_name member after the thread
5668         exits.
5670 2019-12-20  Michael Albinus  <michael.albinus@gmx.de>
5672         Fix error in tramp-process-sentinel
5674         * lisp/net/tramp.el (tramp-process-sentinel): Check, that process
5675         buffer is alive.
5677 2019-12-19  Juri Linkov  <juri@linkov.net>
5679         * lisp/tab-bar.el: Sort tab names by recency for tab switching (bug#38624)
5681         * lisp/tab-bar.el (tab-bar--tabs-recent): New function with code
5682         extracted from tab-bar--tab-index-recent.
5683         (tab-bar-switch-to-tab): Use tab-bar--tabs-recent in interactive spec
5684         to sort names of tabs by recency for default values of completing-read.
5685         (tab-prefix-map): Bind RET to tab-bar-select-tab-by-name, and 'm' to tab-move.
5687 2019-12-18  Mattias Engdegård  <mattiase@acm.org>
5689         More precise 'regexp-opt' documentation
5691         * lisp/emacs-lisp/regexp-opt.el (regexp-opt):
5692         * doc/lispref/searching.texi (Regexp Functions):
5693         Be more specific about how the KEEP-ORDER argument actually works.
5694         If nil, the regexp guarantees a longest match; this is the behaviour
5695         that many callers implicitly rely on.
5697 2019-12-18  Michael Albinus  <michael.albinus@gmx.de>
5699         Fix an error with remote file name in compile.el
5701         * lisp/progmodes/compile.el (compilation-get-file-structure):
5702         Compute proper remote file name.  (Bug#38648)
5704 2019-12-17  Wilson Snyder  <wsnyder@wsnyder.org>
5706         Verilog-Mode collected updates.
5708         * lisp/progmodes/verilog-mode.el (verilog-compiler-directives): Support
5709         indenting `uselib.
5710         (verilog-read-decls): Fix AUTO* to ignore `protected regions.
5711         (verilog-read-auto-template-middle): Fix AUTO_TEMPLATEs with multiple
5712         module templates and at-REGEXPs, msg3183.  Reported by Berk Akinci.
5714 2019-12-17  Michael Albinus  <michael.albinus@gmx.de>
5716         Improve Tramp's file-name-completion
5718         * lisp/net/tramp.el (tramp-handle-file-name-completion):
5719         Filter out "./" and "../", if there's only one other result.
5721 2019-12-17  Mattias Engdegård  <mattiase@acm.org>
5723         Adjust cursor column when auto-scrolling during rectangle selection
5725         * lisp/mouse.el (mouse-drag-region-rectangle):
5726         Move cursor to the correct column during auto-scrolling both when
5727         crutches are used and not (bug#38641).  Reported by Konrad Podczeck.
5729 2019-12-16  Andrii Kolomoiets  <andreyk.mad@gmail.com>
5731         Make ls-files-unknown only return proper files, not directories
5733         * lisp/vc/vc-git.el (vc-git-dir-status-goto-stage):
5734         Make ls-files-unknown only return proper files, not directories
5735         (bug#38615).
5737 2019-12-16  Dmitry Gutov  <dgutov@yandex.ru>
5739         vc-git-after-dir-status-stage: Avoid erroneous up-to-date status
5741         * lisp/vc/vc-git.el (vc-git-after-dir-status-stage):
5742         Don't set `up-to-date' status if the previous stage (`diff-index')
5743         has assigned some other status to the file (bug#38615).
5745 2019-12-16  Eli Zaretskii  <eliz@gnu.org>
5747         Fix face merging for display strings broken by a recent commit
5749         * src/xfaces.c (face_at_string_position): Revert the last
5750         change, as it cannot possibly solve bug#38563.
5751         * src/xdisp.c (face_at_pos): Fix a typo made during last
5752         change here, which broke face merging for display strings.
5753         (Bug#38633)
5755 2019-12-15  Juri Linkov  <juri@linkov.net>
5757         * lisp/isearch.el (isearch-xterm-paste): Use code like in 'xterm-paste'.
5759         Add arg 'event' and use it to get pasted text.
5760         This allows pasting text on terminals to the
5761         search string (bug#18727, bug#36950).
5763 2019-12-15  Juri Linkov  <juri@linkov.net>
5765         Revert aa89c84e00d8dc85100e6fedab7631c415e6364d (bug#38457)
5767         * src/editfns.c (Fmessage): Don't use minibuffer-message.
5768         (Fmessage_in_echo_area): Remove function message-in-echo-area.
5769         (syms_of_editfns): Remove variable message-in-echo-area.
5771         * lisp/isearch.el (isearch--momentary-message): Remove message-in-echo-area.
5772         * lisp/minibuffer.el (minibuffer-message): Don't record message
5773         in the *Messages* buffer.
5774         (minibuffer-completion-help): Remove message-in-echo-area.
5776         * lisp/subr.el (do-after-load-evaluation): Remove discard-input (bug#38560)
5778 2019-12-15  Juri Linkov  <juri@linkov.net>
5780         * lisp/tab-line.el (tab-line-auto-hscroll): Improve.
5782         Better handling of tabs scrolled to the left.
5783         Don't scroll tabs that are already visible.
5785         Remove setq of buffer-undo-list because undo is disabled
5786         anyway in internal buffers with name " *temp*".
5788 2019-12-15  Juri Linkov  <juri@linkov.net>
5790         * lisp/tab-bar.el (tab-bar-handle-mouse): Handle close button.
5792         * lisp/tab-bar.el (tab-bar-select-tab): Message about selected tab (bug#38624)
5794 2019-12-15  Robert Cochran  <robert-git@cochranmail.com>
5796         * lisp/tab-bar.el (tab-bar-close-other-tabs): Use tab close customs
5798 2019-12-15  Robert Cochran  <robert-git@cochranmail.com>
5800         Document variables that affect tabs in function docstrings
5802         * lisp/tab-bar.el (tab-bar-new-tab-to): Mention
5803         tab-bar-post-open-functions in docstring.
5804         (tab-bar-close-tab): Mention tab-bar-prevent-tab-functions,
5805         tab-bar-tab-pre-close-functions, and tab-bar-close-last-tab-choice.
5807 2019-12-15  Phil Sainty  <psainty@orcon.net.nz>
5809         New command 'diff-buffers'
5811         * lisp/vc/diff.el (diff-buffers): New command.
5812         (diff, diff-no-select, diff-file-local-copy): Improve docstrings.
5813         * doc/emacs/files.texi:
5814         * etc/NEWS: Document new command, and the previously-undocumented
5815         ability for 'diff' to compare buffers.
5817 2019-12-14  Paul Eggert  <eggert@cs.ucla.edu>
5819         Adjust intptr_t advice
5821         * doc/lispref/internals.texi (C Integer Types): Say to prefer
5822         uintptr_t when pointer arithmetic might overflow intptr_t.
5824 2019-12-14  Paul Eggert  <eggert@cs.ucla.edu>
5826         Remove nothing from union output_data
5828         * src/frame.h (union output_data): Remove ‘nothing’ member.
5829         It has had no effect for quite some time.
5830         All uses removed.
5832 2019-12-14  Eli Zaretskii  <eliz@gnu.org>
5834         Update documentation of pure-space overflow
5836         * doc/lispref/internals.texi (Garbage Collection)
5837         (Pure Storage):
5838         * src/alloc.c (Fgarbage_collect): Update the documentation of
5839         pure-space overflow for when pdumper is used.  (Bug#38492)
5841 2019-12-14  Stefan Monnier  <monnier@iro.umontreal.ca>
5843         * lisp/minibuffer.el (completion-pcm--find-all-completions): Simplify a bit
5845 2019-12-14  Michael Albinus  <michael.albinus@gmx.de>
5847         * lisp/net/tramp.el (tramp-initial-file-name-regexp): Make it more precise.
5849 2019-12-14  Eli Zaretskii  <eliz@gnu.org>
5851         Fix cross-references in ELisp manual
5853         * doc/lispref/commands.texi (Misc Events, Special Events): Fix
5854         cross-references.  (Bug#38520)
5856 2019-12-14  Eli Zaretskii  <eliz@gnu.org>
5858         Don't warn about pure-space overflow
5860         * lisp/startup.el (command-line-1): Don't warn about
5861         pure-space overflow if we were dumped with pdumper.
5862         (Bug#38492)
5864 2019-12-13  Paul Eggert  <eggert@cs.ucla.edu>
5866         Fix typo that broke GNU/Linux unexec build
5868         * src/emacs.c (Fdump_emacs): Remove stray closing brace that
5869         breaks the build when configured with --with-dumping=unexec on
5870         GNU/Linux.  (Apparently everybody is using pdumper now.)
5871         I introduced the bug in 2019-07-09T00:50:39Z!eggert@cs.ucla.edu.
5873 2019-12-13  Juanma Barranquero  <lekktu@gmail.com>
5875         xfaces.c: Silence spurious maybe-uninitialized compiler warning
5877         * src/xfaces.c (face_inherited_attr): Initialize 'ok' to false.
5879 2019-12-13  João Távora  <joaotavora@gmail.com>
5881         Disable undo in the process buffers of a JSONRPC connection
5883         * lisp/jsonrpc.el (initialize-instance jsonrpc-process-connection):
5884         Use buffer-disable-undo in stdout and stderr buffers.
5886         * lisp/jsonrpc.el (Version): Bump to 1.0.9
5888 2019-12-13  Michael Albinus  <michael.albinus@gmx.de>
5890         * lisp/net/tramp.el (tramp-unload-tramp): Autoload function body.
5892 2019-12-13  Andrii Kolomoiets  <andreyk.mad@gmail.com>
5894         python-shell-completion-at-point: respect simple-operator (Bug#37808)
5896         * lisp/progmodes/python.el (python-shell-completion-at-point): Also
5897         stop on simple-operator while parsing input.
5899 2019-12-13  Mattias Engdegård  <mattiase@acm.org>
5901         Allow characters and single-char strings in rx charsets
5903         The `not' and `intersection' forms, and `or' inside these forms,
5904         now accept characters and single-character strings as arguments.
5905         Previously, they had to be wrapped in `any' forms.
5906         This does not add expressive power but is a convenience and is easily
5907         understood.
5909         * doc/lispref/searching.texi (Rx Constructs): Amend the documentation.
5910         * etc/NEWS: Announce the change.
5911         * lisp/emacs-lisp/rx.el (rx--charset-p, rx--translate-not)
5912         (rx--charset-intervals, rx): Accept characters and 1-char strings in
5913         more places.
5914         * test/lisp/emacs-lisp/rx-tests.el (rx-not, rx-charset-or)
5915         (rx-def-in-charset-or, rx-intersection): Test the change.
5917 2019-12-13  Noam Postavsky  <npostavs@gmail.com>
5919         Add prefix to help.el uni-confusable* vars
5921         * lisp/help.el (help-uni-confusables, help-uni-confusables-regexp):
5922         Rename from uni-confusable and uni-confusables-regexp, respectively.
5923         (help-uni-confusable-suggestions): Use ngettext.  Use new variable
5924         name.
5925         * lisp/emacs-lisp/lisp-mode.el (lisp--match-confusable-symbol-character):
5926         Use new variable name.
5928 2019-12-13  Eli Zaretskii  <eliz@gnu.org>
5930         A better fix for extension of overlay string's faces
5932         * src/xdisp.c (face_at_pos): Revert previous change that
5933         rejected the underlying face if it failed the filtering
5934         criteria.
5935         * src/xfaces.c (face_at_string_position): Reset the base face's
5936         attribute used for filtering faces if the attribute is t.
5937         (Bug#38563)
5939 2019-12-12  Juri Linkov  <juri@linkov.net>
5941         * lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation): Use 'user-error'.
5943         * lisp/wid-edit.el (widget-field): Add ':extend t' to defface (bug#37774)
5945 2019-12-12  Mattias Engdegård  <mattiase@acm.org>
5947         Use `or' instead of `union' for charset union in rx
5949         Design change suggested by Stefan Monnier.
5951         * doc/lispref/searching.texi (Rx Constructs):
5952         * etc/NEWS: Document.
5953         * lisp/emacs-lisp/rx.el (rx--translate-or): Detect charset arguments.
5954         (rx--charset-p): New.
5955         (rx--translate-not, rx--charset-intervals, rx--translate-union):
5956         Change from `union' to `or'.
5957         (rx--translate-form, rx--builtin-forms, rx): Remove `union'.
5958         * test/lisp/emacs-lisp/rx-tests.el (rx-union, rx-def-in-union)
5959         (rx-intersection): Rename tests and change `union' to `or' and `|'.
5961 2019-12-12  Michael Albinus  <michael.albinus@gmx.de>
5963         Optimize prompt search in Tramp
5965         * lisp/net/tramp.el (tramp-search-regexp): New defun.
5966         (tramp-check-for-regexp, tramp-process-sentinel):
5967         * lisp/net/tramp-adb.el (tramp-adb-send-command-and-check)
5968         (tramp-adb-wait-for-output):
5969         * lisp/net/tramp-sh.el (tramp-wait-for-output)
5970         (tramp-send-command-and-check):
5971         * lisp/net/tramp-smb.el (tramp-smb-handle-set-file-acl):
5972         Bind search length.
5974 2019-12-12  Juanma Barranquero  <lekktu@gmail.com>
5976         Avoid spurious warning about maybe-uninitialized variable
5978         * src/xdisp.c (face_at_pos): Initialize base_face_id to 0
5979         to silence the compiler.
5981 2019-12-12  Eli Zaretskii  <eliz@gnu.org>
5983         Fix face extension of overlay strings on buffer text with faces
5985         * src/xdisp.c (face_at_pos): Reject the face returned by
5986         'underlying_face_id' when we are filtering by face attribute,
5987         and that attribute's value fails the filter test.  (Bug#38563)
5989 2019-12-11  Robert Pluim  <rpluim@gmail.com>
5991         Treat passed strings as raw-text when percent-escaping in epg
5993         The strings contained in gpg keys can contain UTF-8 data, but can also
5994         use percent-escapes to encode non-ASCII chars.  When converting those
5995         escapes, use 'raw-text' coding system rather than 'string-to-unibyte',
5996         since the latter signals an error for non-ASCII characters.
5998         * lisp/epg.el (epg--decode-percent-escape): Convert the passed
5999         string to raw-text before treating percent escapes (Bug#38512).
6001 2019-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>
6003         * lisp/emacs-lisp/debug.el (debug-on-entry): Allow undefined functions
6005         Allow placing debug-on-entry on a function not-yet-defined, which
6006         is convenient when the problem you're investigating happens while
6007         the relevant files are loaded.
6009 2019-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>
6011         * lisp/font-lock.el (font-lock-fontify-region): Widen here (bug#38049)
6013         (font-lock-default-fontify-region): Instead of here.
6015 2019-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>
6017         * lisp/calculator.el (cl-lib): Require at run-time as well.
6019         Needed since we pass the `cl-flet` macro to `eval` in `calculator-funcall`.
6021 2019-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>
6023         * lisp/gnus/message.el (message-expand-name-standard-ui): New option
6025         (message--old-style-completion-functions): New var.
6026         (message-completion-function): Allow functions on
6027         `message-completion-alist` to follow the capf protocol.
6028         (message-completion-alist): Adjust docstring accordingly.
6029         Simplify regexps and make them apply more liberally.
6030         (message-expand-group): Use the capf protocol.
6031         (completion-category-defaults): Use 'substring' completion style by
6032         default for email addresses.
6033         (message--bbdb-query-with-words, message--name-table): New functions.
6034         (message-expand-name): Use them to obey `message-expand-name-standard-ui`.
6036 2019-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>
6038         * lisp/net/eudc.el (eudc-query-with-words): New function
6040         Extracted from eudc-expand-inline.
6041         (eudc-expand-inline): Use it.
6043 2019-12-11  Eli Zaretskii  <eliz@gnu.org>
6045         Avoid infloop in face merging due to bad face spec
6047         * src/xfaces.c (face_inherited_attr): Don't infloop if
6048         get_lface_attributes fails in the inner loop.  Reported by
6049         Yuri D'Elia <wavexx@thregr.org>.
6051 2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>
6053         * src/xterm.c: Remove long-obsolete comments.
6055 2019-12-11  Robert Pluim  <rpluim@gmail.com>
6057         Check for GUI frame in ns_color_index_to_rgba
6059         * src/nsterm.m (ns_color_index_to_rgba): Check that we're using a GUI
6060         frame before converting color (Bug#38564).
6062 2019-12-11  Michael Albinus  <michael.albinus@gmx.de>
6064         Don't spam the echo area and the *Messages* buffer in Tramp
6066         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered):
6067         When called during `revert-buffer', don't spam the echo area and
6068         the *Messages* buffer.
6070 2019-12-10  Paul Eggert  <eggert@cs.ucla.edu>
6072         Improve tv_nsec doc
6074         * doc/lispref/internals.texi (Module Values):
6075         Document tv_nsec more accurately.
6077 2019-12-10  Paul Eggert  <eggert@cs.ucla.edu>
6079         Just use size_t for emacs_limb_t
6081         * src/emacs-module.h.in: Do not include limits.h; no longer needed.
6082         (emacs_limb_t, EMACS_LIMB_MAX): Now size_t and SIZE_MAX.
6084 2019-12-10  Mattias Engdegård  <mattiase@acm.org>
6086         Add `union' and `intersection' to rx (bug#37849)
6088         These character set operations, together with `not' for set
6089         complement, improve the compositionality of rx, and reduce duplication
6090         in complicated cases.  Named character classes are not permitted in
6091         set operations.
6093         * lisp/emacs-lisp/rx.el (rx--translate-any): Split into multiple
6094         functions.
6095         (rx--foldl, rx--parse-any, rx--generate-alt, rx--intervals-to-alt)
6096         (rx--complement-intervals, rx--intersect-intervals)
6097         (rx--union-intervals, rx--charset-intervals, rx--charset-union)
6098         (rx--charset-all, rx--charset-intersection, rx--translate-union)
6099         (rx--translate-intersection): New.
6100         (rx--translate-not, rx--translate-form, rx--builtin-forms, rx):
6101         Add `union' and `intersection'.
6102         * test/lisp/emacs-lisp/rx-tests.el (rx-union ,rx-def-in-union)
6103         (rx-intersection, rx-def-in-intersection): New tests.
6104         * doc/lispref/searching.texi (Rx Constructs):
6105         * etc/NEWS:
6106         Document `union' and `intersection'.
6108 2019-12-10  Alan Third  <alan@idiocy.org>
6110         Fix XBM files on NS (bug#26133)
6112         Reinstate some of the functionality removed in commit
6113         67a878f78f879ce534232408c34dd11f42dd802b.
6115         * src/nsimage.m (ns_image_from_XBM): Use new reverseBytes argument.
6116         ([EmacsImage initFromXBM:width:height:fg:bg:reverseBytes:]): Add
6117         ability to reverse the contents of each byte for use with XBMs, while
6118         still working with fringe bitmaps.
6119         * src/nsterm.h
6120         ([EmacsImage initFromXBM:width:height:fg:bg:reverseBytes:]): Modified
6121         function definition.
6122         * src/nsterm.m (ns_draw_fringe_bitmap): Use new reverseBytes argument.
6124 2019-12-10  Alan Third  <alan@idiocy.org>
6126         Fix dabbrev-completion (bug#17899)
6128         * lisp/dabbrev.el (dabbrev--check-all-buffers): Add new variable.
6129         (dabbrev-completion): Lexical scoping means we can't use let to
6130         override global variables, so use setq.
6131         (dabbrev--reset-global-variables): Reset new variable.
6132         (dabbrev--make-friend-buffer-list): Use new variable.
6133         * test/lisp/dabbrev-tests.el (dabbrev-completion-test):
6134         (dabbrev-completion-test-with-argument): New tests.
6136 2019-12-10  Alan Third  <alan@idiocy.org>
6138         Fix mouse-position on macOS (bug#4892)
6140         * src/nsterm.m (ns_mouse_position): Implement a search for the frame
6141         under the mouse pointer.
6143 2019-12-10  Federico Tedin  <federicotedin@gmail.com>
6145         Simplify call to add-to-history in read_minibuf
6147         * src/minibuf.c (read_minibuf): Avoid restoring the previous buffer,
6148         as this is already done at the end of the function; call
6149         `add-to-history' after that point.
6151 2019-12-09  Paul Eggert  <eggert@cs.ucla.edu>
6153         Spelling fixes
6155 2019-12-09  Paul Eggert  <eggert@cs.ucla.edu>
6157         Prefer static to extern in ebrowse
6159         * lib-src/ebrowse.c (info_where, info_cls, info_member)
6160         (info_position, options, yyival, yytext, yytext_end, yyout)
6161         (yyline, filename, is_ident, is_digit, is_white, f_append)
6162         (f_verbose, f_very_verbose, f_structs, f_regexps)
6163         (f_nested_classes, min_regexp, max_regexp, inbuffer, in)
6164         (inbuffer_size, string_start, class_table, member_table)
6165         (namespace_alias_table, global_symbols, current_namespace)
6166         (all_namespaces, namespace_stack, namespace_stack_size)
6167         (namespace_sp, tk, keyword_table, search_path)
6168         (search_path_tail, scope_buffer, scope_buffer_size)
6169         (scope_buffer_len): Now static.
6170         (options): Now const.
6172 2019-12-09  Paul Eggert  <eggert@cs.ucla.edu>
6174         * lib-src/etags.c (pot_etags_version): Remove; unused.
6176         * lib-src/etags.c (Forth_suffixes): Now static.
6178 2019-12-09  Dmitry Gutov  <dgutov@yandex.ru>
6180         Rename faces used in faces-tests.el
6182         * test/data/themes/faces-test-light-theme.el:
6183         * test/data/themes/faces-test-dark-theme.el: Update accordingly.
6185         * test/lisp/faces-tests.el (faces--test-extend-with-themes):
6186         Don't use the diff-mode faces.  Rename the definitions.
6188 2019-12-09  Dmitry Gutov  <dgutov@yandex.ru>
6190         Make ':extend' inherited from default spec unless overridden
6192         * lisp/faces.el (face-spec-recalc): Handle the :extend attribute
6193         specially and always inherit it from the default spec unless
6194         overwritten in a theme (bug#37774).
6196         * test/lisp/faces-tests.el (faces--test-data-dir): New variable.
6197         (faces--test-extend-with-themes): Use test themes instead of ones
6198         from etc/themes.  Update expected values.
6200         * test/data/themes/faces-test-dark-theme.el: New file.
6202         * test/data/themes/faces-test-light-theme.el: New file.
6204         * doc/lispref/display.texi (Face Attributes):
6205         Update the description of ':extend'.
6207         * etc/NEWS: Update the entry for ':extend'.
6209         * etc/themes/adwaita-theme.el:
6210         * etc/themes/deeper-blue-theme.el:
6211         * etc/themes/dichromacy-theme.el:
6212         * etc/themes/leuven-theme.el:
6213         * etc/themes/light-blue-theme.el:
6214         * etc/themes/manoj-dark-theme.el:
6215         * etc/themes/misterioso-theme.el:
6216         * etc/themes/tango-dark-theme.el:
6217         * etc/themes/tango-theme.el:
6218         * etc/themes/tsdh-dark-theme.el:
6219         * etc/themes/tsdh-light-theme.el:
6220         * etc/themes/wheatgrass-theme.el:
6221         * etc/themes/wombat-theme.el: Remove the now-redundant ':extend'
6222         attribute in all the themes.
6224 2019-12-09  Juri Linkov  <juri@linkov.net>
6226         * lisp/emacs-lisp/map-ynp.el (read-answer): Use [remap self-insert-command]
6228         This reverts the last change that replaced [remap self-insert-command]
6229         with [t].  The user should have freedom of using any command
6230         in the minibuffer.  (bug#32738)
6232 2019-12-09  Paul Eggert  <eggert@cs.ucla.edu>
6234         Improve module bignum doc
6236         * doc/lispref/internals.texi (Module Values): Tighten up
6237         wording and code, and make the long example self-contained.
6238         Fit things in margins.
6240 2019-12-09  Dmitry Gutov  <dgutov@yandex.ru>
6242         project-find-regexp: Default to symbol at point
6244         * lisp/progmodes/project.el (project--read-regexp):
6245         Don't rely on the Xref backend to provide the default value.
6247 2019-12-09  Eli Zaretskii  <eliz@gnu.org>
6249         Add more tests for face :extend attribute
6251         * test/lisp/faces-tests.el (faces--test-extend-with-themes):
6252         New set of tests for verifying the :extend attribute across
6253         theme loading and unloading, and also via face inheritance.
6254         (Bug#37774)
6256 2019-12-08  Juri Linkov  <juri@linkov.net>
6258         * lisp/emacs-lisp/map-ynp.el (read-answer): Allow more SHORT-ANSWER types.
6260         Treat SHORT-ANSWER as a character is characterp returns non-nil.
6261         Otherwise, use key-description to print it.
6262         Use catch-all [t] in keymap instead of [remap self-insert-command].
6263         (bug#32738)
6265 2019-12-08  Juri Linkov  <juri@linkov.net>
6267         * doc/emacs/mini.texi (Minibuffer Edit): Add minibuffer-depth-indicate-mode.
6269         * doc/emacs/search.texi (Regexp Backslash): Change xref from
6270         "(elisp) Syntax Tables" to "(elisp) Syntax Class Table".
6272         * doc/lispref/display.texi (Other Display Specs): Change xref from
6273         "Images" to "Image Descriptors".
6275         (bug#38519)
6277 2019-12-08  Juri Linkov  <juri@linkov.net>
6279         * lisp/simple.el (shell-command-on-region): Use set-buffer-major-mode.
6281         This enables globalized minor modes explicitly after get-buffer-create
6282         creates "*Shell Command Output*" buffer (bug#38111).
6284 2019-12-08  Juri Linkov  <juri@linkov.net>
6286         Move recenter/scroll keybindings from minibuffer-local-map to read-char map
6288         * lisp/minibuffer.el (minibuffer-local-map): Move remap of
6289         recenter/scroll keybindings to read-char-from-minibuffer-map.
6291         * lisp/subr.el (read-char-from-minibuffer-map): Move remap of
6292         recenter/scroll keybindings here from minibuffer-local-map.
6293         (bug#38502)
6295 2019-12-08  Juri Linkov  <juri@linkov.net>
6297         * lisp/tab-line.el (tab-line-format): Use composite cache key (bug#38522)
6299 2019-12-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
6301         Continued fixes to gnus registry loading
6303         * lisp/gnus/gnus-registry.el (gnus-registry-db): Do not initialize
6304         this variable to an empty database, that should only be done for new
6305         databases.
6306         (gnus-registry-load): Remove "force" argument, don't check if the
6307         database is already loaded, as we're only going to load it once.
6308         (gnus-registry-initialize): Either load the db directly, or set up a
6309         hook to do it later.
6310         (gnus-registry-install-hooks): Don't load on
6311         gnus-read-newsrc-el-hook.
6313 2019-12-07  Juri Linkov  <juri@linkov.net>
6315         * lisp/man.el (Man-width-max): New defcustom (bug#32536, bug#9385)
6317         (Man-columns): New buffer-local variable.
6318         (Man-columns): New function.
6319         (Man-start-calling): Call Man-columns and set buffer-local Man-columns.
6320         (Man--window-state-change-timer): New internal variable.
6321         (Man--window-state-change): New internal function.
6322         (Man-fit-to-window): New function.
6323         (Man-mode): Add Man--window-state-change to local hook
6324         window-state-change-functions.
6326         * lisp/image-mode.el (image-fit-to-window): Add window arg to
6327         window-buffer call.
6329 2019-12-07  Robert Cochran  <robert-git@cochranmail.com>
6331         Add hooks for after tab open, before close, and to prevent closing
6333         * lisp/tab-bar.el (tab-bar-tab-post-open-functions,
6334         tab-bar-tab-prevent-close-functions, tab-bar-tab-pre-close-functions):
6335         New defcustoms
6336         (tab-bar-new-tab-to, tab-bar-close-tab): Use new defcustoms
6338 2019-12-07  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
6340         Ignore comments and strings when matching JSX
6342         * lisp/progmodes/js.el (js-jsx--matching-close-tag-pos): Ignore
6343         comments and strings.
6344         * test/manual/indent/jsx-comment-string.jsx: New test.
6346 2019-12-07  Alan Mackenzie  <acm@muc.de>
6348         CC Mode: Allow most functions on post-self-insert-hook to be called
6350         This contrasts with the previous state where no such functions got called.
6351         This fixes bug #38406.
6353         * lisp/progmodes/cc-cmds.el (c--unsafe-post-self-insert-hook-functions): New
6354         variable.
6355         (c--call-post-self-insert-hook-more-safely-1): New function.
6356         (c--call-post-self-insert-hook-more-safely): New macro.
6357         (c-electric-pound, c-electric-brace, c-electric-slash, c-electric-star)
6358         (c-electric-semi&comma, c-electric-colon, c-electric-lt-gt, c-electric-paren):
6359         Invoke c--call-post-self-insert-hook-more-safely (which calls most of the hook
6360         post-self-insert-hook) at the end of each of the commands.
6362 2019-12-07  Michael Albinus  <michael.albinus@gmx.de>
6364         Add unload code to tramp-integration.el
6366         * lisp/net/tramp-integration.el (info-lookup->mode-cache)
6367         (info-lookup->topic-cache, info-lookup-alist): Declare.
6368         (ido, ivy, info-look): Adapt `tramp-integration-unload-hook'.
6370 2019-12-07  Eli Zaretskii  <eliz@gnu.org>
6372         Corrections in semantic.texi
6374         * doc/misc/semantic.texi (Parser code, Tag handling)
6375         (Semanticdb Internals, Analyzer Internals, Tools): Fix file
6376         names according to what was actually imported from the
6377         original CEDET.  (Bug#38451)
6379 2019-12-07  Eli Zaretskii  <eliz@gnu.org>
6381         Fix documentation of '-position' server command
6383         * lisp/server.el (server-process-filter): Fix the description
6384         of "-position" command to match the reality.  (Bug#38443)
6386 2019-12-07  Andrii Kolomoiets  <andreyk.mad@gmail.com>
6388         Ensure buffer is alive in python-pdbtrack-unset-tracked-buffer
6390         * lisp/progmodes/python.el (python-pdbtrack-unset-tracked-buffer):
6391         Check if buffer `python-pdbtrack-tracked-buffer' is alive.
6392         (Bug#38413)
6394 2019-12-07  Eli Zaretskii  <eliz@gnu.org>
6396         Fix fallout from fixing bug#37782
6398         * src/keyboard.c (read_key_sequence): Modify the fix for
6399         bug#37782 so that it applies only to keyboard keys, not to
6400         other events, such as a new buffer.  (Bug#38132)
6402 2019-12-07  Eli Zaretskii  <eliz@gnu.org>
6404         Minor fix in the ELisp manual
6406         * doc/lispref/files.texi (Saving Buffers): Remove the
6407         reference to the obsolete Fast Lock mode.  (Bug#37956)
6409 2019-12-06  Eli Zaretskii  <eliz@gnu.org>
6411         Remove duplicate macros from ses.el
6413         * lisp/ses.el (1value, noreturn): Macros deleted, as we
6414         nowadays have them in subr.el.  (Bug#38514)
6416 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
6418         Test format-time-string padding
6420         Adapted from tests written by Stephen Gildea.
6421         * test/src/timefns-tests.el:
6422         (format-time-string-padding-minimal-deletes-unneeded-zeros)
6423         (format-time-string-padding-minimal-retains-needed-zeros)
6424         (format-time-string-padding-spaces)
6425         (format-time-string-padding-zeros-adds-on-insignificant-side):
6426         New tests.
6428 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
6430         Update from Gnulib
6432         This incorporates:
6433         2019-12-06 nstrftime: better width support for %N, %z
6434         2019-12-03 Avoid hassles caused by [[noreturn]] in C++
6435         2019-12-02 Fix mistakes in --enable-threads=isoc fixes from 2019-12-01
6436         * admin/merge-gnulib (AVOIDED_MODULES): Avoid pthread-h.
6437         * lib/_Noreturn.h, lib/nstrftime.c, m4/gnulib-common.m4:
6438         * m4/timer_time.m4:
6439         Copy from Gnulib.
6440         * lib/gnulib.mk.in: Regenerate.
6442 2019-12-06  Michael Albinus  <michael.albinus@gmx.de>
6444         Configure info-look.el to recognize Tramp symbols
6446         * lisp/net/tramp-integration.el (info-lookup->cache)
6447         (info-lookup->mode-value, info-lookup->other-modes)
6448         (info-lookup->topic-value, info-lookup-maybe-add-help)
6449         (info-lookup-cache): Declare.
6450         (info-look): Configure info-look.el to recognize Tramp symbols.
6452 2019-12-06  Eli Zaretskii  <eliz@gnu.org>
6454         Clarify documentation of functions that use the default face
6456         * lisp/simple.el (default-font-height, default-font-width)
6457         (default-line-height): Say in the doc strings that the default
6458         face these functions use is for the currently selected frame.
6460         * doc/lispref/display.texi (Attribute Functions)
6461         (Low-Level Font): Document more clearly the dependence of the
6462         results of 'face-font', 'default-font-width', and
6463         'default-font-height' on the frame's definition of the default
6464         face.
6466 2019-12-06  Eli Zaretskii  <eliz@gnu.org>
6468         Fix set-marker when the position is larger than the largest buffer
6470         * src/marker.c (set_marker_internal): Handle the case where
6471         POSITION is beyond PTRDIFF_MAX, which can happen if Emacs was
6472         built --with-wide-int.  Bug uncovered by the recently added
6473         overlay tests.
6475 2019-12-05  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
6477         Merge branch 'completion-first-difference_face'
6479 2019-12-05  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
6481         Fix setting completions* faces in
6483         `completion-pcm--hilit-commonality` so that these faces doesn't
6484         override possible already existing faces in other UIs.
6486         * lisp/minibuffer.el (completion-pcm--hilit-commonality): Use
6487         `add-face-text-property` instead of `put-text-property`.
6489 2019-12-05  Andreas Politz  <politza@hochschule-trier.de>
6491         * test/src/buffer-tests.el: Add loads of overlay tests
6493         Taken from the `feature/noverlay` branch.
6494         Suggested by Vladimir Kazanov <vekazanov@gmail.com>.
6496 2019-12-05  Paul Eggert  <eggert@cs.ucla.edu>
6498         2019-12-05 regexp lint fixes
6500         * lisp/org/org-agenda.el (org-agenda-filter):
6501         Fix unescaped literal ‘+’ in regexp.  Reported by Mattias Engdegård in:
6502         https://lists.gnu.org/r/emacs-devel/2019-12/msg00215.html
6503         * lisp/org/org.el (org-clone-subtree-with-time-shift):
6504         Fix a regexp typo that mishandled strings like ‘\1d’,
6505         reported by the same emaikl.
6506         * lisp/progmodes/verilog-mode.el (verilog-inject-inst):
6507         Omit unnecessary ‘?’ in regexp.  Reported by Mattias Engdegård in:
6508         https://lists.gnu.org/r/emacs-devel/2019-12/msg00217.html
6510 2019-12-05  Eli Zaretskii  <eliz@gnu.org>
6512         Another fix for :extend when :inherit is used
6514         * src/xfaces.c (face_inherited_attr): Support also values of
6515         :inherit which are lists.  (Bug#37774)
6517 2019-12-05  Eli Zaretskii  <eliz@gnu.org>
6519         Minor copyedits of 'jit-lock-antiblink-grace's docs
6521         * lisp/jit-lock.el (jit-lock-antiblink-grace):
6522         * etc/NEWS (value): Reword the NEWS entry and the doc string.
6524 2019-12-05  Eli Zaretskii  <eliz@gnu.org>
6526         Fix recent modifications in emacs-module-tests
6528         * test/data/emacs-module/mod-test.c (extract_big_integer): Fix
6529         calculation of size of 'magnitude' when 'emacs_limb_t' is wider
6530         than 'unsigned long'.
6532         * test/src/emacs-module-tests.el
6533         (module--test-assertions--load-non-live-object)
6534         (module--test-assertions--call-emacs-from-gc): On MS-Windows,
6535         check also mod-test-emacs with ".exe" appended, before
6536         skipping the tests.
6538 2019-12-05  Federico Tedin  <federicotedin@gmail.com>
6540         Make HIST arg of read-from-minibuffer work with buffer-local vars
6542         * lisp/simple.el (minibuffer-history-values): New function, should be
6543         used to access the minibuffer input history variable when the
6544         minibuffer might be active.  If the variable is buffer-local, the
6545         previous buffer's value will be used.
6546         (goto-history-element): Use the new function to access the minibuffer
6547         history.
6548         (minibuffer-history-isearch-wrap): Use the new function to access the
6549         minibuffer history.
6550         * src/minibuf.c (read_minibuf): Switch to previous buffer temporarily
6551         before updating history list (Bug#38317).
6552         (read-from-minibuffer): Extend documentation to mention that the
6553         result of using the command will be added to the history list by
6554         default.
6555         * doc/lispref/minibuf.texi (Minibuffer History): Mention the
6556         possibility of using a buffer-local variable as history.
6557         * etc/NEWS: Announce changes.
6559 2019-12-04  Paul Eggert  <eggert@cs.ucla.edu>
6561         Pacify GCC 9.2.1 with recent module changes
6563         * src/emacs-module.c (module_encode): Remove unused decl.
6564         (module_extract_big_integer): Pacify gcc -Wenum-compare.
6566 2019-12-04  Paul Eggert  <eggert@cs.ucla.edu>
6568         Fix regex repetition of repetitions
6570         Problems reported by Mattias Engdegård in:
6571         https://lists.gnu.org/r/emacs-devel/2019-12/msg00066.html
6572         * lisp/gnus/gnus-util.el (gnus-emacs-version):
6573         * lisp/mail/rfc2368.el (rfc2368-mailto-regexp):
6574         * lisp/net/tramp-sh.el (tramp-sh-inotifywait-process-filter):
6575         * lisp/obsolete/terminal.el (te-parse-program-and-args):
6576         * lisp/org/org-table.el (org-table-wrap-region):
6577         * lisp/progmodes/verilog-mode.el (verilog-inject-inst):
6578         Avoid repetition-of-repetition in regexp.
6580 2019-12-04  Philipp Stephani  <phst@google.com>
6582         Fix small bugs introduced in commit 096be9c454
6584         * src/module-env-27.h:
6585         * src/emacs-module.c (module_make_big_integer): Use 'emacs_limb_t'
6586         instead of 'unsigned long' consistently
6588 2019-12-04  Juri Linkov  <juri@linkov.net>
6590         * lisp/tab-line.el: Cache the tab-line-format template.
6592         (tab-line-format): Cache the result of tab-line-format-template in window.
6593         (tab-line-format-template): New function that returns the value to cache.
6595 2019-12-04  Juri Linkov  <juri@linkov.net>
6597         * lisp/windmove.el (windmove-display-new-tab): New command.
6599         (windmove-display-default-keybindings): Bind it to '?t'.
6600         (windmove-display-in-direction): Call tab-bar-new-tab when 'dir' is 'new-tab'.
6602 2019-12-04  Juri Linkov  <juri@linkov.net>
6604         * lisp/tab-bar.el (tab-bar-get-buffer-tab): Move code closer to its use.
6606 2019-12-04  Juri Linkov  <juri@linkov.net>
6608         * lisp/tab-bar.el (switch-to-buffer-other-tab): Use display-buffer-in-tab.
6610         (tab-bar--tab): Use float-time instead of integer.
6611         This improves correct detection of recent tabs switched within 1 sec.
6612         (tab-bar--current-tab, tab-bar--current-tab-index)
6613         (tab-bar--tab-index, tab-bar--tab-index-by-name)
6614         (tab-bar--tab-index-recent): Add optional arg FRAME.
6615         (tab-bar-move-tab-to-frame): Add with-selected-frame for tab-bar-close-tab.
6616         (tab-bar--reusable-frames): New function.
6617         (tab-bar-get-buffer-tab): Add index to the found tab.
6618         (display-buffer-in-tab): Use `tab-name' entry instead of `name'.
6619         Add `reusable-frames' entry.  (bug#38354)
6621 2019-12-04  João Távora  <joaotavora@gmail.com>
6623         New jit-lock-antiblink-grace feature
6625         * lisp/jit-lock.el (jit-lock-antiblink-grace): New defcustom.
6626         (jit-lock--antiblink-line-beginning-position)
6627         (jit-lock--antiblink-string-or-comment): New variables
6628         (jit-lock--antiblink-post-command): New helper.
6629         (jit-lock-mode): Tweak post-command-hook and
6630         jit-lock-context-timer.
6632         * etc/NEWS: Mention jit-lock-antiblink-grace
6634 2019-12-04  Philipp Stephani  <phst@google.com>
6636         Use new function encode_string_utf_8 for the module API, too
6638         * src/emacs-module.c (module_encode): Remove.
6639         (module_copy_string_contents): Use encode_string_utf_8.
6640         (syms_of_module): Define symbol 'unicode-string-p'.
6642 2019-12-04  Philipp Stephani  <phst@google.com>
6644         * src/emacs-module.c: Add a few more restrictions for emacs-module.h
6646 2019-12-04  Philipp Stephani  <phst@google.com>
6648         Change module interface to no longer use GMP objects directly.
6650         As described in the new comment added to emacs-module.c, using GMP
6651         directly in the module interface has significant downsides: it couples
6652         the module interface directly to the implementation and requires
6653         module authors to link their module against the same GMP library as
6654         Emacs itself, which is often difficult and an unnecessary burden.  By
6655         picking a representation for the magnitude that often matches the one
6656         used by GMP, we can avoid overhead when converting from and to GMP in
6657         most cases.
6659         Loading the test module in test/data/emacs-module and evaluating
6661         (dotimes (_ 10000)
6662           (mod-test-double (* 2 most-negative-fixnum)))
6664         under Callgrind shows that on my (GNU/Linux) machine Emacs only spends
6665         10% of the CPU time of mod-test-double in mpz_import and mpz_export
6666         combined, even though that function does little else.  (By contrast,
6667         30% is spent in allocate_pseudovector.)
6669         * src/emacs-module.h.in: Don't check EMACS_MODULE_GMP.  Don't include
6670         gmp.h.  Remove emacs_mpz structure.  Instead, define type alias
6671         emacs_limb_t and macro EMACS_LIMB_MAX.
6673         * src/module-env-27.h: Change interface of extract_big_integer and
6674         make_big_integer to take a sign-magnitude representation instead of
6675         mpz_t.
6677         * src/emacs-module.c: Don't check EMACS_MODULE_GMP or
6678         EMACS_MODULE_HAVE_MPZ_T.  Add a comment about the chosen
6679         implementation.
6680         (module_extract_big_integer, module_make_big_integer): Reimplement
6681         without using mpz_t in the interface.
6683         * doc/lispref/internals.texi (Module Values): Adapt function
6684         documentation and example.  Stop mentioning GMP and EMACS_MODULE_GMP.
6686         * test/data/emacs-module/mod-test.c: Don't define EMACS_MODULE_GMP or
6687         EMACS_MODULE_HAVE_MPZ_T.
6688         (memory_full, extract_big_integer, make_big_integer): New helper
6689         functions, identical to example in the Info documentation.
6690         (Fmod_test_nanoseconds, Fmod_test_double): Adapt to new interface.
6692 2019-12-04  Bastien  <bzg@gnu.org>
6694         etc/ORG-NEWS: Fix contents
6696 2019-12-04  Juanma Barranquero  <lekktu@gmail.com>
6698         * lisp/doc-view.el (doc-view-doc-type): Doc fix.
6700 2019-12-04  Mattias Engdegård  <mattiase@acm.org>
6702         Don't use the return value of 'push'
6704         Although 'push' returns the modified list, it isn't actually
6705         documented to do so, so don't rely on it.
6707         * lisp/emacs-lisp/rx.el (rx--translate-any): Add progn.
6709 2019-12-03  Juanma Barranquero  <lekktu@gmail.com>
6711         Silence warnings in Org 9.3
6713         * lisp/org/ob-eshell.el (eshell-send-input): Declare.
6714         (eshell-last-output-start, eshell-last-output-end)
6715         (eshell-last-input-end): Defvar.
6717         * lisp/org/org-keys.el (cl-lib): Require.
6718         (org-CUA-compatible): Move up defvaralias.
6720 2019-12-03  Juri Linkov  <juri@linkov.net>
6722         * lisp/tab-bar.el (tab-bar-move-tab-to-frame): New command (bug#38354)
6724         (tab-bar-tabs, tab-bar--tab): Add optional arg FRAME.
6725         (tab-bar-get-buffer-tab): Funcall tab-bar-tabs-function with arg FRAME
6726         instead of using with-selected-frame.
6728 2019-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
6730         * lisp/gnus/message.el (message-sendmail-envelope-from): Fix typo
6732         Reported by David Edmondson <dme@dme.org>.
6734 2019-12-03  Bastien  <bzg@gnu.org>
6736         Update Org to 9.3
6738 2019-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
6740         (message-sendmail-envelope-from): Obey `mail-envelope-from` even if set later
6742         * lisp/gnus/message.el (message-sendmail-envelope-from): Change default.
6743         (message--sendmail-envelope-from): New function.
6744         (message-sendmail-envelope-from): Use it.
6745         * lisp/mail/emacsbug.el (report-emacs-bug): Use it.
6747 2019-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
6749         * lisp/minibuffer.el (completion-pcm--optimize-pattern): New function
6751         This fixes bug#38458 where a final `point` in the pattern prevented
6752         the expected normal behavior of point moving after the completion
6753         of the final implicit `any`.
6755         (completion-pcm--find-all-completions)
6756         (completion-substring--all-completions): Use it.
6757         (completion-basic--pattern): Don't both removing "" any more.
6758         (completion-basic-try-completion): Use it as well as
6759         `completion-basic--pattern`.
6761 2019-12-03  Mattias Engdegård  <mattiase@acm.org>
6763         Avoid duplicated character classes in rx
6765         For example, (any digit digit) should produce "[[:digit:]]",
6766         not "[[:digit:][:digit:]]".
6768         * lisp/emacs-lisp/rx.el (rx--translate-any): Deduplicate character classes.
6769         * test/lisp/emacs-lisp/rx-tests.el (rx-any): Add test case.
6771 2019-12-02  Tobias Bading  <tbading@web.de>  (tiny change)
6773         Fix incorrect GTK menus on HiDPI monitors with scaling factor > 1
6775         This should fix Bug#31223, Bug#28106, Bug#23672 as well as Ubuntu bug
6776         https://bugs.launchpad.net/ubuntu/+source/emacs25/+bug/1695228
6778         Also fixes the formerly unscaled Y value returned by
6779         frame-monitor-workarea (and display-monitor-attributes-list).
6781         For details on why some GTK menus were empty please see thread
6782         https://lists.gnu.org/archive/html/emacs-devel/2019-11/msg01061.html
6784         * src/gtkutil.c (menubar_map_cb, xg_update_frame_menubar): Scale up
6785         req.height so that the menu bar's height is in device pixels as
6786         expected.
6787         (xg_event_is_for_menubar): Scale down rec.x and rec.y so that
6788         gtk_widget_intersect() works as intended.
6789         * src/xfns.c (Fx_display_monitor_attributes_list): Scale work.x and
6790         work.y up to be in device pixels.
6792 2019-12-02  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6794         Fix typo in populating otf_capability method for HarfBuzz
6796         * src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]:
6797         * src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]:
6798         * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper) [HAVE_HARFBUZZ]:
6799         * src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Fix typos.
6801 2019-12-02  Juri Linkov  <juri@linkov.net>
6803         New functions window-state-buffers and tab-bar-get-buffer-tab (bug#38354)
6805         * lisp/window.el (window-state-buffers): New function.
6806         * lisp/tab-bar.el (tab-bar-get-buffer-tab): New function.
6808         * lisp/emacs-lisp/seq.el (seq-some): Add autoload cookie.
6810         * lisp/desktop.el (desktop-buffers-not-to-save-function): New variable.
6811         (desktop-save-buffer-p): Use it.
6813 2019-12-02  Juanma Barranquero  <lekktu@gmail.com>
6815         Don't save/restore font-backend in framesets (bug#38442)
6817         * lisp/frameset.el (frameset-persistent-filter-alist):
6818         Add :never filter for `font-backend'.
6820 2019-12-01  Juanma Barranquero  <lekktu@gmail.com>
6822         ibuf-ext.el: Fix previous change
6824         * lisp/ibuf-ext.el (ibuffer-generate-filter-groups): Use
6825         `cl-destructuring-bind' instead of `cl-multiple-value-bind', as we
6826         don't want to assume how multiple-values are implemented, and we
6827         know a list is being returned anyway.  Suggested by Stefan Monnier.
6829 2019-12-01  Dmitry Gutov  <dgutov@yandex.ru>
6831         * lisp/vc/diff-mode.el (diff-context): Set 'extend t' (bug#37774).
6833 2019-12-01  Mattias Engdegård  <mattiase@acm.org>
6835         Temporary enable transient-mark-mode for rectangle selection
6837         * lisp/mouse.el (mouse-drag-region-rectangle):
6838         Enable transient-mark-mode during selection (bug#38431).
6840 2019-12-01  Michael Albinus  <michael.albinus@gmx.de>
6842         Suppress superfluous messages in tramp-tests
6844         * test/lisp/net/tramp-tests.el (tramp-test10-write-region)
6845         (tramp-test10-write-region-file-precious-flag)
6846         (tramp-test34-connection-local-variables)
6847         (tramp-test36-vc-registered): Let-bind `inhibit-message'.
6849 2019-12-01  Juanma Barranquero  <lekktu@gmail.com>
6851         ibuffer-mark-by-content-regexp: don't depend on `cl-some'
6853         * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): Use `cl-dolist'
6854         instead of `cl-some' to avoid a run-time dependency on cl-lib that
6855         triggers an unreported bug similar to bug#38430.
6857 2019-12-01  Juanma Barranquero  <lekktu@gmail.com>
6859         ibuffer-do-isearch: don't depend on `cl-values-list' (bug#38430)
6861         * lisp/ibuf-ext.el (ibuffer-generate-filter-groups): Don't call
6862         `cl-values-list'.  Our implementation of that function just
6863         checks that its argument is a list, and then returns it.  In
6864         this specific case, the argument is guaranteed to be a list.
6866 2019-11-30  Mattias Engdegård  <mattiase@acm.org>
6868         Improved mouse rectangle selection robustness (bug#38013)
6870         Make the rectangular selection work better with
6871         display-line-numbers-mode and side-by-side windows.
6872         Also make the mouse track the text cursor in a consistent way.
6874         * lisp/mouse.el (mouse--rectangle-track-cursor): Added constant.
6875         (mouse-drag-region-rectangle): Take the line-number width into
6876         account, and use window-relative columns.  Track either the cursor or
6877         rectangle corner with more care.
6879 2019-11-30  Juri Linkov  <juri@linkov.net>
6881         * lisp/tab-line.el (tab-line-auto-hscroll): Don't let-bind buffer-local values
6883         Use setq to set buffer-local values of truncate-lines and buffer-undo-list.
6884         This will prevent leaking of let-bound values to buffer-local values
6885         of the minibuffer.
6887 2019-11-30  Juri Linkov  <juri@linkov.net>
6889         * lisp/gnus/gnus-win.el (gnus-configure-frame): Check for window-live-p.
6891         * doc/misc/gnus.texi (Tabbed Interface): New node.  (bug#37998)
6893 2019-11-30  Juri Linkov  <juri@linkov.net>
6895         * lisp/subr.el: Add discard-input to more functions.
6897         * lisp/subr.el (read-char-from-minibuffer-insert-other)
6898         (y-or-n-p-insert-other): Use discard-input in case of user mistake.
6899         (do-after-load-evaluation): Add discard-input before calling 'message',
6900         so in case of the active minibuffer, calling minibuffer-message will allow
6901         sit-for to wait the complete timeout, because discard-input will discard
6902         all initial events that prevent sit-for from waiting during startup.
6903         https://lists.gnu.org/archive/html/emacs-devel/2019-11/msg00581.html
6905 2019-11-30  Alan Mackenzie  <acm@muc.de>
6907         CC Mode.  Fix fontification bug with unterminated quotes on adjacent lines
6909         In particular, with these unterminated quotes on each of two adjacent lines,
6910         the following text was spuriously fontified with string face.
6912         * lisp/progmodes/cc-defs.el
6913         (c-search-backward-char-property-with-value-on-char): New macro.
6915         * lisp/progmodes/cc-mode.el (c-clear-string-fences): Check whether there is an
6916         unmatched quote at a lower buffer position which should match the current
6917         quote, rather than wrongly assuming the latter is unmatched and marking it
6918         with a punctuation syntax.
6919         (c-font-lock-fontify-region): Ensure all pertinent parts of the buffer have
6920         string fence properties applied before performing any syntactic operations on
6921         it; in particular, this applies to a quote at an earlier buffer position which
6922         "matches" one inside the region about to be fontified.
6924 2019-11-30  Juri Linkov  <juri@linkov.net>
6926         * lisp/image.el: Support image scaling with mouse in other buffer.
6928         * lisp/image.el (image-increase-size, image-decrease-size):
6929         Add optional arg position.
6930         (image-mouse-increase-size, image-mouse-decrease-size):
6931         Use '(point-marker)' for arg position.
6932         (image--get-image): Use get-char-property from position if non-nil,
6933         and its buffer.
6934         (image--get-imagemagick-and-warn, image--change-size):
6935         Add optional arg position.
6937 2019-11-30  Juri Linkov  <juri@linkov.net>
6939         Use run-with-idle-timer instead of debounce for responsive image scaling.
6941         * lisp/emacs-lisp/timer.el (debounce, debounce-reduce): Revert macro addition.
6942         https://lists.gnu.org/archive/html/emacs-devel/2019-11/msg01133.html
6944         * lisp/image.el (image-increase-size, image-decrease-size):
6945         Use run-with-idle-timer.
6946         (image--change-size): Rename back from image--change-size-function.
6948         * lisp/image-mode.el (image-mode--setup-mode): Remove hooks
6949         window-size-change-functions and window-selection-change-functions (bug#32672)
6950         (image-fit-to-window): Rename from image--window-change-function.
6951         (image--window-state-change): Rename from image--window-change.
6952         Use run-with-idle-timer.
6954 2019-11-30  Juanma Barranquero  <lekktu@gmail.com>
6956         Fix compilation warning in vc-hg.el
6958         * lisp/vc/vc-hg.el (vc-read-revision): Declare.
6960 2019-11-30  Eli Zaretskii  <eliz@gnu.org>
6962         Minor fixes in last change
6964         * doc/emacs/maintaining.texi (Switching Branches)
6965         (Pulling / Pushing, Merging): Fix markup of shell commands.
6967 2019-11-30  Andrii Kolomoiets  <andreyk.mad@gmail.com>
6969         vc-hg: prompt for branch to merge
6971         * lisp/vc/vc-hg.el (vc-hg-merge-branch): Prompt for revision to merge.
6972         (vc-hg-revision-table): Use branches, tags and bookmarks as competion
6973         candidates.
6975         * etc/NEWS: Mention changes of vc-hg.el
6977         * doc/emacs/maintaining.texi (Switching Branches): Mention 'hg update'
6978         command.
6979         (Merging): Mention 'hg merge' command.
6981         This fixes bug#22860
6983 2019-11-30  Michal Sojka  <sojkam1@fel.cvut.cz>
6985         Fix preserving cell boundaries in table.el after <delete>
6987         * lisp/textmodes/table.el (table-command-remap-alist): Add
6988         entry for 'delete-forward-char'.  (Bug#38353)
6990 2019-11-30  Eli Zaretskii  <eliz@gnu.org>
6992         Add ':extend' attribute to faces and themes
6994         * etc/themes/wombat-theme.el:
6995         * etc/themes/wheatgrass-theme.el:
6996         * etc/themes/tsdh-light-theme.el:
6997         * etc/themes/tsdh-dark-theme.el:
6998         * etc/themes/tango-theme.el:
6999         * etc/themes/tango-dark-theme.el:
7000         * etc/themes/misterioso-theme.el:
7001         * etc/themes/manoj-dark-theme.el:
7002         * etc/themes/light-blue-theme.el:
7003         * etc/themes/leuven-theme.el:
7004         * etc/themes/dichromacy-theme.el:
7005         * etc/themes/deeper-blue-theme.el:
7006         * etc/themes/adwaita-theme.el: Add ':extend' attribute to all
7007         faces that are by default defined with it.
7009         * lisp/vc/smerge-mode.el (smerge-upper, smerge-lower)
7010         (smerge-base):
7011         * lisp/vc/log-view.el (log-view-file, log-view-message):
7012         * lisp/vc/ediff-init.el (ediff-current-diff-A)
7013         (ediff-current-diff-B, ediff-current-diff-C)
7014         (ediff-current-diff-Ancestor, ediff-even-diff-A)
7015         (ediff-even-diff-B, ediff-even-diff-C)
7016         (ediff-even-diff-Ancestor, ediff-odd-diff-A)
7017         (ediff-odd-diff-B, ediff-odd-diff-C)
7018         (ediff-odd-diff-Ancestor):
7019         * lisp/vc/diff-mode.el (diff-header, diff-file-header)
7020         (diff-removed, diff-added): Make sure all definitions of faces
7021         have the same value of the ':extend' property, otherwise
7022         customizing background color or underline etc. attributes of
7023         these faces on some displays will produce effects different
7024         from other displays.
7026 2019-11-30  Juanma Barranquero  <lekktu@gmail.com>
7028         * src/lread.c (syms_of_lread): Doc fix.
7030 2019-11-29  Alan Third  <alan@idiocy.org>
7032         Fix image scaling with masks (bug#38109)
7034         * src/image.c (lookup_image): Move call to image_set_transform after
7035         postprocess_image.
7036         (image_create_x_image_and_pixmap_1): Use new function.
7037         (image_set_transform): Apply the transform to the mask too.
7038         (x_create_xrender_picture): New function.
7039         (Create_Pixmap_From_Bitmap_Data):
7040         (xpm_load): Use new function.
7041         * src/xterm.c (x_composite_image): Use PictOpOver when there is a mask
7042         so the transparency is honoured.
7043         (x_draw_image_foreground_1): Use x_composite_image.
7045 2019-11-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7047         * lisp/gnus/gnus.el (gnus-info): Define with `cl-defstruct`
7049         This makes the accessors into (inlined) functions (instead of macros),
7050         which simplifies some uses, and it makes the gnus-info-set-<foo>
7051         macros redundant since we can use `setf` instead.  Remove them and
7052         update all users.
7054         (gnus-info-group, gnus-info-rank, gnus-info-read, gnus-info-marks)
7055         (gnus-info-method, gnus-info-params): Auto-defined by defstruct.
7056         (gnus-info-level, gnus-info-score): Define as a function.  Add gv-setter.
7057         (gnus-info-set-group, gnus-info-set-rank, gnus-info-set-read): Remove,
7058         use `setf` instead.
7059         (gnus-info-set-marks, gnus-info-set-method, gnus-info-set-params):
7060         Define as a function.
7061         (gnus-info-set-entry): Delete function.
7062         (gnus-info--grow-entry): New function, extracted from it.
7063         (gnus-info--set-level, gnus-info--set-score): New functions, extracted
7064         from the `gnus-info-set-level` and `gnus-info-set-score` which they replace.
7065         (gnus-get-info): Define as a function.
7067         * lisp/gnus/gnus-group.el (gnus-group-edit-group-done):
7068         Use the `extend` arg of `gnus-info-set-method`.
7069         (gnus-group-sort-selected-flat): eta-reduce.
7071 2019-11-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7073         * lisp/textmodes/mhtml-mode.el: Fix bug#38372
7075         The `sgml-syntax-propertize-rules` rely on the `sgml--syntax-propertize-ppss`
7076         setup by `sgml-syntax-propertize` so it is not correct/safe to use
7077         them directly like html used to do.
7079         Change `sgml-syntax-propertize` so it can be used by mhtml,
7080         and then adjust mhtml-mode accordingly.
7082         * lisp/textmodes/mhtml-mode.el: Remove redundant `eval-and-compile`.
7083         Only require cl-lib at compile-time.
7084         (mhtml--syntax-propertize): New const, extracted from mhtml-syntax-propertize.
7085         (mhtml-syntax-propertize): Use `sgml-syntax-propertize`.
7087         * lisp/textmodes/sgml-mode.el (sgml--syntax-propertize): New const,
7088         extracted from sgml-syntax-propertize.
7089         (sgml-syntax-propertize): Add optional `rules-function` arg.
7091 2019-11-29  Robert Pluim  <rpluim@gmail.com>
7093         Add nsm-should-check IPv6 local subnet tests
7095         * test/lisp/net/nsm-tests.el (nsm-check-local-subnet-ipv6): Now
7096         that IPv6 addresses are returned from network-interface-list, test
7097         nsm-should check and nsm-network-same-subnet for IPv6 as well.
7099 2019-11-29  Eli Zaretskii  <eliz@gnu.org>
7101         Support showing one revision with Mercurial
7103         * lisp/vc/vc-hg.el (vc-hg-print-log): Support 'with-diff'
7104         invocation of "C-1 C-x v L".
7106 2019-11-29  Phil Sainty  <psainty@orcon.net.nz>
7108         * lisp/so-long.el (so-long-variable-overrides): Set bidi-inhibit-bpa
7110         (Bug#38407)
7112 2019-11-29  Eli Zaretskii  <eliz@gnu.org>
7114         Document 'zap-up-to-char'
7116         * doc/emacs/killing.texi (Other Kill Commands): Document
7117         'zap-up-to-char'.
7119         * lisp/simple.el (zap-to-char): Mention 'zap-up-to-char' in
7120         the doc string.  (Bug#38392)
7122 2019-11-29  Eli Zaretskii  <eliz@gnu.org>
7124         Support showing one revision with Subversion
7126         * lisp/vc/vc-svn.el (vc-svn-print-log): Support 'with-diff'
7127         invocation of "C-1 C-x v L".
7129 2019-11-29  Eli Zaretskii  <eliz@gnu.org>
7131         Minor fix in 'vc-print-root-log's prompt for revision ID
7133         * lisp/vc/vc.el (vc-print-root-log): Remove text properties
7134         from the default revision suggestion.
7136 2019-11-29  Eli Zaretskii  <eliz@gnu.org>
7138         Support showing one revision with Bazaar
7140         * lisp/vc/vc-bzr.el (vc-bzr-print-log): Support 'with-diff'
7141         invocation of "C-1 C-x v L".
7143 2019-11-29  Eli Zaretskii  <eliz@gnu.org>
7145         Improve indexing of VC log commands
7147         * doc/emacs/maintaining.texi (VC Change Log): Add missing
7148         index entries.
7150 2019-11-29  Eli Zaretskii  <eliz@gnu.org>
7152         Improve documentation and UI of 'C-x v L'
7154         * lisp/vc/vc.el (vc-print-root-log): Improve the wording of
7155         the doc string and of the prompt for the root directory.
7157         * etc/NEWS: Improve and expand the wording of the changes in
7158         'C-x v L'.
7160         * doc/emacs/maintaining.texi (VC Change Log): Improve and
7161         clarify wording of the 'C-x v L' description.
7163 2019-11-28  Noam Postavsky  <npostavs@gmail.com>
7165         Improve errors & warnings due to fancy quoted vars (Bug#32939)
7167         Add some hints to the message for byte compiler free & unused variable
7168         warnings, and 'void-variable' errors where the variable has confusable
7169         quote characters in it.
7170         * lisp/help.el (uni-confusables), uni-confusables-regexp): New
7171         constants.
7172         (help-command-error-confusable-suggestions): New function, added to
7173         `command-error-function'.
7174         (help-uni-confusable-suggestions): New function.
7175         * lisp/emacs-lisp/bytecomp.el (byte-compile-variable-ref):
7176         * lisp/emacs-lisp/cconv.el (cconv--analyze-use): Use it.
7178         * lisp/emacs-lisp/lisp-mode.el
7179         (lisp--match-confusable-symbol-character): New function.
7180         (lisp-fdefs): Use it to fontify confusable characters with
7181         font-lock-warning-face when they occur in symbol names.
7182         * doc/lispref/modes.texi (Faces for Font Lock):
7183         * doc/lispref/objects.texi (Basic Char Syntax): Recommend backslash
7184         escaping of confusable characters, and mention new fontification.
7185         * etc/NEWS: Announce the new fontification behavior.
7186         * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-fontify-confusables):
7187         New test.
7189 2019-11-28  Noam Postavsky  <npostavs@gmail.com>
7191         Stop signaling an error when reading "smart quotes" in symbols
7193         Revert commits from 2018-01-28 "Fix round tripping of read->print for
7194         symbols with strange quotes", and 2017-07-22 "Signal error for symbol
7195         names with strange quotes (Bug#2967)".
7196         * etc/NEWS: Remove corresponding entries.
7197         * src/character.c (confusable_symbol_character_p):
7198         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Remove.
7199         * src/lread.c (read1): Don't signal error on confusable character.
7200         * src/print.c (print_object): Don't escape confusable characters.
7202 2019-11-28  Filipp Gunbin  <fgunbin@fastmail.fm>
7204         Do not call custom-reevaluate-setting in dired-isearch-filenames-end
7206           * lisp/dired-aux.el (dired-isearch-filenames-end)
7207           (dired-isearch-filenames, dired-isearch-filenames-regexp): Use
7208           temporary local variable for dired-isearch-filenames instead of
7209           custom-reevaluate-setting (Bug#30187).  Without this fix, the value
7210           set in .emacs with plain setq would be lost after one isearch.
7212 2019-11-28  Eli Zaretskii  <eliz@gnu.org>
7214         Improve PY-b5 input methods
7216         * leim/leim-ext.el ("quail/PY-b5"): Assign key sequence for
7217         U+25CB (WHITE CIRCLE).  (Bug#3179)
7219 2019-11-28  Eli Zaretskii  <eliz@gnu.org>
7221         Allow disabling the BPA part of bidi reordering
7223         * src/xdisp.c (syms_of_xdisp): New variable 'bidi-inhibit-bpa'.
7224         * src/bidi.c (bidi_paired_bracket_type): If 'bidi-inhibit-bpa'
7225         is non-nil, return BIDI_BRACKET_NONE for all characters.
7227         * lisp/frame.el: Add 'bidi-inhibit-bpa' to the list of
7228         variables whose changes require redisplay.  (Bug#38407)
7230 2019-11-28  Robert Pluim  <rpluim@gmail.com>
7232         Support wlan in network-interface-list on pre-Vista Windows
7234         * src/w32.c (network_interface_list): Check for 'Wireless' in
7235         adapter description to support pre-Vista Windows.
7237 2019-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7239         * lisp/subr.el (do-after-load-evaluation): Fix thinko
7241 2019-11-27  Juri Linkov  <juri@linkov.net>
7243         Menu bar rearrangements, move Print menu items to submenu, etc. (bug#37594)
7245         * lisp/menu-bar.el (menu-bar-print-menu): New defvar.
7246         (menu-bar-file-menu): Move print entries to submenu.
7247         Add menu entries for tab-new, tab-close, make-frame-on-monitor.
7248         (menu-bar-showhide-menu): Add menu entry for global-tab-line-mode.
7249         Don't add toggle-tab-bar-mode-from-frame on ns where it's unavailable.
7250         (menu-bar-tools-menu): Add rgrep.
7252         * lisp/bindings.el (next-buffer, previous-buffer): Advertise bindings
7253         'C-x right' and 'C-x left' instead of 'XF86Forward' and 'XF86Back'.
7255 2019-11-27  Juri Linkov  <juri@linkov.net>
7257         'C-1 C-x v L' asks for revision and shows its log entry with diff (bug#38044)
7259         * doc/emacs/maintaining.texi (VC Change Log): Explain the numeric prefix arg
7260         of 'C-x v L' (vc-print-root-log).
7262         * lisp/vc/vc-git.el (vc-git-print-log): Add command line option "-p"
7263         when vc-log-view-type is 'with-diff'.
7264         (vc-git-log-view-mode): Use long style when vc-log-view-type is 'with-diff'.
7266         * lisp/vc/vc.el (vc-print-log-internal): Add optional arg 'type'.
7267         (vc-log-internal-common): Use 'region-history-mode' when type is
7268         'with-diff' and backend supports 'region-history-mode'.
7269         (vc-print-root-log): Add optional arg 'revision'.  In interactive spec
7270         read a revision when current-prefix-arg is 1.  Use current-prefix-arg
7271         "as is" when it is a number.  Show revision in long style with diff
7272         when limit is 1 and revision is non-nil.
7274 2019-11-27  Juri Linkov  <juri@linkov.net>
7276         * lisp/image-mode.el: Resize image on window resizing (bug#32672)
7278         * lisp/image-mode.el (image--window-change): New function.
7279         (image--window-change-function): New variable.
7280         (image-mode--setup-mode): Add buffer-local hook image--window-change
7281         to window-size-change-functions, window-state-change-functions,
7282         window-selection-change-functions.
7284 2019-11-27  Eli Zaretskii  <eliz@gnu.org>
7286         Make some anonymous faces extend to EOL
7288         * lisp/vc/log-edit.el (log-edit-font-lock-keywords):
7289         * lisp/mpc.el (mpc-separator):
7290         * lisp/help.el (describe-key):
7291         * lisp/help-fns.el (describe-symbol): Make the anonymous faces
7292         extend to EOL.
7294 2019-11-27  Mattias Engdegård  <mattiase@acm.org>
7296         Mouse rectangular region selection (bug#38013)
7298         Make it possible to select a rectangular region using the mouse.
7299         The standard binding is C-M-mouse-1.
7301         * lisp/mouse.el (mouse-scroll-subr): Add ADJUST argument.
7302         (mouse-drag-region-rectangle): New.
7303         * lisp/rect.el (rectangle--reset-point-crutches): New.
7304         (rectangle--reset-crutches): Use 'rectangle--reset-point-crutches'.
7305         * src/xdisp.c (remember_mouse_glyph, syms_of_xdisp):
7306         Add 'mouse-fine-grained-tracking'.
7307         * doc/lispref/commands.texi (Motion Events):
7308         Document 'mouse-fine-grained-tracking'.
7309         * doc/emacs/frames.texi (Mouse Commands):
7310         * doc/emacs/killing.texi (Rectangles):
7311         * etc/NEWS: Document rectangular selection with the mouse.
7313 2019-11-27  Andrii Kolomoiets  <andreyk.mad@gmail.com>
7315         Call vc-setup-buffer in vc-hg-log-incoming and vc-hg-log-outgoing
7317         * lisp/vc/vc-hg.el (vc-hg-log-incoming, vc-hg-log-outgoing):
7318         Call vc-setup-buffer.
7320 2019-11-27  Lars Ingebrigtsen  <larsi@gnus.org>
7322         Fix documentation of eieio-class-name
7324         * doc/misc/eieio.texi (Predicates): Update the documentation of
7325         eieio-class-name to say what it really returns (bug#38365).
7327 2019-11-27  Lars Ingebrigtsen  <larsi@gnus.org>
7329         Make message-allow-no-recipients 'always work
7331         * lisp/gnus/message.el (message-send): Make
7332         message-allow-no-recipients 'always work.
7334 2019-11-27  Mattias Engdegård  <mattiase@acm.org>
7336         Fine-grained NS modifier key settings (bug#38296)
7338         For the ns-KEY-modifier and ns-right-KEY-modifier variables, KEY
7339         being 'control', 'command', 'alternate' and 'function', allow
7340         values on the form (:ordinary SYMBOL :function :SYMBOL :mouse SYMBOL),
7341         so that the key can be used for different modifiers (or none) in
7342         different contexts.  This is particularly useful for using the macOS
7343         Option key for extended character entry while still using it as an
7344         Emacs modifier for function keys and mouse clicks.
7346         * src/nsterm.m (mod_of_kind, right_mod, nil_or_none): Helper functions.
7347         (EV_MODIFIERS2): Add KIND argument.
7348         (EV_MODIFIERS): Adapt call to EV_MODIFIERS2.
7349         (ns_get_shifted_character): Use correct event kind for modifiers.
7350         (ns-alternate-modifier, ns-right-alternate-modifier)
7351         (ns-command-modifier, ns-right-command-modifier)
7352         (ns-control-modifier, ns-right-control-modifier)
7353         (ns-function-modifier): Rewrite doc strings for new data format.
7354         (QCordinary, QCfunction, QCmouse): Define symbols.
7355         * lisp/cus-start.el: Conform to new data types.
7356         * doc/emacs/macos.texi (Mac / GNUstep Basics)
7357         (Mac / GNUstep Customization): Improved documentation.
7358         * etc/NEWS: Mention the change.
7360 2019-11-26  Juri Linkov  <juri@linkov.net>
7362         message uses minibuffer-message in the active minibuffer (bug#17272 bug#19064)
7364         * doc/lispref/display.texi (Displaying Messages): Explain the
7365         behavior of using minibuffer-message if the minibuffer is active.
7367         * src/editfns.c (Fmessage_in_echo_area): New function with body
7368         copied from Fmessage.
7369         (Fmessage): Call minibuffer-message in the active minibuffer,
7370         otherwise call Fmessage_in_echo_area.
7371         (message-in-echo-area): New variable.
7373         * lisp/isearch.el (isearch--momentary-message, isearch-message):
7374         * lisp/minibuffer.el (minibuffer-message, minibuffer-completion-help):
7375         Use 'message-in-echo-area' instead of 'message' where necessary.
7377         * lisp/autorevert.el (auto-revert-handler):
7378         * lisp/man.el (Man-bgproc-sentinel):
7379         * lisp/subr.el (do-after-load-evaluation):
7380         Revert recent changes that replaced 'message' with 'minibuffer-message'.
7381         This is not needed anymore since 'message' uses 'minibuffer-message'
7382         in the active minibuffer.
7384 2019-11-26  Juri Linkov  <juri@linkov.net>
7386         Allow recursive minibuffers for yes-or-no-p and y-or-n-p (bug#17272 bug#19064)
7388         * lisp/subr.el (y-or-n-p): Let-bind enable-recursive-minibuffers to t.
7390         * src/fns.c (Fyes_or_no_p): Specbind Qenable_recursive_minibuffers to Qt.
7392 2019-11-26  Juri Linkov  <juri@linkov.net>
7394         * lisp/tab-bar.el (display-buffer-in-tab): New function (bug#38354)
7396 2019-11-26  Paul Eggert  <eggert@cs.ucla.edu>
7398         etags: remove some arbitrary limits
7400         etags had undefined behavior if input files, lines, tags, etc.,
7401         had more than INT_MAX bytes.  Clean up the usage of integer types
7402         to fix the overflow errors I found.
7403         * admin/merge-gnulib (GNULIB_MODULES): Add mempcpy.
7404         * lib-src/etags.c: Include inttypes.h, intprops.h.
7405         (memcpyz): New function.  Use it to simplify several occurrences
7406         of memcpy followed by storing a trailing '\0'.
7407         (xnew): Use xnmalloc, to catch overflow on integer multiplication.
7408         (xrnew): Change last arg to multiplier.  The type is not needed.
7409         All callers changed.
7410         (node, lineno, charno, linecharno, invalidcharno, make_tag):
7411         (pfnote, add_node, number_len, C_symtype, lbz, Makefile_targets)
7412         (readline):
7413         Use intmax_t for line numbers and character positions, instead of
7414         int or long.
7415         (linebuffer, make_tag, pfnote, total_size_of_entries, put_entry)
7416         (in_word_set, C_symtype, token, cstack, pushclass_above):
7417         (popclass_above, write_classname, consider_token, C_entries)
7418         (Ruby_functions, Makefile_targets, Lua_functions, TeX_commands)
7419         (TeX_decode_env, erlang_func, erlang_attribute, erlang_atom)
7420         (substitute, regex_tag_multiline, nocase_tail, readline_interval)
7421         (readline, savenstr, concat, etags_getcwd, relative_filename)
7422         (linebuffer_setlen):
7423         Use ptrdiff_t for object sizes, instead of int or long or unsigned
7424         or size_t.
7425         (write_classname, C_entries):
7426         Avoid sprintf, as the result could exceed INT_MAX bytes
7427         and then behavior goes haywire.
7428         (main): Use int, instead of unsigned, for argv counts.
7429         (get_language_from_filename): Use bool for boolean.
7430         (Ruby_functions): Prefer strcpy to memcpy when copying "=".
7431         (linebuffer_setlen): Use ‘if’ instead of ‘while’.
7432         (memory_full, xnmalloc, xnrealloc): New functions.
7433         (xmalloc): Use memory_full, and take a ptrdiff_t instead of a size_t.
7434         (xrealloc): Remove; no longer needed.
7435         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
7436         * lib/mempcpy.c, m4/mempcpy.m4: New files, copied from Gnulib.
7438 2019-11-26  Juanma Barranquero  <lekktu@gmail.com>
7440         Fix previous change to (next|previous)-buffer
7442         * lisp/window.el (next-buffer, previous-buffer): If no other
7443         buffer is available, signal 'user-error' only when called
7444         interactively.
7446 2019-11-26  Paul Eggert  <eggert@cs.ucla.edu>
7448         Update from Gnulib
7450         This incorporates:
7451         2019-11-24 Fix errors in C++ mode on mingw
7452         2019-11-24 time_r: Fix for mingw (regression from 2019-11-16)
7453         2019-11-24 sys_time: Fix errors in C++ mode on mingw
7454         2019-11-22 intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
7455         2019-11-21 Disable many _GL_CXXALIASWARN on non-glibc
7456         2019-11-21 Fix various errors in _GL_CXXALIAS_SYS invocations
7457         2019-11-19 intprops: INT_MULTIPLY_WRAPV speedup for GCC 9.3+
7458         2019-11-18 stdint: Define [u]intptr_t correctly on 64-bit native Windows
7459         2019-11-18 stdint: Fix value of WINT_MAX when we override wint_t
7460         2019-11-18 stdint: Avoid "conflicting types" error on mingw 5.22
7461         2019-11-16 time_r: Fix for mingw
7462         2019-11-06 regex: now back in sync with glibc
7463         * lib/intprops.h, lib/regexec.c, lib/signal.in.h:
7464         * lib/stdint.in.h, lib/stdio.in.h, lib/stdlib.in.h:
7465         * lib/string.in.h, lib/sys_select.in.h, lib/sys_time.in.h:
7466         * lib/time.in.h, lib/unistd.in.h, m4/time_r.m4:
7467         Copy from Gnulib.
7469 2019-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>
7471         * lisp/subr.el (do-after-load-evaluation): Handle batch mode as well
7473 2019-11-26  Robert Pluim  <rpluim@gmail.com>
7475         Use 127.0.0.1 in nsm-tests
7477         Winsock doesn't like "127.1"
7479         * test/lisp/net/nsm-tests.el (nsm-check-local-subnet-ipv4): Spell
7480         numeric localhost as "127.0.0.1" instead of "127.1".
7482 2019-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>
7484         * test/lisp/minibuffer-tests.el (completion-table-test-quoting): New test
7486         * test/data/minibuffer-test-cttq$tion: New file-name test data.
7488 2019-11-26  Eli Zaretskii  <eliz@gnu.org>
7490         Support ':extend' in faces defined by list of key/value pairs
7492         * src/xfaces.c: Update and improve commentary at the beginning
7493         of the file.
7494         (face_attr_sym): New static array.
7495         (init_xfaces): Initialize 'face_attr_sym'.
7496         (merge_face_ref): Handle the :extend attribute in faces
7497         specified as lists of key/value pairs.  (Bug#37774)
7499 2019-11-26  Eli Zaretskii  <eliz@gnu.org>
7501         Fix MS-Windows build with mingw.org's MinGW
7503         mingw.org's MinGW by default targets Windows 9X, so
7504         _WIN32_WINNT is set to a value that bypasses declarations
7505         in system headers we need to compile network_interface_list.
7506         Also, the code needed a workaround for Windows XP, where
7507         some functionality is missing from the GetAdaptersAddresses
7508         API.
7510         * src/w32.c (_WIN32_WINNT): Define to 0x0501, if the value is
7511         lower, temporarily while processing iphlpapi.h.
7512         (address_prefix_match): New helper function.
7513         (network_interface_list): Work around the fact that the
7514         OnLinkPrefixLength member of IP_ADAPTER_UNICAST_ADDRESS is not
7515         available when _WIN32_WINNT < 0x0600.  On Windows XP use
7516         special code that calls address_prefix_match to compute the
7517         network prefix length.
7519 2019-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>
7521         * lisp/progmodes/asm-mode.el (asm-mode-map): Obey electric-indent-mode
7523 2019-11-26  Juanma Barranquero  <lekktu@gmail.com>
7525         (next|previous)-buffer no longer fail silently (bug#38384)
7527         * lisp/window.el (next-buffer, previous-buffer):
7528         Signal 'user-error' if there is no buffer to switch to.
7530         * etc/NEWS: Document it.
7532 2019-11-26  Juanma Barranquero  <lekktu@gmail.com>
7534         lisp/auth-source.el: Depend on cl-lib unconditionally
7536         A change in 2016-04-24 introduced a run-time dependency on cl-subseq.
7538 2019-11-26  Juanma Barranquero  <lekktu@gmail.com>
7540         lisp/auth-source-pass.el: Require cl-lib unconditionally
7542         Changes in 2019-05-05 and 2019-05-14 introduced run-time dependencies
7543         on cl-maplist and cl-remove-if-not.
7545 2019-11-26  Martin Rudalics  <rudalics@gmx.at>
7547         2019-11-26  Martin Rudalics  <rudalics@gmx.at>
7549         * lisp/window.el (switch-to-visible-buffer): Declare obsolete.
7550         (switch-to-prev-buffer-skip): New option.
7551         (switch-to-prev-buffer, switch-to-next-buffer): Obey
7552         'switch-to-prev-buffer-skip'.
7553         * doc/lispref/windows.texi (Window History): Remove
7554         description of 'switch-to-visible-buffer'.  Describe new
7555         option 'switch-to-prev-buffer-skip'
7556         * etc/NEWS: Mention switch from 'switch-to-visible-buffer' to
7557         'switch-to-prev-buffer-skip'.
7559 2019-11-26  Alex Murray  <alex.murray@canonical.com>  (tiny change)
7561         Fix auth-source password lookup
7563         * lisp/net/network-stream.el
7564         (network-stream-certificate): Ensure :port is specified as a string to
7565         'auth-source-search' (Bug#38371).
7567 2019-11-25  Robert Pluim  <rpluim@gmail.com>
7569         Extend network-interface-list to return IPv6 and network info
7571         Bug#38218
7573         * src/process.c (Fnetwork_interface_list): Extend argument list to
7574         allow requesting full network info and/or IPv4/IPv6 info.
7575         (network_interface_list) [HAVE_GETIFADDRS]: Use getifaddrs to retrieve
7576         interface IP addresses.
7578         * src/process.h: Update prototype of network_interface_list.
7580         * src/w32.c (g_b_init_get_adapters_addresses): New init flag.
7581         (globals_of_w32): Initialize it.
7582         (GetAdaptersAddresses_Proc): New function typedef.
7583         (get_adapters_addresses): New wrapper function.
7584         (init_winsock): Load htonl and ntohl.
7585         (sys_htonl, sys_ntohl): New wrapper functions.
7586         (network_interface_list): Implement in terms of
7587         get_adapters_addresses.
7589         * nt/inc/sys/socket.h: Add sys_htonl and sys_ntohl prototypes.
7591         * etc/NEWS: Announce IPv4/IPv6 changes in network-interface-list.
7593         * doc/lispref/processes.texi (Misc Network): Document updated arglist
7594         and return values for network-interface-list.
7596 2019-11-25  Lars Ingebrigtsen  <larsi@gnus.org>
7598         Fix previous message.el point-restoring fix
7600         * lisp/gnus/message.el (message-send-and-exit): Restore window
7601         point before burying buffer so we actually bury the buffer.
7603 2019-11-25  Lars Ingebrigtsen  <larsi@gnus.org>
7605         Remove outdated documentation
7607         * doc/misc/eieio.texi (Predicates): Remove documentation of
7608         same-class-fast-p, which was removed some years back (bug#38362).
7610 2019-11-25  João Távora  <joaotavora@gmail.com>
7612         Fix test failures of test/lisp/auth-source-pass-tests.el
7614         Failures introduced by recent "Make auth-source-pass-search understand
7615         port lists", commit 92fda5a7f92162d610d57df14372bcfcee1f01b6.
7617         * lisp/auth-source-pass.el
7618         (auth-source-pass--generate-entry-suffixes): Fix test failures.
7620 2019-11-25  Filipp Gunbin  <fgunbin@fastmail.fm>
7622         Correct small misprint in defcustom's docstring
7624         * lisp/custom.el (defcustom): Correct misprint in docstring.
7626 2019-11-25  Eli Zaretskii  <eliz@gnu.org>
7628         Fix face merging when some have :extend non-nil and some are inherited
7630         * src/xfaces.c (face_inherited_attr): New function.
7631         (merge_named_face): Call 'face_inherited_attr' when testing
7632         whether a face that inherits from another fits the filtering
7633         criteria specified by ATTR_FILTER.
7634         (merge_face_vectors): Revert the changes made in this function
7635         for filtering by ATTR_FILTER, and remove that argument as
7636         well.  These tests are now completely done by the caller, see
7637         'merge_named_face'.  (Bug#37774)
7639 2019-11-25  Robert Pluim  <rpluim@gmail.com>
7641         Handle auth-source-search failures in open-network-stream
7643         If the user cancels the gpg decryption pop-up, auth-source-search
7644         fails *and* epa pops up an error buffer.  Fix epa to allow suppressing
7645         that, and ignore errors returned from auth-source-search.
7647         * lisp/epa.el (epa-suppress-error-buffer): New defvar.  Bind non-nil
7648         to stop epa popping up an error buffer.
7650         * lisp/net/network-stream.el: require epa when byte-compiling.
7651         (network-stream-certificate): ignore errors when calling
7652         auth-source-search, and suppress the epa error buffer.
7654 2019-11-23  Paul Eggert  <eggert@cs.ucla.edu>
7656         Add eassert check for bad default face
7658         * src/xdisp.c (append_space_for_newline): Add an eassert check
7659         that default_face is not null, by calling FACE_FROM_ID instead of
7660         FACE_FROM_ID_OR_NULL.  Initialize a local only if needed.
7662 2019-11-23  Paul Eggert  <eggert@cs.ucla.edu>
7664         Port gnutls.c to --enable-gcc-warnings --without-gnutls
7666         * src/gnutls.c: Move the "#ifdef HAVE_GNUTLS" earlier, so
7667         that "./configure --enable-gcc-warnings --without-gnutls"
7668         does not complain about macros being defined but never used.
7669         Indent "#" directives more consistently.
7671 2019-11-23  Juanma Barranquero  <lekktu@gmail.com>
7673         Rework previous fix to bug#38222
7675         * lisp/help.el (help--doc-without-fn): Remove.
7676         (describe-mode): Use help-split-fundoc instead.
7678 2019-11-23  Juanma Barranquero  <lekktu@gmail.com>
7680         Make help-split-fundoc more flexible about what returns
7682         * lisp/help.el (help-split-fundoc): New arg SECTION to return
7683         only the usage or doc parts of the docstring, or both even if
7684         there is no usage.
7686         * test/lisp/help-tests.el: New file.
7688 2019-11-23  Juri Linkov  <juri@linkov.net>
7690         Use new macro debounce-reduce to make mouse scaling of images more responsive
7692         * lisp/emacs-lisp/timer.el (debounce, debounce-reduce): New macros.
7694         * lisp/image.el (image-increase-size, image-decrease-size):
7695         Use funcall to call image--change-size-function.
7696         (image--change-size-function): Move code from defun of
7697         image--change-size to defvar that has the value of lambda
7698         returned from debounce-reduce.  (Bug#38187)
7700 2019-11-23  Robert Pluim  <rpluim@gmail.com>
7702         Default network-stream-use-client-certificates to nil
7704         * lisp/net/network-stream.el (network-stream-use-client-certificates):
7705         Default to nil.
7706         (open-network-stream): Adapt description to new default of
7707         network-stream-use-client-certificates.
7709         * etc/NEWS: network-stream-use-client-certificates defaults to nil
7710         now.
7712         * doc/lispref/processes.texi (Network): Flip
7713         network-stream-use-client-certificates description.
7715         * doc/misc/auth.texi (Help for users): Mention
7716         network-stream-use-client-certificates.
7718 2019-11-23  Robert Pluim  <rpluim@gmail.com>
7720         Have what-cursor-position optionally show character name
7722         * lisp/simple.el (what-cursor-show-names): New defcustom, default nil.
7723         (what-cursor-position): Show character names if what-cursor-show-names
7724         is non-nil.
7726         * doc/emacs/basic.texi (Position Info): Add what-cursor-show-names
7727         description.
7729         * etc/NEWS: Announce what-cursor-show-names.
7731 2019-11-23  Christopher Schmidt  <christopher@ch.ristopher.com>
7733         Always expand "total" in dired
7735         * lisp/files.el (insert-directory): Always replace "total" with
7736         "total used in directory", even when we don't have free disk space
7737         (bug#13191).  This makes the display more consistent.
7739 2019-11-23  Michael Heerdegen  <michael_heerdegen@web.de>
7741         Fix edebug instrumentation removing from advised functions
7743         * lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation): Handle
7744         advised functions correctly.
7746 2019-11-23  Eli Zaretskii  <eliz@gnu.org>
7748         Improve indexing of modifier keys
7750         * doc/emacs/commands.texi (User Input): Add index entry for
7751         the Alt key serving as Meta.
7752         * doc/emacs/custom.texi (Modifier Keys): Add index entries for
7753         Alt, Super, and Hyper modifier keys.  (Bug#38315)
7755 2019-11-23  Eli Zaretskii  <eliz@gnu.org>
7757         Fix cursor display at EOL before extended face
7759         * src/xdisp.c (extend_face_to_end_of_line): Make sure the
7760         character position of the stretch glyph inserted to extend the
7761         face is zero, as various other parts of the display code rely
7762         on that.  (Bug#38330)
7764 2019-11-23  Eli Zaretskii  <eliz@gnu.org>
7766         Fix and speed up en/decoding of UTF-8 strings
7768         * src/coding.c (get_char_bytes, encode_string_utf_8)
7769         (decode_string_utf_8): Fix commentary.
7770         (encode_string_utf_8): Return the original ASCII string only
7771         if NOCOPY is non-zero.
7772         (decode_string_utf_8): Accept 2 additional arguments STR and
7773         STR_LEN, which allow to pass the input text as a C string.
7774         (make_string_from_utf8): Delegate the job to decode_string_utf_8.
7775         * src/coding.h: Update the prototype of decode_string_utf_8.
7776         * src/json.c (json_encode): Call encode_string_utf_8.
7778 2019-11-22  João Távora  <joaotavora@gmail.com>
7780         * lisp/minibuffer.el (completion-flex-nospace): Default to t.
7782 2019-11-22  Juanma Barranquero  <lekktu@gmail.com>
7784         help-follow-symbol now complains if no symbol found (bug#38248)
7786         * lisp/help-mode.el (help-follow-symbol): Signal 'user-error' if
7787         there's no symbol at POS.
7789         * etc/NEWS: Document it.
7791 2019-11-22  Filipp Gunbin  <fgunbin@fastmail.fm>
7793         Check gnus-mailing-list-groups in turn-on-gnus-mailing-list-mode
7795         * lisp/gnus/gnus-ml.el (turn-on-gnus-mailing-list-mode): Check also
7796         gnus-mailing-list-groups variable.
7798 2019-11-22  Filipp Gunbin  <fgunbin@fastmail.fm>
7800         Make gnus-mailing-list-archive recognize https
7802         * lisp/gnus/gnus-ml.el (gnus-mailing-list-archive): Accept https in
7803         regexp.
7805 2019-11-22  Filipp Gunbin  <fgunbin@fastmail.fm>
7807         Unify docstrings of Gnus summary's copy/move/crosspost article functions
7809         * lisp/gnus/gnus-sum.el (gnus-summary-copy-article)
7810         (gnus-summary-crosspost-article): Make docstrings refer to
7811         gnus-summary-move-article.
7813 2019-11-22  dickmao  <none>
7815         Refix conditional step clauses in cl-loop
7817         * lisp/emacs-lisp/cl-macs.el
7818         (cl--loop-bindings, cl--loop-symbol-macs, cl-loop):
7819         Add cl--loop-conditions, remove cl--loop-guard-cond.
7820         (cl--push-clause-loop-body): Apply clause to both cl--loop-conditions
7821         and cl--loop-body
7822         (cl--parse-loop-clause): Use cl--push-clause-loop-body.
7823         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-and-assignment):
7824         Use docstring.
7825         (cl-macs-loop-for-as-arith): Removed expected failure.
7826         (cl-macs-loop-conditional-step-clauses): Add some tests (bug#29799).
7828 2019-11-22  Eli Zaretskii  <eliz@gnu.org>
7830         Fix uses of inhibit-message in package.el
7832         * lisp/emacs-lisp/package.el (package-generate-autoloads)
7833         (package--compile, package--save-selected-packages): Don't use
7834         'inhibit-message' to bind 'noninteractive' and 'save-silently',
7835         since 'inhibit-message' already disables all messages.
7836         (Bug#38264)
7838 2019-11-22  Hong Xu  <hong@topbug.net>
7840         font-lock special attributes in python-mode
7842         * lisp/progmodes/python.el (python-font-lock-keywords-level-2): Add
7843         special attributes (bug#38318).
7845 2019-11-22  Lars Ingebrigtsen  <larsi@gnus.org>
7847         Give better error messages in image-convert
7849         * lisp/image/image-converter.el (image-convert): Make
7850         image-convert bug out earlier on a wrong IMAGE-FORMAT value
7851         (bug#38310).
7853 2019-11-22  João Távora  <joaotavora@gmail.com>
7855         Make auth-source-pass-search understand port lists
7857         For cases such as a typical IMAP Gnus setup, auto-source-pass-search
7858         is passed a list of "port aliases" like (993 "imaps" "imap" "993"
7859         "143") in hopes of finding a matching ~/.password-store entry.
7861         This modification makes this library understand and unroll the port
7862         list so that, i.e. "domain:993", "domain:imaps"", "domain:imap",
7863         etc. are computed as potential suffixes.  Previously a nonsensical
7864         string "domain:(993 imaps imap ...)" was returned.
7866         * lisp/auth-source-pass.el
7867         (auth-source-pass--generate-entry-suffixes): Allow PORT to be a list
7868         of ports.
7870 2019-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
7872         * lisp/emacs-lisp/smie.el (smie-next-sexp): Fix bug#38255
7874         Handle the case where the token is not in `smie-grammar`, either because
7875         the caller is making an error, or because it's a paren-like token that's
7876         not handled in the grammar but directly via the syntax tables.
7878 2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>
7880         Make `C-c C-w' insert a signature even when overridden
7882         * lisp/gnus/message.el (message-insert-signature): When called
7883         interactively, look harder for a signature to insert (bug#38289).
7885 2019-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
7887         * lisp/minibuffer.el (completions-common-part): Make it blue when possible
7889         * lisp/files.el (locate-file-completion-table): Fix typo
7891 2019-11-21  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
7893         Add new variable to prevent flex completion style
7895         matching spaces.  This allows flex style working smoothly with other
7896         styles like helm using spaces.
7898         * lisp/minibuffer.el (completion-flex-nospace): New user var.
7899         (completion-flex-try-completion): Use it.
7900         (completion-flex-all-completions): Same.
7902 2019-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
7904         When verilog-auto-ignore-concat is true, also ignore parenthesized signals.
7906         * lisp/progmodes/verilog-mode.el (verilog-auto-ignore-concat): When
7907         `verilog-auto-ignore-concat' is true, also ignore parenthesized
7908         signals.
7910 2019-11-21  Eric Abrahamsen  <eric@ericabrahamsen.net>
7912         Fix Gnus summary backtab keybindings to use button-based functions
7914         * lisp/gnus/gnus-sum.el (gnus-summary-mode-map,
7915           gnus-summary-article-map): Backtab should call
7916           gnus-summary-button-backward, not gnus-summary-widget-backward.
7918 2019-11-21  Eli Zaretskii  <eliz@gnu.org>
7920         Fix file notifications on macOS
7922         * src/kqueue.c (Fkqueue_add_watch): Don't use encoded file
7923         names in objects and APIs that expect decoded multibyte
7924         strings.  (Bug#38287)
7926 2019-11-21  Eli Zaretskii  <eliz@gnu.org>
7928         Fix a recent change in ELisp manual
7930         * doc/lispref/objects.texi (Special Read Syntax): Fix wording
7931         of the last change: don't document #' twice.  (Bug#38278)
7933 2019-11-21  Eli Zaretskii  <eliz@gnu.org>
7935         Support 'vc-region-history' for Mercurial
7937         * lisp/vc/vc-hg.el (vc-hg-region-history)
7938         (vc-hg-region-history-font-lock, vc-hg-region-history-mode):
7939         New functions.
7940         (vc-hg-region-history-mode-map)
7941         (vc-hg--log-view-long-font-lock-keywords)
7942         (vc-hg-region-history-font-lock-keywords): New variables.
7943         * lisp/vc/vc-git.el (vc-git-region-history): Update commentary.
7945         * doc/emacs/maintaining.texi (VC Change Log): Add
7946         'vc-region-history' to the table at beginning of node.  Update
7947         the VCSes that support 'vc-region-history'.
7949         * etc/NEWS: Mention the new feature of vc-hg.el.
7951 2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>
7953         Fix up previous #' documentation addition
7955         * doc/lispref/objects.texi (Special Read Syntax): Add an xref for
7956         the #' (bug#38278).
7958 2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>
7960         Document the #' syntax
7962         * doc/lispref/objects.texi (Special Read Syntax): Document the #'
7963         syntax (bug#38278).
7965 2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>
7967         Restore point after sending a message
7969         * lisp/gnus/message.el (message-send-and-exit): Restore point
7970         after sending (bug#38303).
7972 2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>
7974         Make pp-buffer into a command
7976         * lisp/emacs-lisp/pp.el (pp-buffer): Make into a command (bug#38306).
7978 2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>
7980         Fix loading image-converter in the case where the type is passed in
7982         * lisp/image.el (create-image): Load image-converter when
7983         converting images (bug#38310).
7985 2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>
7987         Rewrite the image-convert doc string
7989         * lisp/image/image-converter.el (image-convert): Clarify the
7990         calling convention (bug#38310).
7992 2019-11-21  Dario Gjorgjevski  <dario.gjorgjevski+git@gmail.com>
7994         Hide quoted passwords with spaces in Authinfo
7996         * lisp/auth-source.el (auth-source-netrc-looking-at-one): New
7997         function, extracted from auth-source-netrc-parse-one.
7998         (auth-source-netrc-parse-one, authinfo--hide-passwords): Use
7999         auth-source-netrc-looking-at-one (bug#38311).
8001 2019-11-21  Michael Albinus  <michael.albinus@gmx.de>
8003         * lisp/net/tramp.el (tramp-unload-tramp): Do not enable ange-ftp.  (Bug#38025)
8005 2019-11-20  Juri Linkov  <juri@linkov.net>
8007         * lisp/image.el: Mouse-wheel scaling on images (bug#38187)
8009         * lisp/image.el (image-mouse-increase-size)
8010         (image-mouse-decrease-size): New commands.
8011         (image-map): Bind C-wheel-down and C-mouse-5 to
8012         image-mouse-decrease-size, C-wheel-up and C-mouse-4 to
8013         image-mouse-increase-size.
8015 2019-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8017         * src/sysdep.c: Improve comment wording.
8019         * etc/NEWS: Improve XDG_RUNTIME_DIR doc.
8021 2019-11-20  Michael Albinus  <michael.albinus@gmx.de>
8023         Add renaming of remote buffer file names to Tramp
8025         * doc/misc/tramp.texi (Default User): Fix typo.
8026         (Cleanup remote connections): Adapt arguments of
8027         `tramp-cleanup-connection'.
8028         (Renaming remote files): New node.
8029         (Frequently Asked Questions): New item "How to save files when a
8030         remote host isn't reachable anymore?".
8032         * etc/NEWS: Add `tramp-rename-files' and `tramp-rename-these-files'.
8034         * lisp/net/tramp-cmds.el (tramp-default-rename-alist)
8035         (tramp-confirm-rename-file-names): New defcustoms.
8036         (tramp-rename-read-file-name-dir)
8037         (tramp-rename-read-file-name-init): New defsubsts.
8038         (tramp-default-rename-file, tramp-rename-files)
8039         (tramp-rename-these-files): New defuns.
8041         * lisp/net/tramp-integration.el (ido, ivy): Integrate with them.
8043 2019-11-20  Lars Ingebrigtsen  <larsi@gnus.org>
8045         Make with-suppressed-warnings work for macros, too
8047         * lisp/emacs-lisp/macroexp.el (macroexp-macroexpand): Pass the
8048         macro/alias symbol on to byte-compile-warning-enabled-p so that
8049         with-suppressed-warnings works for macros, too.
8051 2019-11-20  Robert Pluim  <rpluim@gmail.com>
8053         Remove info references to gmane web search
8055         * doc/misc/gnus.texi (Foreign Groups, Web Searches, What is nnir?):
8056         (Setting up nnir, Associating Engines, The imap Engine):
8057         (Customizations): Remove references to gmane web search.
8059 2019-11-19  Stephen Gildea  <stepheng+emacs@gildea.com>
8061         Expand coverage of unit tests for time-stamp
8063         * test/lisp/time-stamp-tests.el: Remove redundant word "test"
8064         from the names of all the tests.
8065         (time-stamp-custom-time-zone, time-stamp-custom-pattern,
8066         time-stamp-custom-inserts-lines, time-stamp-custom-count,
8067         time-stamp-helper-safe-locals): New tests
8069 2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8071         Make .pdmp file more reproducible
8073         Problem reported by Ulrich Müller
8074         <https://lists.gnu.org/r/emacs-devel/2019-11/msg00757.html>
8075         and diagnosed by Andreas Schwab
8076         <https://lists.gnu.org/r/emacs-devel/2019-11/msg00774.html>.
8077         * src/sysdep.c (maybe_disable_address_randomization):
8078         Disable ASLR if any kind of dumping, instead of merely if
8079         unexec dumping.  Omit first arg for simplicity; all uses changed.
8081 2019-11-19  João Távora  <joaotavora@gmail.com>
8083         * lisp/icomplete.el (icomplete-fido-kill): Unbreak yes-or-no-p usage
8085         Discussed in the context of bug#19064, bug#17272.
8087 2019-11-19  Eli Zaretskii  <eliz@gnu.org>
8089         Ensure Rmail summary is updated after editing a message
8091         * lisp/mail/rmailedit.el (rmail-cease-edit): If this mbox file
8092         has a summary, update the summary after editing.  (Bug#38193)
8094 2019-11-19  Eli Zaretskii  <eliz@gnu.org>
8096         Fix updating members of zip archives
8098         * lisp/arc-mode.el (archive-zip-case-fiddle): Change the
8099         default to nil except on MS-DOS.  Update the doc string to
8100         make clear that a non-nil value also affects updating the
8101         archive.  (Bug#38260)
8103 2019-11-19  Robert Pluim  <rpluim@gmail.com>
8105         Remember the full GTK font description
8107         Remember the full font description instead of just the family so that
8108         size/style/weight settings are preserved.
8110         * src/gtkutil.c (xg_get_font) [HAVE_GTK3]: Use the pango font
8111         description to set/get the current font (Bug#28901).
8113 2019-11-19  Robert Pluim  <rpluim@gmail.com>
8115         Don't error when comparing IPv4 and IPv6 addresses
8117         * lisp/net/nsm.el (nsm-network-same-subnet): Compare lengths of
8118         local-ip and ip; different lengths can never match.
8119         (nsm-should-check): Chop port off end of address.
8121 2019-11-19  Lars Ingebrigtsen  <larsi@gnus.org>
8123         Allow eww to display exotic images like webp
8125         * lisp/image.el (image-type): Allow passing in the image type.
8126         (create-image): Make conversion work with data in addition to files.
8128         * lisp/image/image-converter.el (image-convert-p): Allow taking
8129         working on data in addition to files (bug#38036).
8130         (image-convert): Ditto.
8131         (image-converter--convert): Extend signature to say whether we're
8132         getting a file or data.
8133         (image-converter--convert-magick): Convert data.
8134         (image-converter--convert): Ditto.
8136 2019-11-19  Juanma Barranquero  <lekktu@gmail.com>
8138         Strip "(fn...)" from output of `describe-mode' (bug#38222)
8140         * lisp/help.el (help--doc-without-fn): New function.
8141         (describe-mode): Use it.
8143 2019-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
8145         * lisp/org/org.el (org-mode): Add pcomplete-completions-at-point to capf.
8147         This lets the normal `completion-at-point` and `complete-symbol`
8148         use `pcomplete` for completion.
8150         (org-mode-map): Leave M-TAB bound to the global default since
8151         `pcomplete` is now obsolete.
8153 2019-11-18  Juri Linkov  <juri@linkov.net>
8155         * lisp/tab-line.el (tab-line-auto-hscroll): New defcustom (bug#37667)
8157         (tab-line-auto-hscroll): Use this option in the function.
8159 2019-11-18  Juri Linkov  <juri@linkov.net>
8161         * lisp/vc/ediff-util.el: Set this-command to ediff-quit (bug#38219)
8163         * lisp/vc/ediff-util.el (ediff-toggle-read-only, ediff-quit):
8164         Set this-command to the same command after using y-or-n-p
8165         that doesn't guarantee to keep this-command unchanged
8166         to check it later for some contrived logic.
8168 2019-11-18  Robert Pluim  <rpluim@gmail.com>
8170         Check for HAVE_GTK3 instead of a specific version
8172         Our minimum GTK3 version is 3.10, the font filter functions appeared
8173         in 3.2.
8175         * src/gtkutil.c (xg_font_filter) [HAVE_GTK3]: Just check for HAVE_GTK3.
8176         (xg_get_font) [HAVE_GTK3]: Same here.
8178 2019-11-18  Michael Albinus  <michael.albinus@gmx.de>
8180         * lisp/net/tramp.el (tramp-handle-file-regular-p): Improve error handling.
8182 2019-11-18  Lars Ingebrigtsen  <larsi@gnus.org>
8184         Fix cl-prettyexpand in the non-FULL case
8186         * lisp/emacs-lisp/cl-extra.el (cl-prettyexpand): This function has
8187         apparently not worked for at least a couple of decades
8188         (bug#38206) unless supplied with a FULL parameter.  Make the FULL
8189         parameter obsolete and make the function always work as it did
8190         with a non-nil FULL.
8192 2019-11-18  Phil Sainty  <psainty@orcon.net.nz>
8194         Merge branch 'scratch/so-long-updates'
8196 2019-11-18  Phil Sainty  <psainty@orcon.net.nz>
8198         lisp/so-long.el: Refactor menu action commands
8200         * lisp/so-long.el (so-long-menu): Call `so-long' with an ACTION
8201         argument instead of using `so-long-menu-item-replace-action'.
8202         (so-long-menu-item-replace-action): Remove the deprecated function.
8204         * test/lisp/so-long-tests/so-long-tests.el
8205         (so-long-tests-so-long-menu-item-replace-action): Update the test.
8207 2019-11-18  Phil Sainty  <psainty@orcon.net.nz>
8209         * lisp/so-long.el (so-long): Firstly revert the existing action, if any
8211         This makes `so-long' consistent with the action commands in the menu.
8213         If multiple actions were to be layered on top of one another, we would
8214         lose the ability to revert to the normal state.  Custom actions
8215         combining multiple other actions can be defined if necessary.
8217 2019-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
8218             Phil Sainty  <psainty@orcon.net.nz>
8220         lisp/so-long.el: Use (interactive "@") for menu commands
8222         * lisp/so-long.el (so-long-menu, so-long-menu-item-replace-action)
8223         (so-long-revert): Use interactive code "@", replacing all uses of
8224         `so-long-menu-click-window'.  This approach leaves the window selected
8225         afterwards, whereas the old code did not; but that is not a problem.
8226         (so-long-menu-click-window, so-long-menu-item-revert): Remove the
8227         deprecated functions.
8229         * test/lisp/so-long-tests/so-long-tests.el
8230         (so-long-tests-so-long-menu-item-replace-action): Update the test.
8232 2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>
8234         Remove the error-out test for with_harfbuzz
8236         * configure.ac (HAVE_HARFBUZZ): Remove the check for explicit
8237         harfbuzz -- have_harfbuzz defaults to "yes", so we have no way of
8238         checking whether the user really asked for it, apparently.
8240 2019-11-17  Paul Eggert  <eggert@cs.ucla.edu>
8242         * lisp/simple.el (process-file): Clarify doc string.
8244 2019-11-17  Stefan Monnier  <monnier@iro.umontreal.ca>
8246         * lisp/tmm.el (tmm-add-one-shortcut): Use dolist
8248 2019-11-17  Juri Linkov  <juri@linkov.net>
8250         * lisp/subr.el (read-char-from-minibuffer, y-or-n-p): Remove discard-input.
8252         (do-after-load-evaluation): Replace run-with-timer with run-with-idle-timer
8253         to give a chance for the minibuffer to handle initial events before sit-for.
8254         https://lists.gnu.org/archive/html/emacs-devel/2019-11/msg00581.html
8256 2019-11-17  Juri Linkov  <juri@linkov.net>
8258         Auto-scrolling in tab-line (bug#37667)
8260         * lisp/tab-line.el (tab-line-auto-hscroll): New function.
8261         (tab-line-format): Use tab-line-auto-hscroll.
8263 2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>
8265         Error out on --with-harfbuzz without HarfBuzz support
8267         * configure.ac: Error out if the user says --with-harfbuzz, but
8268         HarfBuzz isn't available.
8270 2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>
8272         Handle FC_CHARCELL in xftfont_open
8274         * src/xftfont.c (xftfont_open): FC_CHARCELL is apparently an alias
8275         for FC_DUAL used in some east Asian fonts (bug#35079).  Modelled
8276         after a patch suggested by Kenichi Handa.
8278 2019-11-17  Eli Zaretskii  <eliz@gnu.org>
8280         Support more font weight values on MS-Windows
8282         * src/w32font.c (w32_to_fc_weight): Support a few more weight
8283         values, for compatibility with the GTK font selection widget
8284         (see gtkutil.c:XG_WEIGHT_TO_SYMBOL).  (Bug#24226)
8286 2019-11-17  Alan Mackenzie  <acm@muc.de>
8288         Compilation Mode: Fix arrow handling when compilation-context-lines is t
8290         In particular, fix some exception occurrences, fix handling of a Compilation
8291         Mode buffer being displayed in several windows, and fix the margin when
8292         temporarily displaying a different buffer in a window, then returning to the
8293         compilation mode buffer.  The fix is relevant for frames without fringes,
8294         e.g. tty frames.
8296         * lisp/progmodes/compile.el: (compilation-set-window): Always set point to
8297         (parameter) MK.
8298         (compilation--set-up-margin, compilation--tear-down-margin): New functions.
8299         (compilation--set-up-arrow-spec-in-margins)
8300         (compilation--tear-down-arrow-spec-in-margins): Renamed by introducing -- and
8301         pluralising margin to margins.  Handle the margins in _all_ windows displaying
8302         the pertinent buffer by using get-buffer-window-list.  In ...--set-up-... add
8303         compilation--set-up-margin to window-buffer-change-functions.  In
8304         ...--tear-down-... remove the hook functions added in ...--set-up-....
8306 2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>
8308         Make ido-read-file-name respect ido-read-file-name-non-ido more
8310         * lisp/ido.el (ido-read-file-name): Respect
8311         ido-read-file-name-non-ido in the file-directory-p case, too
8312         (bug#38231).
8314 2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>
8316         Make tables more resistant to major mode changes
8318         * lisp/textmodes/table.el (table--put-cell-face-property)
8319         (table--remove-cell-properties): Ensure that we don't lose the
8320         table face when switching from buffers with font locking to ones
8321         without (or vice versa) (bug#35481).
8323 2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>
8325         Make bibtex-parse-keys more robust
8327         * lisp/textmodes/bibtex.el (bibtex-parse-keys): Protect against
8328         bugging out just when starting almost-empty bibtex files
8329         (bug#30112).
8331 2019-11-16  Juri Linkov  <juri@linkov.net>
8333         * lisp/tab-bar.el: Add missing arg.
8335         * lisp/tab-bar.el (tab-bar-list-next-line)
8336         (tab-bar-list-prev-line): Add missing interactive spec for prefix arg.
8338         * lisp/mouse.el (mouse-buffer-menu-mode-groups): Add "Git" regexp
8339         to match "Git-Region-History" mode name for "Version Control" group.
8341 2019-11-16  Juri Linkov  <juri@linkov.net>
8343         * lisp/simple.el (eval-expression-print-maximum-character): Use choice type.
8345         https://lists.gnu.org/archive/html/emacs-devel/2019-11/msg00433.html
8347 2019-11-16  Juri Linkov  <juri@linkov.net>
8349         * lisp/dired.el (dired-dwim-target): Add choice dired-dwim-target-next-visible
8351         * lisp/dired-aux.el (dired-dwim-target-next): Add arg ALL-FRAMES.
8352         (dired-dwim-target-next-visible): New function.
8354         * doc/emacs/dired.texi (Operating on Files): Describe function value
8355         of dired-dwim-target.  (Bug#35385)
8357 2019-11-16  Eli Zaretskii  <eliz@gnu.org>
8359         Fix display of R2L text
8361         * src/xdisp.c (extend_face_to_end_of_line): Fix padding of R2L
8362         screen lines with stretch glyph on the left.  (Bug#38233)
8364 2019-11-16  Shingo Tanaka  <shingo.fg8@gmail.com>
8366         Fix moving files with duplicate names to trash-can
8368         * lisp/files.el (move-file-to-trash): Fix file name in
8369         trash-can when another deleted file under the same name is
8370         already stored there.  (Bug#37922)
8372 2019-11-16  Martin Rudalics  <rudalics@gmx.at>
8374         Do not report move frame events for tooltip frames (Bug#38213)
8376         * src/w32term.c (w32_read_socket):
8377         * src/xterm.c (handle_one_xevent): Do not report move frame events
8378         for tooltip frames (Bug#38213).
8380 2019-11-15  Michael Orlitzky  <michael@orlitzky.com>  (tiny change)
8382         tex-mode: paragraph separator groups text and comments
8384         * lisp/textmodes/tex-mode.el (latex-mode): Don't wrap text with
8385         leading spaces into preceding comments (bug#38152).
8387 2019-11-15  Lars Ingebrigtsen  <larsi@gnus.org>
8389         Don't move point on undefined keystrokes in the article buffer
8391         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Don't
8392         move point on undefined commands (bug#38227).
8394 2019-11-15  Lars Ingebrigtsen  <larsi@gnus.org>
8396         Make button-1 work on all Gnus buttons
8398         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-insert-button):
8399         * lisp/gnus/gnus-art.el (gnus-insert-mime-button)
8400         (gnus-mime-display-alternative, gnus-insert-prev-page-button)
8401         (gnus-insert-next-page-button)
8402         (gnus-insert-mime-security-button): Make button-1 work on all the
8403         Gnus buttons (bug#38144).
8405 2019-11-15  Lars Ingebrigtsen  <larsi@gnus.org>
8407         Make it clear what edebug-remove-instrumentation offers
8409         * doc/lispref/edebug.texi (Instrumenting): Reword the description
8410         of the edebug-remove-instrumentation command.
8412 2019-11-15  Paul Eggert  <eggert@cs.ucla.edu>
8414         Port new float-scaling code to Solaris
8416         * src/floatfns.c (double_integer_scale): Simplify, so that the
8417         function works when (FP_ILOGBNAN == INT_MAX && FP_ILOGB0 == INT_MIN),
8418         as on Solaris.
8420 2019-11-15  João Távora  <joaotavora@gmail.com>
8422         Make icomplete-tidy-shadowed-file-names less aggressive
8424         When using this option and editing input, some transient situations
8425         may arise that lead to file-name shadowing, but that shouldn't
8426         necessarily lead to auto-delete behaviour, which will be surprising.
8428         In '/foo/x/bar', if the user deletes the 'x', shadowing occurs, but
8429         probably shouldn't.  So, somewhat like ido-mode, only auto-tidy
8430         shadowed file names if the user is inserting text at end of input.
8432         * lisp/icomplete.el (icomplete-exhibit): Check this-command.
8433         (icomplete-tidy-shadowed-file-names): Tweak docstring.
8435 2019-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
8437         * lisp/progmodes/perl-mode.el (perl-calculate-indent): Indent qw(...)
8439         Fix initialization of `state`.
8440         Special-case `qw(...)` because we do want to indent its contents.
8442 2019-11-15  Robert Pluim  <rpluim@gmail.com>
8444         Used magic-fallback-mode-alist to detect .doc files (Bug#20891)
8446         This avoids running doc-view-mode on files that are actually text
8447         files.
8449         * lisp/files.el (auto-mode-alist): Don't use doc-view-mode-maybe
8450         for .doc (but continue to do so for .docx).
8451         (magic-fallback-mode-alist): Add signature for .doc files.
8453 2019-11-15  Eli Zaretskii  <eliz@gnu.org>
8455         Improve indexing of function doc string conventions
8457         * doc/lispref/functions.texi (Function Documentation): Improve
8458         indexing (bug#38158).
8460 2019-11-15  Paul Eggert  <eggert@cs.ucla.edu>
8462         Port hexdigit init to non-GCC + pdumper
8464         The old code assumed that hexdigit initialization (needed by
8465         non-GCC) could be done in syms_of_character, but that is no longer
8466         true with pdumper.  Instead, simplify hexdigit init so that it can
8467         be done statically on all C99 platforms.  Problem discovered on
8468         Solaris 10 sparc + Oracle Solaris Studio 12.6.
8469         * src/character.c (hexdigit): Add 1 to every value; all uses
8470         changed.  This simplifies the initialization so that it can be
8471         done statically on any C99 compiler.  hexdigit is now always const.
8472         (syms_of_character): Omit no-longer-necessary initialization.
8473         * src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST):
8474         Remove.  All uses removed.
8476 2019-11-15  Eli Zaretskii  <eliz@gnu.org>
8478         Improve documentation of 'add-variable-watcher'
8480         * doc/lispref/variables.texi (Watching Variables): Clarify the
8481         documentation of 'add-variable-watcher' and fix markup.
8483         * src/data.c (Fadd_variable_watcher): Clarify the doc string.
8484         (Bug#38205)
8486 2019-11-15  Lars Ingebrigtsen  <larsi@gnus.org>
8488         Avoid using subr-x function
8490         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Avoid using subr-x
8491         function (bug#38216).
8493 2019-11-15  Martin Rudalics  <rudalics@gmx.at>
8495         In 'dframe-frame-mode' avoid 'switch-to-buffer' (Bug#37840)
8497         * lisp/dframe.el (dframe-frame-mode): Use 'set-window-buffer'
8498         instead of 'switch-to-buffer’ to avoid that
8499         'switch-to-buffer-obey-display-actions' butts in (Bug#37840).
8501 2019-11-15  Andrii Kolomoiets  <andreyk.mad@gmail.com>
8503         lisp/vc/vc-hg.el: Don't pass empty string to hg update
8505         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Don't pass empty name to
8506         `hg update` (bug#38216).
8508 2019-11-15  Lele Gaifax  <lele@metapensiero.it>
8510         Fix minor formatting issue in isearch-forward documentation
8512         * lisp/isearch.el (isearch-forward): Doc string formatting fix
8513         (bug#38207).
8515 2019-11-15  Lars Ingebrigtsen  <larsi@gnus.org>
8517         Make edebug-remove-instrumentation remove macro instrumentation
8519         * lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation):
8520         Macros can also have edebug instrumentation, so remove that as
8521         well (bug#38195).
8523 2019-11-14  Robert Pluim  <rpluim@gmail.com>
8525         Update nnir-method-default-engines version tag
8527         * lisp/gnus/nnir.el (nnir-method-default-engines): Update version tag.
8529 2019-11-14  Eli Zaretskii  <eliz@gnu.org>
8531         Fix a recent change in xdisp.c
8533         * src/xdisp.c (tty_handle_tab_bar_click): Revert the last
8534         change which made this work only in the HAVE_NTGUI build.
8535         This function is needed by any build which supports a  mouse
8536         on TTY frames.
8538 2019-11-14  Paul Eggert  <eggert@cs.ucla.edu>
8540         Handle weird cases like (ceil 0 0.0)
8542         * src/floatfns.c (double_integer_scale): Distinguish Inf from NaN.
8543         (rounding_driver): Handle (ceil 0 0.0) and (ceil 0 1.0e+INF).
8544         * test/src/floatfns-tests.el (special-round): Add tests for
8545         weird cases like this.
8547         Avoid crash with (floor 0 0.0)
8548         * src/floatfns.c (rounding_driver): Signal an arithmetic
8549         error if divisor is 0.0 or -0.0, instead of crashing.
8551 2019-11-14  Stefan Monnier  <monnier@iro.umontreal.ca>
8553         * lisp/cedet/semantic/db.el: Use lexical-binding
8555         Also prefer setf over oset.
8556         (semanticdb-abstract-table-list): Always define.
8557         (semanticdb--inhibit-make-directory): Fix name of declaration to match
8558         name of variable actually used.
8559         (semanticdb-with-match-any-mode): Use `declare`.  Add Edebug spec.
8560         (semanticdb-project-roots): Remove redundant :group.
8562 2019-11-14  Paul Eggert  <eggert@cs.ucla.edu>
8564         Fix byte-counting error in ‘format’
8566         Problem reported by Paul Pogonyshev (Bug#38191).
8567         * src/editfns.c (styled_format): When checking for adjacent
8568         %-sequences, use byte position rather than character position.
8569         * test/src/editfns-tests.el (format-properties): Test for fix.
8571 2019-11-14  Paul Eggert  <eggert@cs.ucla.edu>
8573         In Cairo builds, omit some unnecessary functions
8575         * src/font.c (fset_font_data, font_put_frame_data)
8576         (font_get_frame_data):
8577         * src/ftfont.c (ftfont_open, ftfont_close)
8578         (ftfont_encode_char, ftfont_glyph_metrics)
8579         (ftfont_text_extents, ftfont_driver):
8580         Define only if USE_CAIRO.
8581         * src/xdisp.c (tty_handle_tab_bar_click):
8582         Define only if HAVE_NTGUI && !CYGWIN.
8584 2019-11-14  Dmitry Gutov  <dgutov@yandex.ru>
8586         (repos-count-screen-lines): Narrow without changing point-min
8588         * lisp/reposition.el (repos-count-screen-lines): Narrow without
8589         changing point-min.  It wasn't necessary for vertical-motion to
8590         work, and it had some adverse effects on how font-lock rules were
8591         applied
8592         (https://lists.gnu.org/archive/html/emacs-devel/2019-11/msg00522.html).
8593         This can also be an alternative fix for bug#38049.
8595 2019-11-14  Alan Mackenzie  <acm@muc.de>
8597         CC Mode: Fix two bugs in the "state cache".
8599         This (along with a suggestion to the OP to set
8600         open-paren-in-column-0-is-defun-start to nil) fixes bug #37910.  It may also
8601         have fixed bug #5490 and bug #18072.
8603         * lisp/progmodes/cc-engine.el (c-state-cache-non-literal-place): Remove thi
8604         non-sensical function, replacing it with ....
8605         (c-state-cache-lower-good-pos): New function.
8606         (c-renarrow-state-cache, c-append-lower-brace-pair-to-state-cache)
8607         (c-remove-stale-state-cache, c-remove-stale-state-cache-backwards): Instead of
8608         altering the state-cache list structure with setcar and setcdr, use setq and
8609         consing.
8610         (c-parse-state-1): Call c-state-cache-lower-good-pos rather than
8611         c-state-cache-non-literal-place.
8613 2019-11-14  Robert Pluim  <rpluim@gmail.com>
8615         Remove unneeded font_is_ignored prototype
8617         * src/gtkutil.h: Remove unneeded prototype for font_is_ignored,
8618         it's in font.h now.
8620 2019-11-14  Phil Sainty  <psainty@orcon.net.nz>
8622         Merge branch 'scratch/so-long-updates'
8624 2019-11-14  Phil Sainty  <psainty@orcon.net.nz>
8626         Make so-long disable flymake, flyspell, flycheck
8628         * lisp/so-long.el (so-long-minor-modes): Add flymake-mode, flyspell-mode,
8629         and flycheck-mode.
8631 2019-11-14  Phil Sainty  <psainty@orcon.net.nz>
8633         Support loading so-long.el on top of an earlier version
8635         * lisp/so-long.el (so-long-version, so-long--latest-version): New variables.
8637         This enables users to safely load version 1.0 of so-long.el on top of
8638         an earlier version, as well as making provisions for doing likewise
8639         following any incompatible changes arising in future versions.
8641 2019-11-14  Phil Sainty  <psainty@orcon.net.nz>
8643         Backwards-compatibility function definitions for so-long.el
8645         * lisp/so-long.el (so-long-inhibit-whitespace-mode)
8646         (so-long-make-buffer-read-only, so-long-revert-buffer-read-only)
8647         (so-long-inhibit-global-hl-line-mode): Restore dummy definitions of
8648         now-obsolete hook functions used by earlier versions of so-long.el,
8649         to support users who have saved these symbols in their customized
8650         values for the hooks in question.
8652 2019-11-14  Phil Sainty  <psainty@orcon.net.nz>
8654         * lisp/so-long.el (so-long-unload-function): Improved feature unload
8656 2019-11-14  Phil Sainty  <psainty@orcon.net.nz>
8658         Defer triggering `so-long' until the buffer is displayed
8660         * lisp/so-long.el (so-long-invisible-buffer-function): New user option.
8661         (so-long--set-auto-mode): Use so-long-invisible-buffer-function.
8662         (so-long-deferred): New function/value for so-long-invisible-buffer-function.
8663         (so-long, so-long--disable): Support for so-long-deferred.
8665         * test/lisp/so-long-tests/autoload-longlines-mode-tests.el
8666         * test/lisp/so-long-tests/autoload-major-mode-tests.el
8667         * test/lisp/so-long-tests/autoload-minor-mode-tests.el
8668         * test/lisp/so-long-tests/so-long-tests.el:
8669         Support for so-long-deferred.
8671         Pre-existing tests have been updated to ensure the buffer is already
8672         displayed in cases where a call to `normal-mode' is the (potential)
8673         trigger for `so-long'.
8675 2019-11-14  Eli Zaretskii  <eliz@gnu.org>
8677         Fix recent documentation changes
8679         * doc/lispref/minibuf.texi (Multiple Queries): Move the
8680         reference to 'read-char-from-minibuffer' from here...
8681         * doc/lispref/commands.texi (Reading One Event): ...to here.
8682         Fix the wording of the description of
8683         'read-char-from-minibuffer'.
8685 2019-11-14  Robert Pluim  <rpluim@gmail.com>
8687         Make GTK font chooser respect face-ignored-fonts
8689         * src/font.c (font_delete_unmatched): Move Vface_ignored_fonts
8690         matching to...
8691         (font_is_ignored): ..Here.  New function.
8692         * src/gtkutil.c (xg_font_filter): New function, uses font_is_ignored
8693         to filter fonts.
8694         (xg_get_font): Set GTK font chooser filter to xg_font_filter.
8695         * src/gtkutil.h: Add prototype for font_is_ignored.
8697 2019-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
8699         Obsolete rfc2047-quote-special-characters-in-quoted-strings (bug#38200)
8701         * lisp/mail/rfc2047.el
8702         (rfc2047-quote-special-characters-in-quoted-strings): Make obsolete
8703         instead of removing it.
8705 2019-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
8707         Remove rfc2047-quote-special-characters-in-quoted-strings (bug#38200)
8709         * lisp/mail/rfc2047.el
8710         (rfc2047-quote-special-characters-in-quoted-strings): Remove function.
8711         (rfc2047-encode-message-header, rfc2047-encode-region): Don't use it.
8713 2019-11-13  Andrii Kolomoiets  <andreyk.mad@gmail.com>
8715         (vc-default-update-on-retrieve-tag): Accept backend argument
8717         * lisp/vc/vc.el (vc-default-update-on-retrieve-tag): Accept
8718         backend argument (bug#38156).  This fixes a bug introduced in the
8719         previous patch.
8721 2019-11-13  Lars Ingebrigtsen  <larsi@gnus.org>
8723         Fix mouse-1 on Gnus article buffer buttons
8725         * lisp/gnus/gnus-art.el (gnus-article-add-button): Make mouse-1
8726         work as required by mouse-1-click-follows-link (bug#38144).
8728 2019-11-13  Andrii Kolomoiets  <andreyk.mad@gmail.com>
8730         VC: ability to skip update buffers prompt
8732         * lisp/vc/vc.el (vc-default-update-on-retrieve-tag): New function.
8733         (vc-retrieve-tag): Call `update-on-retrieve-tag' backend function
8734         to determine if prompt for update buffers is needed; Include tag
8735         name into the "Retrieving tag" message.
8736         * lisp/vc/vc-git.el (vc-git-update-on-retrieve-tag):
8737         * lisp/vc/vc-hg.el (vc-hg-update-on-retrieve-tag):
8738         * lisp/vc/vc-svn.el (vc-svn-udate-on-retrieve-tag): New functions.
8739         Buffers update prompt on `vc-retrieve-tag' is omitted (bug#38156).
8741 2019-11-13  Braun Gábor  <braungb88@gmail.com>  (tiny change)
8743         Make clone-buffer not unbind global variable
8745         * lisp/simple.el (clone-buffer): Make clone-buffer not globally
8746         unset locally void variable (bug#38179).
8748 2019-11-13  Lars Ingebrigtsen  <larsi@gnus.org>
8750         Update signature in etc/DISTRIB
8752         * etc/DISTRIB: Update signature (bug#38188).
8754 2019-11-13  Lars Ingebrigtsen  <larsi@gnus.org>
8756         Make dired-do-compress-to require format-spec
8758         * lisp/dired-aux.el (dired-do-compress-to): Require format-spec
8759         runtime (bug#38189).
8761 2019-11-13  Lars Ingebrigtsen  <larsi@gnus.org>
8763         Allow using edebug-remove-instrumentation more fine-grained
8765         * lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation):
8766         Prompt the user for what functions to remove instrumentation from
8767         a la cancel-edebug-on-entry (bug#38195).
8769 2019-11-13  Stephen Gildea  <stepheng+emacs@gildea.com>
8771         time-stamp: update support for time zone numeric offset
8773         * lisp/time-stamp.el (time-stamp-string-preprocess): Change new format for
8774         numeric time zone from %:z to %5z to match format-time-string better.
8775         (time-stamp-format): Document support for numeric time zone.
8776         See discussion in bug#32931.
8778         * NEWS: Mention time-stamp-format %5z.
8780 2019-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
8782         Don't show Attachment(s) header in html article viewed with browse-url
8784         * lisp/gnus/gnus-art.el (gnus-article-browse-html-article):
8785         Bind gnus-mime-display-attachment-buttons-in-header to nil.
8787 2019-11-13  Juri Linkov  <juri@linkov.net>
8789         * lisp/tab-line.el (tab-line-tabs-buffer-list): Use window-prev-buffers too.
8791         * lisp/tab-line.el (tab-line-tabs-buffer-list): Move window-prev-buffers here
8792         from tab-line-tabs-buffer-groups.
8794 2019-11-13  Paul Eggert  <eggert@cs.ucla.edu>
8796         Fix double-rounding bug in ceiling etc.
8798         This is doable now that we have bignums.
8799         * src/floatfns.c (integer_value): Remove; no longer used.
8800         (rescale_for_division): New function.
8801         (rounding_driver): Use it to divide properly (by using bignums)
8802         even when arguments are float, fixing a double-rounding FIXME.
8803         * src/lisp.h (LOG2_FLT_RADIX): Move here ...
8804         * src/timefns.c (frac_to_double): ... from here.
8805         * test/src/floatfns-tests.el (big-round):
8806         Add a test to catch the double-rounding bug.
8808 2019-11-13  Paul Eggert  <eggert@cs.ucla.edu>
8810         Refactor bignum multiplication, exponentiation
8812         This doesn’t alter behavior, and simplifies the next commit.
8813         * src/bignum.c (GMP_NLIMBS_MAX, NLIMBS_LIMIT, emacs_mpz_size)
8814         (emacs_mpz_mul, emacs_mpz_mul_2exp, emacs_mpz_pow_ui): Move here ...
8815         * src/data.c: ... from here.
8817 2019-11-13  Paul Eggert  <eggert@cs.ucla.edu>
8819         Refactor double integer scaling
8821         This doesn’t alter behavior, and simplifies a future commit.
8822         * src/floatfns.c (double_integer_scale): New function,
8823         with body adapted from the old timefns.c.
8824         * src/timefns.c (decode_float_time): Use it.
8826 2019-11-13  Michael Albinus  <michael.albinus@gmx.de>
8828         Finish last Tramp patch
8830         * lisp/net/tramp.el (outline-regexp): Remove declaration.
8831         (tramp-debug-outline-regexp): Add thread regexp.
8832         (tramp-debug-font-lock-keywords): New defconst.
8833         (tramp-debug-outline-level): Adapt to changed
8834         `tramp-debug-outline-regexp'.
8835         (tramp-get-debug-buffer): Use `tramp-debug-font-lock-keywords'.
8837 2019-11-13  Robert Pluim  <rpluim@gmail.com>
8839         Add "Noto Color Emoji" to face-ignored-fonts
8841         * src/xfaces.c (syms_of_xfaces) [HAVE_XFT]: Add "Noto Color Emoji" to
8842         face-ignored-fonts (Bug#37786).
8844 2019-11-13  Michael Albinus  <michael.albinus@gmx.de>
8846         Some refinement in Tramp debug buffer.
8848         * lisp/net/tramp.el (outline-regexp): Remove declaration.
8849         (tramp-debug-font-lock-keywords): New defconst.
8850         (tramp-get-debug-buffer): Use it.
8852 2019-11-13  Michael Albinus  <michael.albinus@gmx.de>
8854         Adapt Tramp docstrings according to checkdoc
8856         * lisp/net/tramp.el (tramp-backup-directory-alist)
8857         (tramp-echoed-echo-mark-regexp, tramp-syntax-values)
8858         (tramp-lookup-syntax, tramp-build-prefix-format)
8859         (tramp-build-prefix-regexp, tramp-build-method-regexp)
8860         (tramp-build-postfix-method-format)
8861         (tramp-build-postfix-method-regexp)
8862         (tramp-build-prefix-ipv6-format, tramp-build-prefix-ipv6-regexp)
8863         (tramp-build-postfix-ipv6-format)
8864         (tramp-build-postfix-ipv6-regexp)
8865         (tramp-build-postfix-host-format)
8866         (tramp-build-postfix-host-regexp, tramp-unknown-id-string)
8867         (tramp-unknown-id-integer, tramp-build-file-name-regexp)
8868         (tramp-build-completion-file-name-regexp, tramp-chunksize)
8869         (tramp-find-method, tramp-find-user, tramp-find-host)
8870         (tramp-dissect-file-name, tramp-get-buffer)
8871         (tramp-get-connection-buffer, tramp-debug-message, tramp-error)
8872         (with-tramp-connection-property, tramp-run-real-handler)
8873         (tramp-file-name-for-operation, tramp-file-name-handler)
8874         (tramp-completion-file-name-handler)
8875         (tramp-completion-handle-file-name-completion)
8876         (tramp-completion-dissect-file-name)
8877         (tramp-completion-dissect-file-name1)
8878         (tramp-handle-file-name-as-directory)
8879         (tramp-handle-file-name-directory)
8880         (tramp-handle-file-name-nondirectory, tramp-mode-string-to-int)
8881         (tramp-file-mode-from-int):
8882         * lisp/net/tramp-adb.el (tramp-adb-file-name-p):
8883         * lisp/net/tramp-archive.el (tramp-archive-run-real-handler)
8884         (tramp-archive-file-name-handler)
8885         (tramp-archive-dissect-file-name)
8886         (with-parsed-tramp-archive-file-name)
8887         (tramp-archive-gvfs-file-name, tramp-archive-handle-access-file):
8888         * lisp/net/tramp-cmds.el (tramp-list-remote-buffers):
8889         * lisp/net/tramp-compat.el (tramp-unload-file-name-handlers)
8890         (tramp-compat-funcall, tramp-compat-tramp-file-name-slots):
8891         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler)
8892         (tramp-ftp-file-name-p):
8893         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-p)
8894         (tramp-gvfs-file-name-handler)
8895         (tramp-gvfs-stringify-dbus-message)
8896         (tramp-gvfs-monitor-process-filter)
8897         (tramp-gvfs-handler-mounted-unmounted):
8898         * lisp/net/tramp-integration.el
8899         (tramp-rfn-eshadow-update-overlay-regexp):
8900         * lisp/net/tramp-rclone.el (tramp-rclone-file-name-p)
8901         (tramp-rclone-file-name-handler, tramp-rclone-send-command):
8902         * lisp/net/tramp-sh.el (tramp-sh--quoting-style-options)
8903         (tramp-sh-gio-monitor-process-filter)
8904         (tramp-sh-gvfs-monitor-dir-process-filter)
8905         (tramp-sh-inotifywait-process-filter, tramp-find-executable)
8906         (tramp-set-remote-path, tramp-open-shell, tramp-find-shell)
8907         (tramp-send-command-and-check, tramp-shell-case-fold)
8908         (tramp-get-remote-path):
8909         * lisp/net/tramp-smb.el (tramp-smb-file-name-p)
8910         (tramp-smb-file-name-handler)
8911         (tramp-smb-do-file-attributes-with-stat)
8912         (tramp-smb-handle-substitute-in-file-name)
8913         (tramp-smb-get-stat-capability, tramp-smb-shell-quote-argument):
8914         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-p)
8915         (tramp-sudoedit-file-name-handler)
8916         (tramp-sudoedit-send-command-string):
8917         * test/lisp/net/tramp-archive-tests.el (tramp-archive-test-all):
8918         * test/lisp/net/tramp-tests.el (tramp--test-gvfs-p)
8919         (tramp--test-with-proper-process-name-and-buffer)
8920         (tramp-test-all): Adapt docstrings according to `checkdoc'.
8922 2019-11-13  João Távora  <joaotavora@gmail.com>
8924         Avoid fido-mode's setup on non-icomplete minibuffers
8926         Otherwise we would lose things like C-r (isearch-backward) when doing
8927         simple stuff like non-icomplete pp-eval-expression.
8929         * lisp/icomplete.el (icomplete--fido-mode-setup): Restrict setup
8930         to when icomplete-mode really kicks in.
8932 2019-11-12  Juri Linkov  <juri@linkov.net>
8934         * lisp/tab-line.el (tab-line-tabs-buffer-list-function): New variable.
8936         (tab-line-tabs-buffer-list): New function.
8937         (tab-line-tabs-mode-buffers, tab-line-tabs-buffer-groups):
8938         Call tab-line-tabs-mode-buffers.
8939         (tab-line-tabs-buffer-groups): Add 'close' function that uses
8940         kill-buffer instead of bury-buffer that makes no sense here.
8941         (tab-line-format): Don't show the close button when a tab
8942         has no 'close' function or buffer.
8943         (tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab):
8944         Support tabs with 'buffer' properties.
8945         (tab-line-close-tab): Call 'close' function when defined.
8947 2019-11-12  Juri Linkov  <juri@linkov.net>
8949         * lisp/dired.el (dired-dwim-target): Add new choices (bug#35385)
8951         * lisp/dired.el (dired-dwim-target): Add choices
8952         dired-dwim-target-next and dired-dwim-target-recent.
8954         * lisp/dired-aux.el (dired-dwim-target-next)
8955         (dired-dwim-target-recent): New functions.
8956         (dired-dwim-target-directories): Call either of them.
8958         * doc/emacs/dired.texi (Operating on Files): Mention new
8959         preferences in dired-dwim-target.
8961 2019-11-12  Paul Eggert  <eggert@cs.ucla.edu>
8963         Conditionally omit edition numbers, dates in doc
8965         This redoes the 2019-11-02T00:24:02!eggert@cs.ucla.edu patch,
8966         updated after consultation with John Sullivan.
8967         Omit printed edition numbers in online manuals while keeping
8968         them in printed manuals.  In online manuals the edition
8969         numbers seem to cause more confusion than they cure; e.g.,
8970         https://shop.fsf.org/books/gnu-emacs-manual-18th-edition-v-261
8971         currently advertises "18th edition" even as it points to
8972         https://www.gnu.org/software/emacs/manual/pdf/emacs.pdf which
8973         says "Seventeenth Edition".  It is simpler and less confusing
8974         to stick to one version number like "27.0" in online manuals.
8975         For printed manuals people can run, e.g., "texi2any -D
8976         'EDITION Nineteenth'" when generating the 19th printed edition
8977         of the Emacs manual.
8978         * doc/emacs/emacs.texi (EDITION):
8979         * doc/lispintro/emacs-lisp-intro.texi (edition-number, update-date):
8980         * doc/lispref/elisp.texi (VERSION, DATE):
8981         Remove definitions.  Instead, let the person printing the book
8982         specify these values, with the default being the online version
8983         which does not have printed edition numbers.
8984         * doc/lispintro/emacs-lisp-intro.texi (titlepage-edition-number):
8985         New flag, for the edition number as it appears on the title page.
8987 2019-11-12  Martin Rudalics  <rudalics@gmx.at>
8989         Make sure buffer is live before retrieving underline properties (Bug#38038)
8991         * src/window.h (WINDOW_BUFFER_LOCAL_VALUE): New macro.
8992         * src/nsterm.m (ns_draw_text_decoration):
8993         * src/w32term.c (w32_draw_glyph_string):
8994         * src/xterm.c (x_draw_glyph_string): Make sure buffer is live
8995         before retrieving underline properties from it (Bug#38038).
8997 2019-11-12  Stefan Monnier  <monnier@iro.umontreal.ca>
8999         * lisp/emacs-lisp/easymenu.el (easy-menu-make-symbol): Fix last change
9001 2019-11-11  Paul Eggert  <eggert@cs.ucla.edu>
9003         Fix a few more minor quoting problems.
9005 2019-11-11  Lars Ingebrigtsen  <larsi@gnus.org>
9007         Rename font-log-refontify
9009         * lisp/font-lock.el (font-lock-debug-fontify): Rename to make it
9010         clearer what the function is for.
9011         * doc/lispref/modes.texi (Font Lock Basics): Ditto.
9013 2019-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>
9015         * lisp/startup.el (command-line): Fix last change in package--activated
9017 2019-11-11  Paul Eggert  <eggert@cs.ucla.edu>
9019         Fix some quoting glitches in doc strings
9021 2019-11-11  Paul Eggert  <eggert@cs.ucla.edu>
9023         Fix quoting glitch in formatting Gnus messages
9025         * lisp/gnus/gnus-util.el (defmacro, gnus-message): Use
9026         ‘format-message’, not ‘format’, to be compatible with ‘message’.
9028 2019-11-11  Paul Eggert  <eggert@cs.ucla.edu>
9030         Fix glitch in generating cxterm doc strings
9032         * lisp/international/titdic-cnv.el (tit-process-header):
9033         In generated doc strings, escape \, ", ', and ` properly.
9034         Currently only ' appears but we might as well future-proof this.
9036 2019-11-11  Wilson Snyder  <wsnyder@wsnyder.org>
9038         Verilog-Mode collected updates.
9040         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix to skip
9041         over base64-encoded protected data while reading AUTO declarations.
9042         Reported by Berend Ozceri.
9043         (verilog-auto-inst-port, verilog-auto-inst-vector): Support 'unsigned'
9044         in `verilog-auto-inst-vector'. Reported by Jeff Riley.
9045         (verilog-read-decls): Fix to ignore `line in AUTOINST, git
9046         bug18. Reported by Berend Ozceri.
9047         (verilog-library-extensions): Support .va /.vah/.sva/.svah file
9048         extensions to load verilog-mode for Verilog-AMS.  Reported by Shareef
9049         Jalloq.
9050         (verilog-read-sub-decls-expr): Fix AUTOOUTPUT etc misparsing Verilog
9051         casts, bug1526.  Reported by Udi Finkelstein.
9053 2019-11-11  Stefan Kangas  <stefankangas@gmail.com>
9055         Add several configuration files to auto-mode-alist
9057         * lisp/files.el (auto-mode-alist): Use conf-mode for .asoundrc,
9058         .mairixrc, .mbsyncr, .msmtprc, .nvidia-settings-rc, .offlineimaprc,
9059         .reportbugrc, .rtorrent.rc, .screenrc, .mpdconf, .notmuch-config.  Use
9060         conf-windows-mode for .redshift.conf.  (Bug#38065)
9062 2019-11-10  Paul Eggert  <eggert@cs.ucla.edu>
9064         Document Lisp floats a bit better
9066         * doc/lispref/numbers.texi (Float Basics):
9067         * doc/misc/cl.texi (Implementation Parameters):
9068         * lisp/emacs-lisp/cl-lib.el (cl-most-positive-float)
9069         (cl-least-positive-float)
9070         (cl-least-positive-normalized-float, cl-float-epsilon)
9071         (cl-float-negative-epsilon):
9072         Document IEEE floating point better.  Don’t suggest that Emacs
9073         might use some floating-point format other than IEEE format, as
9074         Emacs currently assumes IEEE in several places and there seems
9075         little point in removing those assumptions.
9077 2019-11-10  Juri Linkov  <juri@linkov.net>
9079         * lisp/tab-bar.el: Better handling of closed-tabs in tab-bar-list.
9081         * lisp/tab-bar.el (tab-bar-list-delete-from-list): Add closed tab to
9082         tab-bar-closed-tabs.
9083         (tab-bar-list-select): Don't add the closed intermediate tab to
9084         tab-bar-closed-tabs.
9086 2019-11-10  Juri Linkov  <juri@linkov.net>
9088         * lisp/autorevert.el: Use 'minibuffer-message' to not obscure the prompt.
9090         * lisp/autorevert.el (auto-revert-handler): Use 'minibuffer-message'
9091         instead of 'message'.  Call it from the original window's buffer
9092         that in case of the minibuffer should be current, so
9093         minibuffer-message could add a message to it.  (Bug#34614)
9095         * lisp/emacs-lisp/ert-x.el (ert--make-message-advice): Add nil to
9096         the list of values to not use for format-message, because
9097         minibuffer-message calls 'message' with nil argument, and tests fail.
9099 2019-11-10  Stefan Kangas  <stefankangas@gmail.com>
9100             Drew Adams  <drew.adams@oracle.com>
9102         Make dired-get-subdir-min obsolete
9104         * lisp/dired.el (dired-get-subdir-min): Redefine as obsolete function
9105         alias for 'cdr'.  (Bug#11571)
9106         (dired-get-subdir, dired-get-subdir-max, dired-clear-alist)
9107         (dired-next-subdir, dired-current-directory):
9108         * lisp/dired-aux.el (dired-rename-subdir-2)
9109         (dired-alist-sort, dired-insert-subdir-del)
9110         (dired-insert-subdir-doupdate, dired-goto-subdir)
9111         (dired-hide-subdir, dired-hide-all): Use 'cdr' instead of
9112         the above obsolete function.
9113         (dired-subdir-alist): Doc fix.
9115 2019-11-10  Juri Linkov  <juri@linkov.net>
9117         Move read-char-from-minibuffer from simple.el to subr.el and document it.
9119         * doc/lispref/minibuf.texi (Multiple Queries):
9120         Document read-char-from-minibuffer (bug#10477, bug#38076).
9122         * lisp/subr.el (read-char-history)
9123         (read-char-from-minibuffer-map)
9124         (read-char-from-minibuffer-map-hash)
9125         (read-char-from-minibuffer-insert-char)
9126         (read-char-from-minibuffer-insert-other, empty-history)
9127         (read-char-from-minibuffer): Move from simple.el to subr.el.
9129 2019-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9131         * lisp/cedet/semantic/wisent/comp.el (wisent-struct): Remove
9133         (core, shifts, reductions, errs): Use cl-defstruct instead.
9134         Adjust all users of the set-<struct>-<field> setters to use
9135         `setf` instead.
9137 2019-11-09  Jimmy Aguilar Mena  <spacibba@aol.com>
9139         Add extra bindings to fido-mode.
9141         * lisp/icomplete.el (icomplete-fido-mode-map) : Add arrows and other
9142         bindings to reproduce ido behaviour.
9144 2019-11-09  Glenn Morris  <rgm@gnu.org>
9146         Disable a portion of one doc-test
9148         * test/src/doc-tests.el (doc-test-substitute-command-keys):
9149         Disable component that fails twice in the past 5 weeks
9150         due to changes in the minibuffer map.
9152 2019-11-09  Juri Linkov  <juri@linkov.net>
9154         Don't overwrite y-or-n-p prompt by message from asynchronous man (bug#19064)
9156         * lisp/man.el (Man-bgproc-sentinel): Postpone displaying the message
9157         and deleting the buffer until exiting the code block with
9158         with-current-buffer.  Use minibuffer-message to display message
9159         to handle possibly active minibuffer.
9161 2019-11-09  Juri Linkov  <juri@linkov.net>
9163         Don't obscure the minibuffer by message (bug#17272)
9165         * lisp/subr.el (do-after-load-evaluation): Use minibuffer-message
9166         to not obscure a possibly active minibuffer.
9168         * lisp/minibuffer.el (minibuffer-message):
9169         Record message in the *Messages* buffer.
9171 2019-11-09  Juri Linkov  <juri@linkov.net>
9173         Use the minibuffer to read answer in userlock.el (bug#38076)
9175         * lisp/userlock.el: Rename 'fn' to 'filename'.
9176         (ask-user-about-supersession-threat): Use read-char-from-minibuffer
9177         instead of read-char-choice.
9179 2019-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9181         * lisp/startup.el (package--activated): Fix redundant definition
9183 2019-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9185         * lisp/ffap.el (ffap-read-file-or-url): Don't use url-file-handler
9187         Simplify accordingly (and don't call substitute-in-file-name redundantly).
9189 2019-11-09  Juri Linkov  <juri@linkov.net>
9191         hack-local-variables-confirm uses the minibuffer to read answer (bug#38076)
9193         * lisp/files.el (hack-local-variables-confirm):
9194         Use read-char-from-minibuffer instead of read-char-choice.
9195         Remove special handling of original window scrolling
9196         that is now supported in the minibuffer.  This fixes
9197         https://lists.gnu.org/archive/html/emacs-devel/2019-10/msg01020.html
9198         (files--ask-user-about-large-file): Use read-char-from-minibuffer
9199         instead of read-char-choice.
9201 2019-11-09  Juri Linkov  <juri@linkov.net>
9203         Add CHARS arg to read-char-from-minibuffer compatible with read-char-choice.
9205         * lisp/simple.el (read-char-history):
9206         Rename from read-char-from-minibuffer-history.  (Bug#38076)
9207         (read-char-from-minibuffer-insert-char):
9208         Rename from read-char-from-minibuffer-self-insert.
9209         (read-char-from-minibuffer-map-hash): New defconst.
9210         (read-char-from-minibuffer-insert-other): New command.
9211         (read-char-from-minibuffer): Add optional args CHARS and HISTORY.
9212         (zap-to-char): Use 'read-char-history as HISTORY arg of
9213         read-char-from-minibuffer.
9215         * lisp/emacs-lisp/map-ynp.el (read-answer): Use sit-for instead of sleep-for.
9216         Replace short answer history yes-or-no-p-history with read-char-history.
9218 2019-11-09  Juri Linkov  <juri@linkov.net>
9220         'y-or-n-p' now uses the minibuffer to read 'y' or 'n' answer (bug#38076)
9222         * doc/lispref/minibuf.texi (Yes-or-No Queries): Update the fact
9223         that y-or-n-p uses the minibuffer.
9225         * lisp/subr.el (y-or-n-p-history-variable): New variable.
9226         (y-or-n-p-map): New keymap.
9227         (y-or-n-p-insert-y, y-or-n-p-insert-n, y-or-n-p-insert-other):
9228         New commands.
9229         (y-or-n-p): Rewrite to use read-from-minibuffer and make-composed-keymap
9230         with y-or-n-p-map and query-replace-map.
9232 2019-11-09  Juri Linkov  <juri@linkov.net>
9234         Run scroll/recenter commands from minibuffer in original window (bug#38076)
9236         * lisp/minibuffer.el (with-minibuffer-selected-window): New macro.
9237         (minibuffer-recenter-top-bottom, minibuffer-scroll-up-command)
9238         (minibuffer-scroll-down-command, minibuffer-scroll-other-window):
9239         (minibuffer-scroll-other-window-down): New commands.
9240         (minibuffer-local-map): Remap recenter/scroll symbols to their
9241         minibuffer wrappers: recenter-top-bottom to minibuffer-recenter-top-bottom.
9243         * src/window.c (Fother_window_for_scrolling): Use 'lambda' value for
9244         MINIBUF arg of Fnext_window, so minibuffer-scroll-other-window and
9245         minibuffer-scroll-other-window-down doesn't try to scroll the
9246         minibuffer window.
9248 2019-11-09  Karl Fogel  <kfogel@red-bean.com>
9250         Improve an error about the message signer
9252         * lisp/gnus/mml-sec.el (mml-secure-epg-sign): Don't suggest setting
9253           `mml-secure-smime-sign-with-sender' if it's already non-nil.
9255 2019-11-09  Lars Ingebrigtsen  <larsi@gnus.org>
9257         Fix font-lock-keywords slightly
9259         * lisp/font-lock.el (font-lock-keywords): Tweak doc string
9260         slightly (bug#35005).
9262 2019-11-09  Eli Zaretskii  <eliz@gnu.org>
9264         Fix case-insensitive completion of buffer names
9266         * test/src/minibuf-tests.el (test-try-completion-ignore-case):
9267         New test, suggested by Stefan Monnier <monnier@iro.umontreal.ca>.
9269         * src/minibuf.c (Ftry_completion): Don't treat strings that
9270         are identical but for the case as if they were identical for
9271         the purposes of not counting the same string twice.  This
9272         fixes case-insensitive completion when all the candidates are
9273         identical but for the letter-case.  (Bug#11339)
9275 2019-11-09  Eli Zaretskii  <eliz@gnu.org>
9277         Fix an error in selecting encoding when writing zip files
9279         * lisp/international/mule-cmds.el (select-safe-coding-system):
9280         Treat no-conversion-multibyte that came from find-auto-coding
9281         the same as no-conversion for the purposes of encoding.  The
9282         same logic that considers no-conversion always safe should do
9283         the same with no-conversion-multibyte.  (Bug#38155)
9285 2019-11-09  Glenn Morris  <rgm@gnu.org>
9287         * lisp/progmodes/cc-vars.el (c-mark-wrong-style-of-comment):
9288         Fix version.
9290 2019-11-09  João Távora  <joaotavora@gmail.com>
9292         Revert "Nudge icomplete-mode a little closer to fido-mode"
9294         Fixes bug#38131.
9296         This is not the best way to have fido-mdoe emulate that particular bit
9297         of ido-mode.
9299         This reverts commit 5761a1a3939e23d8e8c725241dd9398a12f191b0.
9301 2019-11-09  João Távora  <joaotavora@gmail.com>
9303         Rename some commands to reflect they are fido-mode specific
9305         * lisp/icomplete.el (icomplete-fido-kill)
9306         (icomplete-fido-delete-char, icomplete-fido-ret)
9307         (icomplete-fido-backward-updir): Rename from icomplete-magic-ido-*
9308         versions.
9309         (icomplete-fido-mode-map): Use new command names.
9311 2019-11-09  João Távora  <joaotavora@gmail.com>
9313         Protect flex's display-sort-function against 0-length candidates
9315         * lisp/minibuffer.el (completion--flex-adjust-metadata): Assume a
9316         candidate missing a score has a score of 0.
9318 2019-11-09  Alan Mackenzie  <acm@muc.de>
9320         Widen around c-font-lock-fontify-region.  This fixes bug #38049.
9322         * lisp/progmodes/cc-mode.el (c-font-lock-fontify-region): Widen in this function,
9323         to ensure that the CC Mode font locking mechanism can examine characters
9324         outside the given region.
9326 2019-11-09  Alan Mackenzie  <acm@muc.de>
9328         CC Mode.  Allow fontification of "wrong" style comments with warning face.
9330         This fixes bug #4192.
9332         * etc/NEWS: Add a new entry.
9334         * lisp/progmodes/cc-defs.el (c-font-lock-flush): New macro.
9336         * lisp/progmodes/cc-cmds.el (c-toggle-comment-style): On toggling the comment
9337         style, invoke c-font-lock-flush when c-mark-wrong-style-of-comment is non-nil,
9338         to cause that marking to be done instead on the other style of comment.
9340         * lisp/progmodes/cc-fonts.el (c-maybe-font-lock-wrong-style-comments): New
9341         function.
9342         (c-cpp-matchers): Call c-maybe-font-lock-wrong-style-comments when
9343         appropriate.
9345         * lisp/progmodes/cc-vars.el (c-mark-wrong-style-of-comment): New customizable
9346         option.
9348         * doc/misc/cc-mode.texi (top level, Indentation Commands, Guessing the Style,
9349         Custom Macros): For some opening quote marks, correct '' to ``.
9350         (Minor Modes): Add an xref to the new page "Wrong Comment Style" in a
9351         footnote.
9352         (Wrong Comment Style): New page.
9354 2019-11-09  Nick Helm  <nick@tenpoint.co.nz>
9356         Fix unresponsive Help menu in macOS
9358         * src/nsterm.m (ns_check_menu_open): Don't postpone mouse drag and
9359         non-user-generated mouse down events (Bug#31371).
9361 2019-11-09  Eli Zaretskii  <eliz@gnu.org>
9363         Avoid compiler warnings in addpm.c and ddeclient.c
9365         * nt/ddeclient.c (DdeCallback):
9366         * nt/addpm.c (DdeCallback): Modify types of the last 2
9367         arguments to avoid compiler warnings in 64-bit builds.
9368         (Bug#38040)
9370 2019-11-09  Eli Zaretskii  <eliz@gnu.org>
9372         Fix last change
9374         * lisp/simple.el (goto-history-element)
9375         (next-history-element): Fix quoting of "future history".
9377         * doc/lispref/minibuf.texi (Minibuffer Commands)
9378         (Text from Minibuffer): Add index entry and cross-reference
9379         for "future history".  (Bug#38026)
9381 2019-11-09  Hong Xu  <hong@topbug.net>
9383         Mention future history in history-related minibuffer commands
9385         * lisp/simple.el (goto-history-element):
9386         * doc/lispref/minibuf.texi (Minibuffer Commands): Explain
9387         negative NABS.
9388         * lisp/simple.el (next-history-element):
9389         * doc/lispref/minibuf.texi (Minibuffer Commands): Mention
9390         "future history."  (Bug#38026)
9392 2019-11-08  Paul Eggert  <eggert@cs.ucla.edu>
9394         Fix some quoting glitches in doc strings
9396         This also fixes a misplaced "only".
9398 2019-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
9400         * lisp/ffap.el (ffap-read-file-or-url): Fix some URL cases
9402         * lisp/ffap.el (ffap-read-file-or-url): Simplify further
9404 2019-11-08  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
9406         * lisp/ffap.el (ffap-read-file-or-url): Use `read-file-name`
9408         Since we use `url-handler-mode` to deal with URLs, `read-file-name`
9409         works just as well, with the added benefit that it interacts correctly
9410         with packages that rebind `read-file-name-function`, such as Helm.
9412         (ffap-read-url-internal, ffap-read-file-or-url-internal): Remove, unused.
9414 2019-11-08  Eli Zaretskii  <eliz@gnu.org>
9416         Fix MS-Windows version reference in FAQ
9418         * doc/misc/efaq-w32.texi (Which versions of Windows): Clarify that we
9419         support all recent versions of MS-Windows.  (Bug#38023)
9421 2019-11-08  João Távora  <joaotavora@gmail.com>
9423         Nudge icomplete-mode a little closer to fido-mode
9425         * lisp/icomplete.el (icomplete-completions): Don't use ellipsis when
9426         truncating determ in fido-mode.  Highlight the center part of
9427         determ with icomplete-first-match.
9429 2019-11-08  João Távora  <joaotavora@gmail.com>
9431         Have pcm styles apply faces to face prop, not font-lock-face
9433         This is the way the basic completion styles work.  This fixes
9434         candidate highlighting in icomplete.
9436         * lisp/minibuffer.el (completion-pcm--hilit-commonality): Apply
9437         faces to 'face property, not font-lock-face.
9439 2019-11-08  Eli Zaretskii  <eliz@gnu.org>
9441         Minor copyedits in ELisp manual
9443         * doc/lispref/lists.texi (Sets And Lists): Minor rewording of
9444         the "Common Lisp note".  (Bug#37811)
9446 2019-11-08  Robert Pluim  <rpluim@gmail.com>
9448         Ensure building and running on non-IPv6 capable hosts works
9450         * src/process.c (Fmake_network_process) [AF_INET6]: Only build ::1
9451         localhost when IPv6 is supported.
9452         (Fnetwork_lookup_address_info) [AF_INET6]: Move check for Qipv6 inside
9453         ifdef, since its definition depends on AF_INET6.  Don't return IPv6
9454         addresses when they're not supported.
9456         * test/src/process-tests.el (lookup-family-specification,
9457         lookup-google): Only do IPv6 lookup if IPv6 is supported.
9459 2019-11-08  Jimmy Aguilar Mena  <spacibba@aol.com>
9461         Handle case where a face's :extend attribute is unspecified (Bug#37774)
9463         * src/xfaces.c (merge_face_vectors, merge_named_face): Handle case
9464         where the :extend attribute's value is 'unspecified' (Bug#37774).
9466 2019-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>
9468         * lisp/emacs-lisp/easymenu.el: Don't quote lambdas
9470         (easy-menu-do-define, easy-menu-make-symbol): Replace `(lambda ..)
9471         with a closure.
9473 2019-11-07  Michael Albinus  <michael.albinus@gmx.de>
9475         Handle different system names of w32 in Tramp (Bug#38079)
9477         * lisp/net/tramp.el (tramp-restricted-shell-hosts-alist):
9478         Initialize with `system-name' in small and capital chars.
9480 2019-11-07  Robert Pluim  <rpluim@gmail.com>
9482         Describe IPv6 format in docstring for 'make-network-process'
9484         * src/process.c (Fmake_network_process): Add description of IPv6
9485         address format.
9487 2019-11-07  Eli Zaretskii  <eliz@gnu.org>
9489         Revert "Don't flash previous buffer when connecting with emacsclient"
9491         This reverts commit 49fc040077b33bd1e78ee425575e76329b772a41.
9492         It turns out that the fix for a minor aesthetical annoyance
9493         caused much more serious bugs: bug#31038, bug#35726, Bug#37097,
9495 2019-11-07  Andrii Kolomoiets  <andreyk.mad@gmail.com>
9497         python.el: Pdbtracking improvements
9499         Allow not to kill buffers when pdbtracking session is finished.
9500         Pdbtracking session considered finished judging from the user input.
9502         * lisp/progmodes/python.el (python-pdbtrack-kill-buffers): New
9503         customizable variable.
9504         (python-pdbtrack-set-tracked-buffer): Use it.
9505         (python-pdbtrack-unset-tracked-buffer)
9506         (python-pdbtrack-tracking-finish): New functions.
9507         (python-pdbtrack-continue-command, python-pdbtrack-exit-command):
9508         New customizable variables.
9509         (python-pdbtrack-process-sentinel): New function.  Finish
9510         pdbtracking session when process is killed.
9511         (python-pdbtrack-prev-command-continue): New variable.
9512         (python-pdbtrack-comint-input-filter-function): New function.
9513         Finish pdbtracking session based on commands sent to pdb.
9514         (python-pdbtrack-comint-output-filter-function): Unset/set
9515         tracking buffer if looking at pdb prompt; finish pdbtracking
9516         session if filename of current stack frame starts with
9517         "<" e.g. "<stdin>".
9518         (python-pdbtrack-comint-output-filter-function): Don't override
9519         overlay-arrow-string.
9520         (python-pdbtrack-setup-tracking): New function.
9521         (inferior-python-mode): Use it.
9522         (python-pdbtrack-stacktrace-info-regexp): Default value is changed.
9523         Must also match lines with filename like "<stdin>" and "<string>".
9524         * etc/NEWS: Mention python-pdbtrack-kill-buffers
9526 2019-11-07  Michael Albinus  <michael.albinus@gmx.de>
9528         Make ange-ftp fit for tramp-tests
9530         * lisp/net/ange-ftp.el (ange-ftp-repaint-minibuffer): Use empty message.
9531         (ange-ftp-quote-string): Unquote the string.
9532         (ange-ftp-substitute-in-file-name, ange-ftp-access-file)
9533         (ange-ftp-copy-directory, ange-ftp-make-symbolic-link)
9534         (ange-ftp-add-name-to-file): New defuns.  Set 'ange-ftp property.
9535         (ange-ftp-real-substitute-in-file-name)
9536         (ange-ftp-real-copy-directory): New defuns.
9537         (ange-ftp-file-name-as-directory): Care about `non-essential'.
9538         (ange-ftp-file-attributes): Handle ID-STRING.
9539         (ange-ftp-copy-file-internal, ange-ftp-rename-file)
9540         (ange-ftp-make-directory): Improve error handling.
9541         (ange-ftp-insert-directory): Initialize SWITCHES if they are nil.
9543         * test/lisp/net/tramp-tests.el (ange-ftp-make-backup-files): Declare.
9544         (tramp-test39-make-nearby-temp-file, tramp--test-ange-ftp-p): New defun.
9545         (tramp-test05-expand-file-name-relative)
9546         (tramp-test06-directory-file-name, tramp-test10-write-region)
9547         (tramp-test11-copy-file, tramp-test12-rename-file)
9548         (tramp-test17-insert-directory)
9549         (tramp-test26-file-name-completion)
9550         (tramp-test37-make-auto-save-file-name)
9551         (tramp-test38-find-backup-file-name)
9552         (tramp--test-special-characters): Use it.
9554 2019-11-06  Stefan Kangas  <stefankangas@gmail.com>
9556         Clean up major mode check in package-menu-mode
9558         * lisp/emacs-lisp/package.el (package--ensure-package-menu-mode):
9559         Extract function to warn about incorrect major mode...
9560         (package-menu-toggle-hiding, package-menu-refresh)
9561         (package-menu-execute): ...from here.
9562         (package-menu--mark-upgrades-1): And here, but move call...
9563         (package-menu-mark-upgrades): ...here instead.
9564         (package-menu-hide-package, package-menu-mark-delete)
9565         (package-menu-mark-install, package-menu-mark-unmark)
9566         (package-menu-quick-help, package-menu-get-status)
9567         (package-menu-filter-by-keyword, package-menu-filter-by-name)
9568         (package-menu-clear-filter): Add call to new function.  (Bug#37891)
9570 2019-11-06  Stefan Kangas  <stefankangas@gmail.com>
9572         Test that comint-password-prompt-regexp matches "git push"
9574         * test/lisp/comint-tests.el (comint-testsuite-password-strings): Test
9575         that 'comint-password-prompt-regexp' matches 'git push'
9576         output.  (Bug#20910)
9578 2019-11-06  Juri Linkov  <juri@linkov.net>
9580         * lisp/dired-aux.el (dired-vc-rename-file): New defcustom.
9582         (dired-rename-file): Call vc-rename-file when dired-vc-rename-file is non-nil.
9584         * lisp/vc/vc.el (vc-rename-file): Allow renaming added files.
9585         Call vc-file-clearprops on new file too for the case when
9586         old and new files were renamed to each other back and forth.
9588         https://lists.gnu.org/archive/html/emacs-devel/2019-11/msg00069.html
9590 2019-11-06  Juri Linkov  <juri@linkov.net>
9592         * lisp/tab-bar.el (tab-bar-history-old): Rename from tab-bar-history-current.
9594         (tab-bar-history-old-minibuffer-depth):
9595         Rename from tab-bar-history--minibuffer-depth.
9597 2019-11-06  Juri Linkov  <juri@linkov.net>
9599         * lisp/tab-line.el: More configurability for tab buffer groups.
9601         * lisp/tab-line.el (tab-line-tabs-buffer-group-function)
9602         (tab-line-tabs-buffer-group-sort-function)
9603         (tab-line-tabs-buffer-groups-sort-function): New defvars.
9604         (tab-line-tabs-buffer-group-name): Rename from
9605         tab-line-tabs-buffer-groups--name and use tab-line-tabs-buffer-group-function.
9606         (tab-line-tabs-buffer-groups): Use tab-line-tabs-buffer-groups-sort-function
9607         and tab-line-tabs-buffer-group-sort-function.
9608         (tab-line-new-tab): Let bind tab-line-tabs-buffer-groups to
9609         mouse-buffer-menu-mode-groups.
9611 2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>
9613         Simplify fixnum division slightly
9615         * src/data.c (arith_driver): Streamline fixnum division a bit
9616         more, and add a comment about why overflow is impossible.
9617         This responds to a private comment by Stefan Monnier.
9619 2019-11-06  Alan Mackenzie  <acm@muc.de>
9621         Add a full set of CC Mode language variables to js.el.
9623         This will allow js.el to work after maintenance changes in CC Mode, e.g. the
9624         fix to bug #11165.
9626         * lisp/progmodes/js.el (top level): Create a CC Mode derived language called
9627         js-mode and based on Java Mode.
9628         (js-mode): call c-init-language-vars for js-mode.  Remove the direct settings
9629         of several CC Mode language variables which are now defined through the
9630         derived language mechanism.  Call c-set-style and set up the needed style
9631         variables c-block-comment-prefix and c-comment-prefix-regexp.
9633 2019-11-06  Eli Zaretskii  <eliz@gnu.org>
9635         Minor fix in the Emacs manual
9637         * doc/emacs/msdos.texi (ls in Lisp): Fix the description of
9638         'ls-lisp-verbosity'.  (Bug#38077)
9640 2019-11-06  Stephen Gildea  <stepheng+emacs@gildea.com>
9642         time-stamp: add support for time zone numeric offset
9644         * lisp/time-stamp.el: Implement %:z as expanding to the numeric time zone
9645         offset, to address the feature request of bug#32931.  Do not document it
9646         yet, to discourage compatibility problems in mixed Emacs 26 and Emacs 27
9647         environments.  Documentation will be added in a subsequent release at
9648         least two years later.  (We cannot yet use %z for numeric time zone
9649         because in Emacs 26 it was documented to do something else.)
9651         * test/lisp/time-stamp-tests.el (time-stamp-test-format-time-zone): expand this
9652         test and break it into two tests, time-stamp-test-format-time-zone-name
9653         and time-stamp-test-format-time-zone-offset.
9655 2019-11-06  Michael Albinus  <michael.albinus@gmx.de>
9657         More error checks in Tramp's make-directory
9659         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
9660         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
9661         * lisp/net/tramp-sh.el (tramp-sh-handle-make-directory):
9662         * lisp/net/tramp-smb.el (tramp-smb-handle-make-directory):
9663         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-directory):
9664         Signal `file-already-exists' if DIR exists.
9666         * test/lisp/net/tramp-tests.el (tramp-test04-substitute-in-file-name):
9667         Fix thinko.
9668         (tramp-test13-make-directory, tramp-test14-delete-directory)
9669         (tramp-test15-copy-directory): Extend tests.
9671 2019-11-06  Stefan Kangas  <stefankangas@gmail.com>
9673         Fix problem with my last commit in package.el
9675         * lisp/emacs-lisp/package.el (package-menu--refresh-archives): Rename
9676         from duplicated name package-menu--refresh.  (Bug#38084)
9677         (package-menu-mode, list-packages): Use new name.
9679 2019-11-05  Paul Eggert  <eggert@cs.ucla.edu>
9681         Update from Gnulib
9683         This incorporates:
9684         2019-10-24 timespec-add, timespec-sub: simplify
9685         * lib/timespec-add.c, lib/timespec-sub.c:
9686         Copy from Gnulib.
9688 2019-11-05  Paul Eggert  <eggert@cs.ucla.edu>
9690         Remove unneeded overflow check in integer division
9692         * src/data.c (arith_driver): Remove unnecessary runtime test,
9693         since integer overflow is impossible on division of fixnums,
9694         given that the worst case is MOST_NEGATIVE_FIXNUM / -1 which is
9695         representable as an EMACS_INT (albeit not as a fixnum).
9697 2019-11-05  Stefan Kangas  <stefankangas@gmail.com>
9699         Avoid changing value of defcustom package-enable-at-startup
9701         * lisp/emacs-lisp/package.el (package--activated): New variable to
9702         avoid changing value of defcustom 'package-enable-at-startup'.
9703         (package-initialize): Don't set 'package-enable-at-startup'.
9704         (package-initialize, package-activate-all): Set 'package--activated'
9705         instead of 'package-enable-at-startup'.
9706         (package--initialized): Add doc string.
9708         * lisp/startup.el (command-line): Check if 'package--activated' is
9709         non-nil before activating packages.
9711         * doc/lispref/package.texi (Packaging Basics): Update docs.
9713 2019-11-05  Stefan Kangas  <stefankangas@gmail.com>
9715         Make 'g' refresh package data in package menu
9717         * lisp/emacs-lisp/package.el (package-menu--refresh): Rename from
9718         'package-menu-refresh', make internal and non-interactive.
9719         (package-menu-mode-map, package-menu-mode-menu, package-menu-mode)
9720         (list-packages): Use the above.  (Bug#35504)
9721         (package-menu-refresh): Redefine as obsolete function alias for
9722         'revert-buffer'.
9723         * doc/emacs/package.texi (Package Menu): Document it.
9724         * etc/NEWS: Announce it.
9726 2019-11-05  Stefan Kangas  <stefankangas@gmail.com>
9728         Rename *-multiframe-window to *-window-any-frame
9730         Suggested by Drew Adams.
9732         * lisp/frame.el
9733         (next-multiframe-window): Define as obsolete alias for...
9734         (next-window-any-frame): ...new function name.
9735         (previous-multiframe-window): Define as obsolete alias for...
9736         (previous-window-any-frame): ...new function name.  (Bug#12436)
9738         * lisp/term/ns-win.el (global-map): Use new command name.
9739         * doc/emacs/windows.texi (Other Window): Document it.
9740         * etc/NEWS: Announce it.
9742 2019-11-05  João Távora  <joaotavora@gmail.com>
9744         Follow JSONRPC spec by not sending :result field on errors
9746         Also don't send :error field on non-errors.
9748         * lisp/jsonrpc.el (jsonrpc--reply): Don't send :result and :error
9749         if none supplied.
9750         (Version): Bump to 1.0.8
9752 2019-11-05  Juri Linkov  <juri@linkov.net>
9754         Add prefix arg to more isearch commands (bug#14563)
9756         * lisp/isearch.el (isearch--yank-char-or-syntax)
9757         (isearch-yank-word-or-char, isearch-yank-symbol-or-char)
9758         (isearch-yank-until-char): Add optional prefix arg.
9760 2019-11-05  Juri Linkov  <juri@linkov.net>
9762         * lisp/tab-line.el: New option for tabs where buffers are grouped by mode.
9764         * lisp/tab-line.el (tab-line-tabs-function): Add option
9765         tab-line-tabs-buffer-groups.
9766         (tab-line-tabs-buffer-groups): New defvar defaulted to
9767         mouse-buffer-menu-mode-groups.
9768         (tab-line-tabs-buffer-groups--name, tab-line-tabs-buffer-groups):
9769         New functions.
9770         (tab-line-format): Support tabs in the format '(tab (name . "name") ...)'.
9771         (tab-line-select-tab): Move part of code to tab-line-select-tab-buffer.
9772         (tab-line-select-tab-buffer): New function.
9773         (tab-line-tab-current): Rename from tab-line-tab-selected.
9775 2019-11-05  João Távora  <joaotavora@gmail.com>
9777         Document fido-mode
9779         * doc/emacs/buffers.texi (Icomplete): Document Fido Mode.
9781         * etc/NEWS: Mention Fido Mode.
9783         * lisp/icomplete.el (icomplete-mode): Ensure fido-mode is off.
9784         (fido-mode): Ensure icomplete-mode is off.
9785         (icomplete-magic-ido-ret): Don't force completions if no
9786         completions.
9788 2019-11-05  João Távora  <joaotavora@gmail.com>
9790         New fido-mode, emulates ido-mode with icomplete-mode
9792         * lisp/icomplete.el (icomplete-fido-mode-map): New variable.
9793         (icomplete--fido-mode-setup): New function.
9794         (fido-mode): New global minor mode.
9796 2019-11-05  Paul Eggert  <eggert@cs.ucla.edu>
9798         Pacify byte-compiler in calculator.el
9800         * lisp/calculator.el (calculator-expt): Open-code cl-evenp to
9801         pacify warning “the function ‘cl-evenp’ might not be defined”.
9802         Problem reported by Juanma Barranquero in:
9803         https://lists.gnu.org/r/emacs-devel/2019-11/msg00118.html
9805 2019-11-05  Stefan Monnier  <monnier@iro.umontreal.ca>
9807         * admin/unidata/uvs.el: Use lexical-binding
9809         * lisp/doc-view.el (doc-view--revert-buffer): Fix last change
9811 2019-11-05  Stefan Kangas  <stefankangas@gmail.com>
9813         Declare unused macro package--push obsolete
9815         * lisp/emacs-lisp/package.el (package--push): Declare obsolete.
9817 2019-11-05  Michael Albinus  <michael.albinus@gmx.de>
9819         Improve Tramp's copy-directory
9821         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
9822         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
9823         * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
9824         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
9825         Add `copy-directory'.
9827         * lisp/net/tramp.el (tramp-handle-copy-directory): New defun.
9829 2019-11-05  Robert Pluim  <rpluim@gmail.com>
9831         Always check for client-certificates
9833         * lisp/net/network-stream.el
9834         (network-stream-use-client-certificates): New user option.
9835         (open-network-stream): If 'network-stream-use-client-certificates'
9836         is t, and the user hasn't specified :client-certificate, do
9837         certificate lookups via 'auth-source'.
9838         (network-stream-certificate): Only return key and certificate
9839         files that exist.
9841         * doc/lispref/processes.texi (Network): Document new
9842         client-certificate behavior.
9844         * etc/NEWS: Document 'network-stream-use-client-certificates'.
9846 2019-11-04  Paul Eggert  <eggert@cs.ucla.edu>
9848         Simplify calculator-expt
9850         * lisp/calculator.el (calculator-expt): Simplify, now that
9851         expt does the right thing if the first arg is -1, 0, or 1.
9853 2019-11-04  Paul Eggert  <eggert@cs.ucla.edu>
9855         Overflow errors are range errors
9857         * etc/NEWS: Mention this.
9858         * doc/lispref/errors.texi (Standard Errors):
9859         Document overflow-error, which was formerly undocumented.
9860         It is a range error, not a domain error.
9861         * src/data.c (syms_of_data): overflow-error and (undocumented)
9862         underflow-error are subtypes range-error, not domain-error.
9863         This fixes bugs in timezone-time-from-absolute and in
9864         erc-ctcp-reply-PING.
9866 2019-11-04  Paul Eggert  <eggert@cs.ucla.edu>
9868         Don’t signal overflow for (expt 1 bignum)
9870         Similarly for (expt 0 bignum) and (expt -1 bignum).
9871         The result is always a -1, 0 or 1, so do not signal overflow.
9872         * src/data.c (expt_integer): Do not signal an overflow if
9873         -1 <= X <= 1.  Be clearer about when overflow is signaled.
9874         * test/src/floatfns-tests.el (bignum-expt): Test this.
9876 2019-11-04  Ronnie Schnell  <ronnie@driver-aces.com>
9878         Fixes bug where restoring game saved in an endgame question room would show 'nil' as the question.
9880 2019-11-04  Michael Albinus  <michael.albinus@gmx.de>
9882         Improve Tramp error handling
9884         * lisp/net/tramp.el (tramp-set-syntax): Add missing argument.
9885         (tramp-signal-hook-function): Make it more robust.
9886         (tramp-handle-directory-files):
9887         * lisp/net/tramp-adb.el
9888         (tramp-adb-handle-directory-files-and-attributes)
9889         (tramp-adb-handle-copy-file, tramp-adb-handle-rename-file):
9890         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
9891         * lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file)
9892         (tramp-rclone-handle-directory-files):
9893         * lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes)
9894         (tramp-sh-handle-copy-directory, tramp-do-copy-or-rename-file):
9895         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
9896         (tramp-smb-handle-copy-file, tramp-smb-handle-directory-files)
9897         (tramp-smb-handle-rename-file):
9898         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
9899         Improve error handling.
9901         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
9902         (tramp-test12-rename-file, tramp-test14-delete-directory)
9903         (tramp-test15-copy-directory, tramp-test16-directory-files)
9904         (tramp-test19-directory-files-and-attributes): Extend tests.
9906 2019-11-04  Eli Zaretskii  <eliz@gnu.org>
9908         Fix last change in dired.c
9910         * src/dired.c (file_name_completion): Fix arguments to
9911         Fcompare_strings.  (Bug#38056)
9913 2019-11-03  Stephen Gildea  <stepheng+emacs@gildea.com>
9915         Fix English grammar in some doc strings and comments
9917         (files.el subr.el): Fix some grammar errors in doc strings and comments.
9918         (frame.c fringe.c image.c xfns.c xterm.c): Fix some English grammar
9919         errors in doc strings.
9921 2019-11-03  Paul Eggert  <eggert@cs.ucla.edu>
9923         Improve time documentation a bit more
9925         * doc/lispref/os.texi (Time of Day, Time Conversion)
9926         (Time Parsing, Time Calculations): Improve doc.
9928 2019-11-03  Juri Linkov  <juri@linkov.net>
9930         * lisp/help-fns.el (describe-variable): Add quotes to symbol value of origval.
9932 2019-11-03  Juri Linkov  <juri@linkov.net>
9934         * lisp/tab-bar.el: Better handling of tab-bar-history.
9936         * lisp/tab-bar.el (tab-bar-history-limit): Increase to 10 since wc
9937         is not saved to the desktop file anymore, so doesn't affect its size.
9938         (tab-bar-history--pre-change, tab-bar--history-change):
9939         Store wc before possibly entering the minibuffer.
9941 2019-11-03  Juri Linkov  <juri@linkov.net>
9943         * lisp/tab-bar.el: Filter out non-persistent tab parameters from frameset.
9945         * lisp/tab-bar.el (frameset-filter-tabs): New function
9946         added to 'frameset-filter-alist' for frame parameter 'tabs'.
9947         (tab-bar--tab): Remove ws-bl/ws-bbl that are not needed because
9948         frameset doesn't save frame buffer-list to desktop anyway.
9949         (tab-bar-select-tab): Remove ws-bl/ws-bbl related code.
9951         * lisp/emacs-lisp/seq.el (seq-reduce): Add autoload cookie.
9953 2019-11-03  Stefan Kangas  <stefankangas@gmail.com>
9954             Jonas Bernoulli  <jonas@bernoul.li>
9956         Handle truncate-lines in customize-group
9958         * lisp/cus-edit.el (custom-group--draw-horizontal-line): New
9959         function to draw horizontal lines which handles a non-nil value of
9960         'truncate-lines'.  (Bug#25308)
9961         (custom-group-value-create): Use it.
9963 2019-11-03  Lars Ingebrigtsen  <larsi@gnus.org>
9965         Fix doc of font-lock-syntactic-face-function
9967         * doc/lispref/modes.texi (Syntactic Font Lock): Don't refer to
9968         no-longer-existing OTHER-VARS (bug#17730) and include an example.
9970 2019-11-03  Eli Zaretskii  <eliz@gnu.org>
9972         Fix file-tests.el on MS-Windows
9974         * test/lisp/files-tests.el
9975         (files-tests-file-name-non-special-start-file-process): On
9976         MS-Windows, wait till the process dies before returning from
9977         the files-tests--with-temp-non-special macro, to ensure the
9978         temporary directory is successfully deleted.
9980 2019-11-03  Eli Zaretskii  <eliz@gnu.org>
9982         Fix case-insensitive completion of non-ASCII file names
9984         * src/dired.c (scmp): Comment on (non)applicability to
9985         comparisons of  non-ASCII strings case-insensitively.
9986         (file_name_completion): Decode early the file names read from
9987         the directory, and use the decoded names for comparison when
9988         letter-case should be ignored.  (Bug#11339)
9990 2019-11-03  Lars Ingebrigtsen  <larsi@gnus.org>
9992         describe-font/font-info works with unloaded fonts
9994         * lisp/international/mule-diag.el (describe-font): This function
9995         can be used on unloaded fonts, so remove that restriction from the
9996         doc string (bug#16815).  Also allow completion over all fonts on
9997         the system.
9999         * src/font.c (Ffont_info): Ditto for the doc string.
10001 2019-11-03  Lars Ingebrigtsen  <larsi@gnus.org>
10003         Add a <a id=...> skeleton to html-mode
10005         * lisp/textmodes/sgml-mode.el (html-id-anchor): New skeleton
10006         and keystroke (bug#37651).
10008 2019-11-03  Juanma Barranquero  <lekktu@gmail.com>
10010         * lisp/bs.el (bs-mode): Improve mode docstring.
10012 2019-11-02  Juri Linkov  <juri@linkov.net>
10014         * lisp/tab-line.el (tab-line-tab-selected): New face.
10016         (tab-line-format): Use new face tab-line-tab-selected.
10017         ([tab-line]): Move tab-switching mouse wheel commands to S-keys.
10019 2019-11-02  Óscar Fuentes  <ofv@wanadoo.es>
10021         Fix data-directory when executing from an out-of-source build
10023         Fixes #36828.
10025         * src/callproc.c (init_callproc): detect out-of-source build.
10027 2019-11-02  João Távora  <joaotavora@gmail.com>
10029         Allow flymake diagnostic types to have shorter names
10031         Eglot, a third-party package which uses Flymake, has its own
10032         diagnostic types such as 'eglot-error', 'eglot-warning', etc...  While
10033         not being too long, they will not fit in the type column of the "list
10034         all diagnostics" buffer.  This commit allows diagnostic types to have
10035         user-defined names and also assigns names to the default categories.
10037         * doc/misc/flymake.texi (Flymake error types): Describe
10038         flymake-type-name prop.
10040         * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries):
10041         Use type names.
10042         (flymake-error, flymake-warning, flymake-note): Give these
10043         diagnostic categories default type names.
10045 2019-11-02  João Távora  <joaotavora@gmail.com>
10047         Avoid face clashes between Flymake and region highlighting
10049         Fix bug#34022.
10051         * lisp/progmodes/flymake.el (flymake--highlight-line): Use
10052         (PRIMARY . SECONDARY) priority value.
10054 2019-11-02  João Távora  <joaotavora@gmail.com>
10056         Clarify consequences of mismatching Flymake diagnostic buffers
10058         Fix bug#34418.
10060         * doc/misc/flymake.texi (Flymake utility functions): Add note to
10061         flymake-make-diagnostic.
10063         * lisp/progmodes/flymake.el (flymake--handle-report): Discard
10064         diagnostics from other buffers.
10066 2019-11-02  Lars Ingebrigtsen  <larsi@gnus.org>
10068         Further fixup of the previous doc fix in the Faces node
10070         * doc/lispref/display.texi (Faces): Improve wording from previous
10071         change.
10073 2019-11-02  Lars Ingebrigtsen  <larsi@gnus.org>
10075         Revert "Make the debbugs groups also include robot messages"
10077         This reverts commit 682eae776efa9d57842345de67becf5c56cafc91.
10079         The change made the bug# disappear from the Subject lines.
10081 2019-11-02  Alan Mackenzie  <acm@muc.de>
10083         CC Mode.  Fix slow scrolling by adding a search limit.
10085         This fixes bug #10149.
10087         * lisp/progmodes/cc-fonts.el (c-font-lock-single-decl) Limit the search by
10088         c-go-up-list-backwards to 500 non-literal characters.
10090 2019-11-02  João Távora  <joaotavora@gmail.com>
10092         Correct merge blunder in last icomplete commit
10094         * lisp/icomplete.el (icomplete-exhibit): Use
10095         while-no-input-ignore-events.
10097 2019-11-02  Eli Zaretskii  <eliz@gnu.org>
10099         Document Windows font selection quirks
10101         * doc/emacs/msdos.texi (Windows Fonts): Document
10102         'w32-use-w32-font-dialog' and 'w32-fixed-font-alist'.
10104 2019-11-02  Eli Zaretskii  <eliz@gnu.org>
10106         Improve documentation of 'set-face-font'
10108         * lisp/faces.el (set-face-font):
10109         * doc/emacs/frames.texi (Fonts):
10110         * doc/lispref/display.texi (Face Attributes)
10111         (Attribute Functions): Clarify and correct the documentation
10112         of set-face-font and related descriptions of font
10113         specifications.  (Bug#14647)
10115 2019-11-02  Eli Zaretskii  <eliz@gnu.org>
10117         Revert "Omit edition numbers and dates in manuals"
10119         This reverts commit 2f42832895942fdeaa0c500511aa19860fa806cd.
10120         Editions of Emacs manuals must be coordinated with the FSF
10121         publishing staff, as they appear on the printed books.
10123 2019-11-01  Stefan Kangas  <stefankangas@gmail.com>
10125         * .dir-locals.el: Add explanatory header.
10127 2019-11-01  Stefan Kangas  <stefankangas@gmail.com>
10129         Add auto-insert skeleton for ".dir-locals.el"
10131         * lisp/autoinsert.el (auto-insert-alist): Add auto-insert skeleton for
10132         ".dir-locals.el".
10134 2019-11-01  João Távora  <joaotavora@gmail.com>
10136         New icomplete-tidy-shadowed-file-names variable
10138         * lisp/icomplete.el (rfn-eshadow): Require it.
10139         (icomplete-tidy-shadowed-file-names): New variable.
10140         (icomplete-exhibit): Use icomplete-tidy-shadowed-file-names.
10142 2019-11-01  João Távora  <joaotavora@gmail.com>
10144         Fix icomplete-force-complete-and-exit for no-input situations
10146         If there is no minibuffer input, but the user has already cycled some
10147         pre-calculated completions, we should be calling
10148         minibuffer-force-complete-and-exit instead of
10149         minibuffer-complete-and-exit.  The former is guaranteed to be fast in
10150         this situation and yields the desired "selected" completion, while the
10151         latter will just give us the default, ignoring all the cycling of
10152         icomplete-{forward|backward}-completions.
10154         * lisp/icomplete.el (icomplete-force-complete-and-exit): Add
10155         comments and fix for empty input but some completions calculated.
10157 2019-11-01  João Távora  <joaotavora@gmail.com>
10158             Stefan Monnier  <j.schmoe@example.org>
10160         Improve fix for icomplete's backward-kill-word bug#38024
10162         * lisp/icomplete.el (icomplete-exhibit): Use
10163         while-no-input-ignore-events, not redisplay.
10165 2019-11-01  Stefan Kangas  <stefankangas@gmail.com>
10167         * doc/emacs/package.texi (Package Menu): Add index items.
10169 2019-11-01  Stefan Kangas  <stefankangas@gmail.com>
10171         Use PASSWORD_STORE_DIR in auth-source-pass when set
10173         * lisp/auth-source-pass.el (auth-source-pass-filename): Initialize to
10174         PASSWORD_STORE_DIR environment variable when set.  (Bug#29663)
10176 2019-11-01  Stefan Kangas  <stefankangas@gmail.com>
10178         Don't refuse to install packages without a "footer line"
10180         * lisp/emacs-lisp/package.el (package-buffer-info): Don't signal an
10181         error when the "footer line" is missing.  Warn only.  (Bug#26490)
10182         * etc/NEWS: Announce it.
10184 2019-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10186         Omit edition numbers and dates in manuals
10188         These seem to cause more confusion than they cure; e.g.,
10189         https://shop.fsf.org/books/gnu-emacs-manual-18th-edition-v-261
10190         currently advertises "18th edition" even as it points to
10191         https://www.gnu.org/software/emacs/manual/pdf/emacs.pdf
10192         which says "Seventeenth Edition".  It is simpler and less
10193         confusing to stick to one version number like "26.3".  If we
10194         need a separate edition number for each printed manual for
10195         some reason (marketing?) we can put “@ifset printed-edition”
10196         around anything specific to the printed editions.
10197         (as opposed to online PDF copies).
10198         * doc/emacs/emacs.texi (EDITION):
10199         * doc/lispintro/emacs-lisp-intro.texi (edition-number, update-date):
10200         * doc/lispref/elisp.texi (VERSION, DATE):
10201         Remove, and remove uses.
10203 2019-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10205         Document limits on some time-conversion functions
10207         * doc/lispref/os.texi (Time of Day, Time Zone Rules)
10208         (Time Conversion, Time Parsing, Time Calculations):
10209         Document functions that limit the range of time values
10210         due to OS limits (Bug#37974).
10212 2019-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
10214         set-face-font doc string update
10216         * lisp/faces.el (set-face-font): Mention what the string formats
10217         are (bug#14647).
10219 2019-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
10221         Fix documentation of set-face-font in the manual
10223         * doc/lispref/display.texi (Attribute Functions): Describe more
10224         precisely what set-face-font does (bug#14647).
10226 2019-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
10228         Low-Level Font documentation fix
10230         * doc/lispref/display.texi (Low-Level Font): Mention what the data
10231         types the font attributes are (bug#14634).
10233 2019-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
10235         Really enable setting a breakpoint without instrumenting first
10237         * lisp/emacs-lisp/edebug.el (edebug-set-breakpoint): Really enable
10238         setting a breakpoint without instrumenting first (bug#23469).
10240 2019-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
10242         Don't claim that anonymous face can't be used in font-lock
10244         * doc/lispref/display.texi (Faces): Anonymous functions can be
10245         used when font locking, so adjust the injunction against them
10246         (bug#35005).
10248 2019-11-01  Cecilio Pardo  <cpardo@imayhem.com>  (tiny change)
10250         Remove an unfunny joke from DEVEL.HUMOR
10252         * etc/DEVEL.HUMOR: Remove unfunny joke (bug#38002).
10254 2019-11-01  Filipp Gunbin  <fgunbin@fastmail.fm>
10256         Make ant regexp in compilation-error-regexp-alist-alist more lax
10258         * lisp/progmodes/compile.el: Make ant regexp accept filenames that may
10259         occur on Cygwin (like c:/test) and optional additional severity level
10260         after task name.
10261         * etc/compilation.txt: Add sample.
10263 2019-11-01  Richard Stallman  <rms@gnu.org>
10265         Minor wording change in ELisp manual
10267         * doc/lispref/functions.texi (Advising Named Functions):
10268         Improve and clarify wording of the advice to avoid advising
10269         functions in released code.
10271 2019-10-31  Paul Eggert  <eggert@cs.ucla.edu>
10273         Fix insert-file-contents file error regression
10275         Problem reported for dired-view-file (Bug#37950).
10276         * src/fileio.c (Finsert_file_contents): When visiting,
10277         signal an error if the file could not be opened for any reason,
10278         rather than signaling an error only for nonexistent files, fixing
10279         a bug introduced in 2019-09-16T03:17:43!eggert@cs.ucla.edu.
10281 2019-10-31  Eric Ludlam  <ericludlam@gmail.com>
10283         * lisp/cedet/ (semantic-analyze-possible-completions): Add `flags` arg
10285         * lisp/cedet/semantic/texi.el (semantic-analyze-possible-completions),
10286         lisp/cedet/srecode/srt-mode.el (semantic-analyze-possible-completions),
10287         lisp/cedet/semantic/bovine/make.el (semantic-analyze-possible-completions):
10288         Add `flags` arg.
10289         * lisp/cedet/semantic/grammar.el (semantic-analyze-possible-completions):
10290         Add `flags` arg.  Reverse the found prefix.
10291         (semantic-ctxt-current-class-list): Include token tags as things to
10292         appear in non-lisp context.
10294 2019-10-31  Eric Ludlam  <zappo@gnu.org>
10296         * test/lisp/cedet/semantic-utest-ia.el: Update from upstream
10298         Merge content from CEDET on SF to bring in additional test points
10299         and support more types of languages.
10300         (semantic-utest-ia-struct.cpp, semantic-utest-ia-templates.cpp)
10301         (semantic-utest-ia-using.cpp, semantic-utest-ia-nsp.cpp)
10302         (semantic-utest-ia-localvars.cpp, semantic-utest-ia-varnamse.java)
10303         (semantic-utest-ia-wisent.wy, semantic-utest-ia-texi)
10304         (semantic-utest-ia-make, semantic-utest-ia-srecoder): New test points
10305         (semantic-ia-utest-buffer): Use comment-start-skip when looking
10306         for test point tokens.
10307         Capture errors ignoring debugger to enable test for empty results.
10308         Improve output from test diagnostics.
10309         (semantic-ia-utest-buffer-refs): Use comment-start-skip to find
10310         test point tokens.
10311         Author: Eric Ludlam <zappo@gnu.org>
10313 2019-10-31  Eric Ludlam  <zappo@gnu.org>
10315         * test/manual/cedet/tests/test*: More updates from upstream
10317         * test/manual/cedet/tests/testjavacomp.java,
10318         test/manual/cedet/tests/testnsp.cpp,
10319         test/manual/cedet/tests/testsppcomplete.c,
10320         test/manual/cedet/tests/testtypedefs.cpp,
10321         test/manual/cedet/tests/testvarnames.c:
10322         Merge content from CEDET on SF with extended test points for use with
10323         test/lisp/cedet/semantic-utest-ia.el
10324         Author: Eric Ludlam <zappo@gnu.org>
10326 2019-10-31  Eric Ludlam  <zappo@gnu.org>
10328         * test/manual/cedet/tests/testdoublens.cpp: Update from upstream
10330         * test/manual/cedet/tests/testdoublens.hpp:
10331         Merge content from CEDET on SF with extended test points for use with
10332         test/lisp/cedet/semantic-utest-ia.el
10333         Author: Eric Ludlam <zappo@gnu.org>
10335 2019-10-31  Eric Ludlam  <zappo@gnu.org>
10337         * test/manual/cedet/tests/: New files for semantic-utest-ia.el
10339         * test/manual/cedet/tests/test.mk,
10340         test/manual/cedet/tests/test.srt, test/manual/cedet/tests/test.texi,
10341         test/manual/cedet/tests/testlocalvars.cpp,
10342         test/manual/cedet/tests/teststruct.cpp,
10343         test/manual/cedet/tests/testtemplates.cpp,
10344         test/manual/cedet/tests/testusing.cpp,
10345         test/manual/cedet/tests/testusing.hh,
10346         test/manual/cedet/tests/testvarnames.java.
10347         test/manual/cedet/tests/testwisent.wy:
10348         New files to be used by test/lisp/cedet/semantic-utest-ia.el.
10349         Author: Eric Ludlam <zappo@gnu.org>
10351 2019-10-31  Alan Third  <alan@idiocy.org>
10353         Prevent text flicker with macOS input methods (bug#23412)
10355         * src/nsterm.m ([EmacsView setMarkedText:selectedRange:]): Don't
10356         always delete the working text as ns-put-working-text does that.
10358 2019-10-31  Mattias Engdegård  <mattiase@acm.org>
10360         Inhibit undo-in-region for mouse-drag-region (bug#37700)
10362         'mouse-drag-region' leaves the region active around the dragged text,
10363         so a straight undo did not revert the entire operation.  To remedy
10364         this, inhibit undo-in-region when the last command was
10365         mouse-drag-region.  (Method suggested by Stefan Monnier.)
10367         * lisp/mouse.el (undo-drag-region): Set the undo-inhibit-region property.
10368         * lisp/simple.el (undo): Inhibit undo-in-region if the last command
10369         had the undo-inhibit-region property set.
10370         * doc/lispref/symbols.texi (Standard Properties):
10371         * doc/lispref/text.texi (Undo): Document undo-inhibit-region.
10372         * etc/NEWS: Announce the property.
10374 2019-10-31  Lars Ingebrigtsen  <larsi@gnus.org>
10376         Ensure that font-local variables are buffer-local
10378         * lisp/font-lock.el (font-lock-set-defaults): Ensure that the font
10379         lock variables are buffer-local even when nil, so that they're
10380         copied correctly by mhtml mode when changing sub-modes (bug#33937).
10382 2019-10-31  Lars Ingebrigtsen  <larsi@gnus.org>
10384         Clean up font-lock-refontify slightly
10386         * lisp/font-lock.el (font-lock-refontify): Use
10387         syntax-ppss-flush-cache instead of internal variable.
10389 2019-10-31  Lars Ingebrigtsen  <larsi@gnus.org>
10391         Further tweaks to sh-script \ #foo font locking
10393         * lisp/progmodes/sh-script.el (sh-syntax-propertize-function):
10394         Tweak previous \ #foo change to work on all quoted characters, but
10395         check that the backslash itself is not backslashed.  Regexp from
10396         Stefan Monnier.
10398 2019-10-31  Michael Albinus  <michael.albinus@gmx.de>
10400         Fix some minor Tramp problems
10402         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
10403         Check, that `tramp-password-save-function' is a function.
10405         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info):
10406         Check, that there is a share.
10408         * lisp/net/tramp.el (outline-regexp): Declare.
10409         (tramp-get-debug-buffer): Let-bind `signal-hook-function'.
10411         * test/lisp/net/tramp-tests.el (tramp-test04-substitute-in-file-name):
10412         Skip some tests for Emacs 24 and 25; they let Emacs crash.
10414 2019-10-31  Robert Pluim  <rpluim@gmail.com>
10416         Rework vc stash bindings
10418         This adds create/snapshot bindings to the stash button even when there
10419         are no stashes, and extends the stash menu bindings.
10421         * etc/NEWS: Announce the bindings.
10423         * lisp/vc/vc-git.el (vc-git-stash-shared-map): New keymap.  Holds
10424         shared bindings between stash button and stash list.
10425         (vc-git-stash-map): Inherit from vc-git-stash-shared-map.
10426         (vc-git-stash-button-map): New keymap.  Holds button bindings,
10427         inherit from vc-git-stash-shared-map.
10428         (vc-git-stash-shared-help, vc-git-stash-list-help): New
10429         defconsts.  Abstract out list/button help texts.
10430         (vc-git--make-button-text): Set keymap property to
10431         vc-git-stash-button-map.
10432         (vc-git-make-stash-button): Use vc-git-stash-shared-help.
10433         (vc-git-stash-menu-map): Add items for vc-git-stash and
10434         vc-git-stash-snapshot.
10435         (vc-git-dir-extra-headers): Use vc-git-stash-list-help and
10436         vc-git-stash-shared-help.  Add vc-git-stash and
10437         vc-git-stash-snapshot bindings to text shown when there are no stashes.
10439 2019-10-30  Paul Eggert  <eggert@cs.ucla.edu>
10441         Fix bug with lock file on nonstandard filesystem
10443         * src/filelock.c (create_lock_file):
10444         Don’t disable user write access to the lock file (Bug#37884).
10446 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
10448         Font-lock symlinks in dired buffers better
10450         * lisp/dired.el (dired-font-lock-keywords): Font-lock symlinks
10451         differently based on whether they point at a directory or not
10452         (bug#17064).  Based on code from Michael Heerdegen.
10454 2019-10-30  Juri Linkov  <juri@linkov.net>
10456         * lisp/tab-bar.el (tab-bar-select-tab): Use set-frame-parameter.
10458         (tab-bar-list-noselect, tab-bar-list-mode): Rearrange buffer-read-only.
10460 2019-10-30  Paul Eggert  <eggert@cs.ucla.edu>
10462         Fix print.c infloop on circular lists
10464         Fix infinite loops in print.c when a circular list is passed
10465         to command-error-default-function or to error-message-string.
10466         * src/print.c (print_error_message):
10467         Use FOR_EACH_TAIL to avoid infloop on circular lists.
10468         (print_object): Use FOR_EACH_TAIL_SAFE, as it uses
10469         Brent’s teleporting tortoise-hare algorithm which is
10470         asymptotically better than the classic tortoise-hare
10471         algorithm that the code wsas using.
10472         * test/src/print-tests.el (print-circle-2): When print-circle
10473         is nil, do not insist on a particular cycle-detection heuristic.
10474         (error-message-string-circular): New test.
10476 2019-10-30  Paul Eggert  <eggert@cs.ucla.edu>
10478         Fix keyboard.c infloops on circular lists
10480         Fix infinite loops in keyboard.c when a circular list is
10481         found in a hook, or in help-event-list, or in the argument
10482         of event-convert-list, or in a keymap where a Lucid event
10483         type list is expected, or in a menu or tab spec.
10484         * src/keyboard.c (safe_run_hooks_error, menu_bar_items)
10485         (parse_menu_item, parse_tab_bar_item, parse_tool_bar_item):
10486         Use FOR_EACH_TAIL to avoid infloop on circular lists.
10487         (help_char_p, Fevent_convert_list, lucid_event_type_list_p):
10488         Use FOR_EACH_TAIL_SAFE to avoid infloop on circular lists,
10489         when the action is idempotent so a circular list can be
10490         treated as a noncircular one.
10492 2019-10-30  Paul Eggert  <eggert@cs.ucla.edu>
10494         Fix fileio.c infloops on circular lists
10496         Fix infinite loops in fileio.c when a circular list is the
10497         value of after_insert_file_functions,
10498         buffer-auto-save-file-format, buffer-file-format, or
10499         write-region-annotate-functions.
10500         * src/fileio.c (Finsert_file_contents, build_annotations):
10501         Use FOR_EACH_TAIL to avoid infloop on circular lists.
10502         (build_annotations): Use an EMACS_INT, not an int, to count
10503         nesting level.
10504         * test/src/fileio-tests.el:
10505         (fileio-tests--circular-after-insert-file-functions): New test.
10507 2019-10-30  Kevin Ryde  <user42_kevin@yahoo.com.au>
10509         Support \pagebreak[0] for paragraph-separate in latex-mode
10511         * lisp/textmodes/tex-mode.el (latex-mode): In 'paragraph-separate' allow
10512         optional argument ('[0]', etc.) for '\pagebreak[0]'.  (Bug#19039)
10514 2019-10-30  Tom Tromey  <tom@tromey.com>
10516         Send -enable-frame-filters to gdb
10518         * lisp/progmodes/gdb-mi.el (gdb-init-1): Send -enable-frame-filters to
10519         gdb.
10521 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
10523         Fix previous sh-script.el font-lock #comment change
10525         * lisp/progmodes/sh-script.el (sh-syntax-propertize-function): We
10526         want to match "\ " before a comment; not a space character.
10528 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
10530         Revert "Move description of value to syntax-ppss function."
10532         This reverts commit 305dbc7e2be05748039aacb1a3d697f6f64bed4c.
10534         Both of the functions in question are used a lot in the sources, so move it back to the more basic function.
10536 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
10538         Add a new ppss structure for syntax-ppss data
10540         * lisp/emacs-lisp/syntax.el (ppss): Add a new structure to provide
10541         accessors to the syntax-ppss data.
10543 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
10545         Tweak fontification of \url{http://foo.org/bar%zot} in (la)tex-mode
10547         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
10548         \url{http://foo.org/bar%zot} shouldn't be fontified as having a
10549         comment, so make the tex-verbatim face overwrite the
10550         already-applied syntactical comment bits (bug#37134).
10552 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
10554         Bind vc-git-stash to a key
10556         * lisp/vc/vc-git.el (vc-git-stash-map): Give `vc-git-stash' a
10557         keystroke, because it's a useful command.
10559         When there are no stashes, there's no way to use that keystroke (since
10560         it's only bound on the stash lines), so perhaps that should also be
10561         fixed somehow.
10563 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
10565         Clear more data in font-lock-refontify to ensure refontifying
10567         * lisp/font-lock.el (font-lock-refontify): Clear out even more data.
10569 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
10571         font-lock \ #foo in shell mode more correctly
10573         * lisp/progmodes/sh-script.el (sh-syntax-propertize-function):
10574         \ #foo isn't a comment -- it's a symbol that starts with a space
10575         character (bug#17538).
10577 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
10579         Make font-lock-refontify try even harder to refontify
10581         * lisp/font-lock.el (font-lock-refontify): Make this command work
10582         even after switching global font lock mode on and then off again.
10584 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
10586         Fix setgid fontification in dired on some OS-es
10588         * lisp/dired.el (dired-font-lock-keywords): Apparently some
10589         versions of ls use "S" for setgid and other use "s" (bug#8186).
10591 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
10593         Fix "dnl" highlights in m4-mode
10595         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): "dnl"
10596         comments should override any previous syntax-based highlighting
10597         (37132).  This makes "dnl foo#bar" be highlighted correctly.
10599 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
10601         Add a convenience function to be used when working on font locking
10603         * doc/lispref/modes.texi (Font Lock Basics): Document it.
10605         * lisp/font-lock.el (font-lock-refontify): New convenience command.
10607 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
10609         Move description of value to syntax-ppss function.
10611         * lisp/emacs-lisp/syntax.el (syntax-ppss): Move the description of
10612         the return value from...
10614         * src/syntax.c (Fparse_partial_sexp): ... here because
10615         `syntax-ppss' is what's called over the place, and jumping through
10616         an indirection to get to the value description is inconvenient.
10618 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
10620         Indent font-lock-fontify-syntactically-region
10622         * lisp/font-lock.el (font-lock-fontify-syntactically-region):
10623         Indent function.
10625 2019-10-30  Michael Albinus  <michael.albinus@gmx.de>
10627         * lisp/net/tramp.el (outline-regexp): Remove declaration.
10629 2019-10-29  Juri Linkov  <juri@linkov.net>
10631         * etc/NEWS: Update renamed function read-char-from-minibuffer.
10633 2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>
10635         Fix image-converter probes
10637         * lisp/image/image-converter.el (image-converter--probe): Check
10638         that the executable exists before trying to call it.
10640 2019-10-29  Juri Linkov  <juri@linkov.net>
10642         Rename read-char-with-history to read-char-from-minibuffer (bug#10477)
10644         * lisp/simple.el (read-char-from-minibuffer-history):
10645         Rename from read-char-with-history--history.
10646         (read-char-from-minibuffer-map):
10647         Rename from read-char-with-history--map.
10648         (read-char-from-minibuffer): Rename from read-char-with-history.
10649         (read-char-from-minibuffer-self-insert): New command.
10650         (zap-to-char): Use read-char-from-minibuffer.
10652 2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>
10654         Make the debbugs groups also include robot messages
10656         * lisp/gnus/gnus-group.el (gnus-bug-group-download-format-alist):
10657         Change the URL to also include robot messages.
10659 2019-10-29  Juri Linkov  <juri@linkov.net>
10661         Reimplement read-char-with-history based on read-from-minibuffer
10663         * lisp/simple.el (read-char-with-history): Reimplement based on
10664         read-from-minibuffer.
10665         * lisp/simple.el (read-char-with-history--map): New variable
10666         (bug#10477).
10668 2019-10-29  Juri Linkov  <juri@linkov.net>
10670         * lisp/tab-bar.el: Store point position and frame buffer-lists in tab.
10672         * lisp/tab-bar.el (tab-bar--tab): Store additionally point-marker,
10673         frame parameters buffer-list and buried-buffer-list, both for wc and ws.
10674         Use seq-filter.
10675         (tab-bar-select-tab): Restore point-marker after restoring
10676         window-configuration.  Also restore frame parameters buffer-list
10677         and buried-buffer-list both for window-configuration and window-state.
10678         (tab-bar-history-limit, tab-bar-history--minibuffer-depth): New variables.
10679         (tab-bar-history-current): Rename from tab-bar-history--pre-change.
10680         (tab-bar-history--pre-change): Set tab-bar-history-current.
10681         (tab-bar--history-change): Use seq-take for tab-bar-history-limit.
10682         (tab-bar-history-back, tab-bar-history-forward): Restore point-marker.
10683         (tab-bar-list-noselect): Use seq-remove.
10685         * lisp/emacs-lisp/seq.el (seq-take, seq-filter): Add autoload cookie.
10687 2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>
10689         Make url-cookie.el be more resistant against bogus data
10691         * lisp/url/url-cookie.el (url-cookie-handle-set-cookie): Don't bug
10692         out on large max-age values (bug#37974).
10694 2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>
10696         Document run-with-timer
10698         * doc/lispref/os.texi (Timers): Mention run-with-timer (bug#37875).
10700 2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>
10702         Default exotic image formats (like .webp) to image-mode
10704         * doc/lispref/errors.texi (Standard Errors): Mention the new error.
10706         * lisp/files.el (auto-mode-alist): Add a bunch of image suffixes
10707         to the list (bug#37972) based on the output from "gm convert -list
10708         format" (i.e., graphicsmagick).
10710         * lisp/image-mode.el (image-mode): Rewrite to possibly notify the
10711         user about image-use-external-converter.
10712         (image-mode--setup-mode): Factor out into own function and don't
10713         run under `condition-case' as there's nothing here that should
10714         error.
10716         * lisp/image.el (unknown-image-type): New error.
10717         (image-type): Signal that error so that image-mode can offer
10718         sensible feedback to the user.
10720 2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>
10722         Fix image-converter probing
10724         * lisp/image/image-converter.el (image-converter--find-converter):
10725         Stop probing on the first successful probe.
10727 2019-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
10729         * lisp/minibuffer.el: Tweak and undo parts of recent changes
10731         (completion-metadata): Always return a fresh new cons cell.
10732         (completion--nth-completion): Don't bother calling adjust-metadata
10733         if the result won't be used.
10734         (completion-pcm--hilit-commonality): Revert recent change which had
10735         removed support for `completions-first-difference` in `substring` and
10736         `partial-completion` styles.
10737         (completion--flex-adjust-metadata): Treat the arg as immutable.
10739 2019-10-29  Filipp Gunbin  <fgunbin@fastmail.fm>
10741         Add gradle-kotlin to compilation-error-regexp-alist-alist
10743         * lisp/progmodes/compile.el: Add gradle-kotlin to
10744         compilation-error-regexp-alist-alist.
10745         * etc/compilation.txt: Add samples for it.
10747 2019-10-29  Jimmy Aguilar Mena  <spacibba@aol.com>
10749         Optimize conditional recursive merge face.
10751         * src/xfaces.c (merge_face_vectors) : Pass ATTR_FILTER to
10752         merge_face_ref to stop recursion merging in advance when possible.
10753         (merge_named_face) : add more conditions to potentially reduce calls to
10754         merge_face_vectors in more unneeded situations.
10756 2019-10-29  Jimmy Aguilar Mena  <spacibba@aol.com>
10758         Fix extend face in gui interfaces.
10760         * src/xdisp.c (extend_face_to_end_of_line) : Change call to
10761         PRODUCE_GLYPHS with append_stretch_glyph to fill until the windows
10762         border.
10764 2019-10-29  Jimmy Aguilar Mena  <spacibba@aol.com>
10766         Fix inherited :extend attribute in faces.
10768         * src/xfaces.c (merge_face_vectors) : Add extra parameter ATTR_FILTER
10769         with the same functionality than in merge_named_face.  Update all
10770         occurrences.
10771         (merge_named_face): Remove condition to avoid call
10772         `merge_face_vectors`.
10774 2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>
10776         Make shr scale images on all frames
10778         * lisp/net/shr.el (shr-rescale-image): Rescale images even if the
10779         window isn't on the current frame.
10781 2019-10-28  João Távora  <joaotavora@gmail.com>
10783         Make icomplete-exhibit actually work when navigating up directories
10785         Sometimes, when finding files with icomplete-mode, backward-deleting
10786         the previous word or sexp (to move up a directory) doesn't actually
10787         refresh the file list of the new directory.  Forcing redisplay in
10788         icomplete-exhibit misteriously fixes the problem.
10790         * lisp/icomplete.el (icomplete-exhibit): Add call to redisplay.
10792 2019-10-28  João Távora  <joaotavora@gmail.com>
10794         New commands for making icomplete behave more like ido
10796         This tries (not particularly hard) to emulate Ido's magic C-k, C-d,
10797         RET and DEL.  For now, the new commands have to be explicitly added to
10798         an active map by the user, using something like this:
10800         (let ((imap icomplete-minibuffer-map))
10801           (define-key imap (kbd "C-k") 'icomplete-magic-ido-kill)
10802           (define-key imap (kbd "C-d") 'icomplete-magic-ido-delete-char)
10803           (define-key imap (kbd "RET") 'icomplete-magic-ido-ret)
10804           (define-key imap (kbd "DEL") 'icomplete-magic-ido-backward-updir))
10806         * lisp/icomplete.el (icomplete-magic-ido-kill)
10807         (icomplete-magic-ido-delete-char, icomplete-magic-ido-ret)
10808         (icomplete-magic-ido-backward-updir): New commands.
10810 2019-10-28  Juri Linkov  <juri@linkov.net>
10812         * lisp/tab-bar.el: Check for minibuffer-depth in tab-bar-history-mode.
10814         * lisp/tab-bar.el (tab-bar-history--pre-change): Store also minibuffer-depth.
10815         (tab-bar-history-change): Check stored minibuffer-depth for zero.
10816         (tab-bar-history-mode): Use prefix -- for internal functions.
10818 2019-10-28  Mattias Engdegård  <mattiase@acm.org>
10820         Use new-style rx extensions in python.el
10822         * lisp/progmodes/python.el (python-rx): Use `rx-let' instead of
10823         `rx-constituents'.  This allows for some slight redundancy reduction,
10824         since `rx-let' definitions are expanded inside `not' (bug#37849).
10825         Reorder some `or' forms for more efficient matching.
10827 2019-10-28  Hong Xu  <hong@topbug.net>
10829         Add doc for goto-history-element
10831         * doc/lispref/minibuf.texi (Minibuffer Commands): Add
10832         goto-history-element (bug#37948).
10833         * lisp/simple.el (goto-history-element): Clarify NABS.
10835 2019-10-28  Stefan Kangas  <stefankangas@gmail.com>
10837         * lisp/eshell/em-term.el: Remove commented out XEmacs compat code.
10839 2019-10-28  Stefan Kangas  <stefankangas@gmail.com>
10841         Remove more XEmacs compat code from CEDET
10843         * lisp/cedet/mode-local.el (mode-local-describe-bindings-1):
10844         * lisp/cedet/semantic/idle.el (semantic-idle-summary-out-of-context-faces):
10845         * lisp/cedet/semantic/imenu.el (semantic-imenu-rebuild-directory-indexes):
10846         * lisp/cedet/semantic/texi.el (semantic-texi-command-completion-list):
10847         Remove XEmacs compat code.
10849 2019-10-28  Stefan Kangas  <stefankangas@gmail.com>
10851         Remove obsolete doc references to XEmacs (Bug#37899)
10853         * doc/misc/edt.texi (Changes, Goals):
10854         * doc/misc/emacs-mime.texi (Charset Translation):
10855         * doc/misc/gnus-faq.texi (FAQ 4-15):
10856         * doc/misc/pcl-cvs.texi (Bugs):
10857         * doc/misc/srecode.texi (SRecode Minor Mode):
10858         * lisp/cedet/srecode/insert.el (srecode-insert-ask-variable-method):
10859         * lisp/follow.el:
10860         * lisp/leim/quail/ipa.el (ipa-x-sampa, ipa-kirshenbaum):
10861         * lisp/net/newsticker.el:
10862         * lisp/obsolete/iswitchb.el:
10863         * lisp/progmodes/hideshow.el:
10864         * lisp/savehist.el (savehist-file):
10865         * lisp/vc/ediff.el: Remove obsolete references to XEmacs in doc
10866         strings and comments.
10868 2019-10-28  Michal Nowak  <mnowak@startmail.com>  (tiny change)
10870         Add cert bundle path for OpenIndiana
10872         * lisp/net/gnutls.el (gnutls-trustfiles): Add cert bundle path for
10873         OpenIndiana (bug#37960).
10875 2019-10-28  Lars Ingebrigtsen  <larsi@gnus.org>
10877         Make ERC respect erc-channel-hide-list
10879         * lisp/erc/erc.el (erc-hide-current-message-p): Make
10880         erc-channel-hide-list work (bug#37879) by getting matching on the
10881         channel name instead of the ERC client name.
10883 2019-10-28  Lars Ingebrigtsen  <larsi@gnus.org>
10885         Fix `G c' in Gnus group buffers for non-ASCII text
10887         * lisp/gnus/gnus-cus.el (gnus-group-customize): Decoding is
10888         superfluous here -- everything is utf-8 already.
10889         (gnus-group-customize-done): Don't double-encode the text (bug#37901).
10891 2019-10-28  Lars Ingebrigtsen  <larsi@gnus.org>
10893         Be more permissive when interpreting IMAP mail headers
10895         * lisp/gnus/nnimap.el (nnimap-transform-headers): Some mail
10896         doesn't have space after the colon of the header name.  Don't
10897         ignore these.
10899 2019-10-28  Lars Ingebrigtsen  <larsi@gnus.org>
10901         Make <up> work in read-char-with-history
10903         * lisp/simple.el (read-char-with-history): Tweak to make
10904         <up>/<down> also traverse the history (bug#10477).
10906 2019-10-28  Koichi Arakawa  <arakawa@pp.iij4u.or.jp>  (tiny change)
10908         Reorder command-line switches in Tramp
10910         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
10911         `tramp-encoding-command-interactive' must be the last command-line
10912         switch, at least for bash.  (Bug#37953)
10914 2019-10-27  Juri Linkov  <juri@linkov.net>
10916         * lisp/tab-bar.el: Add tab-bar-history-mode with arrow buttons for navigation.
10918         * lisp/tab-bar.el (tab-bar-back-button, tab-bar-forward-button):
10919         New variables.
10920         (tab-bar-make-keymap-1): Show these buttons in tab-bar-history-mode.
10921         (tab-bar--tab): Add history-back and history-forward.
10922         (tab-bar-select-tab): Restore history-back and history-forward.
10923         (tab-bar-history-omit, tab-bar-history-back)
10924         (tab-bar-history-forward, tab-bar-history-pre-change): New variables.
10925         (tab-bar-history-pre-change, tab-bar-history-change)
10926         (tab-bar-history-back, tab-bar-history-forward)
10927         (tab-bar-history-mode): New functions.
10929 2019-10-27  Eric Ludlam  <ericludlam@gmail.com>
10931         * test/lisp/cedet/semantic-utest.el: silence compiler warnings
10933         * test/lisp/cedet/semantic-utest-c.el
10934         (semantic-test-c-preprocessor-simulation): Use with-current-buffer.
10936         * test/lisp/cedet/semantic-utest.el (semantic-utest-makebuffer):
10937         Use read-only-mode.
10938         (semantic-utest-verify-names-jave, semantic-utest-verify-names-2):
10939         Remove functions, unused.
10941 2019-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10943         * .gitignore: Don't ignore .rej files
10945         Left over rejected hunks that we forgot to merge by hand should not be
10946         silently ignored.  Better explicitly remove/rename .rej files when
10947         done with them.
10949 2019-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10951         * lisp/emacs-lisp/seq.el: Don't require cl-lib.
10953         (seq-subseq): Move cl-subseq's code here instyead of calling it.
10954         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Use seq-subseq.
10956 2019-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10958         * lisp/loadup.el: Load minibuffer after cl-generic
10960         This is so minibuffer.el can make use of cl-generic
10962         * lisp/minibuffer.el (minibuffer-local-completion-map):
10963         Move switch-to-completions bindings here from...
10964         * lisp/simple.el (minibuffer-local-completion-map): ... here.
10966 2019-10-27  Stephen Gildea  <stepheng+emacs@gildea.com>
10968         time-stamp-time-zone: update customization
10970         * lisp/time-stamp.el (time-stamp-time-zone): Support customization with
10971         an integer offset (a new possible value of the ZONE argument to
10972         format-time-string in Emacs 27).
10973         Update the safe-local-variable predicate from string-or-null-p
10974         (describing time-stamp-time-zone's domain before 2015) to new
10975         predicate time-stamp-zone-type-p (describing the current domain).
10977         * test/lisp/time-stamp-tests.el (time-stamp-test-helper-zone-type-p): New test.
10979 2019-10-27  Eli Zaretskii  <eliz@gnu.org>
10981         Fix point position after revert-buffer in tabulated-list mode
10983         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
10984         Don't use count-screen-lines, as it is unreliable when lines
10985         are truncated and the region ends before a newline (the root
10986         cause is in vertical-motion, but is very hard to fix there).
10987         Instead, use vertical-motion directly, as the problems with
10988         counting/not counting the newline that ends the region are not
10989         relevant to what we need in this function, which is simply the
10990         number of the current window line.  (Bug#37941)
10992 2019-10-27  João Távora  <joaotavora@gmail.com>
10994         Optimize lisp/icomplete.el when default completion available
10996         Often, when using icomplete with icomplete-show-matches-on-no-input
10997         and commands like C-h f, icomplete-exhibit will take a long time (like
10998         several seconds) to show all the completions.
11000         However, if there is a non-nil default value, like when the C-h f is
11001         performed exactly on a function name, the minibuffer prompt will
11002         reflect that immediately.  If the user immediately presses RE
11003         (icomplete-force-complete-and-exit) we take that to mean "use the
11004         default" and avoid the long wait.
11006         As an extra performance tweak, this commit also removes an unneeded
11007         call to icomplete-exhibit in icomplete-minibuffer-setup.
11009         * lisp/icomplete.el (icomplete-force-complete-and-exit): Short-circuit
11010         possibility of non-nil minibuffer-default.
11011         (icomplete-minibuffer-setup): No need to explicitly icomplete-exhibit
11012         here since icomplete-post-command-hook will call it unconditionally.
11014 2019-10-27  Mattias Engdegård  <mattiase@acm.org>
11016         Expand rx definitions inside (not ...)
11018         * lisp/emacs-lisp/rx.el (rx--translate-not):
11019         * test/lisp/emacs-lisp/rx-tests.el (rx-not, rx-def-in-not):
11020         * doc/lispref/searching.texi (Rx Constructs, Extending Rx):
11022         Allow user-defined rx constructs to be expanded inside (not ...)
11023         forms, for better composability (bug#37849).
11025 2019-10-27  Michael Albinus  <michael.albinus@gmx.de>
11027         Some Tramp trace improvements
11029         * lisp/net/tramp.el (tramp-call-process): `result' can also be nil.
11031         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
11032         Improve trace format.
11034 2019-10-26  João Távora  <joaotavora@gmail.com>
11036         Improve scoring algorithm for flex-style completions
11038         The previous algorithm had two problems: it considered non-matches in
11039         the beginning and end of the string as matching "holes" and failed to
11040         penalize larger holes, making flex-score-match-tightness only
11041         effective in some corner cases.
11043         The new formula, which is described in code and in pseudo-code in the
11044         comments, fixes these problems.
11046         As a result, by default, C-h f flex now correctly bubbles up
11047         "company-search-flex-regexp" to the top, in front of "file-exists-p".
11048         With a flex-score-match-tightness smaller than 1.0, the situation is
11049         reversed.
11051         * lisp/minibuffer.el (flex-score-match-tightness): Adjust default
11052         value.  Improve docstring example.
11053         (completion-pcm--hilit-commonality): Improve example.  Remove unused
11054         variable.  Improve algorithm.
11056 2019-10-26  Juanma Barranquero  <lekktu@gmail.com>
11058         minibuffer.el: Remove leftover code, unused after recent change
11060         * lisp/minibuffer.el (completion-pcm--hilit-commonality):
11061         Don't set point-idx.
11063 2019-10-26  Juri Linkov  <juri@linkov.net>
11065         dired-dwim-target uses most recently visited window instead of next window.
11067         * doc/emacs/dired.texi (Operating on Files): Document behavior change.
11069         * lisp/dired-aux.el (dired-dwim-target-directories): New function.
11070         (dired-dwim-target-directory, dired-dwim-target-defaults): Use it
11071         to get the most recently used window instead of the next window (bug#35385).
11073         * lisp/dired.el (dired-dwim-target): Doc fix.
11075         * test/lisp/dired-tests.el: Remove unnecessary require and pacify
11076         byte-compiler.
11078 2019-10-26  Juri Linkov  <juri@linkov.net>
11080         Customizable tab-line-tabs-function and new buffer-local tab-line-mode.
11082         * lisp/tab-line.el (tab-line-tabs-function): Turn defvar into defcustom
11083         with default of tab-line-tabs-window-buffers.
11084         (tab-line-tabs-mode-buffers): New function.
11085         (tab-line-tabs-window-buffers): Rename from tab-line-tabs.
11086         (tab-line-select-tab, tab-line-switch-to-prev-tab)
11087         (tab-line-switch-to-next-tab): Handle the value tab-line-tabs-window-buffers
11088         of tab-line-tabs-function specially.
11089         (tab-line-mode): Rename from global-tab-line-mode and change scope
11090         to buffer-local.
11091         (global-tab-line-mode): New globalized-minor-mode.
11092         (tab-line-mode--turn-on): New function.
11093         (tab-line-exclude-modes): New defcustom.
11094         (tab-line-exclude): New buffer-local variable.
11095         https://lists.gnu.org/archive/html/emacs-devel/2019-10/msg00988.html
11097         * lisp/dired.el (dired-mark-pop-up): Set tab-line-exclude to nil.
11098         Don't set tab-line-format.   (Bug#37699)
11099         * lisp/speedbar.el (speedbar-mode): Set tab-line-exclude to nil.
11100         Don't set tab-line-format.
11102 2019-10-26  Juri Linkov  <juri@linkov.net>
11104         * lisp/tab-bar.el (tab-bar-switch-to-recent-tab): New command.
11106         (tab-recent): Alias to tab-bar-switch-to-recent-tab.
11107         (tab-bar--tab-index-recent): New internal function.
11108         (tab-bar-close-tab-select): Add new default option 'recent'.
11109         (tab-bar-close-tab): Handle it.
11111         * lisp/emacs-lisp/seq.el (seq-sort-by, seq-remove): Add autoload.
11113 2019-10-26  Juri Linkov  <juri@linkov.net>
11115         * lisp/tab-bar.el (tab-bar-move-tab-to): Add force-mode-line-update.
11117         (tab-bar-close-last-tab-choice, tab-bar-close-tab): Adjust option names.
11119 2019-10-26  Robert Cochran  <robert-git@cochranmail.com>
11121         Add customization option for what do when the last tab is closed
11123         * lisp/tab-bar.el (tab-bar-close-last-tab-choice): New custom
11124         variable.
11125         (tab-bar-close-tab): Handle closing the last tab specially, referring to
11126         tab-bar-close-last-tab-choice.
11128 2019-10-26  Stephen Gildea  <stepheng+emacs@gildea.com>
11130         time-stamp-tests: add name prefix to tests of formatting
11132         * test/lisp/time-stamp-tests.el: rename all the time-stamp-string formatting tests
11133         to have the word "format" in their name, to make room in the namespace
11134         for other, future tests.
11136 2019-10-26  João Távora  <joaotavora@gmail.com>
11138         Restore default value of face completions-common-part
11140         The previous commit titled "Rework face hints for partial-string
11141         completion styles" contained a potentially controversial
11142         backwards-incompatible change to this face's default value.
11144         * lisp/minibuffer.el (completions-common-part): Restore empty
11145         default value.
11147 2019-10-26  Arash Esbati  <arash@gnu.org>
11149         Improve support for biblatex and cleveref macros
11151         * lisp/textmodes/reftex-cite.el (reftex-figure-out-cite-format):
11152         Extend regexp to match additional cite commands from biblatex.sty.
11154         * lisp/textmodes/reftex-dcr.el (reftex-view-crossref): Extend
11155         regexp to match additional cite commands from biblatex.sty and
11156         reference commands from cleveref.sty.
11158 2019-10-26  Arash Esbati  <arash@gnu.org>
11160         Avoid infloop's by doing a case-sensitive match
11162         * lisp/textmodes/reftex-ref.el (reftex-format-special): Be
11163         case-sensitive when checking the actual reference macro against
11164         \ref.  This avoids infloop when \Ref is chosen.
11166 2019-10-26  Glenn Morris  <rgm@gnu.org>
11168         Merge from origin/emacs-26
11170         55dcd32 (origin/emacs-26) Fix rcirc not to interpret nil as nickname ...
11172 2019-10-26  Glenn Morris  <rgm@gnu.org>
11174         Merge from origin/emacs-26
11176         73e1727 Fix linear equation system solving in Calc (bug#35374)
11178         # Conflicts:
11179         #       test/lisp/calc/calc-tests.el
11181 2019-10-26  João Távora  <joaotavora@gmail.com>
11183         Rework face hints for partial-string completion styles
11185         Don't use completions-first-difference for the 'substring', 'flex' and
11186         'partial-completion' styles, since there can be really no reasonable
11187         definition of a "first" difference there.
11189         Make completions-common-part inherit from 'underline' so that it is
11190         useful by default for all completion styles.
11192         * lisp/minibuffer.el (completions-common-part): Adjust
11193         description and change default value.
11194         (completions-first-difference): Adjust docstring.
11195         (completion-pcm--hilit-commonality): Don't use
11196         completions-first-difference.
11198 2019-10-26  João Távora  <joaotavora@gmail.com>
11200         Allow completion styles to adjust completion metadata
11202         This commit re-does the now-reverted commit with the same title.  That
11203         version relied on generic functions, which cannot be used yet in files
11204         such as lisp/minibuffer.el.  This version uses a symbol property
11205         completion--adjust-metadata instead.
11207         The new facility allows completion styles to have a say in metadata
11208         properties such as cycle-sort-function and display-sort-function.
11209         This is especially useful for completion styles such as 'flex', which
11210         generally produce many matches, including some potentially "obscure"
11211         ones.  The default sorting strategy would often bubble the latter to
11212         the top of the list.
11214         The sorting function for 'flex' considers pre-computed matching scores
11215         and is thus much better than the default for this particular style.
11217         Additionally, it overrides the completion table's cycle-sort-function
11218         or display-sort-function properties if they exist, although it still
11219         uses them to pre-sort the result, so that they are still relevant for
11220         resolving ties.
11222         * lisp/minibuffer.el (completion--nth-completion)
11223         (completion--flex-adjust-metadata): New helper.
11224         (flex): Put completion--adjust-metadata property.
11226 2019-10-26  João Távora  <joaotavora@gmail.com>
11228         Revert "Allow completion styles to adjust completion metadata"
11230         Unbreaks the build.
11232         This reverts commit 7fc0292f5c49d11fc39853f8bc25586d54221e6a.
11234         Unfortunately, cl-defgeneric has some problems when used in
11235         lisp/minibuffer.el.
11237 2019-10-26  Stefan Monnier  <monnier@iro.umontreal.ca>
11239         subr.el (run-window-configuration-change-hook): Mark obsolete
11241 2019-10-26  João Távora  <joaotavora@gmail.com>
11243         Allow completion styles to adjust completion metadata
11245         The new facility, realized in the completion-adjust-metadata-for-style
11246         generic, allows completion styles to have a say in metadata properties
11247         such as cycle-sort-function and display-sort-function.  This is
11248         especially useful for completion styles such as 'flex', which
11249         generally produce many matches, including some potentially "obscure"
11250         ones.  The default sorting strategy would often bubble the latter
11251         to the top of the list.
11253         The sorting function for 'flex' considers pre-computed matching scores
11254         and is thus much better than the default for this particular style.
11256         Additionally, it overrides the completion table's cycle-sort-function
11257         or display-sort-function properties if they exist, although it still
11258         uses them to pre-sort the result, so that they are still relevant for
11259         resolving ties.
11261         * lisp/minibuffer.el (completion--nth-completion): Call
11262         completion-adjust-metadata-for-style.
11263         (completion-adjust-metadata-for-style): New generic.
11264         (completion-adjust-metadata-for-style 'flex): New method.
11266 2019-10-26  memeplex  <carlosjosepita@gmail.com>
11268         Replay key if kboard is interrupted while initializing (Bug#37782)
11270         The problem with the original fix for bug#5095 is that it drops
11271         the current event, which is a valid character event and not -2.
11272         Thus, the first ESC character sent by the terminal after turning
11273         on focus tracking is lost and we get '[' and 'I' events separately
11274         inserted into the buffer afterwards.
11276         * src/keyboard.c (read_key_sequence): Add key as mock_input and replay
11277         sequence using new keyboard, when the key is not -2.
11279 2019-10-26  memeplex  <carlosjosepita@gmail.com>
11281         Remove redundant initialization of fringe bitmap (Bug#37756)
11283         * src/fringe.c (Fdefine-fringe-bitmap): Remove redundant zeroing
11284         of fb.bits that only zeroed half of the array anyway.
11286 2019-10-26  Eli Zaretskii  <eliz@gnu.org>
11288         Improve the documentation of 'vc-tor'
11290         * lisp/vc/vc-dispatcher.el (vc-tor): Add :version.  Enhance
11291         the doc string.
11293         * etc/NEWS: Announce the new option.
11295 2019-10-26  Richard Stallman  <rms@gnu.org>
11297         New defcustom 'vc-tor'
11299         * lisp/vc/vc-dispatcher.el (vc-tor): New user option.
11300         (vc-do-command): If vc-tor is non-nil, use 'torsocks'.
11302 2019-10-25  Tassilo Horn  <tsdh@gnu.org>
11304         Adapt doc-view to latest image-mode changes
11306         The functions image-scroll-down, image-scroll-up, image-next-line, and
11307         image-previous-line now return pixel values instead of multiples of
11308         character height as of commit 9c66b09950.
11310         * lisp/doc-view.el (doc-view-scroll-up-or-next-page):
11311         (doc-view-scroll-down-or-previous-page):
11312         (doc-view-next-line-or-next-page):
11313         (doc-view-previous-line-or-previous-page):
11314         (doc-view-insert-image): Adapt to image-scroll-up/down and
11315         image-next/previous-line now returning pixel values instead of
11316         multiples of character heights.  Fixes bug#37874.
11318 2019-10-25  Alan Mackenzie  <acm@muc.de>
11320         CC Mode: Fix positioning of point whilst inserting comments without non-ws
11322         * lisp/progmodes/cc-cmds.el (c-guess-fill-prefix): When determining a new
11323         block comment prefix (i.e. there isn't one already there to copy), and that
11324         prefix is hard up against a comment closer, ensure there are at least two
11325         spaces before the closer.
11326         (c-indent-new-comment-line): Amend the strategy for ensuring that point isn't
11327         left hard up against the comment closer after M-j.
11329 2019-10-25  Stephen Gildea  <stepheng+emacs@gildea.com>
11331         time-stamp-tests: consistently name the time vars
11333         * test/lisp/time-stamp-tests.el (with-time-stamp-test-env): rename local variable
11334         'ref-time' to 'ref-time1', for parallelism with ref-time2 and ref-time3.
11336 2019-10-25  Michael Albinus  <michael.albinus@gmx.de>
11338         Mention completion styles for Tramp user/host name completion
11340         * doc/misc/tramp.texi (File name completion): Emacs must have one
11341         of the completion styles `basic', `emacs21', or `emacs22'.
11343 2019-10-25  Juanma Barranquero  <lekktu@gmail.com>
11345         windmove.el: Suppress warnings for obsolete functions
11347         * lisp/windmove.el (windmove-constrain-loc-for-movement)
11348         (windmove-wrap-loc-for-movement, windmove-reference-loc)
11349         (windmove-other-window-loc): Wrap calls to obsolete functions
11350         in `with-suppressed-warnings'.
11352 2019-10-25  Juanma Barranquero  <lekktu@gmail.com>
11354         windmove.el: Mark unused code as obsolete
11356         * lisp/windmove.el (windmove-window-distance-delta)
11357         (windmove-coord-add, windmove-constrain-to-range)
11358         (windmove-constrain-around-range, windmove-frame-edges)
11359         (windmove-constrain-loc-for-movement)
11360         (windmove-wrap-loc-for-movement, windmove-reference-loc)
11361         (windmove-other-window-loc): Declare obsolete.
11362         (windmove-find-other-window, windmove-do-window-select):
11363         Doc fixes.
11365         * etc/NEWS: Document it.
11367 2019-10-25  Juanma Barranquero  <lekktu@gmail.com>
11369         * lisp/windmove.el (windmove-frame-edges): Simplify.
11371 2019-10-25  Lars Ingebrigtsen  <larsi@gnus.org>
11373         Fix gnus-thread-hide-subtree defcustom
11375         * lisp/gnus/gnus-sum.el (gnus-thread-hide-subtree): Make the
11376         "Non-nil" predicate do what it's supposed to (i.e., return non-nil
11377         on non-nil values (excepting predicates)) (bug#37916).
11379 2019-10-24  Stefan Monnier  <monnier@iro.umontreal.ca>
11381         * lisp/cedet/mode-local.el: Clean up name space
11383         Mostly renaming functions by adding `mode-local--` to their name
11384         and leaving an obsolete alias behind, just in case.
11386         (define-child-mode): Make obsolete.
11387         (mode-local--set-parent): Rename from set-mode-local-parent.
11388         (mode-local--new-bindings): Rename from new-mode-local-bindings.
11389         Use `obarray-make`.
11390         (mode-local--activate-bindings): Rename from activate-mode-local-bindings.
11391         (mode-local--deactivate-bindings): Rename from
11392         deactivate-mode-local-bindings.
11393         (make-obsolete-overload): Rename properties with a `mode-local--` prefix.
11394         Adjust all users.
11395         (mode-local--overload-obsoleted-by): Rename from overload-obsoleted-by.
11396         (mode-local--overload-that-obsolete): Rename from overload-that-obsolete.
11397         (mode-local--function-overload-p): Rename from function-overload-p.
11398         (mode-local-read-function): Mark obsolete.
11399         (mode-local--overload-docstring-extension): Rename from
11400         overload-docstring-extension.
11401         (mode-local--describe-overload): Rename from describe-mode-local-overload.
11403         * lisp/cedet/semantic/fw.el (semantic-install-function-overrides):
11404         Remove unused `mode` argument.
11406         * lisp/cedet/semantic/grammar-wy.el (semantic-grammar-wy--install-parser):
11407         * lisp/cedet/semantic/bovine/grammar.el (bovine-grammar-mode):
11408         * lisp/cedet/semantic/texi.el (semantic-default-texi-setup):
11409         * lisp/cedet/semantic/wisent/grammar.el (wisent-grammar-setupcode-builder)
11410         (wisent-grammar-mode):
11411         * lisp/cedet/semantic/html.el (semantic-default-html-setup):
11412         Make the `semantic-` prefix explicit to ease grep search.
11413         (html-helper-mode): Remove obsolete setting.
11415         * lisp/cedet/semantic/wisent/javascript.el: Fix js-mode/javascript-mode
11416         mixup so we don't need define-child-mode any more.
11417         (semantic-get-local-variables, semantic-ctxt-current-symbol)
11418         (semantic-tag-protection, semantic-analyze-scope-calculate-access):
11419         Use `js-mode` rather than `javascript-mode` as the mode name since
11420         that's the real mode's name.
11422         * lisp/cedet/semantic/wisent/python.el (python-2-mode, python-3-mode):
11423         Remove child declaration for non-existing modes.
11425         * lisp/cedet/srecode/map.el (srecode-map-validate-file-for-mode): Simplify.
11427 2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11429         Update from Gnulib
11431         This incorporates:
11432         2019-10-23 nstrftime: speed up integer overflow checking
11433         2019-10-23 port better to GCC under macOS
11434         2019-10-15 inttypes: use more-robust test for int range
11435         2019-10-14 update-copyright: use en dashes in .texi ranges
11436         * build-aux/update-copyright, lib/intprops.h, lib/inttypes.in.h:
11437         * lib/nstrftime.c, lib/verify.h:
11438         Copy from Gnulib.
11440 2019-10-24  Juanma Barranquero  <lekktu@gmail.com>
11442         * doc/lispref/display.texi: Document `delay-warning'
11444 2019-10-24  Mattias Engdegård  <mattiase@acm.org>
11446         rx.el: Refactor user-definition expansion
11448         * lisp/emacs-lisp/rx.el (rx--translate-not): Simplify structure.
11449         * lisp/emacs-lisp/rx.el (rx--expand-def): New.
11450         (rx--translate-symbol, rx--translate-form): Use rx--expand-def.
11452 2019-10-23  Stefan Kangas  <stefankangas@gmail.com>
11454         Update FAQ section on large files (Bug#37818)
11456         * doc/misc/efaq.texi (Problems with very large files): Extend section
11457         and remove information about ancient versions of Emacs.
11459 2019-10-23  Stefan Kangas  <stefankangas@gmail.com>
11461         Update FAQ section on Emacs security (Bug#37818)
11463         * doc/misc/efaq.texi (Security risks with Emacs): Remove section on
11464         movemail.  Add section on third-party packages.
11466 2019-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
11468         * lisp/cedet/mode-local.el: Use lexical-binding and `declare`
11470         (with-mode-local-symbol, with-mode-local, setq-mode-local)
11471         (defvar-mode-local, defconst-mode-local)
11472         (define-overloadable-function, define-mode-local-override):
11473         Use `declare` for indent and edebug specs.
11474         (xref-mode-local-find-overloadable-regexp): Simplify regexp.
11475         (mode-local-setup-edebug-specs): Delete.
11476         (edebug-setup-hook): Don't use any more.
11478 2019-10-23  Juri Linkov  <juri@linkov.net>
11480         * lisp/dired.el (dired-mark-pop-up): Set tab-line-format to nil (bug#37699).
11482 2019-10-23  Juri Linkov  <juri@linkov.net>
11484         * lisp/tab-bar.el: Allow to specify interactively where to add a new tab.
11486         * lisp/tab-bar.el (tab-bar-new-tab-to): Rename from tab-bar-new-tab.
11487         Add optional arg TO-INDEX.
11488         (tab-bar-new-tab): New implementation to use relative ARG.
11489         (tab-new-to): Alias to tab-bar-new-tab-to.
11491 2019-10-23  Juri Linkov  <juri@linkov.net>
11493         * lisp/tab-bar.el: Rename tab-bar-swap-tabs to tab-bar-move-tab-to.
11495         * lisp/tab-bar.el (tab-bar-move-tab-to): Rename from tab-bar-swap-tabs.
11496         Change logic to push the moved tab between existing tabs.
11497         (tab-bar-move-tab): Call tab-bar-move-tab-to instead of tab-bar-swap-tabs.
11498         (tab-move-to): Rename alias from tab-swap.
11500 2019-10-23  Juri Linkov  <juri@linkov.net>
11502         Implement tab close undo feature for tab-bar.
11504         * lisp/tab-bar.el (tab-bar-closed-tabs): New variable.
11505         (tab-bar-close-tab): Add closed tab to tab-bar-closed-tabs.
11506         Disable tab-bar-mode on closing the last tab.
11507         (tab-bar-close-other-tabs): Add all closed tabs to tab-bar-closed-tabs.
11508         (tab-bar-undo-close-tab): New command.
11509         (tab-undo): Alias to tab-bar-undo-close-tab.
11511 2019-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
11513         * lisp/cedet/semantic/analyze/complete.el: Fix completion-at-point
11515         Completion tables are not supposed to signal errors:
11517             emacs -q
11518             M-x semantic-mode
11519             ; visit a file supported by semantic, such as a C file
11520             ; put cursor in a blank space
11521             M-x completion-at-point
11522             It will error with: "Nothing to complete"
11524         (semantic-analyze-possible-completions): Return nil instead of
11525         signaling errors.
11527 2019-10-23  Lars Ingebrigtsen  <larsi@gnus.org>
11529         Ensure that the prompt is kept on the final line
11531         * lisp/erc/erc-goodies.el (erc-possibly-scroll-to-bottom): New
11532         function.
11533         (scrolltobottom): Add to erc-insert-done-hook.
11535         * lisp/erc/erc.el (erc-insert-done-hook): New hook (bug#11697).
11536         (erc-display-line-1): Use it.
11538 2019-10-23  Lars Ingebrigtsen  <larsi@gnus.org>
11540         Make erc-cmd-CLEAR do what its doc string says
11542         * lisp/erc/erc.el (erc-cmd-CLEAR): Delete the buffer contents
11543         instead of recentering (bug#31743).
11545 2019-10-23  Lars Ingebrigtsen  <larsi@gnus.org>
11547         Make display of S/MIME signatures slightly better
11549         * lisp/epg.el (epg-signature-to-string): Decode percent escapes
11550         (bug#36101).
11552 2019-10-23  Lars Ingebrigtsen  <larsi@gnus.org>
11554         Make Gnus recognise "git am" diffs in all groups
11556         * lisp/gnus/mm-uu.el (mm-uu-diff-groups-regexp): Recognise diffs
11557         in all groups (bug#32730).
11559 2019-10-22  Stefan Kangas  <stefankangas@gmail.com>
11561         Add version tag to gnutls-min-prime-bits
11563         * lisp/net/gnutls.el (gnutls-min-prime-bits): Add version tag.
11565 2019-10-22  memeplex  <carlosjosepita@gmail.com>
11567         Avoid extra lines in python-shell font lock buffer (Bug#33959)
11569         * lisp/progmodes/python.el
11570         (python-shell-font-lock-comint-output-filter-function): Avoid writing
11571         a newline to the font lock buffer when receiving an empty string.
11573 2019-10-22  Glenn Morris  <rgm@gnu.org>
11575         Set expected result for a cedet test
11577         * test/lisp/cedet/srecode-utest-template.el (srecode-utest-project):
11578         Test fails on hydra.nixos.org, for some reason.
11580 2019-10-22  Juri Linkov  <juri@linkov.net>
11582         Tab-line horizontal scrolling with UI buttons and commands (bug#37667)
11584         * etc/images/tabs/left-arrow.xpm:
11585         * etc/images/tabs/right-arrow.xpm: New images.
11587         * lisp/tab-line.el (tab-line-left-map, tab-line-right-map): New keymaps.
11588         (tab-line-left-button, tab-line-right-button): New variables.
11589         (tab-line-tab-name-function): Turn defvar into defcustom.
11590         (tab-line-tab-name-buffer): New function.
11591         (tab-line-tab-name-truncated-buffer): Rename from tab-line-tab-name.
11592         (tab-line-tabs-limit): Default to nil.
11593         (tab-line-tabs): Behavior depends on tab-line-tabs-limit.
11594         (tab-line-format): Use window-parameter tab-line-hscroll.
11595         Add left/right buttons.
11596         (tab-line-hscroll): New function.
11597         (tab-line-hscroll-right, tab-line-hscroll-left): New commands
11598         bound to mouse-wheel.  Rebind tab-switching commands to mouse-wheel
11599         with Ctrl-modifier.
11601 2019-10-22  Lars Ingebrigtsen  <larsi@gnus.org>
11603         Fix "make bootstrap" build warning in tab-bar.el
11605         * lisp/tab-bar.el (require): Require seq when compiling to avoid a
11606         compilation warning.  The function it uses is autoloaded, but
11607         autoloads aren't loaded when this is built (on "make bootstrap").
11609 2019-10-22  Eli Zaretskii  <eliz@gnu.org>
11611         Fix recent changes in documentation
11613         * doc/lispref/edebug.texi (Edebug Eval, Eval List): Reword
11614         recently added text to follow conventions.
11616         * src/textprop.c (Ftext_properties_at): Don't use passive tense
11617         in doc string.
11619 2019-10-22  Stefan Kangas  <stefankangas@gmail.com>
11621         Various doc fixes for auto-insert-mode
11623         * doc/misc/autotype.texi (Autoinserting): Various doc fixes.
11624         * lisp/autoinsert.el (top-level): Recommend 'auto-insert-mode' over
11625         'add-hook'.
11627 2019-10-22  Lars Ingebrigtsen  <larsi@gnus.org>
11629         Make text-properties-at mention describe-text-properties
11631         * src/textprop.c (Ftext_properties_at): Mention
11632         describe-text-properties in the doc string.
11634 2019-10-22  Lars Ingebrigtsen  <larsi@gnus.org>
11636         Add a fringe example
11638         * doc/lispref/display.texi (Fringe Bitmaps): Add an example.
11640 2019-10-22  Mattias Engdegård  <mattiase@acm.org>
11642         rx doc string tweaks
11644         * lisp/emacs-lisp/rx.el (rx--translate-seq, rx--translate-or, rx):
11645         Say "zero or more" instead of "one or more" where applicable.
11647 2019-10-22  Lars Ingebrigtsen  <larsi@gnus.org>
11649         Make edebug-eval-last-sexp interactively take a zero prefix
11651         * lisp/emacs-lisp/edebug.el (edebug-eval-last-sexp): Make the zero
11652         prefix work analogously to in eval-last-sexp (bug#28895).
11653         (edebug-eval-print-last-sexp): Ditto.
11655 2019-10-22  Robert Pluim  <rpluim@gmail.com>
11657         Show stash counts in button in vc-dir
11659         Based on suggestions from Mattias Engdegård.
11661         * lisp/vc/vc-git.el (vc-git--make-button-text): New function to
11662         generate text for stash button.
11663         (vc-git-make-stash-button): Show stash counts.  Delete and recreate
11664         button when toggling.
11665         (vc-git-dir-extra-headers): Pass counts to vc-git-make-stash-button.
11666         Treat stash count <= vc-git-show-stash as equivalent to showing entire
11667         list.
11669 2019-10-21  Arash Esbati  <arash@gnu.org>
11671         Move entry for \Ref into LaTeX core
11673         * lisp/textmodes/reftex-vars.el (reftex-ref-style-alist): Move
11674         entry for \Ref from "Varioref" into "Default" as this macro is
11675         part of LaTeX 2019-10-01 kernel.
11676         Rearrange entries for "Varioref".
11678 2019-10-21  Stefan Kangas  <stefankangas@gmail.com>
11680         * etc/NEWS: Improve documentation of 'package-initialize'.
11682 2019-10-21  Paul Eggert  <eggert@cs.ucla.edu>
11684         Portcheck only if --enable-gcc-warnings
11686         Problem reported by Richard Copley (Bug#37852).
11687         This patch causes the problem to not occur if one uses plain
11688         ‘configure’.  The problem can still occur if with ‘configure
11689         --enable-gcc-warnings’, so a further fix may be needed.
11690         * configure.ac (GNULIB_PORTCHECK, _FORTIFY_SOURCE):
11691         Define these only with an explicit --enable-gcc-warnings.
11693 2019-10-21  Stefan Kangas  <stefankangas@gmail.com>
11695         Remove XEmacs compat code from speedbar.el
11697         * lisp/speedbar.el (speedbar-frame-plist, speedbar-frame-mode)
11698         (speedbar-make-overlay, speedbar-overlay-put, speedbar-delete-overlay)
11699         (speedbar-mode-line-update, speedbar-frame-reposition-smartly)
11700         (speedbar-set-mode-line-format, speedbar-reconfigure-keymaps)
11701         (speedbar-add-localized-speedbar-support, speedbar-check-vc)
11702         (speedbar-highlight-one-tag-line)
11703         (speedbar-unhighlight-one-tag-line): Remove XEmacs compat code.
11705         * doc/misc/speedbar.texi (Frames and Faces): Remove documentation for
11706         XEmacs.
11708 2019-10-21  Juri Linkov  <juri@linkov.net>
11710         * lisp/vc/vc-annotate.el (vc-annotate-lines): Use set-face-extend (bug#37774)
11712 2019-10-21  Lars Ingebrigtsen  <larsi@gnus.org>
11714         Try to not put SMTP passwords in the *Messages* buffer
11716         * lisp/mail/smtpmail.el (smtpmail--sanitize-error-message): New
11717         function.
11718         (smtpmail-send-it): Use it.
11719         (smtpmail-send-queued-mail): Ditto.
11721 2019-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
11723         * lisp/emacs-lisp/cursor-sensor.el: Make it possible to reveal invisible text
11725         (cursor-sensor-mode): Hook into post-command-hook as well.
11726         (cursor-sensor--detect): Make argument optional.
11728 2019-10-21  Lars Ingebrigtsen  <larsi@gnus.org>
11730         Tiny clean-up of previous edebug patch
11732         * lisp/emacs-lisp/edebug.el (edebug--overlay-breakpoints): Clean
11733         up code slightly.
11735 2019-10-21  Lars Ingebrigtsen  <larsi@gnus.org>
11737         Ensure we always remove the breakpoint overlays
11739         * lisp/emacs-lisp/edebug.el (edebug--display-1): Remove the
11740         overlays here -- this cleans up after exiting no matter how we
11741         exited.
11743 2019-10-21  Lars Ingebrigtsen  <larsi@gnus.org>
11745         Add fringe markers to edebug breakpoints
11747         * lisp/emacs-lisp/edebug.el (edebug--overlay-breakpoints): Set a
11748         fringe element to mark the breakpoint.
11749         (edebug-breakpoint): Fringe marker.
11751 2019-10-21  Stefan Kangas  <stefankangas@gmail.com>
11753         Clean up previous icalendar.el change
11755         * lisp/calendar/icalendar.el (icalendar--rris): Redefine as obsolete
11756         function alias.
11758 2019-10-21  Stefan Kangas  <stefankangas@gmail.com>
11760         Remove more XEmacs compat code from viper-*.el
11762         * lisp/emulation/viper-cmd.el (viper-submit-report):
11763         * lisp/emulation/viper-init.el (viper-set-insert-cursor-type)
11764         (viper-restore-cursor-type, viper-use-replace-region-delimiters)
11765         (viper-has-face-support-p, viper-window-display-p)
11766         (viper-color-display-p, viper-device-type):
11767         * lisp/emulation/viper-mous.el (viper-mouse-click-search-word)
11768         (viper-mouse-click-insert-word, viper-mouse-click-get-word)
11769         (viper-mouse-click-posn, viper-mouse-click-window):
11770         * lisp/emulation/viper-util.el (viper-abbreviate-file-name)
11771         (viper-set-replace-overlay, viper-maybe-checkout): Remove XEmacs
11772         compat code.
11774 2019-10-21  Stefan Kangas  <stefankangas@gmail.com>
11776         Remove XEmacs compat code from icalendar.el (Bug#37816)
11778         * lisp/calendar/icalendar.el (icalendar--convert-string-for-export)
11779         (icalendar--convert-string-for-import)
11780         (icalendar--parse-summary-and-rest)
11781         (icalendar--convert-ordinary-to-ical)
11782         (icalendar--convert-weekly-to-ical)
11783         (icalendar--convert-yearly-to-ical)
11784         (icalendar--convert-block-to-ical)
11785         (icalendar--convert-cyclic-to-ical)
11786         (icalendar--convert-anniversary-to-ical)
11787         (icalendar--format-ical-event)
11788         (icalendar--convert-recurring-to-diary): Remove XEmacs compat code.
11789         (icalendar--rris): Declare obsolete.
11791 2019-10-21  Eli Zaretskii  <eliz@gnu.org>
11793         Avoid false indications from Flymake in .dir-locals.el files
11795         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Don't install
11796         'elisp-flymake-checkdoc' and 'elisp-flymake-byte-compile'
11797         hooks for .dir-locals.el files.  Reported by Clément
11798         Pit-Claudel <cpitclaudel@gmail.com>.
11800 2019-10-21  Robert Pluim  <rpluim@gmail.com>
11802         Add button to vc-dir to toggle visibility of stash list
11804         * lisp/vc/vc-git.el: Move cl-lib require outside 'eval-when-compile'.
11806         * lisp/vc/vc-git.el (vc-git-show-stash):New user option.
11807         (vc-git-make-stash-button): Create button that allows hiding the stash
11808         list.
11809         (vc-git-dir-extra-headers): Split stash list into hideable and
11810         non-hideable parts depending on value of vc-git-show-stash.  Add
11811         button to toggle visibility of hideable part.
11813         * etc/NEWS: Announce it.
11815 2019-10-20  Clément Pit-Claudel  <clement.pitclaudel@live.com>
11817         Add a way to disable substitution of command keys in help strings
11819         * src/keyboard.c (help_echo_substitute_command_keys): New function.
11820         (help_echo_echo, parse_menu_item): Use it.
11821         (syms_of_keyboard): Define Qhelp_echo_inhibit_substitution.
11823         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document
11824         the effect of 'help-echo-inhibit-substitution'.
11826 2019-10-20  Paul Eggert  <eggert@cs.ucla.edu>
11828         Avoid fixnum round trip in prefix-numeric-value
11830         * src/callint.c (Fprefix_numeric_value): Simplify.
11832 2019-10-20  Juri Linkov  <juri@linkov.net>
11834         * lisp/tab-line.el: Bind mouse commands to [tab-line].
11836         * lisp/tab-line.el: Bind mouse-4/mouse-5, wheel-up/wheel-down
11837         globally to [tab-line].
11838         (tab-line-tab-map): Remove local bindings of mouse-4/mouse-5.
11839         (tab-line-new-tab, tab-line-switch-to-prev-tab)
11840         (tab-line-switch-to-next-tab, tab-line-close-tab):
11841         Turn commands into mouse-free (can be used without mouse).
11843 2019-10-20  Stefan Kangas  <stefankangas@gmail.com>
11845         Don't try to add nil packages on refresh
11847         * lisp/emacs-lisp/package.el (package-read-archive-contents): Don't
11848         try to add nil entries.  Warn instead.  (Bug#28502)
11849         * test/lisp/emacs-lisp/package-tests.el
11850         (package-test-update-archives/ignore-nil-entry): New test.
11851         * test/lisp/emacs-lisp/package-resources/with-nil-entry/archive-contents:
11852         New file.
11854 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
11856         Add a command to toggle an edebug breakpoint
11858         * doc/lispref/edebug.texi (Breakpoints): Document this.
11860         * lisp/emacs-lisp/edebug.el (edebug-disabled-breakpoint): New face
11861         (bug#23472).
11862         (edebug-enabled-breakpoint): Rename.
11863         (edebug--overlay-breakpoints): Use the new face.
11864         (edebug-toggle-disable-breakpoint): New command and keystroke.
11866 2019-10-20  Stefan Kangas  <stefankangas@gmail.com>
11868         Remove XEmacs compat code from decipher.el
11870         * lisp/play/decipher.el (decipher-last-command-char)
11871         (decipher-keypress): Remove XEmacs compat code.
11873 2019-10-20  Juri Linkov  <juri@linkov.net>
11875         * lisp/tab-bar.el: Use autoloaded seq-position.
11877         * lisp/tab-bar.el (tab-bar--current-tab-index)
11878         (tab-bar--tab-index, tab-bar--tab-index-by-name):
11879         Use seq-position.
11881         (tab-bar-select-tab, tab-bar-new-tab, tab-bar-close-tab)
11882         (tab-bar-close-other-tabs, tab-bar-rename-tab)
11883         (tab-bar-list-execute): Call force-mode-line-update
11884         unconditionally independent from tab-bar-mode.
11886         (tab-bar-rename-tab, tab-bar-rename-tab-by-name):
11887         Use read-from-minibuffer instead of read-string
11888         to be able to enter empty string.
11890 2019-10-20  Stefan Kangas  <stefankangas@gmail.com>
11892         Remove XEmacs compat code from meta-mode.el
11894         * lisp/progmodes/meta-mode.el (meta-mode-menu):
11895         (meta-mode-load-hook): Remove XEmacs compat code.
11897 2019-10-20  Stefan Kangas  <stefankangas@gmail.com>
11899         Remove last XEmacs compat code from tree-widget.el
11901         * lisp/tree-widget.el (tree-widget-image-properties-xemacs)
11902         (tree-widget-set-theme, tree-widget--cursors)
11903         (tree-widget-image-properties, tree-widget-button-keymap)
11904         (tree-widget-icon, tree-widget-value-create): Remove XEmacs compat
11905         code.
11907 2019-10-20  Stefan Kangas  <stefankangas@gmail.com>
11909         Remove leftover XEmacs compat code from dig.el
11911         * lisp/net/dig.el (top-level): Remove leftover XEmacs compat code.
11913 2019-10-20  Mattias Engdegård  <mattiase@acm.org>
11915         Add missing rx symbols `bow' and `eow' to documentation
11917         * doc/lispref/searching.texi (Rx Constructs):
11918         * lisp/emacs-lisp/rx.el (rx):  Add missing synonyms.
11920 2019-10-20  Juri Linkov  <juri@linkov.net>
11922         * lisp/tab-bar.el (tab-bar-swap-tabs): Use cl-rotatef instead of rotatef.
11924 2019-10-20  Juri Linkov  <juri@linkov.net>
11926         * lisp/tab-bar.el (tab-bar-swap-tabs, tab-bar-move-tab): New commands.
11928         (tab-swap, tab-move): New aliases to new commands.
11930 2019-10-20  Stefan Kangas  <stefankangas@gmail.com>
11932         Disable pause/resume from menu in snake and tetris
11934         * lisp/play/tetris.el (tetris--menu-def):
11935         * lisp/play/snake.el (snake--menu-def): Disable pause/resume from
11936         menu.
11938 2019-10-20  Alan Mackenzie  <acm@muc.de>
11940         Optimize c-crosses-statement-barrier-p for large blocks of comment.
11942         This fixes bug #18134.
11944         * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Give a limit
11945         to the c-backward-syntactic-ws which is searching for a virtual semicolon.  In
11946         the main loop, Use c-forward-syntactic-ws to skip blocks of comments.
11948 2019-10-20  Juri Linkov  <juri@linkov.net>
11950         Provide default value for tab-name/frame-name reading minibuffer
11952         * lisp/tab-bar.el (tab-bar-rename-tab, tab-bar-rename-tab-by-name):
11953         Provide default value for read-string.
11954         (tab-bar-select-tab-by-name): Alias for tab-bar-switch-to-tab.
11956         * lisp/frame.el (set-frame-name): Provide default value for
11957         read-string in interactive spec.
11959         * lisp/cus-start.el (tab-bar-position): Use choice instead of boolean.
11961 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
11963         Make edebug-mode-map take precedence
11965         * lisp/emacs-lisp/edebug.el (edebug--recursive-edit): Bind
11966         minor-mode-overriding-map-alist to avoid other minor modes hiding the
11967         edebug commands (bug#11018).
11969 2019-10-20  Jimmy Aguilar Mena  <spacibba@aol.com>
11971         Fix internal-lisp-face-attributes to match face.
11973         * lisp/face-remap.el (internal-lisp-face-attributes): Updated the
11974         vector members to match the real member names. (Bug#37806) (Bug#37824)
11976 2019-10-20  Stephen Leake  <stephen_leake@stephe-leake.org>
11978         In xref-location-marker, handle deleted file or outdated xref location nicely
11980         * lisp/progmodes/xref.el (xref-location-marker): Add ignore-errors.
11982 2019-10-20  Stefan Kangas  <stefankangas@gmail.com>
11984         Update FAQ entry on XEmacs (Bug#37815)
11986         * doc/misc/efaq.texi (Difference between Emacs and XEmacs): Update
11987         section to reflect the current state of affairs.  XEmacs is not
11988         actively developed and is lacking many important features of Emacs.
11990 2019-10-20  Stefan Kangas  <stefankangas@gmail.com>
11992         Improve doc string of eshell and eshell-buffer-name
11994         * lisp/eshell/eshell.el (eshell-buffer-name, eshell): Improve doc
11995         strings, by clarifying how buffers are named.  Also refer users to the
11996         Info manual.  (Bug#37178)
11998 2019-10-20  Juanma Barranquero  <lekktu@gmail.com>
12000         * doc/lispref/display.texi (Low-Level Font): Describe max-width.
12002 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
12004         Fix edebug--restore-breakpoints re-instrumentinging bug-out
12006         * lisp/emacs-lisp/edebug.el (edebug--restore-breakpoints): Don't
12007         bug out when instrumenting/de-instrumenting/re-instrumenting.
12009 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
12011         Add a new edebug-breakpoint face
12013         * doc/lispref/edebug.texi (Breakpoints): Mention it.
12015         * lisp/emacs-lisp/edebug.el (edebug-breakpoint): New face.
12017 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
12019         while-no-input-ignore-events manual clarification
12021         * doc/lispref/commands.texi (Event Input Misc): Be slightly
12022         clearer about what while-no-input-ignore-events is.
12024 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
12026         New command to clear all breakpoints in a function
12028         * doc/lispref/edebug.texi (Breakpoints): Mention it.
12030         * lisp/emacs-lisp/edebug.el (edebug-unset-breakpoints): New
12031         command and keystroke.
12033 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
12035         Preserve breakpoints when Edebug-reinstrumenting functions
12037         * lisp/emacs-lisp/edebug.el (edebug--overlay-breakpoints): New
12038         function (bug#23470).
12040         * lisp/emacs-lisp/seq.el (seq-position): Autoload.
12042 2019-10-20  Michael Albinus  <michael.albinus@gmx.de>
12044         Fix docstrings in tramp.el
12046         * lisp/net/tramp.el (tramp-antispoof-regexp)
12047         (tramp-file-name-handler): Fix docstring.
12049 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
12051         Change default to cancel all edebug-on-entry in cancel-edebug-on-entry
12053         * lisp/emacs-lisp/edebug.el (cancel-edebug-on-entry): Make the
12054         default to cancel all edebug-on-entry.
12056 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
12058         Use user-error in cancel-edebug-on-entry
12060         * lisp/emacs-lisp/edebug.el (cancel-edebug-on-entry): This is a
12061         user-class error, so use user-error.
12063 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
12065         Instrument function if it hasn't been already in edebug-set-breakpoint
12067         * lisp/emacs-lisp/edebug.el (edebug-set-breakpoint): Instrument
12068         form automatically when using this function (bug#23469).
12070 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
12072         Fix up previous edebug breakpoint overlay change
12074         * lisp/emacs-lisp/edebug.el (edebug--overlay-breakpoints): Only
12075         make the overlays in edebug mode, so that we remove them when we
12076         exit.
12078 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
12080         Mark breakpoints in edebug with highlights
12082         * lisp/emacs-lisp/edebug.el (edebug--overlay-breakpoints)
12083         (edebug--overlay-breakpoints-remove): New functions (bug#23468).
12084         (edebug-modify-breakpoint): Use them to highlight breakpoints.
12085         (edebug--display-1): Restore breakpoint highlights.
12086         (edebug--recursive-edit): Remove highlights on exit.
12088 2019-10-20  Juanma Barranquero  <lekktu@gmail.com>
12090         lisp/*.el: Fix typos and improve some docstrings
12092         * lisp/auth-source.el (auth-source-backend-parse-parameters)
12093         (auth-source-search-collection)
12094         (auth-source-secrets-listify-pattern)
12095         (auth-source--decode-octal-string, auth-source-plstore-search):
12096         * lisp/registry.el (registry-lookup)
12097         (registry-lookup-breaks-before-lexbind)
12098         (registry-lookup-secondary, registry-lookup-secondary-value)
12099         (registry-search, registry-delete, registry-size, registry-full)
12100         (registry-insert, registry-reindex, registry-prune)
12101         (registry-collect-prune-candidates):
12102         * lisp/subr.el (nbutlast, process-live-p):
12103         * lisp/tab-bar.el (tab-bar-list):
12104         * lisp/cedet/ede/linux.el (ede-linux--get-archs)
12105         (ede-linux--include-path, ede-linux-load):
12106         * lisp/erc/erc-log.el (erc-log-all-but-server-buffers):
12107         * lisp/erc/erc-pcomplete.el (pcomplete-erc-commands)
12108         (pcomplete-erc-ops, pcomplete-erc-not-ops, pcomplete-erc-nicks)
12109         (pcomplete-erc-all-nicks, pcomplete-erc-channels)
12110         (pcomplete-erc-command-name, pcomplete-erc-parse-arguments):
12111         * lisp/eshell/em-term.el (eshell-visual-command-p):
12112         * lisp/gnus/gnus-cache.el (gnus-cache-fully-p):
12113         * lisp/gnus/nnmail.el (nnmail-get-active)
12114         (nnmail-fancy-expiry-target):
12115         * lisp/mail/mail-utils.el (mail-string-delete):
12116         * lisp/mail/supercite.el (sc-hdr, sc-valid-index-p):
12117         * lisp/net/ange-ftp.el (ange-ftp-use-smart-gateway-p):
12118         * lisp/net/nsm.el (nsm-save-fingerprint-maybe)
12119         (nsm-network-same-subnet, nsm-should-check):
12120         * lisp/net/rcirc.el (rcirc-looking-at-input):
12121         * lisp/net/tramp-cache.el (tramp-get-hash-table):
12122         * lisp/net/tramp-compat.el (tramp-compat-process-running-p):
12123         * lisp/net/tramp-smb.el (tramp-smb-get-share)
12124         (tramp-smb-get-localname, tramp-smb-read-file-entry)
12125         (tramp-smb-get-cifs-capabilities, tramp-smb-get-stat-capability):
12126         * lisp/net/zeroconf.el (zeroconf-list-service-names)
12127         (zeroconf-list-service-types, zeroconf-list-services)
12128         (zeroconf-get-host, zeroconf-get-domain)
12129         (zeroconf-get-host-domain):
12130         * lisp/nxml/rng-xsd.el (rng-xsd-compile)
12131         (rng-xsd-make-date-time-regexp, rng-xsd-convert-date-time):
12132         * lisp/obsolete/erc-hecomplete.el (erc-hecomplete)
12133         (erc-command-list, erc-complete-at-prompt):
12134         * lisp/org/ob-scheme.el (org-babel-scheme-get-buffer-impl):
12135         * lisp/org/ob-shell.el (org-babel--variable-assignments:sh-generic)
12136         (org-babel--variable-assignments:bash_array)
12137         (org-babel--variable-assignments:bash_assoc)
12138         (org-babel--variable-assignments:bash):
12139         * lisp/org/org-clock.el (org-day-of-week):
12140         * lisp/progmodes/cperl-mode.el (cperl-char-ends-sub-keyword-p):
12141         * lisp/progmodes/gud.el (gud-find-c-expr, gud-innermost-expr)
12142         (gud-prev-expr, gud-next-expr):
12143         * lisp/textmodes/table.el (table--at-cell-p, table--probe-cell)
12144         (table--get-cell-justify-property)
12145         (table--get-cell-valign-property)
12146         (table--put-cell-justify-property)
12147         (table--put-cell-valign-property): Fix typos.
12149         * lisp/so-long.el (fboundp): Doc fix.
12150         (so-long-mode-line-info, so-long-mode)
12151         (so-long--check-header-modes): Fix typos.
12153         * lisp/emulation/viper-mous.el (viper-surrounding-word)
12154         (viper-mouse-click-get-word): Fix typos.
12155         (viper-mouse-click-search-word): Doc fix.
12157         * lisp/erc/erc-backend.el (erc-forward-word, erc-word-at-arg-p)
12158         (erc-bounds-of-word-at-point): Fix typos.
12159         (erc-decode-string-from-target, define-erc-response-handler):
12160         Refill docstring.
12162         * lisp/erc/erc-dcc.el (pcomplete/erc-mode/DCC): Fix typo.
12163         (erc-dcc-get-host, erc-dcc-auto-mask-p, erc-dcc-get-file):
12164         Doc fixes.
12166         * lisp/erc/erc-networks.el (erc-network-name): Fix typo.
12167         (erc-determine-network): Refill docstring.
12169         * lisp/net/dbus.el (dbus-list-hash-table)
12170         (dbus-string-to-byte-array, dbus-byte-array-to-string)
12171         (dbus-check-event): Fix typos.
12172         (dbus-introspect-get-property): Doc fix.
12174         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler):
12175         Rename ARGS to ARGUMENTS.  Doc fix.
12176         (tramp-adb-sh-fix-ls-output, tramp-adb-execute-adb-command)
12177         (tramp-adb-find-test-command): Fix typos.
12179         * lisp/net/tramp.el (tramp-set-completion-function)
12180         (tramp-get-completion-function)
12181         (tramp-completion-dissect-file-name)
12182         (tramp-completion-dissect-file-name1)
12183         (tramp-get-completion-methods, tramp-get-completion-user-host)
12184         (tramp-get-inode, tramp-get-device, tramp-mode-string-to-int)
12185         (tramp-call-process, tramp-call-process-region)
12186         (tramp-process-lines): Fix typos.
12187         (tramp-interrupt-process): Doc fix.
12189         * lisp/org/ob-core.el (org-babel-named-src-block-regexp-for-name)
12190         (org-babel-named-data-regexp-for-name): Doc fix.
12191         (org-babel-src-block-names, org-babel-result-names): Fix typos.
12193         * lisp/progmodes/inf-lisp.el (lisp-input-filter): Doc fix.
12194         (lisp-fn-called-at-pt): Fix typo.
12196         * lisp/progmodes/xref.el (xref-backend-identifier-at-point):
12197         Doc fix.
12198         (xref-backend-identifier-completion-table): Fix typo.
12200 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
12202         New command edebug-remove-instrumentation
12204         * doc/lispref/edebug.texi (Instrumenting): Document it.
12206         * lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation): New
12207         command (bug#15843).
12209 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
12211         Fix doc string and interactive spec of cancel-edebug-on-entry
12213         * lisp/emacs-lisp/edebug.el (cancel-edebug-on-entry): Add doc
12214         string and make the interactive spec complete over functions that
12215         have the spec (bug#10806).
12216         (edebug-cancel-edebug-on-entry): Add alias for discoverability.
12217         (edebug-on-entry): Clarify what this command does.
12219 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
12221         Revert "Add an edebug-cancel-debug-on-entry alias"
12223         This reverts commit cea9577b7d6fcf01599afd48078f8ff1defb1297.
12225         cancel-edebug-on-entry and cancel-debug-on-entry are not the same functions.
12227 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
12229         Add an edebug-cancel-debug-on-entry alias
12231         * lisp/emacs-lisp/debug.el (edebug-cancel-debug-on-entry): Add an
12232         alias for easier discoverability (bug#10806).
12234 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
12236         Protect against invalid punycode
12238         * lisp/net/puny.el (puny-decode-string): Protect against invalid
12239         punycode.
12241 2019-10-19  Juri Linkov  <juri@linkov.net>
12243         * lisp/net/eww.el (eww-browse-url-new-window-is-tab): New defcustom.
12245         (eww-open-in-new-buffer, eww-browse-url): Use new defcustom (bug#37592).
12247 2019-10-19  Juri Linkov  <juri@linkov.net>
12249         Use 'C-x t' for tab-prefix-map instead of 'C-x 6' still used by 2C-mode-map.
12251         * doc/emacs/commands.texi (Keys): Add 'C-x t'.
12252         * doc/emacs/frames.texi (Tab Bars): Replace 'C-x 6' with 'C-x t'.
12253         * doc/lispref/keymaps.texi (Prefix Keys): Add 'C-x t' (tab-prefix-map).
12254         * doc/lispref/maps.texi (Standard Keymaps): Add tab-prefix-map, tab-bar-map.
12256         * lisp/dired.el: Rebind 'C-x 6 d' to 'C-x t d'.  Use tab-prefix-map.
12258         * lisp/subr.el (ctl-x-6-map, ctl-x-6-prefix, ctl-x-t-prefix): Remove.
12259         (tab-prefix-map): New keymap bound to 'C-x t'.
12261         * lisp/tab-bar.el: Use tab-prefix-map instead of ctl-x-6-map.
12263         * lisp/textmodes/two-column.el: Restore autoload global setting of
12264         "\C-x6" to 2C-command.
12266         * lisp/ldefs-boot.el: Update to add setting "\C-x6" to 2C-command.
12268         * doc/emacs/commands.texi (Keys):
12269         * doc/emacs/text.texi (Two-Column):
12270         * doc/lispref/keymaps.texi (Prefix Keys):
12271         * doc/lispref/maps.texi (Standard Keymaps):
12272         Restore 'C-x 6' bound to '2C-mode-map'.
12274 2019-10-19  Juri Linkov  <juri@linkov.net>
12276         Add ':extend t' face attribute to diff faces (bug#37774)
12278         * lisp/vc/diff-mode.el (diff-header, diff-file-header)
12279         (diff-removed, diff-added): Add ':extend t' face attribute.
12281         * lisp/vc/ediff-init.el (ediff-current-diff-A)
12282         (ediff-current-diff-B, ediff-current-diff-C)
12283         (ediff-current-diff-Ancestor, ediff-even-diff-A)
12284         (ediff-even-diff-B, ediff-even-diff-C, ediff-even-diff-Ancestor)
12285         (ediff-odd-diff-A, ediff-odd-diff-B, ediff-odd-diff-C)
12286         (ediff-odd-diff-Ancestor): Add ':extend t' face attribute.
12288         * lisp/vc/smerge-mode.el (smerge-upper, smerge-lower)
12289         (smerge-base, smerge-markers): Add ':extend t' face attribute.
12291         * lisp/vc/log-view.el (log-view-file, log-view-message):
12292         Add ':extend t' face attribute.
12294         * lisp/faces.el (secondary-selection): Add ':extend t' face attribute.
12295         (line-number-major-tick, line-number-minor-tick):
12296         Change :foreground to :background.
12298 2019-10-19  Glenn Morris  <rgm@gnu.org>
12300         * lisp/net/tramp.el (tramp-antispoof-regexp): Fix version.
12302 2019-10-19  Alan Mackenzie  <acm@muc.de>
12304         Don't downcase the key binding in global-set-key.
12306         This fixes bug #37769.
12308         * lisp/subr.el (global-set-key): Provide a non-nil DONT-DOWNCASE argument to
12309         read-key-sequence.
12311         * etc/NEWS: Add an entry for this change.
12313 2019-10-19  Eli Zaretskii  <eliz@gnu.org>
12315         Fix a recent change in Emacs FAQ
12317         * doc/misc/efaq.texi (New in Emacs 23, Common requests):
12318         Remove references to the removed section "Highlighting a
12319         region".
12321 2019-10-19  Michael Albinus  <michael.albinus@gmx.de>
12323         * doc/emacs/emacs.texi (Intro): Mention remote file editing.
12325 2019-10-19  Stefan Kangas  <stefankangas@gmail.com>
12327         Don't explain FTP acronym in FAQ
12329         * doc/misc/efaq.texi (Common acronyms): Remove explanation of the FTP
12330         acronym.  Emacs is no longer distributed over FTP, and the FAQ doesn't
12331         refer to any other FTP URLs.
12333 2019-10-19  Stefan Kangas  <stefankangas@gmail.com>
12335         Remove FAQ section "Highlighting a region" (Bug#37818)
12337         * doc/misc/efaq.texi (Highlighting a region): Remove section.
12339 2019-10-19  Michael Albinus  <michael.albinus@gmx.de>
12341         Support PuTTY's antispoof message in Tramp
12343         * lisp/net/tramp-sh.el (tramp-actions-before-shell):
12344         Add respective entry for PuTTY's antispoof message.
12346         * lisp/net/tramp.el (tramp-antispoof-regexp): New defcustom.
12347         (tramp-action-confirm-message): New defun.
12349 2019-10-19  Raimon Grau  <raimonster@gmail.com>
12351         Fix optional parameter passing in calc-fin-* functions
12353         * lisp/calc/calc-fin.el (calc-fin-pv, calc-fin-fv, calc-fin-pmt)
12354         (calc-fin-pner, calc-fin-rate): Add support for an optional
12355         parameter standing for an initial lump. The functions already
12356         support it but the extra parameter was not taken into account in
12357         stack mode. This commit it takes into consideration when deciding
12358         if a function takes 3 or 4 parameters (bug#37649).
12360 2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>
12362         Remove some compat code from cperl-mode.el
12364         * lisp/progmodes/cperl-mode.el: Remove old-Emacs compat code.
12366 2019-10-19  Eli Zaretskii  <eliz@gnu.org>
12368         Fix display of Info files on TTY frames
12370         * lisp/info.el (info-symbols-and-replacements): New variable.
12371         (Info-mode): Use 'info-symbols-and-replacements' to set up a
12372         buffer-display-table for non-ASCII symbols used by Info files
12373         that cannot be displayed on TTY frames.
12375 2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>
12377         Remove some compat code from CEDET
12379         * lisp/cedet/semantic.el (pp):
12380         * lisp/cedet/semantic/complete.el (initialize-instance): Remove
12381         old-Emacs compat code.
12383 2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>
12385         Remove some compat code from mm-url.el
12387         * lisp/gnus/mm-url.el (mm-url-use-external): Remove old-Emacs
12388         compat code.
12390 2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>
12392         Remove compat code from nnbabyl.el
12394         * lisp/gnus/nnbabyl.el (rmail): Remove old-Emacs compat code.
12396 2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>
12398         Remove some compat code in imap.el
12400         * lisp/net/imap.el (imap-sasl-auth-p): Remove old-Emacs compat code.
12402 2019-10-19  Hong Xu  <hong@topbug.net>
12404         special-mode doc string clarification
12406         * lisp/simple.el (special-mode): Make the doc string explain what
12407         special modes are for (bug#37787).
12409 2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>
12411         Don't have shr bug out if svg support isn't available
12413         * lisp/net/shr.el (shr-put-image): Don't bug out if SVG support
12414         isn't available.
12416 2019-10-19  Cédric Chépied  <cedric.chepied@delair.aero>
12418         Fix typo in tree-widget-lookup-image
12420         * lisp/tree-widget.el (tree-widget-lookup-image): Fix typo
12421         introduced by previous cleanup (bug#37809).
12423 2019-10-19  Eli Zaretskii  <eliz@gnu.org>
12425         A better fix for tab-line mouse highlight on TTY frames
12427         * src/dispnew.c (mode_line_string):
12428         * src/xdisp.c (note_mode_line_or_margin_highlight): Remove
12429         recently-added workarounds for incorrect TTY mouse highlight:
12430         they are no longer needed.
12431         (mark_window_display_accurate_1): Set the header_line_p and
12432         tab_line_p flags of the window's current_matrix if the window
12433         displays these.
12434         (display_mode_line): Set the header_line_p and tab_line_p
12435         flags of the window's desired_matrix if the window displays
12436         these.  (Bug#37807)
12438 2019-10-18  Stefan Kangas  <stefankangas@gmail.com>
12440         Remove XEmacs compat code from ezimage.el
12442         * lisp/ezimage.el (top-level): Remove XEmacs compat code.
12444 2019-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12446         Pacify x86 GCC 9 in tab bar code
12448         * src/xdisp.c (tty_get_tab_bar_item): Simplify a bit.  This
12449         pacifies --enable-gcc-warnings with x86 GCC 9.2.1 20190827
12450         (Red Hat 9.2.1-1) when combined with -fsanitize=undefined.
12452 2019-10-18  Stefan Kangas  <stefankangas@gmail.com>
12454         Remove XEmacs compat code from edt-mapper.el
12456         * lisp/emulation/edt-mapper.el (edt-mapper, edt-xserver)
12457         (edt-map-key): Remove XEmacs compat code.
12458         (edt-window-system): Redefine as obsolete variable alias for
12459         'window-system'.
12461 2019-10-18  Stefan Kangas  <stefankangas@gmail.com>
12463         Remove XEmacs compat code from esh-arg.el
12465         * lisp/eshell/esh-arg.el (eshell-quote-backslash): Remove XEmacs
12466         compat code.
12468 2019-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12470         Generalize list1i etc. to all signed integer types
12472         * src/lisp.h (list1i, list2i, list3i, list4i):
12473         Accept intmax_t instead of EMACS_INT, and use make_int instead
12474         of make_fixnum.  This should help avoid integer-overflow
12475         problems akin to the Time bug (Bug#37795).
12477 2019-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12479         Fix integer-overflow bug in Time conversion
12481         Problem reported by Stefan Monnier (Bug#37795).
12482         * src/keyboard.c (make_lispy_position)
12483         (make_scroll_bar_position, make_lispy_event):
12484         * src/xterm.c (x_ewmh_activate_frame):
12485         Use INT_TO_INTEGER to convert Time to a Lisp integer,
12486         since the value might not be a fixnum.
12488 2019-10-18  Michael Albinus  <michael.albinus@gmx.de>
12490         * test/lisp/net/tramp-tests.el (remote-file-name-inhibit-cache): Set to nil.
12492 2019-10-18  Michael Albinus  <michael.albinus@gmx.de>
12494         Support old Samba versions in Tramp
12496         * doc/misc/tramp.texi (Relevant connection properties to override):
12497         New subsection.
12499         * lisp/net/tramp-smb.el (tramp-smb-get-cifs-capabilities): Check "posix"
12500         connection property.
12502         * lisp/net/tramp.el (with-tramp-progress-reporter): Fix docstring.
12504 2019-10-18  Eli Zaretskii  <eliz@gnu.org>
12506         Fix mouse highlight with tab-line on TTY frames
12508         * src/xdisp.c (note_mode_line_or_margin_highlight):
12509         * src/dispnew.c (mode_line_string): Fix mouse highlight on TTY
12510         frames when both header line and tab-line are displayed.
12511         (Bug#37807)
12513 2019-10-18  Eli Zaretskii  <eliz@gnu.org>
12515         Fix handling of mouse events on header line with tab-line
12517         * src/window.c (coordinates_in_window): Fix conditions for
12518         coordinates being on the window's header line when that
12519         window also displays a tab-line.  (Bug#37807)
12521 2019-10-18  Mattias Engdegård  <mattiase@acm.org>
12523         Use [^z-a] for matching any character (anychar/anything) in rx
12525         * lisp/emacs-lisp/rx.el (rx--translate-symbol):
12526         * test/lisp/emacs-lisp/rx-tests.el (rx-any, rx-atoms):
12527         Use [^z-a] instead of ".\\|\n" for anychar.
12529         The new expression is faster (about 2×) and does not allocate regexp
12530         stack space.  For example, (0+ anychar) now matches strings of any
12531         size (bug#37659).
12533 2019-10-18  Mattias Engdegård  <mattiase@acm.org>
12535         Add `unmatchable' as alias for (or) in rx (bug#37659)
12537         * lisp/emacs-lisp/rx.el (rx--translate-symbol, rx--builtin-symbols, rx):
12538         * test/lisp/emacs-lisp/rx-tests.el (rx-atoms):
12539         * doc/lispref/searching.texi (Rx Constructs):
12540         * etc/NEWS:
12541         Add `unmatchable', more descriptive than (or), and corresponding to
12542         the variable `regexp-unmatchable'.
12544 2019-10-18  Mattias Engdegård  <mattiase@acm.org>
12546         Add `anychar' as alias to `anything' in rx (bug#37659)
12548         * lisp/emacs-lisp/rx.el (rx--translate-symbol, rx--builtin-symbols, rx):
12549         * test/lisp/emacs-lisp/rx-tests.el (rx-atoms):
12550         * doc/lispref/searching.texi (Rx Constructs):
12551         * etc/NEWS:
12552         Add `anychar', an alias for `anything'.  Since `anychar' is more
12553         descriptive (and slightly shorter), treat it as the preferred name.
12555 2019-10-17  Michael Heerdegen  <michael_heerdegen@web.de>
12557         Extend debug spec of cl-flet (Bug#34481)
12559         * lisp/emacs-lisp/cl-macs.el (cl-flet): Extend debug spec to cover
12560         definitions of the form (FUNC EXP).
12562 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
12564         Port snake menu to Emacs
12566         * lisp/play/snake.el (snake--menu-def): New constant.
12567         (snake-mode-menu, snake-null-menu): Add a menu.
12568         (snake-mode): Remove XEmacs compat code.
12569         (snake-mode-map, snake-null-map): Add docstring.
12571 2019-10-17  Martin Rudalics  <rudalics@gmx.at>
12573         In 'bury-buffer' don't try to remove current buffer from minibuffer window
12575         * lisp/window.el (bury-buffer): Don't try to remove current buffer
12576         from minibuffer window.
12578 2019-10-17  Eli Zaretskii  <eliz@gnu.org>
12580         * lisp/recentf.el (recentf-mode): Doc fix.  (Bug#37772)
12582         * lisp/dired.el (dired-auto-revert-buffer): Doc fix.  (Bug#37771)
12584 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
12586         Port tetris menu to Emacs
12588         * lisp/play/tetris.el (tetris--menu-def): New constant.
12589         (tetris-mode-menu, tetris-null-menu): Add a menu.
12590         (tetris-mode): Remove XEmacs compat code.
12591         (tetris-null-map, tetris-mode-map): Add docstring.
12593 2019-10-17  Michael Albinus  <michael.albinus@gmx.de>
12595         * lisp/shell.el (shell): Make shell buffer the current buffer.  (Bug#37745)
12597 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
12599         Remove XEmacs compat code from ffap.el
12601         * lisp/ffap.el (ffap-what-domain): Remove XEmacs compat code.
12603 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
12605         Remove XEmacs compat code from imap.el
12607         * lisp/net/imap.el (imap-disable-multibyte): Declare obsolete.
12608         (imap-log, imap-open): Remove XEmacs compat code.
12610 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
12612         Remove obsolete XEmacs references from manuals
12614         * doc/misc/erc.texi:
12615         * doc/misc/eshell.texi:
12616         * doc/misc/htmlfontify.texi:
12617         * doc/misc/remember.texi:
12618         * doc/misc/sieve.texi:
12619         * doc/misc/viper.texi: Remove obsolete XEmacs references.
12621 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
12623         Remove XEmacs reference from viper refcard
12625         * etc/refcards/viperCard.tex: Remove reference to XEmacs.
12627 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
12629         Remove XEmacs compat code from tcl.el
12631         * lisp/progmodes/tcl.el (tcl-mode): Remove XEmacs compat code.
12632         (tcl-popup-menu): Declare obsolete.
12634 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
12636         Remove XEmacs reference from erc-button.el todo
12638         * lisp/erc/erc-button.el: Remove reference to XEmacs from a todo item.
12640 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
12642         Remove commented out XEmacs compat code from po.el
12644         * lisp/textmodes/po.el: Remove commented out XEmacs compat code.
12646 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
12648         Improve documentation of shell-command-prompt-show-cwd
12650         * doc/emacs/misc.texi (Single Shell):
12651         * lisp/simple.el (shell-command): Document
12652         'shell-command-prompt-show-cwd'.  (Bug#4987)
12654 2019-10-16  Peter Oliver  <git@mavit.org.uk>  (tiny change)
12656         Allow vc-sccs-diff to work with TRAMP
12658         * lisp/vc/vc-sccs.el (vc-sccs-diff): If the diff command is to be
12659         run remotely, then the temporary files it's acting on must be
12660         remote too (bug#37777).
12662 2019-10-16  Andrii Kolomoiets  <andreyk.mad@gmail.com>  (tiny change)
12664         Add ui.report_untrusted=0 to vc-hg log commands
12666         * lisp/vc/vc-hg.el (vc-hg-state-slow, vc-hg-merge-branch)
12667         (vc-hg-command): Add "--config" "ui.report_untrusted=0" to the
12668         log commands to avoid "Hg-not trusting file " messages in the mode
12669         line (bug#31497).
12671 2019-10-16  Juanma Barranquero  <lekktu@gmail.com>
12673         lisp/*.el, src/*.c: Doc fixes related to returning t vs non-nil
12675         * lisp/progmodes/flymake-proc.el (flymake-proc--find-buffer-for-file):
12676         Doc fix; return value is a buffer, not t.
12678         * lisp/progmodes/ebrowse.el (ebrowse-member-display-p):
12679         Doc fix; return value is the MEMBER argument, not nil.
12681         * lisp/files.el (hack-one-local-variable-eval-safep):
12682         * lisp/play/doctor.el (doctor-nounp, doctor-pronounp):
12683         * lisp/progmodes/flymake-proc.el (flymake-proc--check-include):
12684         * lisp/progmodes/js.el (js--broken-arrow-terminates-line-p):
12685         Doc fix; a non-nil return value is not always t.
12687         * lisp/image.el (image-type-available-p):
12688         * lisp/simple.el (region-active-p):
12689         * lisp/window.el (frame-root-window-p):
12690         * src/buffer.c (Fbuffer_live_p):
12691         * src/image.c (Finit_image_library):
12692         * src/window.c (Fwindow_minibuffer_p):
12693         Doc fix; a non-nil return value is always t.
12695         * doc/lispref/minibuf.texi (Minibuffer Windows): Doc fix.
12697 2019-10-16  Juanma Barranquero  <lekktu@gmail.com>
12699         lisp/*.el: Force non-nil result to t, to match docstring
12701         * lisp/emacs-lock.el (emacs-lock-live-process-p):
12702         * lisp/shadowfile.el (shadow-file-match):
12703         * lisp/emacs-lisp/edebug.el (edebug-basic-spec):
12704         * lisp/mail/rmail.el (rmail-expunge-confirmed):
12705         * lisp/net/soap-client.el (soap-should-encode-value-for-xs-element):
12706         * lisp/progmodes/idlwave.el (idlwave-quoted):
12707         * lisp/progmodes/idlw-shell.el (idlwave-shell-filename-string):
12708         * lisp/textmodes/refbib.el (r2b-isa-proceedings):
12709         * lisp/textmodes/texnfo-upd.el (texinfo-find-lower-level-node):
12710         Normalize boolean result.
12712 2019-10-16  Juanma Barranquero  <lekktu@gmail.com>
12714         * lisp/wid-edit.el (widget-default-active): Normalize boolean result.
12716 2019-10-16  Juanma Barranquero  <lekktu@gmail.com>
12718         Add/fix documentation for widget-apply
12720         * doc/misc/widget.texi (Widget Properties): Document `widget-apply'.
12722         * src/fns.c (Fwidget_apply): Document return value (used in many
12723         places).
12725 2019-10-16  Michael Albinus  <michael.albinus@gmx.de>
12727         Adapt Tramp's sudo method for non-default shells (Bug#31924)
12729         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Change template.
12730         (tramp-maybe-open-connection): Remove `tramp-login-env'.  (Bug#31924)
12732         * lisp/net/tramp.el (tramp-methods): Remove docstring for `tramp-login-env'.
12734 2019-10-16  Juanma Barranquero  <lekktu@gmail.com>
12736         lisp/speedbar.el: Fix computation of boolean return values
12738         * lisp/speedbar.el (speedbar-check-vc-this-line):
12739         Normalize boolean result.
12740         (speedbar-this-file-in-vc): Use `run-hook-with-args-until-success'
12741         to check for files under version control.  Doc fix.
12743 2019-10-16  Michael Albinus  <michael.albinus@gmx.de>
12745         * etc/NEWS: Apply "user option" when possible.  Fix other oddities.
12747 2019-10-16  Martin Rudalics  <rudalics@gmx.at>
12749         Handle top margin change in adjust_frame_size
12751         * src/frame.c (adjust_frame_size): Handle case where only
12752         pseudo windows changed height so the top margin has to be
12753         adjusted.
12754         * src/window.c (Fset_window_configuration): Call
12755         adjust_frame_size with inhibit 4.
12757 2019-10-16  Lars Ingebrigtsen  <larsi@gnus.org>
12759         Expand <<- heredocs in sh
12761         * lisp/progmodes/sh-script.el (sh--maybe-here-document): Make <<-
12762         expansion work, too.
12764 2019-10-15  Robert Pluim  <rpluim@gmail.com>
12766         Allow event description to be empty
12768         The previous fix for this was incomplete.
12770         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event->org-entry):
12771         Allow description to be nil.
12773 2019-10-15  Lars Ingebrigtsen  <larsi@gnus.org>
12775         Fix some &rest body edebug specs
12777         * lisp/ses.el (ses--letref):
12779         * lisp/emacs-lisp/crm.el (crm--completion-command): Fix edebug
12780         &rest body spec (bug#28747).
12782         * lisp/emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
12784         * lisp/emacs-lisp/inline.el (inline--leteval)
12785         (inline--letlisteval, inline-letevals):
12787 2019-10-15  Lars Ingebrigtsen  <larsi@gnus.org>
12789         Tweak heredoc expansion in shell-script-mode
12791         * lisp/progmodes/sh-script.el (sh--maybe-here-document): Allow
12792         expanding <<E, too.
12794 2019-10-15  Juri Linkov  <juri@linkov.net>
12796         Declare tab-bar-tabs the single source of truth in regard to current tab name
12798         * lisp/tab-bar.el: Replace all calls of tab-bar-tabs
12799         with '(funcall tab-bar-tabs-function)'.
12800         (tab-bar-tabs): Update the current tab name here
12801         instead of tab-bar-make-keymap-1.
12802         (tab-bar-make-keymap-1): Move the current tab name updating
12803         to tab-bar-tabs.
12805 2019-10-15  Robert Cochran  <robert-git@cochranmail.com>
12807         Allow tabs to have consistent given names
12809         * lisp/tab-bar.el (tab-bar--tab): Pull automatic name information from
12810         current tab
12811         (tab-bar--current-tab): Pull automatic name information from current
12812         tab, or from new optional template argument
12813         (tab-bar-select-tab): Pass the target tab as a template when setting
12814         it as current tab
12815         (tab-bar-rename-tab, tab-bar-rename-tab-by-name): New functions
12816         * doc/emacs/frames.texi (Tab Bars): Document new tab rename functionality.
12818 2019-10-15  Juri Linkov  <juri@linkov.net>
12820         * lisp/tab-bar.el (tab-bar-select-tab-modifiers): New defcustom.
12822         (tab-bar-mode): Use tab-bar-select-tab-modifiers to bind
12823         tab-bar-select-tab.
12824         Don't override user customized key bindings of C-TAB, C-S-TAB.
12825         On disabling tab-bar-mode, unset only keys bound by tab-bar.
12827 2019-10-15  Juri Linkov  <juri@linkov.net>
12829         Don't use expand-file-name to find images for tabs.
12831         * lisp/tab-bar.el (tab-bar-mode):
12832         * lisp/tab-line.el (tab-line-new-button, tab-line-close-button):
12833         Remove expand-file-name with data-directory.
12835 2019-10-15  Juri Linkov  <juri@linkov.net>
12837         New variable tab-bar-position
12839         * lisp/cus-start.el: Add customization for tab-bar-position.
12840         * src/dispnew.c (syms_of_display): New variable Vtab_bar_position.
12841         (adjust_frame_glyphs_for_window_redisplay): Use it.
12843 2019-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
12845         * lisp/rect.el (string-rectangle): Inherit input method in minibuffer
12847 2019-10-15  Eric Ludlam  <zappo@gnu.org>
12849         Fix test data broken by removing trailing whitespace.
12851 2019-10-15  Eric Ludlam  <eric@siege-engine.com>
12853         Adapt the CEDET SRecoder getset tests to use ERT
12855         These tests were copied from CEDET from SourceForge.
12856         Author: Eric Ludlam <zappo@gnu.org>
12858 2019-10-15  Eric Ludlam  <eric@siege-engine.com>
12860         Adapt the CEDET SRecoder template test to use ERT
12862         These tests were copied from CEDET from SourceForge.
12863         Author: Eric Ludlam <zappo@gnu.org>
12865 2019-10-15  Eric Ludlam  <eric@siege-engine.com>
12867         Copy CEDET/Semantic's tag formatter test suite to be an
12869         automated test.
12870         These tests were copied from CEDET on Sourceforge and adapted to use ERT.
12871         Author: Eric Ludlam <zappo@gnu.org>
12873 2019-10-15  Eric Ludlam  <eric@siege-engine.com>
12875         Update CEDET manual tests so that they run.
12877         To run visit test/manual/cedet/cedet-utests.el
12878         M-x eval-buffer
12879         M-x cedet-utest
12880         Author: Eric Ludlam <zappo@gnu.org>
12882 2019-10-15  Eric Ludlam  <eric@siege-engine.com>
12884         Convert manual CEDET tests from test/manual/cedet to be
12886         automated tests in test/lisp/cedet.
12887         Author: Eric Ludlam <zappo@gnu.org>
12889 2019-10-15  Robert Pluim  <rpluim@gmail.com>
12891         Fix duplicated words in lispref
12893         * doc/lispref/text.texi (Base 64):
12894         * doc/lispref/internals.texi (Window Internals): Remove duplicated
12895         words.
12897 2019-10-15  Robert Pluim  <rpluim@gmail.com>
12899         Fix duplicated words in comments
12901         * src/coding.c (encode_string_utf_8):
12902         * src/keyboard.c (syms_of_keyboard):
12903         * src/mini-gmp.c (gmp_lucas_mod, mpz_export):
12904         * src/pdumper.c (dump_set_referrer, dump_queue_compute_score):
12905         * src/timefns.c (Ftime_convert): Remove duplicated words.
12907 2019-10-15  Eli Zaretskii  <eliz@gnu.org>  (tiny change)
12909         Fix recording keyboard macros in Calc
12911         * lisp/calc/calc.el (calc-unread-command): Prevent recording
12912         key twice when defining a keyboard macro.  Patch by Christoph
12913         Arenz <tiga.arenz@web.de>.
12915 2019-10-15  Daiki Ueno  <ueno@gnu.org>
12917         auth-source: Fix wrong-type-argument when searching plstore
12919         `auth-source-search' can be called with an integer port number from
12920         `network-stream-certificate`, while the backend implementation doesn't
12921         allow non-string attributes.
12923         * lisp/auth-source.el (auth-source-plstore-search): Ensure attributes
12924         are string.
12926 2019-10-15  Lars Ingebrigtsen  <larsi@gnus.org>
12928         Revert "Remove XEmacs code from tetris.el"
12930         This reverts commit 68b91333d5a070c84afeadc273fd5c44df70f0a6.
12932         This should be ported to Emacs instead.
12934 2019-10-15  Lars Ingebrigtsen  <larsi@gnus.org>
12936         Revert "Remove XEmacs-only code from snake.el"
12938         This reverts commit 7174a2b59f4cb883beb70bb3d182d59ab425e2f1.
12940         This should be ported to Emacs instead.
12942 2019-10-14  Lars Ingebrigtsen  <larsi@gnus.org>
12944         Make auth-source work with non-ASCII passwords again
12946         * lisp/auth-source.el (auth-source--obfuscate): Convert the string
12947         to bytes before obfuscating.
12948         (auth-source--deobfuscate): Convert back into a string (bug#37758).
12950 2019-10-14  Lars Ingebrigtsen  <larsi@gnus.org>
12952         Add new macro `benchmark-progn'
12954         * doc/lispref/debugging.texi (Profiling): Mention it.
12956         * lisp/emacs-lisp/benchmark.el (benchmark-progn): New macro.
12958 2019-10-14  Carlos Pita  <carlosjosepita@gmail.com>
12960         Fix python-shell font-lock cleanup for unclosed quotes (Bug#32390)
12962         The problem originating this report was:
12964         -------------
12965         In [15]: "
12966           File "<ipython-input-15-3b7a06bb1102>", line 1
12967             "
12968              ^
12969         SyntaxError: EOL while scanning string literal
12971         In [16]:   string face still here"
12972         -------------
12974         This happens because
12975         python-shell-font-lock-comint-output-filter-function is called twice,
12976         first for the error output and then for the "In [16]: " part.  The
12977         first time python-shell-comint-end-of-output-p returns nil since
12978         we're *not* at the end of an input prompt.  The second time it returns
12979         0 since we're at the end of *just* an input prompt.  So we don't call
12980         python-shell-font-lock-cleanup-buffer either time.
12982         The current code is relying in a very weak rule: it considers "just an
12983         input prompt" to be a continuation prompt.  Another unreliable aspect
12984         of the current rule is that sometimes
12986             (python-shell-comint-end-of-output-p (ansi-color-filter-apply output))
12988         returns 1 and not 0 for continuation prompts.  In short, the rule does
12989         a very poor job identifying continuations.
12991         * lisp/progmodes/python.el (python-shell-font-lock-cleanup-buffer):
12992         Don't check for empty OUTPUT since python-shell-comint-end-of-output-p
12993         returns nil for that anyway.  Don't check for
12994         python-shell-comint-end-of-output-p returning a specific number
12995         because it's unreliable, just check for any non-nil.  Identify
12996         continuation prompts by looking for "...".
12998 2019-10-14  Juri Linkov  <juri@linkov.net>
13000         Add images on tab-bar buttons the first time the tab bar is activated
13002         * lisp/tab-bar.el (tab-bar-mode): Set display property with image files
13003         on tab-bar-new-button and tab-bar-close-button when tab-bar-mode is enabled
13004         the first time.
13005         (tab-bar-new-button, tab-bar-close-button): Use default values
13006         without display image properties.  (Bug#37685)
13008 2019-10-14  Juanma Barranquero  <lekktu@gmail.com>
13010         lisp/*.el: Force non-nil result to t, to match docstring
13012         * lisp/ido.el (ido-ignore-item-p):
13013         * lisp/simple.el (use-region-p):
13014         * lisp/whitespace.el (whitespace-style-face-p)
13015         (whitespace-style-mark-p):
13016         * lisp/calendar/cal-islam.el (calendar-islamic-leap-year-p):
13017         * lisp/mail/rmail.el (rmail-is-text-p):
13018         * lisp/mh-e/mh-alias.el (mh-alias-for-from-p):
13019         * lisp/net/imap.el (imap-message-flag-permanent-p):
13020         * lisp/progmodes/tcl.el (tcl-real-comment-p):
13021         * lisp/textmodes/table.el (table--point-in-cell-p):
13022         Normalize boolean result.
13024 2019-10-14  Juri Linkov  <juri@linkov.net>
13026         Set tab-line face height to 0.9.
13028         * lisp/tab-line.el (tab-line): Set :height to 0.9.
13029         * lisp/tab-bar.el (tab-bar): Remove :height.
13031 2019-10-14  Lars Ingebrigtsen  <larsi@gnus.org>
13033         Remove the find-file-visit-truename safe-local-variable
13035         * lisp/files.el (find-file-visit-truename): Remove the
13036         safe-local-variable put, because the variable is checked too late
13037         to actually make a difference (bug#36830).
13039 2019-10-14  Štěpán Němec  <stepnem@gmail.com>
13041         quail/py-b5: Use U+3007 for ideographic zero (bug#3179)
13043         * leim/leim-ext.el ("quail/PY-b5"): Use U+3007 instead of U+25CB for
13044         ideographic zero.  U+25CB (used previously) is only one of the several
13045         lookalikes (bug#3179).
13047 2019-10-14  Lars Ingebrigtsen  <larsi@gnus.org>
13049         require-final-newline doc string clarification
13051         * lisp/files.el (require-final-newline): Mention that the variable
13052         applies to visited files (bug#34986).
13054 2019-10-14  Juri Linkov  <juri@linkov.net>
13056         Use variable-pitch fonts in tab-bar and tab-line faces
13058         * lisp/tab-bar.el (tab-bar):
13059         * lisp/tab-line.el (tab-line):
13060         Inherit face from variable-pitch.
13062 2019-10-14  Stefan Kangas  <stefankangas@gmail.com>
13064         Clarify C void type description in semantic
13066         * admin/grammars/c.by: Clarify void type.  (Bug#9222)
13068 2019-10-14  Lars Ingebrigtsen  <larsi@gnus.org>
13070         dired-do-shell-command doc string fix
13072         * lisp/dired-aux.el (dired-do-shell-command): Mention the guesser
13073         variables (bug#16562).
13075 2019-10-14  Juri Linkov  <juri@linkov.net>
13077         Fix initial value of frame-inhibit-implied-resize
13079         * src/frame.c (syms_of_frame): Update doc string and default value of
13080         frame-inhibit-implied-resize in NS to include 'tab-bar-lines.
13082 2019-10-14  Eli Zaretskii  <eliz@gnu.org>
13084         Minor fixes in Introduction to Emacs Lisp
13086         * doc/lispintro/emacs-lisp-intro.texi (if, save-excursion):
13087         'defun' is a macro, not a special form anymore.  (Bug#37747)
13089 2019-10-14  Juri Linkov  <juri@linkov.net>
13091         * lisp/tab-bar.el (tab-bar-tab-name-current): Fix with buffer-name.
13093 2019-10-14  Stefan Kangas  <stefankangas@gmail.com>
13095         Improve documentation of dired-do-chmod
13097         * lisp/dired-aux.el (dired-do-chmod): Doc fix.  The part about
13098         MS-Windows was written by Eli Zaretskii.  (Bug#24897)
13100 2019-10-14  Philipp Stephani  <phst@google.com>
13102         Enable modules by default.
13104         The interface has been stable since Emacs 25, and most bugs are fixed
13105         by now.
13107         * configure.ac: Enable modules by default.
13109 2019-10-14  Michael Albinus  <michael.albinus@gmx.de>
13111         Suppress eager completion on not connected hosts in Tramp
13113         * lisp/net/tramp.el (tramp-completion-handle-file-name-completion):
13114         Bind `non-essential' to t.
13116 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13118         Merge branch 'feature/extend_face_id'
13120         New face attribute :extend to control the face extension after
13121         EOL.
13123         necessary, # especially if it merges an updated upstream into a topic
13124         branch.  # # Lines starting with '#' will be ignored, and an empty
13125         message aborts # the commit.
13127 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13129         Fix issue calling face_at_pos.
13131         *src/xdisp.c (extend_face_to_end_of_line): Add extra condition when
13132         producing glyphs from a C string to not call face_at_pos.
13134 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13136         Modify face_at_pos to not modify change IT.
13138         src/xdisp.c (face_at_pos): Removed code to that modified
13139         it->start_of_box_run_p and it->face_box_p.  This function should not
13140         modify it.
13141         (handle_face_prop): Added code to update it->start_of_box_run_p and
13142         it->face_box_p.
13143         (underlying_face_id): Input IT made CONST.
13145 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13147         *etc/NEWS: Added comment about :extend face attribute in NEWS.
13149 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13151         Document new :extend face attribute in manuals.
13153         Some stylistic corrections in src/xdisp.c and src/xfaces.c.
13155 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13157         Fixed merge_face_ref recursive calls.
13159         * src/xfaces.c (merge_face_ref): Fixed recursive calls to consider
13160         filter when CONSP (face_ref).
13162 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13164         Optimization in extend_face
13166         * src/xdisp.c (extend_face_to_end_of_line): Optimization to void
13167         calls to face_at_pos.
13169 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13171         Extend_face simplify.
13173         * src/dispextern.h (struct it): Removed extend_face unneeded members.
13174         * src/xdisp.c (handle_face_prop_general): renamed to face_at_pos and
13175         removed input parameter initial_face_id. Updated all occurrences.
13177 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13179         Added parameter attr_filter to face_at_string_position.
13181         Update all the occurrences in src/xdisp.c and src/xfaces.c
13183 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13185         Extend face hl-line after end-of-line
13187         * lisp/hl-line.el (face hl-line): Added extend attribute to hl-line
13188         face.
13190 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13192         Fix last change in append_space_for_newline.
13194          * src/xdisp.c (append_space_for_newline): Code refactor and
13195          simplification.
13197 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13199         Add space for cursor to work also in terminal.
13201         * src/xdisp.c (append_space_for_newline): Modified to add the space
13202         with the last face also in terminal interface.
13203         (fill_column_indicator_column): Modified to group more conditions.
13204         (extend_face_to_end_of_line): Simplified code in
13205         fill_column_indicator to use the new function.
13207 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13209         Changed handle_face_prop_general prototype.
13211         * src/xdisp.c (handle_face_prop_general): Changed function prototype
13212         to receive different arguments.
13214 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13216         Fixed extend face filtered for prop.
13218         * src/xfaces.c (face_at_buffer_position): Pass ATTR_FILTER to
13219         merge_face_ref in when !NILP (prop).
13221 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13223         Call handle_face_prop_general to extend face.
13225         * src/xdisp.c (extend_face_to_end_of_line): Added a call to
13226         handle_face_prop_general to extend face after EOL according to
13227         parameter :extend in the faces.
13229 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13231         Update dfci code with new extend_face code.
13233         * src/xdisp.c (extend_face_to_end_of_line): Updated the
13234         column-indicator code to use the new version of the function
13235         fill_column_indicator_column.
13237 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13239         New parameter to control the face extension..
13241         * src/xdisp.c (handle_face_prop_general): New function to specialize
13242         handle_face_prop with ATTR_FILTER.
13243         * src/dispextern.h (face_at_buffer_position): Added
13244         LFACE_ATTRIBUTE_INDEX.
13245         * src/xfaces.c (merge_face_ref): Added LFACE_ATTRIBUTE_INDEX to merge
13246         conditionally.
13248 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13250         Added face parameter :extend.
13252         This is an initial change to add a parameter :extend that will be used
13253         in the display engine later.
13255 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
13257         Simplify struct face to use only underline.
13259         * src/dispextern.h (enum face_underline_type): Add FACE_NO_UNDERLINE = 0.
13260         (struct face): Merge `underline_type` and `underline_p` into `underline`.
13261         Update all the occurrences in src/xdisp.c, src/xfaces.c, and src/xterm.c.
13263 2019-10-14  Robert Pluim  <rpluim@gmail.com>
13265         Fix directory-files-recursively doc typo
13267         * lisp/files.el (directory-files-recursively): Fix doc string.
13269 2019-10-14  Martin Rudalics  <rudalics@gmx.at>
13271         Fix bug recently introduced in 'fit-window-to-buffer' (Bug#37743)
13273         * lisp/window.el (fit-window-to-buffer): Call 'window-combined-p'
13274         with right argument (Bug#37743).
13276 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
13278         Fix up previous dired change again
13280         * lisp/dired.el (dired-set-id): Fix the name of the face after the
13281         previous change.
13283 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
13285         Fix typo in previous dired change
13287         * lisp/dired.el (dired-set-idguid): Remove superfluous '
13288         introduced by previous change (bug#37742).
13290 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
13292         (help-fns--var-aliases): Fix compilation warning in previous patch.
13294 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
13296         Make `C-h v' list all aliases a variable has
13298         * lisp/help-fns.el (help-fns--var-aliases): New function (bug#15179).
13300 2019-10-13  Hong Xu  <hong@topbug.net>
13302         Make url-hexify-string accept a list of allowed chars (bug#26469)
13304         * lisp/url/url-util.el (url-hexify-string): Accept a list of allowed
13305         chars.
13306         * doc/misc/url.texi (URI Encoding): Update url-hexify-string doc and
13307         index improvements (bug#24694).
13309 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
13311         Tweak ispell-init-process messaging
13313         * lisp/textmodes/ispell.el (ispell-init-process): Output a "done"
13314         after the "starting" message (bug#12828).
13316 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
13318         Add a new tar-copy-preserve-time variable
13320         * lisp/tar-mode.el (tar-copy-preserve-time): New variable (bug#11882).
13321         (tar-copy): Use it.
13323 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
13325         Clarify message about newer source file
13327         * src/lread.c (Fload): Mention which file was actually used
13328         instead of just saying that the .el is newer than the .elc (bug#10637).
13330 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
13332         Allow zap-to-char to use a history
13334         * doc/emacs/killing.texi (Other Kill Commands): Document it.
13336         * lisp/simple.el (read-char-with-history): New function (bug#10477).
13337         (zap-to-char): Use it to have a history.
13339 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
13341         Font-lock suid/guid files in Dired
13343         * lisp/dired.el (dired-font-lock-keywords): Font-lock suid/guid
13344         permissions (bug#8186).
13345         (dired-sguid): New face.
13347 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
13349         Further changes to ensure that copy-keymap doesn't segfault
13351         * src/keymap.c (copy_keymap_1, copy_keymap_set_char_table): Ensure
13352         we don't recurse infinitely when using non-sparse keymaps, too.
13354         This change makes this form not segfault:
13356         (let ((map (make-keymap)))
13357           (define-key map " " map)
13358           (copy-keymap map))
13360 2019-10-13  Stefan Kangas  <stefankangas@gmail.com>
13362         Clarify mouse commands section in manual
13364         * doc/emacs/frames.texi (Mouse Commands): Clarify section on mouse
13365         wheel somewhat.  (Bug#28182)
13367 2019-10-13  Juri Linkov  <juri@linkov.net>
13369         Don't display the number of windows in tab name in tab-bar by default.
13371         * lisp/tab-bar.el (tab-bar-tab-name-function): Change the default value.
13372         (tab-bar-tab-name-current): Rename from tab-bar-tab-name-selected-window.
13373         (tab-bar-tab-name-current-with-count): New function.
13374         (tab-bar-tab-name-all): Rename from tab-bar-tab-name-all-windows.
13376 2019-10-13  Juri Linkov  <juri@linkov.net>
13378         * lisp/window.el (next-buffer, previous-buffer): Add repeat count arg.
13380         * doc/emacs/buffers.texi (Select Buffer): Mention arg as repeat count.
13381         (Bug#37514)
13383 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
13385         Make list-buffers--refresh preserve marks
13387         * lisp/buff-menu.el (list-buffers--refresh): Preserve the marked
13388         buffers when refreshing the list (bug#6491).
13390 2019-10-13  Juri Linkov  <juri@linkov.net>
13392         Enable tab-bar-mode from X resources
13394         * lisp/startup.el (x-apply-session-resources): Enable tab-bar-mode
13395         when X resource "tabBar" class "TabBar" is "on", "yes" or "1".
13397         * doc/man/emacs.1.in:
13398         * doc/emacs/xresources.texi (Table of Resources):
13399         Document X resource "tabBar" (class "TabBar").
13401 2019-10-13  Juri Linkov  <juri@linkov.net>
13403         Fix initial value of frame-inhibit-implied-resize
13405         * src/frame.c (syms_of_frame): Update doc string and default value of
13406         frame-inhibit-implied-resize in NS to not include 'tab-bar-lines,
13407         and non-toolkit X builds to include 'tab-bar-lines.
13409 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
13411         Fix hitting RET on some text in compilation-mode
13413         * lisp/progmodes/compile.el (compilation-next-error-function):
13414         Don't bug out with an incomprehensible error message on "make[2]:"
13415         texts (bug#5316).
13416         (compilation-find-file): Protect against there being no file name.
13418 2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>
13420         * src/xdisp.c (note_tab_bar_highlight): Simplify HAVE_NS ifdefs.
13422 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
13424         Add a new action in save-some-buffers to view the buffer
13426         * doc/emacs/files.texi (Save Commands): Document it.
13428         * lisp/files.el (save-some-buffers-action-alist): Offer to pop to
13429         the buffer and then quit (bug#3625).
13430         (save-some-buffers): Implement it.
13431         (save-some-buffers--switch-window-callback): New variable.
13433 2019-10-13  Mattias Engdegård  <mattiase@acm.org>
13435         Correctly explain test failures with mixed uni/multibyte strings
13437         * lisp/emacs-lisp/ert.el (ert--explain-equal-rec):
13438         * test/lisp/emacs-lisp/ert-tests.el (ert-test-explain-equal):
13439         When explaining a difference between a unibyte and a multibyte string,
13440         first convert both to multibyte.  Otherwise, we might end up comparing
13441         unibyte char C to multibyte char C, 127<C<256, and not detect the
13442         difference (bug#30219).
13444 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
13446         Mention shifted alphabetical control GUI sequences
13448         * doc/emacs/custom.texi (Modifier Keys): Mention that you can bind
13449         shifted alphabetical control sequences in GUI frames (bug#23247).
13451 2019-10-13  Philipp Stephani  <phst@google.com>
13453         Avoid compiler warnings on macOS.
13455         * src/xdisp.c (note_tab_bar_highlight): Define variables 'dpyinfo' and
13456         'mouse_down_p' only if needed.
13458 2019-10-13  Basil L. Contovounesios  <contovob@tcd.ie>
13460         Fix with-coding-priority markup in Elisp manual
13462         * doc/lispref/nonascii.texi (Specifying Coding Systems): Don't use
13463         '&rest' in conjunction with 'body...' in arglist of
13464         with-coding-priority.  Fix typo and cross-referencing (2-arg @pxref
13465         adds a trailing period).
13467 2019-10-13  Stephen Gildea  <stepheng+emacs@gildea.com>
13469         Minor tweaks to time-stamp documentation strings
13471         * lisp/time-stamp.el (time-stamp): Reformat the explanation of the
13472         variables that affect time-stamp, for easier reading.  In particular,
13473         wrap the documentation to 75 characters, so that it displays neatly as
13474         a before-save-hook customization option.
13476         * test/lisp/time-stamp-tests.el (with-time-stamp-test-env): Use imperative voice,
13477         per checkdoc.
13479 2019-10-13  Alan Mackenzie  <acm@muc.de>
13481         In compilation-tear-down-arrow-spec-in-margin, test compilation-arrow-overlay
13483         * lisp/progmodes/compile.el (compilation-tear-down-arrow-spec-in-margin): Make
13484         sure compilation-arrow-overlay is an overlay before performing overlay
13485         operations on it.  This fixes bug #37733.
13487 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
13489         Make the previous-matching-history-element prompt clearer
13491         * lisp/simple.el (previous-matching-history-element): Put the
13492         default into the prompt (bug#380).
13494 2019-10-12  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
13496         Make diff-mode understand git-format-patch separators
13498         * lisp/vc/diff-mode.el (diff-prev-line-if-patch-separator):
13499         A function to return prev. line if it has git-format-patch
13500         separator.
13501         (diff-end-of-hunk): Make use of
13502         diff-prev-line-if-patch-separator
13503         diff-buffer-type: whether a buffer is a git-diff
13504         (define-derived-mode): set diff-buffer-type to appropriate
13505         value (bug#37395).
13507 2019-10-12  Rolf Ade  <rolf@pointsman.de>  (tiny change)
13509         TCL indentation fix outside functions
13511         * lisp/progmodes/tcl.el (tcl-calculate-indent): Indent code
13512         correctly outside of function definitions (bug#23565).
13514 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
13516         Hide passwords more in `read-password'
13518         * lisp/subr.el (read-password--hide-password): Factor out (bug#17127).
13519         (read-passwd): Use it in post-command-hook instead of
13520         after-change-functions to ensure that we hide the password no
13521         matter what inserts text.
13523 2019-10-12  Andreas Politz  <politza@hochschule-trier.de>
13525         Use quit-window in some functions
13527         * lisp/strokes.el:
13528         * lisp/startup.el (fancy-startup-tail):
13529         * lisp/progmodes/verilog-mode.el (verilog-complete-word)
13530         (verilog-show-completions):
13531         * lisp/progmodes/idlwave.el (idlwave-quit-help): Use `quit-window'
13532         (bug#24213).
13534 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
13536         Add -unknown to version-regexp-alist
13538         * lisp/epg-config.el (epg-find-configuration): Remove the -unknown
13539         hack, because it led to further problems later when comparing
13540         versions.
13542         * lisp/subr.el (version-regexp-alist): Rate -unknown versions the
13543         same as -alpha releases (bug#37556).
13545 2019-10-12  Raimon Grau  <raimonster@gmail.com>
13547         Add "next" and "previous" shortcuts in eww-history buffers
13549         * lisp/net/eww.el (eww-history-mode-map): Add "n" and "p" for
13550         "next-line" and "previous-line" (bug#37648).
13552 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
13554         Protect against segfaults in copy-keymap
13556         * src/keymap.c (copy_keymap_1): Factor out and refuse to recurse
13557         infinitely (bug#7496).
13558         (Fcopy_keymap): ... from here.
13559         (copy_keymap_item): Pass on the depth parameter.
13561 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
13563         Document let-alist
13565         * doc/lispref/lists.texi (Association Lists): Document let-alist
13566         (bug#34842).
13568 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
13570         Don't claim that the default height is precisely 36 characters
13572         * doc/emacs/cmdargs.texi (Window Size X):
13573         * doc/man/emacs.1.in: Be more vague about what the default height
13574         is (bug#33921).
13576 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
13578         Document locate-dominating-file
13580         * doc/lispref/files.texi (Contents of Directories): Document
13581         locate-dominating-file (bug#33869).
13583 2019-10-12  Juri Linkov  <juri@linkov.net>
13585         * lisp/tab-bar.el: Don't use minibuffer buffer name as tab name.
13587         * lisp/tab-bar.el (tab-bar-tab-name-selected-window):
13588         Use minibuffer-selected-window to get original window.
13590 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
13592         Make Fadd_face_text_property even less destructive
13594         * src/textprop.c (Fadd_face_text_property): We need to be
13595         non-destructive in buffers, too, because face properties may have
13596         been added with `put-text-property' as a list that's been reused.
13598 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
13600         Mention the Emacs exit code in batch mode
13602         * doc/lispref/os.texi (Batch Mode): Mention what the exit code is
13603         if an error is signaled (bug#31552).
13605 2019-10-12  Kaushal Modi  <kaushal.modi@gmail.com>
13607         Document that variables should not be called -p
13609         * doc/lispref/tips.texi (Coding Conventions): Document that
13610         variables should now be called -p (bug#26564).
13612 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
13614         Make the cl-letf doc string link to the manual
13616         * lisp/emacs-lisp/cl-macs.el (cl-letf): Add a link to the manual
13617         from the doc string (bug#24459).
13619 2019-10-12  Jiajie Chen  <jiegec@qq.com>  (tiny change)
13621         button-* function doc string clarifications
13623         * lisp/button.el (button-start, button-end, button-get)
13624         (button-put, button-label): Have the doc string mention that they
13625         have to be called from the current buffer (bug#23909).
13627 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
13629         ert-deftest macro doc string clarification
13631         * lisp/emacs-lisp/ert.el (ert-deftest): Mention that macros are
13632         expanded when defined, not when tested (bug#21742).
13634 2019-10-12  Eli Zaretskii  <eliz@gnu.org>
13636         Fix recent changes in ELisp manual
13638         * doc/lispref/objects.texi (Special Read Syntax): Use @samp in
13639         @table.
13641         * doc/lispref/elisp.texi (Top): Update the detailed menu due
13642         to a recent addition.
13644 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
13646         Document #$ in the overview
13648         * doc/lispref/objects.texi (Special Read Syntax): Add #$.
13650 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
13652         Fix compilation-transform-file-match-alist failure
13654         * lisp/progmodes/compile.el (compilation-error-properties): Fix
13655         thinko in compilation-transform-file-match-alist feature -- `file'
13656         isn't a list of files after all.
13658 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
13660         Add a lispref node to list special read syntax forms
13662         * doc/lispref/objects.texi (Special Read Syntax): Add a node to
13663         list all the special read syntax forms (bug#18957).
13665 2019-10-12  Michael Albinus  <michael.albinus@gmx.de>
13667         Adapt some Tramp tests
13669         * test/lisp/net/tramp-archive-tests.el
13670         (tramp-archive-test17-insert-directory): Adapt regexp of summary line.
13672         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
13673         Extend test for symlinked directories.
13675 2019-10-12  Michael Albinus  <michael.albinus@gmx.de>
13677         Fix google-drive handling in tramp-gvfs
13679         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes):
13680         Add "standard::is-volatile".
13681         (tramp-gvfs-get-directory-attributes)
13682         (tramp-gvfs-handle-file-attributes): Handle "gdrive" special.
13683         (tramp-gvfs-send-command): Ignore nil arguments.
13685 2019-10-12  Michael Albinus  <michael.albinus@gmx.de>
13687         * lisp/net/tramp.el (tramp-handle-access-file): Use `file-truename'.
13689 2019-10-12  Alan Mackenzie  <acm@muc.de>
13691         CC-Mode: Remove unneeded backslashes from doc strings and regular expressions
13693         Also make miscellaneous amendments.
13695         * lisp/progmodes/cc-align.el, lisp/progmodes/cc-cmds.el
13696         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-engine.el
13697         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-vars.el: Remove lots of
13698         unneeded backslashes.
13700         * lisp/progmodes/cc-langs.el (c-string-innards-re-alist): Remove redundant
13701         "\\|\r" from regular expression.
13703         * lisp/progmodes/cc-mode.el (c-make-mode-syntax-table): Correct the name of
13704         the hook normal-erase-is-backspace-MODE-hook from a non-existent hook name.
13706 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
13708         tool-bar-map doc string clarification
13710         * lisp/tool-bar.el (tool-bar-map): Try to clarify how this
13711         variable is used (bug#17709).
13713 2019-10-11  David Röthlisberger  <david@rothlis.net>  (tiny change)
13715         Fix `shell' doc keymap expansions
13717         * lisp/shell.el (shell): Make the commands be expanded in the
13718         correct keymap (bug#11202).
13720 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
13722         diary-mark-entries-hook doc string clarification
13724         * lisp/calendar/diary-lib.el (diary-mark-entries-hook): Mention
13725         dynamically bound variables (bug#9287).
13727 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
13729         Document :match-inline widget elements
13731         * doc/lispref/customize.texi (Type Keywords): Document
13732         :match-inline (bug#8716).
13733         (Splicing into Lists): Mention :match-inline.
13735 2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>
13737         Update from Gnulib
13739         This incorporates:
13740         2019-10-11 Simplify and regularize regex use of ‘assert’
13741         2019-10-09 regex: omit debug assignment when not debugging
13742         2019-10-09 regex: tell compiler there’s at most 256 arcs out
13743         2019-10-09 regex: simplify by assuming C99
13744         2019-10-09 regex: avoid copying of uninitialized storage
13745         2019-09-29 fbufmode: Fix compilation error on glibc >= 2.28 systems
13746         2019-09-28 Update comments that refer to POSIX
13747         2019-09-23 Update URLs and associated text
13748         * doc/misc/texinfo.tex, lib/open.c, lib/regcomp.c:
13749         * lib/regex_internal.c, lib/regex_internal.h, lib/regexec.c:
13750         * lib/stdio-impl.h:
13751         Copy from Gnulib.
13753 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
13755         Document REAL-BINDING more extensively in Extended Menu Items
13757         * doc/lispref/keymaps.texi (Extended Menu Items): Document that
13758         REAL-BINDING can be other things than a real command (bug#7755).
13760 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
13762         Minor grep.el doc string clarifications
13764         * lisp/progmodes/grep.el (grep-find-ignored-directories)
13765         (grep-compute-defaults, grep, grep-expand-template)
13766         (grep-highlight-matches, grep-use-null-device)
13767         (grep-find-command, grep-find-template, grep-expand-template)
13768         (rgrep): Minor doc string clarifications.
13770 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
13772         Factor out the lambda from help-function-def
13774         * lisp/help-mode.el (help-function-def--button-function): Factor
13775         out into own function for easier reuse.
13776         (help-function-def): ... from the lambda here.
13778 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
13780         Make << shell heredoc expansion less enthusiastic
13782         * lisp/progmodes/sh-script.el (sh--maybe-here-document): Require a
13783         space before expanding a heredoc (bug#3226).  This allows the user
13784         to insert a bash <<< "herestring", which was previously difficult.
13786 2019-10-11  Alan Mackenzie  <acm@muc.de>
13788         C++ Mode: Correctly handle <:, <::, <::>, etc, according to the C++ standard
13790         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Perform
13791         checking now on an insertion, should point be inside a critical token.
13792         (c-forward-<>-arglist-recur, c-guess-continued-construct): Check for <::, etc.
13794         * lisp/progmodes/cc-langs.el (c-<-pseudo-digraph-cont-regexp)
13795         (c-<-pseudo-digraph-cont-len): New lang variables/constants.
13797 2019-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
13799         * lisp/cedet/mode-local.el (define-overload): Declare obsolete
13801         * lisp/cedet/srecode/ctxt.el (srecode-calculate-context):
13802         * lisp/cedet/srecode/semantic.el (srecode-semantic-apply-tag-to-dict)
13803         (srecode-semantic-find-template): Use define-overloadable-function instead.
13805 2019-10-11  Andrea Corallo  <akrl@sdf.org>
13807         * lisp/emacs-lisp/map.el (map-into) <hash-table>: Allow keyword args
13809         (map--into-hash): New function, extracted from `map-into <hash-table>`.
13810         Speed it up a bit by using gethash instead of map-elt when we know
13811         we're accessing a hash table.
13813         * test/lisp/emacs-lisp/map-tests.el (test-map-into): Add corresponding test.
13815 2019-10-11  Stefan Kangas  <stefankangas@gmail.com>
13817         Remove reference to obsolete package gnuserv from FAQ
13819         On visiting http://meltin.net/hacks/emacs/, we now find:
13820         "I used to have some Emacs and Haskell hacks on my previous
13821         sites. However, these hacks are now old and un-maintained. I don’t
13822         think there is enough interest to keep them around."
13824         * doc/misc/efaq.texi (Using an already running Emacs process):
13825         Remove reference to obsolete package 'gnuserv'.  (Bug#37574)
13827 2019-10-11  Robert Pluim  <rpluim@gmail.com>
13829         Correct some more custom type specs
13831         * lisp/winner.el (winner-boring-buffers-regexp):
13832         * lisp/progmodes/js.el (js-jsx-indent-level):
13833         * lisp/image-dired.el (image-dired-external-viewer):
13834         * lisp/gnus/nnir.el (nnir-notmuch-filter-group-names-function):
13835         Correct custom type specification.
13837         * lisp/textmodes/bibtex.el (bibtex-string-file-path):
13838         (bibtex-file-path): Correct custom type specification and document
13839         source of initial value.
13841 2019-10-11  Michael Albinus  <michael.albinus@gmx.de>
13843         Cleanup Tramp
13845         * lisp/net/tramp-archive.el (tramp-archive-gvfs-host): Fix docstring.
13847         * lisp/net/tramp.el: Remove :group from all defcustoms.
13848         (tramp-encoding-shell): Fix docstring.
13849         (tramp-error): Remove text properties from error message.
13851 2019-10-11  Stefan Kangas  <stefankangas@gmail.com>
13853         Support showing directory in shell command prompt
13855         * lisp/simple.el (shell-command-prompt-show-cwd): New defcustom.
13856         (async-shell-command, shell-command): Show current directory in prompt
13857         when above option is non-nil.  (Bug#4987)
13858         * etc/NEWS: Announce it.
13860 2019-10-11  Martin Rudalics  <rudalics@gmx.at>
13862         Minor fixes for switching to previous and next buffers (Bug#37514)
13864         * lisp/window.el (switch-to-prev-buffer)
13865         (switch-to-next-buffer): In doc-strings add links to
13866         'prev-buffer' and 'next-buffer'.
13867         (next-buffer, previous-buffer): Signal 'user-error' instead of
13868         'error'.  In doc-strings link to 'switch-to-prev-buffer' and
13869         'switch-to-next-buffer'.
13871 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
13873         New variable amalgamating-undo-limit
13875         * doc/lispref/text.texi (Undo): Document it.
13877         * lisp/simple.el (amalgamating-undo-limit): New variable (bug#31658).
13879 2019-10-11  Robert Pluim  <rpluim@gmail.com>
13881         Correct .dir-locals-2.el description
13883         * doc/lispref/variables.texi (Directory Local Variables): Correct
13884         description of .dir-locals-2.el functioning.  (Bug#37640)
13886 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
13888         Expand the documentation of --no-build-details
13890         * doc/emacs/cmdargs.texi (Initial Options): Mention that
13891         --no-build-details shouldn't be used in regular usage (bug#34448).
13893 2019-10-10  Martin Rudalics  <rudalics@gmx.at>
13895         Fixes for fitting windows and frames to their buffers (Bug#37563)
13897         * lisp/window.el (window-default-font-height)
13898         (window-default-line-height): New functions.
13899         (fit-frame-to-buffer): Interpret values of MAX-HEIGHT and
13900         MIN-HEIGHT arguments in terms of WINDOW's default line height
13901         (Bug#37563).
13902         (fit-window-to-buffer): Obey size restricting arguments even
13903         when size of WINDOW's text does not change.  Do not
13904         temporarily select WINDOW and perform height/width related
13905         calculations if and only if WINDOW is accordingly combined.
13906         Interpret values of MAX-HEIGHT and MIN-HEIGHT arguments in
13907         terms of WINDOW's default line height.
13909 2019-10-10  Lars Ingebrigtsen  <larsi@gnus.org>
13911         Make nntp.el use new setq-local syntax
13913         * lisp/gnus/nntp.el (nntp-make-process-buffer): Convert to new
13914         setq-local syntax (as a test case).
13916 2019-10-10  Lars Ingebrigtsen  <larsi@gnus.org>
13918         Ensure that setq-local take an even number of symbol/value pairs
13920         * doc/lispref/variables.texi (Creating Buffer-Local): Document the
13921         new syntax for setq-local.
13923         * lisp/subr.el (setq-local): Ensure that there's an even number of
13924         variable/value pairs, and expand the doc string by taking some
13925         text from `setq'.
13927 2019-10-10  Jordon Biondo  <jordonbiondo@gmail.com>
13929         Allow setq-local to set more than one variable
13931         * lisp/subr.el (setq-local): Allow taking pairs of values (bug#26923).
13933 2019-10-10  Lars Ingebrigtsen  <larsi@gnus.org>
13935         Remove two checkdoc tests checked in by mistake
13937         * test/lisp/emacs-lisp/checkdoc-tests.el: Remove &aux and &context
13938         checks mistakenly checked in (as these aren't implemented) (bug#37697).
13940 2019-10-10  Stefan Kangas  <stefankangas@gmail.com>
13942         Change font size in correct window using mouse wheel
13944         * lisp/mwheel.el (mouse-wheel-follow-mouse): Doc fix.
13945         (mouse-wheel--get-scroll-window): New function extracted from...
13946         (mwheel-scroll): ...here.
13947         (mouse-wheel-text-scale): New function to change face height in
13948         the correct window, depending on the value of
13949         'mouse-wheel-follows-mouse'.  (Bug#28182)
13950         (mouse-wheel-mode): Bind 'mouse-wheel-text-scale' instead of
13951         'text-scale-increase' and 'text-scale-decrease'.
13953 2019-10-10  Juri Linkov  <juri@linkov.net>
13955         * lisp/subr.el (ctl-x-t-prefix): Bind new alias or ctl-x-6-map to 'C-x t'.
13957 2019-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
13959         * lisp/tree-widget.el: Use lexical-binding
13961         Remove redundant `:group`s.
13962         (tree-widget--locate-sub-directory): Rewrite.
13964 2019-10-10  Andreas Schwab  <schwab@linux-m68k.org>
13966         * lisp/progmodes/compile.el
13967         (compilation-transform-file-match-alist): Remove bogus Makefile match.
13969 2019-10-10  Stephen Gildea  <stepheng+emacs@gildea.com>
13971         Remove tabs from time-stamp-format documentation
13973         * lisp/time-stamp.el (time-stamp-format): Untabify the doc string, so
13974         the two-column layout displays consistently in several contexts,
13975         in particular when displayed by customize-variable.
13977 2019-10-10  Eli Zaretskii  <eliz@gnu.org>
13979         Fix initial value of frame-inhibit-implied-resize
13981         * src/frame.c (syms_of_frame): Update doc string and default
13982         value of frame-inhibit-implied-resize in GTK builds to include
13983         'tab-bar-lines.
13985 2019-10-10  Paul Eggert  <eggert@cs.ucla.edu>
13987         Port time-stamp-test-time-zone to macOS
13989         Problem reported by Stefan Kangas in:
13990         https://lists.gnu.org/r/emacs-devel/2019-10/msg00360.html
13991         * test/lisp/time-stamp-tests.el (time-stamp-test-time-zone):
13992         Don’t assume (format-time-string "%Z" 0 t) returns "GMT".
13994 2019-10-09  Juanma Barranquero  <lekktu@gmail.com>
13996         identity, ignore: Make arg names more consistent with docs
13998         * lisp/subr.el (ignore): Rename argument IGNORE to ARGUMENTS.
14000         * src/fns.c (Fidentity): Rename ARG to ARGUMENT.
14002         * doc/lispref/functions.texi (Calling Functions): Fix references.
14004 2019-10-09  Damien Cassou  <damien@cassou.me>
14006         checkdoc CL tests
14008         * test/lisp/emacs-lisp/checkdoc-tests.el: Add cl-lib-related tests
14009         (bug#37063).
14011 2019-10-09  dick r. chiang  <dick.r.chiang@gmail.com>  (tiny change)
14013         Make checkdoc work better with cl-lib functions
14015         * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-info): Make checkdoc
14016         work for cl-lib methods with more complex parameter lists
14017         (bug#37063).
14019 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
14021         Fix formatting of (file-size-human-readable 2047)
14023         * lisp/files.el (file-size-human-readable): Don't format
14024         slightly-less numbers as X.0k, but just Xk instead (bug#36329).
14026 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
14028         Work around bad interaction between dired-omit-mode and recover-session
14030         * lisp/files.el (recover-session): Add ugly hack to try to ensure
14031         that we're actually showing the session files (bug#36223).
14033 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
14035         Allow filtering out warnings/errors from compile.el detection
14037         * lisp/progmodes/compile.el
14038         (compilation-transform-file-match-alist): New variable (bug#32968).
14039         (compilation-error-properties): Use it to remove known false
14040         positives.
14041         (compilation-error-regexp-alist): Mention it in this doc string.
14043 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
14045         Clarify documentation of show-help-function slightly
14047         * doc/lispref/text.texi (Special Properties): Clarify where the
14048         example in Tooltip mode is (bug#35392).
14050 2019-10-09  Juri Linkov  <juri@linkov.net>
14052         * lisp/tab-bar.el: Don't show window count for one window.
14054         * lisp/tab-bar.el (tab-bar-tab-name-selected-window): Don't show the number
14055         of windows when there is only one window in the window configuration.
14056         (tab-bar-close-other-tabs): Rename from tab-close-other.
14057         Take into account tab-bar-show to turn off when needed.
14058         (tab-close-other): Alias to tab-bar-close-other-tabs.
14060 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
14062         Fix nnimap tick/readedness thinko introduced some weeks back
14064         * lisp/gnus/nnimap.el (nnimap-request-set-mark): Fix thinko in the
14065         tick/read change: Unticking a message shouldn't make it unread,
14066         but ticking it should make it read.
14068 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
14070         Make mml-secure-epg-sign bug out if we can't find an identity
14072         * lisp/gnus/mml-sec.el (mml-secure-epg-sign): Bug out if we
14073         couldn't find anything to sign with instead of silently pretending
14074         to sign.
14075         * lisp/gnus/mml-smime.el (mml-smime-epg-sign): Don't bind
14076         inhibit-display because that makes debugging impossible.
14078 2019-10-09  Stefan Kangas  <stefankangas@gmail.com>
14080         Remove XEmacs compat code from edt.el (Bug#37621)
14082         * lisp/emulation/edt.el (top-level, edt-emacs-variant)
14083         (edt-window-system, edt-xserver, edt-page-backward)
14084         (edt-beginning-of-line, edt-end-of-line-forward)
14085         (edt-end-of-line-backward, edt-one-word-forward)
14086         (edt-one-word-backward, edt-character, edt-line-forward)
14087         (edt-next-line, edt-previous-line, edt-top, edt-find-forward)
14088         (edt-find-backward, edt-find-next-forward)
14089         (edt-find-next-backward, edt-reset, edt-advance, edt-backup)
14090         (edt-define-key, edt-bottom-check, edt-sentence-forward)
14091         (edt-sentence-backward, edt-paragraph-forward)
14092         (edt-paragraph-backward, edt-restore-key, edt-window-top)
14093         (edt-window-bottom, edt-scroll-window-backward-line)
14094         (edt-line-to-bottom-of-window, edt-line-to-middle-of-window)
14095         (edt-goto-percentage, edt-display-the-time, edt-remember)
14096         (edt-split-window, edt-load-keys, edt-emulation-on)
14097         (edt-emulation-off, edt-default-emulation-setup)
14098         (edt-user-emulation-setup, edt-select-default-global-map)
14099         (edt-select-user-global-map): Remove XEmacs compat code.
14101 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
14103         Move the "Skeleton Language" node to later in the manual
14105         * doc/misc/autotype.texi (Skeleton Language): Move this low-level
14106         node to after the more user-facing nodes (bug#20780).
14108 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
14110         Add a letrec example to the manuel
14112         * doc/lispref/variables.texi (Local Variables): Add a letrec example.
14114 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
14116         Tweak letrec documentation
14118         * doc/lispref/variables.texi (Local Variables): Compare letrec to
14119         let* instead of let.
14121 2019-10-09  Stephen Gildea  <stepheng+git-config-global@gildea.com>
14123         time-stamp: revert recent change to "%04y"
14125         * lisp/time-stamp.el (time-stamp-string-preprocess): Revert change to "%04y"
14126         format made 2 weeks ago by commit 0e56883878 (the previous commit to
14127         this file).  Although undocumented, "%04y" was discovered to be in use
14128         in the wild (2016) and had not issued a warning that it would change.
14129         Add a warning that it will change.
14131         * test/lisp/time-stamp-tests.el (time-stamp-test-year-2digit): add test of "%04y"
14133 2019-10-09  Simen Heggestøyl  <simenheg@gmail.com>
14135         Warn about missing executables in RST PDF preview
14137         * lisp/textmodes/rst.el (rst-compile-pdf-preview): Warn about missing
14138         executables when attempting to compile and preview an RST file as PDF.
14139         (Bug#30063)
14141 2019-10-09  Stephen Gildea  <stepheng+savannah@gildea.com>
14143         Expand testing of time-stamp format "%y"
14145         * test/lisp/time-stamp-tests.el (time-stamp-test-year): break into two tests,
14146         time-stamp-test-year-2digit and time-stamp-test-year-4digit.  Expand
14147         time-stamp-test-year-2digit to look more like tests for other 2-digit
14148         conversions.
14150 2019-10-09  Juanma Barranquero  <lekktu@gmail.com>
14152         Silence compiler warning
14154         * src/w32.c (acl_to_text): Add ATTRIBUTE_MALLOC.
14156 2019-10-09  Robert Pluim  <rpluim@gmail.com>
14158         Expand documentation on Lisp variables defined in C sources
14160         * doc/lispref/internals.texi (Writing Emacs Primitives): Add
14161         description of DEFVAR_* arguments.  Describe variable naming
14162         conventions.  Explain how to express quoting of symbols in C, plus
14163         'specbind' and how to create buffer-local variables.
14165 2019-10-09  Michael Albinus  <michael.albinus@gmx.de>
14167         * doc/misc/tramp.texi (Remote shell setup): Howto configure local shell.
14169 2019-10-09  Michael Albinus  <michael.albinus@gmx.de>
14171         Support zsh as local shell in Tramp (Bug#31924)
14173         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Extend zsh
14174         arguments.  Add :version.
14175         (tramp-maybe-open-connection): Use extra args for
14176         `tramp-encoding-shell'.  (Bug#31924)
14178 2019-10-09  Juanma Barranquero  <lekktu@gmail.com>
14180         Implement offsets for absolute line numbers
14182         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-offset>:
14183         New variable to add an offset to absolute line numbers.
14184         (syms_of_xdisp) <display-line-numbers>: Mention it in docstring.
14185         (maybe_produce_line_number): Use it.
14187         * doc/emacs/display.texi (Display Custom): Document it.
14189         * etc/NEWS (value): Announce it.
14191         * lisp/frame.el: Add `display-line-numbers-offset' to list of
14192         variables which should trigger redisplay of the current buffer.
14194 2019-10-09  Juanma Barranquero  <lekktu@gmail.com>
14196         Do not use tick faces beyond ZV (bug#37641)
14198         * src/xdisp.c (maybe_produce_line_number): Check beyond_zv
14199         before using a tick face for the line number.  Move all face
14200         selection code outside the loop that draws the line number.
14202 2019-10-09  Eli Zaretskii  <eliz@gnu.org>
14204         Improve doc strings in replace.el
14206         * lisp/replace.el (query-replace-read-from)
14207         (query-replace-compile-replacement, query-replace-read-to)
14208         (replace-string, replace-regexp, occur-mode-goto-occurrence)
14209         (occur-next-error, occur-rename-buffer, multi-occur)
14210         (multi-occur-in-matching-buffers): Describe all arguments in
14211         doc strings.  (Bug#31207)
14213 2019-10-09  Eli Zaretskii  <eliz@gnu.org>
14215         Fix minor Texinfo errors in ELisp manual
14217         * doc/lispref/errors.texi (Standard Errors): Fix incorrect
14218         usage of @xref commands.  (Bug#37660)
14219         * doc/lispref/internals.texi (Buffer Internals): Fix markup.
14220         (Bug#37639)
14222 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
14224         Ensure that the pulse overlay is visible
14226         * lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Make
14227         the pulse overlay have priority over the marked-region overlay
14228         (bug#29173).
14230 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
14232         Protect against unlikely case of [menu-bar] not being bound
14234         * lisp/recentf.el (recentf-show-menu):
14235         (recentf-hide-menu): The [menu-bar] key may be unbound (bug#25191).
14237 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
14239         Add some sanity checks to dired-x.el key bindings
14241         * lisp/dired-x.el: Ensure that prefix keys haven't be rebound to
14242         commands before adding keystrokes (bug#25190).
14244 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
14246         Allow global-edebug-prefix to be nil
14248         * lisp/emacs-lisp/edebug.el (global-edebug-prefix): Allow
14249         global-edebug-prefix to be nil (if the user doesn't want that
14250         prefix) (bug#25188).
14252 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
14254         Fix possible initialisation error in shell-mode-map
14256         * lisp/shell.el (shell-mode-map): Comint is the parent mode, so
14257         there's no need to explicitly make it a parent map here (bug#25187).
14259 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
14261         Upcase parameters in things like "&optional (arg 3)"
14263         * lisp/help.el (help--make-usage): Upcase cl-defgeneric (etc)
14264         parameter names (bug#23517).
14266 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
14268         Bury the help buffer after sending a bug report
14270         * lisp/mail/emacsbug.el (report-emacs-bug-hook): Bury the help
14271         buffer after sending the bug report (bug#22712).
14273 2019-10-08  Hong Xu  <hong@topbug.net>
14275         Fix up previous visit-tags-table change
14277         * lisp/progmodes/etags.el (visit-tags-table): Reimplement
14278         `tags--find-default-tags-dir-recursively' using the much simpler
14279         `locate-dominating-file'. Following up bug#37518.
14281 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
14283         Move point in the dired buffer with `n'/`p' in an image-mode buffer
14285         * lisp/image-mode.el (image-next-file): If the image is in a dired
14286         buffer, then move point in that buffer when advancing
14287         (bug#21752).  This makes it easier to select images.
14289 2019-10-08  Juanma Barranquero  <lekktu@gmail.com>
14291         Fix typos in lisp/*.el
14293         * lisp/emacs-lisp/generator.el (cps--with-value-wrapper)
14294         (cps-inhibit-atomic-optimization, iter-close):
14295         * lisp/gnus/nnir.el (nnir-imap-search-arguments)
14296         (nnir-imap-search-argument-history, nnir-categorize)
14297         (nnir-ignored-newsgroups)
14298         (nnir-retrieve-headers-override-function)
14299         (nnir-imap-default-search-key, nnir-namazu-additional-switches)
14300         (gnus-group-make-nnir-group, nnir-add-result)
14301         (nnir-compose-result, nnir-run-imap, nnir-imap-make-query)
14302         (nnir-imap-query-to-imap, nnir-imap-expr-to-imap)
14303         (nnir-imap-next-term, nnir-run-swish-e, nnir-run-namazu)
14304         (nnir-read-parm, nnir-read-server-parm, nnir-search-thread):
14305         Trivial doc fixes.
14307 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
14309         Document `letrec'
14311         * doc/lispref/variables.texi (Local Variables): Document letrec
14312         (bug#21048).
14314         * lisp/subr.el (letrec): Expand the doc string slightly.
14316 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
14318         Make menu bar entries only point to named functions, not lambdas
14320         * lisp/menu-bar.el ()
14321         (menu-bar--display-line-numbers-mode-visual)
14322         (menu-bar--display-line-numbers-mode-relative)
14323         (menu-bar--display-line-numbers-mode-absolute)
14324         (menu-bar--display-line-numbers-mode-none)
14325         (menu-bar--visual-line-mode-enable)
14326         (menu-bar--toggle-truncate-long-lines)
14327         (menu-bar--wrap-long-lines-window-edge): Make lambdas into trivial
14328         wrapper functions so that `C-h k' on the menu items work (bug#13841).
14329         (menu-bar-showhide-line-numbers-menu)
14330         (menu-bar-line-wrapping-menu): Use them.
14332 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
14334         Add more sanity checks to help-fns--globalized-minor-mode
14336         * lisp/help-fns.el (help-fns--globalized-minor-mode): FUNCTION can
14337         be a lambda, so protect against that.
14339 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
14341         Make add-face-text-property not be destructive on strings
14343         * src/textprop.c (add_properties): Take a parameter to say whether
14344         it's allowed to be destructive or not (bug#20153).
14345         (add_text_properties_1): Ditto.
14346         (Fadd_face_text_property): Use this to say that it shouldn't
14347         modify face properties on strings destructively.  This avoids
14348         altering the face properties of one string when altering them on a
14349         copy of the string.
14351 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
14353         Make `info-display-manual' pop up the correct frame
14355         * lisp/info.el (info-display-manual): If the buffer is already in
14356         a window, use that window (bug#20020).
14358 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
14360         Make a nil parameter switch variable-pitch-mode on
14362         * lisp/face-remap.el (variable-pitch-mode): Make a nil parameter
14363         switch the mode on instead of toggling (bug#19384).
14365 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
14367         Remove XEmacs compat code from prolog.el
14369         * lisp/progmodes/prolog.el (prolog-mode-syntax-table)
14370         (prolog-help-info, prolog-Info-follow-nearest-node)
14371         (prolog-menu-help, prolog-edit-menu-runtime)
14372         (prolog-inferior-menu-all): Remove XEmacs compat code.
14374 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
14376         Remove some XEmacs compat code from tree-widget.el
14378         * lisp/tree-widget.el (tree-widget-themes-load-path)
14379         (tree-widget-use-image-p, tree-widget-create-image)
14380         (tree-widget-image-formats, tree-widget-image-properties)
14381         (tree-widget-lookup-image): Remove XEmacs compat code.
14383 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
14385         Remove some XEmacs compat code from newst*.el
14387         * lisp/net/newst-plainview.el
14388         (newsticker--plainview-tool-bar-map): Remove XEmacs support.
14390         * lisp/net/newst-treeview.el (newsticker-treeview-tool-bar-map):
14392 2019-10-08  Federico Tedin  <federicotedin@gmail.com>
14394         Filter packages by name in list-packages. (Bug#36981)
14396         * lisp/emacs-lisp/package.el (package-menu-filter-by-name): New
14397         function to filter packages by name.
14398         (package-menu-clear-filter): New function to clear applied filters.
14399         (package-menu-filter-by-keyword): Rename function from
14400         package-menu-filter.
14401         (package-menu--generate): Don't change 'q' binding anymore.
14402         (package-menu-mode-map): Bind '/ n' to package-menu-filter-by-name, '/
14403         k' to package-menu-filter-by-keyword and '/ /' to
14404         package-menu-clear-filter.
14405         (package-menu-mode-menu): Update menu entries for the three functions.
14406         * test/lisp/emacs-lisp/package-tests.el (package-test-list-filter-by-name)
14407         (package-test-list-clear-filter): New tests.
14408         * doc/emacs/package.texi: Document usage of
14409         package-menu-filter-by-name, package-menu-clear-filter and update
14410         reference to package-menu-filter-by-keyword.
14411         * etc/NEWS: Announce changes.
14413 2019-10-08  Hong Xu  <hong@topbug.net>
14415         Search upward from current dir for the default TAGS file
14417         * doc/emacs/maintaining.texi (Select Tags Table): Update the doc
14418         of `visit-tags-table' (bug#37518).
14419         * lisp/progmodes/etags.el (tags--find-default-tags-dir-recursively)
14420         (visit-tags-table): Search upward from current dir for the default
14421         TAGS file.
14423 2019-10-08  Stefan Kangas  <stefankangas@gmail.com>
14425         Fix title inconsistencies in elisp intro book
14427         * doc/lispintro/emacs-lisp-intro.texi: Fix title
14428         inconsistencies.  (Bug#31037)
14430 2019-10-08  Stefan Kangas  <stefankangas@gmail.com>
14432         Add some more commands to eshell-visual-commands
14434         * lisp/eshell/em-term.el (eshell-visual-commands): Add some more
14435         commonly used commands.
14437 2019-10-08  Eli Zaretskii  <eliz@gnu.org>
14439         Fix crashes on TTY frames due to "C-x 6 f"
14441         * src/xdisp.c (redisplay_internal): Revert the recent change
14442         regarding TTY frames' garbaged flag.  It is not needed.
14444         * src/dispnew.c (adjust_frame_glyphs_for_frame_redisplay):
14445         When returning due to mismatch between the desired and actual
14446         dimensions of the glyph matrix, set the frame's garbaged flag
14447         for TTY frames.  This avoids crashes when we are later called
14448         from redisplay.  Reported by Ergus <spacibba@aol.com>.
14450 2019-10-08  Michael Albinus  <michael.albinus@gmx.de>
14452         * etc/PROBLEMS: Describe navigation problem from Nautilus.  (Bug#37573)
14454         * lisp/userlock.el (create-lockfiles): Set `safe-local-variable' property.
14456 2019-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
14458         * lisp/emacs-lisp/package.el (package--get-deps): Fix thinko
14460         * test/lisp/emacs-lisp/package-tests.el (package-test-get-deps):
14461         Adjust test to new calling convention.
14463 2019-10-08  Eli Zaretskii  <eliz@gnu.org>
14465         Fix aborts when opening a new font after face-cache reset
14467         * src/font.c (font_open_for_lface): Make sure the default face
14468         is realized before using its height for the font to be open.
14469         (Bug#37637)
14471 2019-10-08  Michael Albinus  <michael.albinus@gmx.de>
14473         * INSTALL: Describe installation of source and debug packages.  (Bug#37527)
14475 2019-10-07  Juanma Barranquero  <lekktu@gmail.com>
14477         Set default colors for tick faces
14479         * lisp/faces.el (line-number-major-tick, line-number-minor-tick):
14480         Set default color different from `line-number' so after customizing
14481         the tick number variables, the ticks are immediately visible.
14482         Suggested by Juri Linkov <juri@linkov.net>.
14484 2019-10-07  Basil L. Contovounesios  <contovob@tcd.ie>
14486         Clarify docs on newline and auto-fill-mode
14488         * doc/lispref/text.texi (Commands for Insertion):
14489         * lisp/simple.el (newline): Do not mention conditions specific to
14490         'do-auto-fill' under documentation of 'newline' (bug#36702).
14492 2019-10-07  Juri Linkov  <juri@linkov.net>
14494         * lisp/tab-bar.el (tab-bar-tab-name-function): Turn defvar into defcustom.
14496         (tab-bar-tab-name-all-windows): Rename from tab-bar-tab-name.
14497         (tab-bar-tab-name-selected-window): New function used by default.
14499 2019-10-07  Stefan Kangas  <stefankangas@gmail.com>
14501         Add "python3 -m twine" example to comint-password-prompt tests
14503         * test/lisp/comint-tests.el (comint-testsuite-password-strings): Add
14504         new example for "python3 -m twine" to test suite.  (Bug#37636)
14506 2019-10-07  Eli Zaretskii  <eliz@gnu.org>
14508         Fix a crash in TTY sessions caused by recent changes
14510         * src/xdisp.c (redisplay_internal): Fix crashes in TTY
14511         sessions when turning on tab-mode.
14512         Reported by Ergus <spacibba@aol.com>.
14514 2019-10-07  Lars Ingebrigtsen  <larsi@gnus.org>
14516         Use text properties instead of truncating strings
14518         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag): Use
14519         this to allow using commands like `C-s' to search for even
14520         truncated bits.
14522         * lisp/international/mule-util.el (truncate-string-to-width):
14523         Allow using text properties to truncate strings instead of
14524         actually truncating strings (bug#17782).
14526 2019-10-07  Lars Ingebrigtsen  <larsi@gnus.org>
14528         dired-move-to-filename doc string fix
14530         * lisp/dired.el (dired-move-to-filename): Document the parameters
14531         (bug#17566).
14533 2019-10-07  Basil L. Contovounesios  <contovob@tcd.ie>
14535         Improve recent doc fix for cl-reduce
14537         * lisp/emacs-lisp/cl-seq.el: (cl-reduce): Clarify treatment of
14538         :INITIAL-VALUE when :FROM-END is non-nil.  Improve wording when SEQ
14539         is empty and :INITIAL-VALUE is unspecified (bug#37400).  Describe
14540         behavior when SEQ comprises a single element.
14542 2019-10-07  Lars Ingebrigtsen  <larsi@gnus.org>
14544         Make completion in the `E' command in *Ibuffer* work
14546         * lisp/ibuf-ext.el (eval): Make completion (etc) work as normal
14547         (bug#16239).
14549 2019-10-07  Eli Zaretskii  <eliz@gnu.org>
14551         Fix infloop in redisplay caused by a recent change
14553         * src/xdisp.c (redisplay_internal): Avoid inflooping due to a
14554         frame's garbaged flag being set after update_frame.  Reported
14555         by Michael Heerdegen <michael_heerdegen@web.de>.
14557 2019-10-07  Lars Ingebrigtsen  <larsi@gnus.org>
14559         Feval_buffer doc string lexical-binding clarification
14561         * src/lread.c (Feval_buffer): Mention that the lexical-binding
14562         variable is ignored in the doc string (bug#20139).
14564 2019-10-07  Lars Ingebrigtsen  <larsi@gnus.org>
14566         Make ido-display-buffer work interactively more like display-buffer
14568         * lisp/ido.el (ido-display-buffer): Take an interactive parameter,
14569         like `display-buffer' (bug#14904).
14570         (ido-visit-buffer): Use it to emulate `C-u M-x display-buffer'.
14572 2019-10-07  Leo Liu  <sdl.web@gmail.com>
14574         Fix rcirc not to interpret nil as nickname (bug#37344)
14576         * lisp/net/rcirc.el (rcirc-send-privmsg): Type check `target'.
14577         (rcirc-cmd-me): Send CTCP only when `target' exists.
14579 2019-10-07  Stefan Kangas  <stefankangas@gmail.com>
14581         Quadruple term-buffer-maximum-size (Bug#37584)
14583         * lisp/term.el (term-buffer-maximum-size): Quadruple to 8192.
14585 2019-10-06  Wolfgang Scherer  <wolfgang.scherer@gmx.de>
14587         Set correct svn:ignore property for relative filenames
14589         * lisp/vc/vc-svn.el: (vc-svn-ignore) Use svn:ignore property of
14590         immediate parent directory for wildcard specification (bug#37216).
14592 2019-10-06  Paul Eggert  <eggert@cs.ucla.edu>
14594         Fix port of file-acl errno checking to non-GNU
14596         I had misinterpreted the private email from Ashish Shukla.
14597         * src/fileio.c (Ffile_acl): Fix typo in previous change
14598         by negating the call to acl_errno_valid.
14600 2019-10-06  Lars Ingebrigtsen  <larsi@gnus.org>
14602         Fix the colours on Motif horizontal scroll bars
14604         * src/xterm.c (x_create_horizontal_toolkit_scroll_bar): Use the
14605         same foreground/background colours as the vertical scroll bar
14606         (bug#37359).
14608 2019-10-06  Lars Ingebrigtsen  <larsi@gnus.org>
14610         cl-reduce doc fix
14612         * lisp/emacs-lisp/cl-seq.el (cl-reduce): Clarify what happens when
14613         SEQ is the empty list (bug#37400).
14615 2019-10-06  Hong Xu  <hong@topbug.net>
14617         tags-complete-tags-table-file doc string fix
14619         * lisp/progmodes/etags.el (tags-complete-tags-table-file): Doc
14620         string fix (bug#37538).
14622 2019-10-06  Hong Xu  <hong@topbug.net>
14624         Default FILE to the current buffer for list-tags
14626         * doc/emacs/maintaining.texi (List Identifiers): Update
14627         `list-tags' doc (bug#37611).
14628         * lisp/progmodes/etags.el (list-tags)
14629         (tags--get-current-buffer-name-in-tags-file): Default FILE to the
14630         current buffer for list-tags.
14632 2019-10-06  Lars Ingebrigtsen  <larsi@gnus.org>
14634         Make mailcap-prefer-mailcap-viewers work as documented
14636         * lisp/emacs-lisp/seq.el (seq-find): Autoload.
14638         * lisp/net/mailcap.el (mailcap-parse-mailcaps): Note where all the
14639         entries come from so that we can later distinguish between user
14640         values and system values (bug#36771).
14641         (mailcap-parse-mailcap): Take a source parameter.
14642         (mailcap-possible-viewers): No need to sort wildcards/exact
14643         matches; these are later sorted anyway.
14644         (mailcap-add-mailcap-entry): Remove `after' parameter.
14645         (mailcap-mime-info): Make mailcap-prefer-mailcap-viewers work as
14646         documented.
14648 2019-10-06  Mauro Aranda  <maurooaranda@gmail.com>
14650         Only complete words inside of the string widget
14652         * lisp/wid-edit.el ('string widget): Peek the word that
14653         ispell-complete-word will try to complete, and only offer completions
14654         when the word is inside of the field (bug#11046).
14656 2019-10-06  Mauro Aranda  <maurooaranda@gmail.com>
14658         Fix message when no completions available for editable field
14660         * lisp/wid-edit.el (widget-completions-at-point): Detect here if point
14661         is not in an editable field.
14662         (widget-complete): And here say there are no completions available
14663         (bug#11562).
14665 2019-10-06  Juri Linkov  <juri@linkov.net>
14667         Allow using last_tab_bar_item on no-x builds.
14669         * src/frame.h (struct frame): Remove HAVE_WINDOW_SYSTEM
14670         around last_tab_bar_item.
14672 2019-10-06  Juri Linkov  <juri@linkov.net>
14674         Implement tab-close-other bound to C-x 6 1 by analogy with C-x 5 1.
14676         * lisp/tab-bar.el (tab-close-other): New command bound to C-x 6 1.
14678         * doc/emacs/frames.texi (Tab Bars): Document it.
14680 2019-10-06  Juri Linkov  <juri@linkov.net>
14682         Use tabs in EWW (bug#37592)
14684         * lisp/net/eww.el (eww-open-in-new-buffer): Call tab-new when tab-bar-mode
14685         is enabled.
14686         (eww-browse-url): Add docstring.  Call tab-new when tab-bar-mode
14687         is enabled.
14689         * lisp/net/shr.el (shr-map): Bind [C-down-mouse-1] to
14690         shr-mouse-browse-url-new-window.
14691         (shr-mouse-browse-url-new-window): New command.
14692         (shr-browse-url): Add optional arg new-window.
14694         * doc/misc/eww.texi (Basics): Mention opening tabs on M-RET.
14696 2019-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
14698         * lisp/emacs-lisp/eieio-core.el (eieio--full-class-object): New function.
14700         Rather than explicitly call eieio-class-un-autoload, the autoloading is
14701         now performed on-demand if you use eieio--full-class-object.
14703         * lisp/emacs-lisp/eieio-core.el (eieio-class-un-autoload): Remove.
14704         (eieio--full-class-object): New function, to replace it.
14705         (eieio-oref, eieio--class-precedence-list):
14706         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
14707         Use it instead of eieio-class-un-autoload.
14708         * lisp/emacs-lisp/eieio.el (eieio-class-parents, child-of-class-p):
14709         Load the class if needed.
14711 2019-10-06  Stefan Kangas  <stefankangas@gmail.com>
14713         Support changing font size using mouse wheel
14715         * lisp/mwheel.el (mouse-wheel-mode): Support changing font size (text
14716         scaling) using mouse wheel.  (Bug#28182)
14717         (mouse-wheel-scroll-amount): Bind the Ctrl modifier to text scaling.
14718         (mwheel-installed-text-scale-bindings): New variable.
14719         (mouse-wheel--remove-bindings): New helper function for
14720         'mouse-wheel-mode'.
14722         * doc/emacs/frames.texi (Mouse Commands): Document this feature.
14723         * etc/NEWS: Announce it.
14725 2019-10-06  Juanma Barranquero  <lekktu@gmail.com>
14727         Set alternate faces for some line numbers (bug#27734)
14729         * lisp/faces.el (line-number-major-tick, line-number-minor-tick):
14730         New faces.
14731         * lisp/cus-start.el (display-line-numbers-major-tick)
14732         (display-line-numbers-minor-tick): Add customization info.
14733         * lisp/frame.el: Add `display-line-numbers-major-tick' and
14734         `display-line-numbers-minor-tick' to list of variables which
14735         should trigger redisplay of the current buffer.
14737         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-major-tick>
14738         <display-line-numbers-major-tick>: Defvar new options.
14739         (syms_of_xdisp) <line-number-major-tick, line-number-minor-tick>:
14740         Defsym new faces.
14741         (maybe_produce_line_number): Use new faces for line numbers
14742         that are multiple of `display-line-numbers-major-tick' and
14743         `display-line-numbers-minor-tick'.
14745         * etc/NEWS (value): Announce new feature.
14746         * doc/emacs/display.texi (Display Custom): Describe it.  Wording by
14747         Robert Pluim <rpluim@gmail.com>
14749 2019-10-06  Juri Linkov  <juri@linkov.net>
14751         Don't bind 'C-x 6' to '2C-mode-map' globally by default.
14753         * lisp/textmodes/two-column.el: Don't autoload global setting of
14754         "\C-x6" to 2C-command.
14756         * lisp/ldefs-boot.el: Update to remove setting "\C-x6" to 2C-command.
14758         * doc/emacs/commands.texi (Keys):
14759         * doc/emacs/text.texi (Two-Column):
14760         * doc/lispref/keymaps.texi (Prefix Keys):
14761         * doc/lispref/maps.texi (Standard Keymaps):
14762         Unbind 'C-x 6' from '2C-mode-map'.
14764 2019-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
14766         * lisp/emacs-lisp/package.el (package--get-deps): Rewrite.
14768         Avoid inf-recursion with dependency cycles.
14769         Remove unused `only` arg.  Prune duplicates early rather than late.
14770         (package--removable-packages): Simplify code accordingly.
14772 2019-10-06  Paul Eggert  <eggert@cs.ucla.edu>
14774         Port file-acl errno checking to non-GNU
14776         Problem reported privately for FreeBSD 12 by Ashish Shukla.
14777         * src/fileio.c (Ffile_acl): Treat EINVAL etc. like ENOTSUP if
14778         acl_get_file fails, to port to FreeBSD 12 and other non-GNU
14779         platforms.
14781 2019-10-06  Eli Zaretskii  <eliz@gnu.org>
14783         Support mouse clicks on tab bar on TTY frames
14785         This for now doesn't work on GPM.
14786         * src/xdisp.c (display_tab_bar): Make the loop over tab-bar
14787         items more efficient.
14788         (tab_bar_item_info, tool_bar_item_info): Correct data type for
14789         CHARPOS.
14790         (tty_get_tab_bar_item, tty_handle_tab_bar_click): New functions.
14791         (note_mouse_highlight): Handle help-echo of tab-bar tabs on
14792         TTY frames.
14793         * src/w32inevt.c (do_mouse_event): Call
14794         tty_handle_tab_bar_click to process mouse clicks on the tab bar.
14795         * src/termchar.h (tty_handle_tab_bar_click): Add prototype.
14796         * src/w32console.c (w32con_set_terminal_modes): Disable Quick
14797         Edit mode on entry, to make sure mouse events get reported to
14798         us.
14800 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
14802         Fix off-by-one bug in ISO 8601 BC years
14804         * lisp/calendar/iso8601.el (iso8601--year-match)
14805         (iso8601--full-date-match, iso8601--without-day-match)
14806         (iso8601--week-date-match, iso8601--ordinal-date-match)
14807         (iso8601-parse-date):
14808         Don’t bother to separate the year’s sign from the year,
14809         as that distinction is not needed: ISO 8601 uses
14810         astronomical year numbering with a year zero, which
14811         is what the Emacs time functions use, so there’s no
14812         need to treat nonpositive years specially.
14813         (iso8601--adjust-year): Remove; no longer needed
14814         since callers can just use string-to-number.
14815         * test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years):
14816         Adjust test case to match fixed behavior.
14818 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
14820         Improve documentation for year-zero issues
14822         * doc/emacs/calendar.texi (Calendar Systems)
14823         * doc/lispref/os.texi (Time Conversion):
14824         Prefer "BC" to "B.C." since the documentation generally uses "BC".
14825         * doc/misc/emacs-mime.texi (time-date):
14826         * lisp/calendar/time-date.el (date-to-day, time-to-days):
14827         In the doc string, state the day origin more clearly, and more
14828         consistently with the rest of the documentation.
14829         * src/timefns.c (Fdecode_time): State the year origin in
14830         the doc string.
14832 2019-10-05  Juri Linkov  <juri@linkov.net>
14834         More tab bar related key bindings.
14836         * lisp/subr.el (ctl-x-6-map, ctl-x-6-prefix): Move here from tab-bar.el
14837         to make it available to other modes like dired for 'C-x 6 d'.
14839         * lisp/dired.el (dired-other-tab): New command bound to 'C-x 6 d'.
14841         * lisp/tab-bar.el: Bind 'C-x 6 o' to tab-next.
14843         * doc/emacs/frames.texi (Tab Bars): Describe C-x 6 prefix key bindings.
14845 2019-10-05  Juri Linkov  <juri@linkov.net>
14847         * lisp/tab-bar.el: In tab switching allow absolute and relative args.
14849         * lisp/tab-bar.el (tab-bar-tab-hints): New defcustom.
14850         (tab-bar-make-keymap-1): Use tab-bar-tab-hints.
14851         (tab-bar--tab, tab-bar--current-tab, tab-bar--current-tab-index)
14852         (tab-bar--tab-index, tab-bar--tab-index-by-name): New internal functions.
14853         (tab-bar-select-tab): Use arg as absolute position of tab to select.
14854         (tab-bar-switch-to-next-tab, tab-bar-switch-to-prev-tab): Use arg
14855         as offset relative to the current tab.
14856         (tab-bar-switch-to-tab): New command.
14857         (tab-bar-new-tab): Simplify by using cl-pushnew.
14858         (tab-bar-close-current-tab): Remove (the current tab is closed
14859         by nil arg of tab-bar-close-tab).
14860         (tab-bar-close-tab): Use arg as absolute position of tab to close.
14861         (tab-bar-close-tab-by-name): New command.
14863 2019-10-05  Artyom Loenko  <artyom.loenko@mac.com>  (tiny change)
14865         Include new permission settings for macOS 10.15 (bug#37551)
14867         * nextstep/templates/Info.plist.in
14868         (NSDesktopFolderUsageDescription):
14869         (NSDocumentsFolderUsageDescription):
14870         (NSDownloadsFolderUsageDescription):
14871         (NSRemovableVolumesUsageDescription): Add description to enable
14872         setting in macOS 10.15.
14874 2019-10-05  Paul Smith  <psmith@gnu.org>
14876         Support GNU make error messages in compile mode.
14878         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
14879         Match GNU make error messages.
14880         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data):
14881         Test GNU make error message matching.
14882         (compile-test-error-regexps): Update count of infos found.
14884 2019-10-05  Lars Ingebrigtsen  <larsi@gnus.org>
14886         Remove some XEmacs compat code from the CEDET tests
14888 2019-10-05  Lars Ingebrigtsen  <larsi@gnus.org>
14890         Remove some XEmacs compat code from esh*.el
14892         * lisp/eshell/esh-util.el: Remove some XEmacs compat functions.
14894 2019-10-05  Lars Ingebrigtsen  <larsi@gnus.org>
14896         Remove more XEmacs compat code from ezimage.el
14898         * lisp/ezimage.el (ezimage-use-images)
14899         (ezimage-insert-over-text): Remove XEmacs compat code.
14901 2019-10-05  Lars Ingebrigtsen  <larsi@gnus.org>
14903         Fix typo in frames.texi xref
14905         * doc/emacs/frames.texi (Tab Bars): Fix typo in xref.
14907 2019-10-05  Lars Ingebrigtsen  <larsi@gnus.org>
14909         Remove most of the XEmacs compat code from ediff*.el
14911         * lisp/vc/ediff-diff.el (ediff-word-1): Remove XEmacs compat code
14912         and declare compatibility functions for obsolete.  Adjust all callers.
14914         * lisp/vc/ediff-help.el (ediff-set-help-overlays):
14916         * lisp/vc/ediff-hook.el:
14917         (menu-bar-ediff-misc-menu, menu-bar-ediff-merge-menu)
14918         (menu-bar-ediff-menu, menu-bar-ediff-merge-menu)
14919         (menu-bar-epatch-menu, menu-bar-ediff-misc-menu):
14921         * lisp/vc/ediff-init.el (ediff-device-type)
14922         (ediff-window-display-p, ediff-has-face-support-p)
14923         (ediff-has-toolbar-support-p, ediff-has-gutter-support-p)
14924         (ediff-BAD-INFO, ediff-coding-system-for-write)
14925         (ediff-read-event, ediff-overlayp, ediff-make-overlay)
14926         (ediff-delete-overlay, ediff-color-display-p)
14927         (ediff-display-pixel-width, ediff-display-pixel-height)
14928         (ediff-region-help-echo, ediff-set-face-pixmap)
14929         (ediff-paint-background-regions-in-one-buffer)
14930         (ediff-clear-fine-diff-vector, ediff-mouse-event-p)
14931         (ediff-key-press-event-p, ediff-event-point, )
14932         (ediff-event-buffer, ediff-event-key, ediff-last-command-char)
14933         (ediff-frame-iconified-p, ediff-frame-char-width)
14934         (ediff-reset-mouse, ediff-frame-char-height)
14935         (ediff-overlay-start, ediff-overlay-end, ediff-overlay-buffer)
14936         (ediff-overlay-get, ediff-move-overlay, ediff-overlay-put)
14937         (ediff-abbreviate-file-name):
14939         * lisp/vc/ediff-mult.el (ediff-next-meta-item)
14940         (ediff-previous-meta-item)
14941         (ediff-replace-session-activity-marker-in-meta-buffer)
14942         (ediff-replace-session-status-in-meta-buffer)
14943         (ediff-redraw-directory-group-buffer)
14944         (ediff-update-markers-in-dir-meta-buffer)
14945         (ediff-update-session-marker-in-dir-meta-buffer)
14946         (ediff-redraw-registry-buffer, ediff-set-meta-overlay)
14947         (ediff-update-meta-buffer, ediff-get-meta-info)
14948         (ediff-get-meta-overlay-at-pos, )
14949         (ediff-get-session-number-at-pos, )
14950         (ediff-next-meta-overlay-start)
14951         (ediff-previous-meta-overlay-start, )
14952         (ediff-meta-mark-equal-files):
14954         * lisp/vc/ediff-util.el:
14955         (ediff-setup, ediff-setup-control-buffer, ediff-recenter)
14956         (ediff-recenter-one-window, ediff-toggle-read-only)
14957         (ediff-file-checked-out-p, ediff-file-checked-in-p)
14958         (ediff-toggle-wide-display, ediff-toggle-multiframe)
14959         (ediff-toggle-use-toolbar, ediff-kill-bottom-toolbar)
14960         (ediff-visible-region, ediff-scroll-vertically)
14961         (ediff-scroll-horizontally, ediff-jump-to-difference-at-point)
14962         (ediff-diff-to-diff, ediff-restore-diff)
14963         (ediff-toggle-regexp-match, ediff-really-quit)
14964         (ediff-cleanup-mess, ediff-highlight-diff-in-one-buffer)
14965         (ediff-unhighlight-diffs-totally-in-one-buffer)
14966         (ediff-save-buffer, ediff-make-cloned-buffer)
14967         (ediff-make-indirect-buffer, ediff-remove-flags-from-buffer)
14968         (ediff-place-flags-in-buffer1, ediff-get-diff-posn)
14969         (ediff-clear-diff-vector, ediff-make-bullet-proof-overlay)
14970         (ediff-submit-report, ediff-deactivate-mark)
14971         (ediff-activate-mark, ediff-profile, ediff-print-diff-vector):
14973         * lisp/vc/ediff-wind.el (ediff-control-frame-parameters)
14974         (ediff-get-window-by-clicking, ediff-select-lowest-window)
14975         (ediff-setup-windows-plain-merge)
14976         (ediff-setup-windows-plain-compare, ediff-setup-control-frame)
14977         (ediff-destroy-control-frame, ediff-make-frame-position)
14978         (ediff-make-wide-display, ediff-get-visible-buffer-window):
14980         * lisp/vc/ediff.el (ediff-version, ediff-documentation):
14982 2019-10-05  Eli Zaretskii  <eliz@gnu.org>
14984         Improve documentation of Tab bars
14986         * doc/emacs/frames.texi (Menu Bars, Tool Bars, Tab Bars):
14987         Don't start index entries from a capital letter.
14988         (Tab Bars): Improve wording and indexing.
14990         * etc/NEWS: Improve documentation of Tab bars.
14992 2019-10-05  Eli Zaretskii  <eliz@gnu.org>
14994         Fix display of cursor in obscure use case on MS-Windows
14996         * src/xdisp.c (redisplay_internal): Detect when the frame
14997         becomes garbaged inside the call to update_frame, and redraw
14998         the frame in that case.  (Bug#37579)
15000 2019-10-05  Philipp Stephani  <phst@google.com>
15002         * src/fns.c (Flocale_info): Avoid fixnum overflow under ASan.
15004         * src/pdumper.c (dump_buffer): Update structure hash.
15006 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
15008         Omit one more superfluous "-" in regexp
15010         Problem reported by Mattias Engdegård.
15011         * lisp/language/indian.el (gurmukhi-composable-pattern):
15012         Omit unnecessary "-".
15014 2019-10-05  Dmitry Gutov  <dgutov@yandex.ru>
15016         (project--vc-list-files): Make sure to expand file names
15018         * lisp/progmodes/project.el (project--vc-list-files): Make sure to
15019         expand file names.  Turns out, Grep doesn't like abbreviated ones.
15021 2019-10-05  Eli Zaretskii  <eliz@gnu.org>
15023         Fix vertical scrolling in image-mode
15025         * lisp/image-mode.el (image-set-window-vscroll): Interpret the
15026         argument VSCROLL value in pixel units.
15027         (image-mode-reapply-winprops): Interpret the 'vscroll'
15028         property value in pixel units.
15029         (image-next-line): Scroll the image with pixel resolution.
15030         (image-eob): Set the image vscroll in pixels.  (Bug#37578)
15032 2019-10-04  Juanma Barranquero  <lekktu@gmail.com>
15034         Improve docstrings auto-generated by `define-minor-mode'
15036         * lisp/emacs-lisp/easy-mmode.el (easy-mmode--mode-docstring):
15037         When using `easy-mmode--arg-docstring' to auto-generate a
15038         docstring, refill it up to `emacs-lisp-docstring-fill-column'.
15040 2019-10-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
15042         Don't manipulate gnus-newsrc-alist if it hasn't been initialized
15044         * lisp/gnus/gnus-group.el (gnus-group-set-info): Packages that use
15045         Gnus summary mode without actually booting Gnus might end up in this
15046         situation. See bug#36903
15048 2019-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15050         Fix bugs found by 2019-09-29 regexp scanner
15052         Problems reported by Mattias Engdegård in:
15053         https://lists.gnu.org/r/emacs-devel/2019-09/threads.html
15054         * lisp/calendar/iso8601.el (iso8601--year-match)
15055         (iso8601--full-date-match, iso8601--without-day-match)
15056         (iso8601--week-date-match, iso8601--ordinal-date-match)
15057         (iso8601--zone-match):
15058         * lisp/textmodes/rst.el (rst-re-alist-def):
15059         Put ‘-’ at the end of bracketed ranges, following the style
15060         suggestion in the Elisp manual.
15061         (iso8601--time-match): Use \([0-9]*\) instead of \([0-9]+\)?
15062         to pacify the regexp scanner.
15063         (iso8601-parse-time): Adjust accordingly.
15064         * lisp/language/burmese.el (burmese-composable-pattern):
15065         * lisp/language/indian.el (devanagari-composable-pattern)
15066         (bengali-composable-pattern, gurmukhi-composable-pattern)
15067         (gujarati-composable-pattern, oriya-composable-pattern)
15068         (telugu-composable-pattern, kannada-composable-pattern)
15069         (malayalam-composable-pattern):
15070         Prefer [ab] to [a-b] when the characters differ by 1,
15071         to pacify the regexp scanner.
15072         * lisp/language/burmese.el (burmese-composable-pattern):
15073         Fix missing-‘\u’ typos.
15074         * lisp/language/indian.el (gurmukhi-composable-pattern):
15075         Fix missing-‘\’ typo.
15076         * lisp/language/tibetan.el (tibetan-regexp):
15077         Quote ‘+’ in regexp to pacify the regexp scanner.  Simplify.
15078         * lisp/textmodes/rst.el (rst-re-alist-def): Fix ‘[]-'...]’
15079         typo by putting the ‘-’ at end of the bracketed expression.
15081 2019-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15083         Minor style tweaks for recent tab changes
15085         * src/dispextern.h (MR_PARTIALLY_VISIBLE_AT_TOP):
15086         * src/window.c (Fwindow_mode_line_height)
15087         (Fwindow_header_line_height, Fwindow_tab_line_height)
15088         (Fwindow_right_divider_width, Fwindow_bottom_divider_width)
15089         (Fwindow_scroll_bar_width, Fwindow_scroll_bar_height):
15090         (Fset_window_configuration, Fcurrent_window_configuration):
15091         Omit unnecessary parens.
15092         * src/dispextern.h (CURRENT_MODE_LINE_HEIGHT)
15093         (CURRENT_HEADER_LINE_HEIGHT, CURRENT_TAB_LINE_HEIGHT):
15094         Add parens needed to make these macros function-like.
15095         * src/window.c (window_resize_check):
15096         * src/window.h (WINDOW_TAB_BAR_P):
15097         * src/xdisp.c (tab_bar_item_info): Reindent.
15098         * src/window.c (window_wants_mode_line)
15099         (window_wants_header_line, window_wants_tab_line):
15100         Simplify (a && b ? 1 : 0) to (a && b).
15102 2019-10-04  Stefan Kangas  <stefankangas@gmail.com>
15104         Make mouse scroll show a message instead of dinging at buffer limits
15106         * lisp/mwheel.el (mwheel-scroll): Show a message instead of dinging at
15107         end of buffer and beginning of buffer.  This should be less intrusive,
15108         especially when using a trackpad.  (Bug#16196)
15110 2019-10-04  Stefan Kangas  <stefankangas@gmail.com>
15112         Bind Scroll_Lock to scroll-lock-mode globally
15114         * lisp/bindings.el (global-map): Bind Scroll_Lock to
15115         scroll-lock-mode.  (Bug#6861)
15116         * lisp/scroll-lock.el (scroll-lock-mode): Note that the binding will
15117         not work if 'w32-scroll-lock-modifier' is non-nil.
15118         * etc/NEWS: Announce it.
15120 2019-10-04  Stefan Kangas  <stefankangas@gmail.com>
15122         Add tests for secure-hash and improve doc string (Bug#37420)
15124         * src/fns.c (Fsecure_hash_algorithms): Fix typo.
15125         (Fsecure_hash): Add algorithm list to doc string.
15126         * test/src/fns-tests.el (test-secure-hash): New test.
15128 2019-10-04  Stefan Kangas  <stefankangas@gmail.com>
15130         Declare unused vhdl code in align.el obsolete
15132         * lisp/align.el (align-vhdl-rules-list, align-set-vhdl-rules): Declare
15133         obsolete.  (Bug#6207)
15134         (align-dq-string-modes, align-open-comment-modes): Move vhdl-mode to
15135         definition instead of adding it later.
15137 2019-10-04  Mattias Engdegård  <mattiase@acm.org>
15139         Fix error in gnu compilation-mode regexp (bug#37582)
15141         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
15142         Fix a mistake introduced when the regexp was translated to rx.
15143         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data)
15144         (compile-test-error-regexps): Add test case.
15145         * etc/compilation.txt: Add example.
15147 2019-10-04  Mattias Engdegård  <mattiase@acm.org>
15149         Make compile-tests re-runnable
15151         * test/lisp/progmodes/compile-tests.el (compile-test-error-regexps):
15152         Don't rely on compilation-num-errors (etc) all being zero, which they
15153         aren't if the test has been run before.
15154         (compile-tests--test-regexps-data): Change defvar to defconst.
15156 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
15158         Remove semantic-make-local-hook call from CEDET
15160         * lisp/cedet/semantic/wisent/grammar.el
15161         (wisent-grammar-setupcode-builder):
15162         * lisp/cedet/semantic/util-modes.el (semantic-highlight-edits-mode)
15163         (semantic-show-unmatched-syntax-mode)
15164         (semantic-show-parser-state-mode):
15165         * lisp/cedet/semantic/mru-bookmark.el (semantic-mru-bookmark-mode):
15166         * lisp/cedet/semantic/imenu.el (semantic-create-imenu-index):
15167         * lisp/cedet/semantic/grammar.el (semantic-grammar-mode):
15168         * lisp/cedet/semantic/grammar-wy.el
15169         (semantic-grammar-wy--install-parser):
15170         * lisp/cedet/semantic/decorate/mode.el
15171         (semantic-decorate-add-pending-decoration)
15172         (semantic-decoration-mode):
15173         * lisp/cedet/semantic.el (semantic--set-buffer-cache): Remove all
15174         calls to the function.
15176         * lisp/cedet/semantic/fw.el (semantic-make-local-hook): Made
15177         obsolete alias for #'ignore by removing XEmacs compat code.
15179 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
15181         Remove some XEmacs compat code from ispell.el
15183         * lisp/textmodes/ispell.el (ispell-word): Remove XEmacs compat code.
15185 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
15187         Remove some XEmacs compat code from ezimage.el
15189         * lisp/ezimage.el (defezimage): Remove XEmacs compat code.
15191 2019-10-04  Stefan Kangas  <stefankangas@gmail.com>
15193         Remove XEmacs compat code from re-builder.el
15195         * lisp/emacs-lisp/re-builder.el (top-level)
15196         (reb-color-display-p): Remove XEmacs compat code.
15198 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
15200         Remove some XEmacs compat code from ediff*.el
15202         * lisp/vc/ediff-diff.el (ediff-goto-word): Ditto.
15204         * lisp/vc/ediff-init.el (ediff-has-face-support-p)
15205         (ediff-current-diff-A, ediff-current-diff-B)
15206         (ediff-current-diff-C, ediff-current-diff-Ancestor)
15207         (ediff-fine-diff-A, ediff-fine-diff-B, ediff-fine-diff-C)
15208         (ediff-fine-diff-Ancestor, ediff-even-diff-A)
15209         (ediff-even-diff-B, ediff-even-diff-C)
15210         (ediff-even-diff-Ancestor, ediff-odd-diff-A, ediff-odd-diff-B)
15211         (ediff-odd-diff-C, ediff-odd-diff-Ancestor)
15212         (ediff-with-syntax-table): Ditto.
15214         * lisp/vc/ediff-mult.el (ediff-dir-diffs-buffer-map)
15215         (ediff-setup-meta-map, ediff-set-meta-overlay): Ditto.
15217         * lisp/vc/ediff-util.el (ediff-setup-keymap)
15218         (ediff-toggle-wide-display, ediff-toggle-multiframe)
15219         (ediff-toggle-use-toolbar, ediff-really-quit)
15220         (ediff-good-frame-under-mouse)
15221         (ediff-make-bullet-proof-overlay): Ditto.
15223         * lisp/vc/ediff-wind.el (ediff-setup-control-frame)
15224         (ediff-refresh-control-frame): Remove XEmacs compat code.
15226 2019-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
15228         * lisp/subr.el (generate-new-buffer): Move (from files.el) before first use
15230         (with-temp-file, with-output-to-string): Use it.
15232         * lisp/files.el (generate-new-buffer): Move to subr.el.
15234 2019-10-04  Dmitry Gutov  <dgutov@yandex.ru>
15236         (project--vc-list-files): Optimize the Hg implementation
15238         * lisp/progmodes/project.el (project--vc-list-files):
15239         Optimize the Hg implementation.
15241 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
15243         Remove some more XEmacs compat code from viper*.el
15245         * lisp/emulation/viper-ex.el (viper-ex-read-file-name): Ditto.
15247         * lisp/emulation/viper-init.el (viper-ms-style-os-p)
15248         (viper-has-face-support-p, viper-deactivate-input-method)
15249         (viper-activate-input-method, viper-set-input-method): Ditto.
15251         * lisp/emulation/viper-util.el
15252         (viper-get-saved-cursor-color-in-replace-mode)
15253         (viper-get-saved-cursor-color-in-insert-mode)
15254         (viper-get-saved-cursor-color-in-emacs-mode)
15255         (viper-set-replace-overlay, viper-key-to-emacs-key)
15256         (viper-set-unread-command-events): Ditto.
15258         * lisp/emulation/viper.el (viper-go-away, viper-set-hooks)
15259         (viper-non-hook-settings): Remove XEmacs compat code.
15261 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
15263         Remove more XEmacs compat code from viper-*.el
15265         * lisp/emulation/viper-cmd.el (viper-special-read-and-insert-char)
15266         (viper-next-line-carefully, viper-next-line)
15267         (viper-previous-line): Ditto.
15269         * lisp/emulation/viper-mous.el (viper-surrounding-word)
15270         (viper-parse-mouse-key): Remove XEmacs compat code.
15272 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
15274         Remove XEmacs-only code from snake.el
15276         * lisp/play/snake.el (snake-mode): Remove XEmacs-only code.
15278 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
15280         Remove XEmacs code from tetris.el
15282         * lisp/play/tetris.el (tetris-mode): Remove XEmacs-only code.
15284 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
15286         Remove XEmacs compat code from idlw-shell.el
15288         * lisp/progmodes/idlw-shell.el (idlwave-shell-make-temp-file):
15289         Make into obsolete alias.
15290         (idlwave-shell-temp-file): Adjust callers.
15292 2019-10-04  Juanma Barranquero  <lekktu@gmail.com>
15294         Revert "Improve docstrings auto-generated by `define-minor-mode'"
15296         This reverts commit a397fa06d18d6ae37a3a1288f269e1ae9eb3b569.
15297         The original change breaks bootstrapping because of a circular dependency.
15299 2019-10-04  Dmitry Gutov  <dgutov@yandex.ru>
15301         Use file-name-as-directory
15303         * lisp/progmodes/project.el (project--vc-list-files): Use
15304         file-name-as-directory, to be on the safe side.
15306 2019-10-03  Stefan Kangas  <stefankangas@gmail.com>
15308         Remove more XEmacs compat code in cperl-mode.el
15310         * lisp/progmodes/cperl-mode.el (condition-case, cperl-problems)
15311         (cperl-problems-old-emaxen, cperl-init-faces)
15312         (cperl-word-at-point): Remove more XEmacs compat code.
15314 2019-10-03  Juanma Barranquero  <lekktu@gmail.com>
15316         Improve docstrings auto-generated by `define-minor-mode'
15318         * lisp/emacs-lisp/easy-mmode.el (easy-mmode--mode-docstring):
15319         When using `easy-mmode--arg-docstring' to auto-generate a
15320         docstring, refill it up to `emacs-lisp-docstring-fill-column'.
15322 2019-10-03  Stefan Kangas  <stefankangas@gmail.com>
15324         More doc fixes in package.el (Bug#37544)
15326         * lisp/emacs-lisp/package.el (package-menu-hide-low-priority)
15327         (package-pinned-packages, package-load-descriptor)
15328         package-archive-version, package-archive-contents)
15329         package--read-archive-file, package-read-archive-contents)
15330         (package-unsigned-archives, package-read-all-archive-contents)
15331         (package--download-and-read-archives, package-install):
15332         * lisp/subr.el (package--description-file):
15333         * test/lisp/emacs-lisp/package-tests.el: Doc fixes.
15335 2019-10-03  Dmitry Gutov  <dgutov@yandex.ru>
15337         Speed up project-files for Git projects
15339         * lisp/progmodes/project.el (project-files): New method.
15340         Implementation for VC projects that uses 'git ls-files' or 'hg
15341         status --all' for listing.  With gratitude to Tassilo Horn who has
15342         done most of the legwork and wrote the first version of the code
15343         (https://lists.gnu.org/archive/html/emacs-devel/2019-10/msg00069.html).
15344         (project--vc-list-files): New function, to be used by the above.
15345         (project--find-regexp-in-files):
15346         Silence warnings about nonexistent files.
15348 2019-10-03  Basil L. Contovounesios  <contovob@tcd.ie>
15350         Further improve button.el support for help-echo
15352         The last change to forward-button added support for help-echo values
15353         that are functions.  This patch fixes the arguments passed to such
15354         functions and further adds support for help-echo values that are
15355         forms (bug#37515).
15356         * doc/lispref/display.texi (Button Properties): Fix description of
15357         help-echo button property.
15358         * lisp/button.el (button--help-echo): New function.
15359         (forward-button): Use it.
15360         (backward-button): Clarify help-echo reference in docstring.
15361         * test/lisp/button-tests.el (button--help-echo-string)
15362         (button--help-echo-form, button--help-echo-function): New tests.
15364 2019-10-03  Basil L. Contovounesios  <contovob@tcd.ie>
15366         Use lexical-binding in button.el
15368         * lisp/button.el: Use lexical-binding.  Expand Keywords header.
15369         Quote function symbols as such.  Use ;;;-comments where appropriate.
15370         (button): Remove outdated commentary of defface.
15371         (define-button-type, make-button, insert-button, make-text-button)
15372         (insert-text-button): Clarify in docstring that PROPERTIES argument
15373         is a plist.
15374         (button-type-subtype-p, button-has-type-p): Do not overspecify
15375         return value in docstring.
15376         (button-put): Fix typo in commentary.
15378 2019-10-03  John Yates  <john@yates-sheets.org>  (tiny change)
15380         Preserve point better in hs-hide-comment-region
15382         * lisp/progmodes/hideshow.el (hs-hide-comment-region): Preserve point
15383         better when collapsing the region (bug#10856).
15385 2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>
15387         Make lisp-do-defun do the right thing with trailing comments
15389         * lisp/progmodes/inf-lisp.el (lisp-do-defun): Avoid including
15390         trailing comments in the region (bug#7974).
15392 2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>
15394         Fix bytecomp.el warning a different way than the previous patch
15396         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-mode-map):
15397         No need to use set-keymap-parent here; `define-derived-mode' will
15398         do that automatically.
15400 2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>
15402         Fix comment in previous doc-view patch
15404         * lisp/doc-view.el (doc-view-open-text): Comment fix.
15406 2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>
15408         In doc-view, keep point on the equivalent page in the text version
15410         * lisp/doc-view.el (doc-view-open-text): After opening the text
15411         version, put point on the page the user was reading (bug#16541).
15413 2019-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
15415         * lisp/pcomplete.el: Mark 'pcomplete' command as obsolete
15417         Remove redundant ':group's.
15418         (pcomplete, pcomplete-help): Mark as obsolete.
15420 2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>
15422         Mention the vc diff switches in diff-switches
15424         * lisp/vc/diff.el (diff-switches): Mention the vc diff switches in
15425         the doc string (bug#4422).
15427 2019-10-03  Alan Mackenzie  <acm@muc.de>
15429         C++ Mode: Correct the fontification of const auto foo
15431         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Correct a coding
15432         error involving `and' and `or'.
15434 2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>
15436         Touch up previous shr-dom-to-xml encoding change
15438         * lisp/net/shr.el (shr-dom-to-xml): Include an XML declaration if
15439         we're encoding the data.
15440         (shr-parse-image-data): Add comment about why encoding is necessary.
15442 2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>
15444         Fix up previous SVG-multibyte fix
15446         * lisp/net/shr.el (shr-dom-to-xml): For SVG images, take an
15447         optional charset parameter to return unibyte data.
15448         (shr-parse-image-data): Use it.
15449         (shr-tag-svg): Ditto.
15450         (svg--wrap-svg): Revert previous kludge.
15452 2019-10-03  Alan Mackenzie  <acm@muc.de>
15454         C++ Mode: Fontify correctly declarators with identifier preceded by &
15456         The problem was bar in the following being spuriously recognised as a
15457         function, and foo as a type, as though the & were a *: Foo foo (&bar);.
15459         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): New variable
15460         got-function-name-prefix, which is set when an operator like * (but not &)
15461         precedes the putative identifier in parentheses.  Test this variable when
15462         deciding whether or not to "move the type backwards" to the previous
15463         identifier.
15465         * lisp/progmodes/cc-langs.el (c-type-decl-operator-prefix-key): New lang const
15466         and var.
15468 2019-10-03  Michael Albinus  <michael.albinus@gmx.de>
15470         Fix typo in last commit
15472 2019-10-03  Michael Albinus  <michael.albinus@gmx.de>
15474         Further adaptions for shadowfile-tests.el
15476         * test/lisp/shadowfile-tests.el: Change some traces.
15477         (shadow-test-remote-temporary-file-directory): Adapt also remote
15478         home directory.
15479         (shadow--tests-cleanup): Cleanup Tramp.
15481 2019-10-02  Stefan Kangas  <stefankangas@gmail.com>
15483         Don't use obsolete name in em-cmpl.el
15485         * lisp/eshell/em-cmpl.el (eshell-complete-lisp-symbol): Update
15486         reference to 'elisp-completion-at-point' from its obsolete name.
15487         Reported by Carlos Pita <carlosjosepita@gmail.com>.  (Bug#31906)
15489 2019-10-02  Juri Linkov  <juri@linkov.net>
15491         * lisp/tab-bar.el (tab-bar-show): New defcustom.
15493         * lisp/tab-bar.el (tab-bar-close-current-tab, tab-bar-close-tab):
15494         (tab-bar-new-tab): Use tab-bar-show.
15496         * doc/emacs/frames.texi (Tab Bars): Add tab-bar-show.
15498         * lisp/speedbar.el (speedbar-mode): Set buffer-local tab-bar-mode
15499         and tab-line-format to nil to not show in dedicated speedbar frame.
15501 2019-10-02  Juri Linkov  <juri@linkov.net>
15503         * src/w32inevt.c: Take into account FRAME_TAB_BAR_LINES.
15505         * src/w32inevt.c (resize_event, maybe_generate_resize_event):
15506         Subtract FRAME_TAB_BAR_LINES from FRAME_MENU_BAR_LINES.
15508 2019-10-02  Eli Zaretskii  <eliz@gnu.org>
15510         Fix MS-Windows error when a directory on PATH doesn't exist
15512         * src/w32.c (faccessat): Support more MS-Windows native error
15513         codes that should be translated to ENOENT.  (Bug#37576)
15515 2019-10-02  Stefan Kangas  <stefankangas@gmail.com>
15517         Don't mention server-socket-dir in FAQ
15519         server-socket-dir is a defvar, and users should use the defcustom
15520         server-name instead.
15522         * doc/misc/efaq.texi (Using an already running Emacs process): Remove
15523         details on server-socket-dir, refer to Emacs Manual.  (Bug#20675)
15525 2019-10-02  Eli Zaretskii  <eliz@gnu.org>
15527         Fix a typo in url-http.el
15529         * lisp/url/url-http.el (url-http-parse-headers): Fix a typo.
15530         Reported by Mattias Engdegård <mattiase@acm.org>.
15532 2019-10-02  Sergio Durigan Junior  <sergiodj@sergiodj.net>
15534         Don't add trailing whitespace when passing argument to GDB
15536         * lisp/progmodes/gdb-mi.el (gdb-send): Don't append whitespace to
15537         'gdb-continuation'.  (Bug#25488)
15539 2019-10-01  Glenn Morris  <rgm@gnu.org>
15541         Update a substitute-command-keys test
15543         * test/src/doc-tests.el (doc-test-substitute-command-keys):
15544         Update for recent minibuffer map change.
15546 2019-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
15548         Gnus registry shutdown should also run the unload-hook
15550         * lisp/gnus/gnus-registry.el (gnus-registry-clear): Clearing the
15551         registry should also run the unload hooks.
15552           (gnus-registry-article-marks-to-names,
15553           gnus-registry-article-marks-to-chars): Now we can use a more general
15554           test here.
15556 2019-10-01  Juri Linkov  <juri@linkov.net>
15558         Merge branch 'feature/tabs'
15560         Remove unused code and reformat to 70 columns.
15562 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
15564         Avoid bugging out on multibyte SVG data in shr
15566         * lisp/net/shr.el (svg--wrap-svg): Ensure that the SVG data is
15567         unibyte.
15569 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
15571         Respect buffer-local values in comint-read-input-ring
15573         * lisp/comint.el (comint-read-input-ring): Use the buffer-local
15574         values (bug#6432).
15576 2019-10-01  Stefan Kangas  <stefankangas@gmail.com>
15578         Remove old commented out XEmacs compat code from syntax.el (Bug#37524)
15580         * lisp/emacs-lisp/syntax.el: Remove ancient commented out XEmacs
15581         compat code.  This code has been commented out since 2001.
15583 2019-10-01  Stefan Kangas  <stefankangas@gmail.com>
15585         Remove XEmacs compat code from url-*.el (Bug#37524)
15587         * lisp/url/url-file.el (url-file-build-filename, url-file)
15588         * lisp/url/url-privacy.el (url-setup-privacy-info): Remove XEmacs
15589         compat code.
15590         (url-device-type): Declare obsolete.
15592 2019-10-01  Stefan Kangas  <stefankangas@gmail.com>
15594         Remove XEmacs compat code from winner.el (Bug#37524)
15596         * lisp/winner.el (winner-active-region, winner-edges)
15597         (winner-window-list, winner-sorted-window-list, winner-win-data)
15598         (winner-make-point-alist): Remove XEmacs compat code.
15600 2019-10-01  Stefan Kangas  <stefankangas@gmail.com>
15602         Remove XEmacs compat code from term.el (Bug#37524)
15604         * lisp/term.el (term-mode-map, term-raw-map, term-mouse-paste):
15605         Remove XEmacs compat code.
15607 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
15609         Add support for Dired file marking from image-mode
15611         * doc/emacs/files.texi (File Conveniences): Document them.
15613         * lisp/image-mode.el (image-mode--mark-file): New function.
15614         (image-mode-unmark-file, image-mode-mark-file)
15615         (image-mode-copy-file-name-as-kill): New commands and keystrokes.
15617 2019-10-01  Stefan Kangas  <stefankangas@gmail.com>
15619         Move url-ns.el to obsolete/
15621         * lisp/url/url-ns.el: Move from here...
15622         * lisp/obsolete/url-ns.el: ...to here.  (Bug#19822)
15624 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
15626         Tweak mouse highlights in ediff-help
15628         * lisp/vc/ediff-help.el (ediff-set-help-overlays): Only put the
15629         mouse-face overlay on the actual commands (bug#5079).  This avoids
15630         a problem when you have very wide frames: The leading blank
15631         portion of the buffer would get the mouse highlights.
15633 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
15635         Remove XEmacs compat code from ediff-help.el
15637         * lisp/vc/ediff-help.el (ediff-help-region-map)
15638         (ediff-set-help-overlays, ediff-help-for-quick-help): Remove
15639         XEmacs compat code.
15641 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
15643         Make the help page mention the customizeable global mode variable
15645         * lisp/help-fns.el (help-fns--customize-variable): Factor out into
15646         own function for reuse.
15647         (help-fns--globalized-minor-mode): Use it to mention the
15648         equivalent variable.
15650         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
15651         Mark globalized minor modes as such (bug#7177).
15653 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
15655         Fix build error in bytecomp.el from previous change
15657 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
15659         Add a new command in *Compile-Log* buffers to re-byte-compile
15661         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-recompile):
15662         New command (bug#4516).
15663         (emacs-lisp-compilation--current-file)
15664         (emacs-lisp-compilation-mode-map): New variables with new `g'
15665         binding.
15666         (byte-compile-log-file): Set variable so that `g' can recompile it.
15668 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
15670         Allow 'M-<' in the minibuffer to behave more logically
15672         * doc/lispref/minibuf.texi (Completion Commands)
15673         (Text from Minibuffer): Document it.
15675         * lisp/minibuffer.el (minibuffer-beginning-of-buffer): New command
15676         (bug#3447).
15677         (map): Bind it.
15679 2019-10-01  Robert Pluim  <rpluim@gmail.com>
15681         Correct some custom type typos
15683         * lisp/image.el (image-use-external-converter):
15684         * lisp/progmodes/sql.el (sql-use-indent-support):
15685         * lisp/vc/add-log.el (add-log-dont-create-changelog-file): Fix
15686         misspelled 'boolean custom type.
15688         * lisp/progmodes/flymake-cc.el (flymake-cc-command): Correct custom
15689         type specification.  (Bug#30990)
15691 2019-09-30  Stephen Gildea  <stepheng+git-config-global@gildea.com>
15693         Move undocumented time-stamp formats closer to format-time-string
15695         * lisp/time-stamp.el (time-stamp-string-preprocess): Update some undocumented
15696         formatting characters of time-stamp format for closer (still incomplete)
15697         alignment with format-time-string.  They have displayed a warning since
15698         Emacs 20 (released in 1997), so it is unlikely anyone is using them.
15700         * test/lisp/time-stamp-tests.el: Update tests to match new expectations.
15702 2019-09-30  Stephen Gildea  <stepheng+savannah@gildea.com>
15704         time-stamp doc: recommend formats closer to format-time-string
15706         * lisp/time-stamp.el (time-stamp-format, time-stamp-pattern): Update
15707         recommended (documented) formats.  No code changes, just documentation.
15708         All recommended formats are compatible at least as far back as Emacs
15709         22.1 (released in 2007) and are now closer to compatibility with
15710         format-time-string.
15712         * test/lisp/time-stamp-tests.el: Update test comments to match.
15714 2019-09-30  Juanma Barranquero  <lekktu@gmail.com>
15716         Bump up max_specpdl_size to 1600
15718         * src/eval.c (init_eval_once): Set max_specpdl_size to 1600.
15719         * doc/lispref/variables.texi (Local Variables): Document it.
15721 2019-09-30  Eric Abrahamsen  <eric@ericabrahamsen.net>
15723         Update calling convention for nnmaildir-close-server
15725         * lisp/gnus/nnmaildir.el (nnmaildir-close-server): To take an optional
15726         "defs" arg, as changed in 2712187.
15728 2019-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
15730         * lisp/gnus/mm-uu.el: Use lexical-binding and cl-defstruct
15732         (mm-uu-type-alist): Make functions visible to byte-compiler.
15733         (mm-uu-entry): New defstruct.
15734         (mm-uu-configure): Use mapconcat.
15735         (mm-uu-dissect): Avoid setq on `func`.
15737 2019-09-30  Eli Zaretskii  <eliz@gnu.org>
15739         Fix quoting in gnutls.c comments and strings
15741         * src/gnutls.c (gnutls_make_error, emacs_gnutls_global_init)
15742         (Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
15743         (Fgnutls_hash_mac, Fgnutls_hash_digest): Fix quoting in doc
15744         strings and comments.
15746 2019-09-30  Lars Ingebrigtsen  <larsi@gnus.org>
15748         Make doc-view error message more informative
15750         * lisp/doc-view.el (doc-view-initiate-display): Make error message
15751         clearer (bug#3827).
15753 2019-09-30  Lars Ingebrigtsen  <larsi@gnus.org>
15755         Fix problem with non-ASCII MML description strings
15757         * lisp/gnus/mml.el (mml-insert-tag): Quote non-ASCII parameters.
15758         (mml-insert-mime-headers): Make it possible to have non-ASCII
15759         descriptions (bug#37555).
15761 2019-09-30  Lars Ingebrigtsen  <larsi@gnus.org>
15763         Mention locale-related complications in format-time-string doc string
15765         * src/timefns.c (Fformat_time_string): Mention that the width in
15766         specifiers like %NX is often in bytes, not characters (bug#20258).
15768 2019-09-30  Lars Ingebrigtsen  <larsi@gnus.org>
15770         Fix recent mm-uu.el typo
15772         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1): Fix typo in
15773         mm-uu introduced by previous patch.
15775 2019-09-30  Eli Zaretskii  <eliz@gnu.org>
15777         Improve description of face merging
15779         * doc/lispref/display.texi (Displaying Faces): More accurate
15780         description of merging face attributes of "underlying text".
15781         (Bug#1222)
15783 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15785         Make elisp- and emacs-index-search and default to the thing under point
15787         * lisp/menu-bar.el (elisp-index-search): Default to the thing
15788         under point interactively (bug#1119).
15789         (emacs-index-search): Ditto.
15790         (emacs-index--prompt): New helper function.
15792 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15794         Refactor mm-decode and friends to be explicit about when errors happen
15796         * lisp/gnus/mm-decode.el (mm-sec-status):
15797         (mm-sec-error): New functions to handle decryption problems more
15798         explicitly (bug#18393).
15799         (mm-possibly-verify-or-decrypt): Use the `sec-error' data to
15800         determine whether the operation failed or not.
15802         * lisp/gnus/mml-smime.el: Ditto.
15804         * lisp/gnus/mml2015.el: Used throughout.
15806 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15808         Fix rendering of degenerate tables some more in shr.el
15810         * lisp/net/shr.el (shr--fix-tbody): New function (bug#31665).
15811         (shr--fix-table): Use it to fix the
15812         <table><tbody>foo</tbody></table> case.
15814 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15816         shr table fix refactoring
15818         * lisp/net/shr.el (shr--fix-table): Refactor out into own function
15819         from...
15820         (shr-tag-table): ... this function.
15822 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15824         Change the commands in image-converter--converters to lists
15826         * lisp/image/image-converter.el (image-converter--converters):
15827         Change format of the commands to lists.
15828         (image-converter--probe, image-converter--convert): Adjust usages.
15830 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15832         Rename the new convert-images-externally variable
15834         * doc/emacs/files.texi (File Conveniences): Adjust documentation.
15836         * lisp/image.el (image-use-external-converter): Rename from
15837         convert-images-externally.
15839 2019-09-29  Juanma Barranquero  <lekktu@gmail.com>
15841         Silence byte-compiler warning
15843         * lisp/obsolete/info-edit.el (ibuffer-help-buffer-modes): Defvar it.
15845 2019-09-29  Stefan Kangas  <stefankangas@gmail.com>
15847         * lisp/dired-x.el (dired-virtual): Fix typo.
15849 2019-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
15851         * lisp/nxml/rng-valid.el: Use define-minor-mode
15853         Remove redundant `:group`s.
15854         (rng-validate-mode): Use define-minor-mode.
15855         (rng-validate-clear): Let-bind rng-current-schema instead of passing
15856         a `no-change-schema` argument.
15858 2019-09-29  Tom Willemse  <tom@ryuslash.org>
15860         Fix indenting in perl functions with doc-comments
15862         * lisp/progmodes/perl-mode.el (perl-calculate-indent): Skip
15863         doc-comments as well as comments and skip the entire comment, not just
15864         the line.  (Bug#21647)
15866 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15868         Update iso8601-tests for new interface
15870 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15872         Make iso8601-parse take a FORM parameter like `decode-time'
15874         * lisp/calendar/iso8601.el (iso8601-parse-time, iso8601-parse):
15875         Take a FORM parameter like `decode-time'.
15877 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15879         Add support for sub-second ISO8601 strings
15881         * lisp/calendar/iso8601.el (iso8601--decimalize): New function.
15882         (iso8601-parse-time): Support sub-second ISO8601 times.
15884 2019-09-29  Paul Eggert  <eggert@cs.ucla.edu>
15886         * src/timefns.c (Fdecode_time): Improve doc string.
15888 2019-09-29  Stefan Kangas  <stefankangas@gmail.com>
15890         Clarify recent ert manual change
15892         * doc/misc/ert.texi (Running Tests in Batch Mode): Say that ert test
15893         selector strings are regular expressions.
15895 2019-09-29  Alan Mackenzie  <acm@muc.de>
15897         Remove the compilation-arrow-overlay on a major mode change/reinitialization
15899         At the same time, remove the 2-character left margin.
15901         * lisp/progmodes/compile.el (compilation-set-up-arrow-spec-in-margin): put
15902         compilation-tear-down-arrow-spec-in-margin onto change-major-mode-hook.
15904 2019-09-29  Mattias Engdegård  <mattiase@acm.org>
15906         Add `rx-submatch-n' for compatibility (bug#37517)
15908         It was an internal symbol in the old `rx' implementation, used in old
15909         versions of the `flycheck' package.
15911         * lisp/emacs-lisp/rx.el (rx-submatch-n): Alias of `rx-to-string'.
15912         * test/lisp/emacs-lisp/rx-tests.el (rx-compat): Test it.
15914 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15916         Fix reverting doc-view buffers
15918         * lisp/doc-view.el (doc-view--revert-buffer): Actually use the new
15919         version of the PDF data (bug#26996).
15921 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15923         Allow customising pdf-to-text parameters
15925         * lisp/doc-view.el (doc-view-pdf->txt): Allow customising the
15926         parameters (bug#8519).
15927         (doc-view-pdftotext-program-args): New variable.
15929 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15931         Try ImageMagick last for external image converters
15933         * lisp/image/image-converter.el (image-converter--converters):
15934         Move ImageMagick last in the list.
15936 2019-09-29  Mattias Engdegård  <mattiase@acm.org>
15938         Fix linear equation system solving in Calc (bug#35374)
15940         * lisp/calc/calcalg2.el (math-try-solve-for):
15941         To solve Ax^n=0 where A is a nonzero constant and x the variable to
15942         solve for, solve x^n=0 instead of solving A=0 (which obviously fails)
15943         or something equally stupid.
15944         * test/lisp/calc/calc-tests.el (calc-test-solve-linear-system): New.
15946 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15948         Move convert-images-externally documentation to Emacs manual
15950         * doc/emacs/files.texi (File Conveniences): Move bit about
15951         convert-images-externally to user manual from lispref manual.
15953 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15955         Remove duplicated image conversion defcustom
15957         * lisp/image/image-converter.el (convert-external-images): Remove
15958         defcustom that was accidentally not removed when moving to
15959         image.el (and renamed).
15961 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15963         Add some commented-out tests for iso8601
15965 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15967         Fix up iso8601 time match regexp
15969         * lisp/calendar/iso8601.el (iso8601--time-match): The fraction
15970         mark can be either . or , and there can be arbitrarily many digits
15971         in the fraction.
15973 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15975         Put new Gnus groups in the completion table
15977         * lisp/gnus/gnus-start.el (gnus-group-change-level): Ensure that
15978         all new groups are in gnus-active-hashtb so that they can be
15979         completed to.
15981 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15983         Define nndraft-close-server according to new calling conventions
15985         * lisp/gnus/nnoo.el (nnoo-define-basics-1): *-close-server now
15986         takes a DEFS parameter (bug#20319).
15988 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
15990         Add new Gnus summary commands and keystrokes for "unseen" navigation
15992         * doc/misc/gnus.texi (Choosing Commands): Document them.
15993         * lisp/gnus/gnus-sum.el (gnus-summary-next-unseen-article)
15994         (gnus-summary-prev-unseen-article): New commands and
15995         keystrokes (bug#35213).
15997 2019-09-29  Eli Zaretskii  <eliz@gnu.org>
15999         Improve documentation of image conversion feature
16001         * lisp/image/image-converter.el (image-converter)
16002         (image-convert-p, image-convert):
16003         * lisp/image.el (convert-images-externally):
16004         * etc/NEWS:
16005         * doc/lispref/display.texi (Defining Images): Fix recently
16006         added documentation.
16008 2019-09-28  Lars Ingebrigtsen  <larsi@gnus.org>
16010         Remove :group from a recent defcustom
16012         * lisp/image.el (convert-images-externally): Remove :group.
16014 2019-09-28  Lars Ingebrigtsen  <larsi@gnus.org>
16016         If requested, use external image converters for exotic formats
16018         * doc/lispref/display.texi (Defining Images): Document it.
16020         * lisp/image.el (convert-images-externally): New variable.
16021         (image-type): Use it.
16022         (create-image): Convert images.
16024         * lisp/image/image-converter.el (image-converter--convert): New file.
16026 2019-09-28  Stephen Gildea  <stepheng+savannah@gildea.com>
16028         Reorganize time-stamp tests
16030         * test/lisp/time-stamp-tests.el: Group tests by when the format was or will be
16031         documented.  Add tests for a few more undocumented, volatile formats.
16032         Change AM hours test time to be a different hour from PM test time.
16033         (Making these changes to the tests now will minimize test changes
16034         needed later with anticipated code changes.)
16036 2019-09-28  Juri Linkov  <juri@linkov.net>
16038         Update documentation for tabs.
16040         * doc/emacs/frames.texi (Tab Bars): New node.
16042 2019-09-28  Juri Linkov  <juri@linkov.net>
16044         * lisp/tab-line.el: Add new defcustom tab-line-close-tab-action.
16046 2019-09-28  Lars Ingebrigtsen  <larsi@gnus.org>
16048         Expunge INBOX messages after splitting
16050         * lisp/gnus/nnimap.el (nnimap-split-incoming-mail): Expunge
16051         articles after splitting (bug#37541).
16053 2019-09-28  Lars Ingebrigtsen  <larsi@gnus.org>
16055         Clean up nnimap-split-incoming-mail slightly
16057         * lisp/gnus/nnimap.el (nnimap-split-incoming-mail): Don't call
16058         -delete-articles on empty lists (bug#37541).
16060 2019-09-28  Lars Ingebrigtsen  <larsi@gnus.org>
16062         Copy edit nnimap-expunge doc string
16064         * lisp/gnus/nnimap.el (nnimap-expunge): Copy edit doc string.
16066 2019-09-28  Eli Zaretskii  <eliz@gnu.org>
16068         Improve indexing of ELisp manual
16070         * doc/lispref/frames.texi (Font and Color Parameters): Add index
16071         entry for the 'mouse' face.
16073 2019-09-28  Stefan Kangas  <stefankangas@gmail.com>
16075         Fix customizing ibuffer-help-buffer-modes
16077         * lisp/ibuffer.el (ibuffer-help-buffer-modes)
16078         * lisp/obsolete/info-edit.el (ibuffer-help-buffer-modes): Move
16079         Info-edit-mode reference to obsolete file.
16081 2019-09-28  Stefan Kangas  <stefankangas@gmail.com>
16083         Document ert test selectors in batch mode (Bug#37476)
16085         * doc/misc/ert.texi (Running Tests in Batch Mode): Document test
16086         selectors.
16088 2019-09-28  Stefan Kangas  <stefankangas@gmail.com>
16090         Improve sorting in package list (Bug#37419)
16092         * lisp/emacs-lisp/package.el (package-menu-mode): Allow sorting by
16093         version or description.
16094         (package-menu--version-predicate): Fix sorting by version.
16095         (package-menu--description-predicate): Fix sorting by description.
16096         (package-menu--archive-predicate): Fall back to sorting by name if
16097         archive is the same.
16098         (package-menu--name-predicate, package-menu--status-predicate): Add
16099         doc string.
16100         * etc/NEWS: Announce the above changes.
16102 2019-09-28  Eli Zaretskii  <eliz@gnu.org>
16104         More improvements of doc strings in text-property-search.el
16106         * lisp/emacs-lisp/text-property-search.el (text-property-search-forward)
16107         (text-property-search-backward): Further improvements of doc
16108         strings.  (Bug#37488)
16110 2019-09-28  Axel Svensson  <mail@axelsvensson.com>  (tiny change)
16112         Update X keysym mapping
16114         * lisp/term/x-win.el (x-keysym-table): Update the mappings
16115         using current Xorg data.  (Bug#37530)
16117 2019-09-28  Stefan Kangas  <stefankangas@gmail.com>
16119         Add bug reporting and link the manual on the about screen
16121         * lisp/startup.el (fancy-about-text, normal-about-screen): Clarify
16122         that "Contribute" also describes how to report bugs.  Add new link
16123         "Emacs Manual".  (Bug#20697)
16125 2019-09-28  Eli Zaretskii  <eliz@gnu.org>
16127         Fix running on MS-Windows with non-existing home directory
16129         * lisp/startup.el (startup--xdg-or-homedot): Don't access a
16130         non-existent user home directory on windows-nt systems.
16131         (Bug#37536)
16133 2019-09-27  Lars Ingebrigtsen  <larsi@gnus.org>
16135         Mention doc-view-scale-internally in the DocView manual node
16137         * doc/emacs/misc.texi (DocView Navigation): Mention
16138         doc-view-scale-internally (bug#33226).
16140 2019-09-27  Mauro Aranda  <maurooaranda@gmail.com>
16142         Don't discard customizations in progress when adding comments (Bug#5358)
16144         * lisp/cus-edit.el (custom-comment-show): Add docstring.  Save the
16145         widget value in the :shown-value property, before redrawing.
16146         (custom-variable-modified-p): New function, to complement the return
16147         values of custom-variable-state.
16148         (custom-variable-state-set): Use it.
16149         (custom-face-value-create): Add children to the custom-face widget
16150         before setting the state, to be able to check for user edits.
16151         (custom-face-state-set): Check for user edits before calling
16152         custom-face-state (bug#5358).
16154         * test/lisp/custom-tests.el
16155         (custom-test-show-comment-preserves-changes): New test.
16157 2019-09-27  Nikolaus Rath  <Nikolaus@rath.org>
16159         Run gnus-summary-prepare-exit-hook after flags have been updated
16161         * lisp/gnus/gnus-sum.el (gnus-summary-exit): Gnus message flags
16162         must be set before expiration, not afterwards (bug#21071).
16164 2019-09-27  Lars Ingebrigtsen  <larsi@gnus.org>
16166         Change the lighter in epa-info-mode
16168         * lisp/epa.el (epa-info-mode): Change the name of the mode so that
16169         it doesn't look like it's Info mode (bug#7287).
16171 2019-09-27  Lars Ingebrigtsen  <larsi@gnus.org>
16173         gnus-thread-ignore-subject doc string clarification
16175         * lisp/gnus/gnus-sum.el (gnus-thread-ignore-subject): Document
16176         that when not ignoring subjects, sorting will not happen as
16177         expected (bug#35513).
16179 2019-09-27  Lars Ingebrigtsen  <larsi@gnus.org>
16181         Fix documentation on `C-u a' on nndiary group
16183         * doc/misc/gnus.texi (Diary Group Parameters): Remove apparently
16184         incorrect documentation about `C-u a' on nndiary groups
16185         (bug#36849).
16187 2019-09-27  Lars Ingebrigtsen  <larsi@gnus.org>
16189         Fix reversed check in mm-possibly-verify-or-decrypt
16191         * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Fix
16192         reverse check thinko that made unverified singed messages not
16193         display correctly.
16195 2019-09-27  Wilson Snyder  <wsnyder@wsnyder.org>
16197         .va/.vah/.sva/.svah now loads Verilog mode.
16199         * lisp/files.el (auto-mode-alist): Support .va /.vah/.sva/.svah file
16200         extensions to load verilog-mode for Verilog-AMS.  Reported by Shareef
16201         Jalloq.
16203 2019-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
16205         * lisp/net/nsm.el: Use lexical-binding
16207         (nsm-check-tls-connection, nsm-query): Don't pass explicitly `obarray`
16208         since it's the default anyway.
16209         (nsm-query, nsm-query-user, nsm-save-host): Remove redundant
16210         advertised-calling-convention.
16212 2019-09-27  Eli Zaretskii  <eliz@gnu.org>
16214         Fix display of box around images
16216         * src/xdisp.c (face_before_or_after_it_pos): Handle correctly
16217         when we are called with it->bidi_it.first_elt set.  (Bug#17114)
16219 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
16221         Fix problem with changing to correct NNTP server
16223         * lisp/gnus/nntp.el (nntp-close-server):
16224         * lisp/gnus/nnimap.el (nnimap-close-server):
16225         * lisp/gnus/gnus-int.el (gnus-close-server): Take an optional DEFS
16226         parameter to enable switching to the correct nnoo server (bug#20319)
16227         when there's two servers with the same address.
16229 2019-09-26  Nikolaus Rath  <Nikolaus@rath.org>
16231         nnimap.el: support additional expunge options
16233         * lisp/gnus/nnimap.el (nnimap-close-group)
16234         (nnimap-request-expire-articles, nnimap-delete-article)
16235         (nnimap-request-scan): Add new 'never, 'immediate, and 'on-exit
16236         settings for nnimap-expunge (bug#20670).
16238 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
16240         Tweak updating of readedness marks on the IMAP server
16242         * lisp/gnus/nnimap.el (nnimap-request-set-mark): Ensure that
16243         ticking/unticking also toggles readedness on the IMAP server
16244         (bug#22590).
16246 2019-09-26  Juanma Barranquero  <lekktu@gmail.com>
16248         * src/w32fns.c (Fw32_register_hot_key): Fix typo in docstring
16250 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
16252         Fix nnir searching on nested Gnus topics
16254         * lisp/gnus/nnir.el (gnus-group-make-nnir-group): On a topic line,
16255         search all the groups, even in sub-topics (bug#28090).
16257 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
16259         Don't hard-code the RSS structure so much in nnrss
16261         * lisp/gnus/nnrss.el (nnrss-get-namespace-prefix): Find the URL in
16262         any section in the RSS (bug#34685).
16264 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
16266         Add a new `dom-search' function
16268         * doc/lispref/text.texi (Document Object Model): Document it.
16270         * lisp/dom.el (dom-search): New function.
16272 2019-09-26  Katsumi Yamaoka  <yamaoka@jpl.org>
16274         Make forward-button support help-echo function (bug#37515)
16276         * lisp/button.el (forward-button): Support help-echo function.
16278 2019-09-26  Juri Linkov  <juri@jurta.org>
16280         Include ImageMagick file name regexps in image-file-name-regexp
16282         * lisp/image-file.el (image-file-name-regexp): If compiled with
16283         ImageMagick, include file name extensions it can handle (bug#9516).
16285 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
16287         mm-possibly-verify-or-decrypt should only issue errors when decrypting
16289         * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Only do
16290         the warning about failed decryption when we're handing encrypted
16291         parts, not when doing verification.
16293 2019-09-26  Stefan Kangas  <stefankangas@gmail.com>
16295         Add key bindings for ibuffer filter commands
16297         * lisp/ibuffer.el (ibuffer--filter-map): Add keybinding for
16298         'ibuffer-filter-chosen-by-completion' and
16299         'ibuffer-filter-by-directory'.  (Bug#6847)
16301 2019-09-26  Stefan Kangas  <stefankangas@gmail.com>
16303         Remove support for destructive splicing in elisp
16305         * src/lread.c (read1): Don't handle destructive splicing in
16306         backquote expressions (e.g. ",.<identifier>").  (Bug#19790)
16307         (syms_of_lread): Remove Qcomma_dot.
16308         * src/print.c (print_object): Don't check for Qcomma_dot.
16309         * test/src/eval-tests.el
16310         (eval-tests-19790-backquote-comma-dot-substitution): New test.
16311         * etc/NEWS: Announce it.
16313 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
16315         Fix error in display-startup-screen
16317         * lisp/startup.el (use-fancy-splash-screens-p): Fix error in
16318         display-startup-screen if create-image fails (bug#22072).
16320 2019-09-26  Stefan Kangas  <stefankangas@gmail.com>
16322         Add new function to clear tags in tabulated list
16324         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-clear-all-tags):
16325         New function to clear all tags from padding area in current buffer.
16326         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
16327         * etc/NEWS: Announce it.
16329 2019-09-26  Mauro Aranda  <maurooaranda@gmail.com>
16331         Don't indent unrelated widgets following widget of type 'other
16333         * lisp/wid-edit.el (widget 'other): Use \n instead of the %n escape in the
16334         :format property of this widget.  If %n is used at the end of the
16335         format string, unrelated widgets get indented.  (Bug#12533)
16337         * test/lisp/wid-edit-tests.el (widget-test-indentation-after-%n)
16338         (widget-test-indentation-after-newline)
16339         (widget-test-newline-and-indent-same-widget): New tests.
16341 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
16343         Make mm-view-pkcs7-verify use epg if requested
16345         * lisp/gnus/mm-view.el (mm-view-pkcs7-verify): Respect
16346         mml-smime-use (bug#18393).
16348 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
16350         Make it possible to view S/MIME verified emails
16352         * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): When
16353         dissecting the result, we need a header (bug#18393).
16355         * lisp/gnus/mm-view.el (mm-view-pkcs7-verify): Insert the verified
16356         string.
16358         * lisp/gnus/smime.el (smime-verify-region): Return the verified
16359         string.
16361 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
16363         Fix recent gnus-rescale-image change
16365         * lisp/gnus/gnus-util.el (gnus-rescale-image): Don't bug out on
16366         non-graphical Emacs versions.
16368 2019-09-26  Mattias Engdegård  <mattiase@acm.org>
16370         * etc/NEWS: Note removal of internal rx symbols (bug#37517)
16372 2019-09-26  Juanma Barranquero  <lekktu@gmail.com>
16374         * lisp/desktop.el (desktop-read): With argument, ask the user for DIRNAME.
16376         * etc/NEWS: Document it.
16378 2019-09-26  Michael Albinus  <michael.albinus@gmx.de>
16380         Avoid errors in tramp-tests with a remote ksh shell
16382         * test/lisp/net/tramp-tests.el (tramp--test-ksh-p): New defun.
16383         (tramp-test41-utf8, tramp-test41-utf8-with-stat)
16384         (tramp-test41-utf8-with-perl, tramp-test41-utf8-with-ls):
16385         Skip, when remote shell is ksh.
16387 2019-09-25  Mattias Engdegård  <mattiase@acm.org>
16389         Add rx extension mechanism
16391         Add a built-in set of extension macros: `rx-define', `rx-let' and
16392         `rx-let-eval'.
16394         * lisp/emacs-lisp/rx.el (rx-constituents, rx-to-string): Doc updates.
16395         (rx--builtin-symbols, rx--builtin-names, rx--local-definitions)
16396         (rx--lookup-def, rx--substitute, rx--expand-template)
16397         (rx--make-binding, rx--make-named-binding, rx--extend-local-defs)
16398         (rx-let-eval, rx-let, rx-define): New.
16399         (rx--translate-symbol, rx--translate-form): Use extensions if any.
16400         (rx): Use local definitions.
16401         * test/lisp/emacs-lisp/rx-tests.el (rx-let, rx-define)
16402         (rx-to-string-define, rx-let-define, rx-let-eval): New.
16403         * etc/NEWS (Changes in Specialized Modes and Packages):
16404         * doc/lispref/searching.texi (Rx Notation, Rx Functions, Extending Rx):
16405         Add node about rx extensions.
16407 2019-09-25  Mattias Engdegård  <mattiase@acm.org>
16409         New rx implementation
16411         * lisp/emacs-lisp/rx.el:
16412         * test/lisp/emacs-lisp/rx-tests.el:
16413         * doc/lispref/searching.texi (Rx Constructs):
16414         Rewrite rx for correctness, clarity, and performance.  The new
16415         implementation retains full compatibility and has more comprehensive
16416         tests.
16418         * lisp/emacs-lisp/re-builder.el (reb-rx-font-lock-keywords):
16419         Adapt to changes in internal variables in rx.el.
16421 2019-09-25  Juri Linkov  <juri@linkov.net>
16423         Improve customization.
16425         * lisp/tab-bar.el (tab-bar-new-tab-choice)
16426         (tab-bar-close-button-show): New defcustoms.
16427         (tab-bar-tab-name-function): New defvar.
16429         * lisp/tab-line.el (tab-line-new-tab-choice)
16430         (tab-line-close-button-show): New defcustoms.
16432 2019-09-25  Mattias Engdegård  <mattiase@acm.org>
16434         Allow regexp-quote to return its argument
16436         * src/search.c (Fregexp_quote): Only allocate a new string if needed.
16437         * doc/lispref/searching.texi (Regexp Functions):
16438         * etc/NEWS (Incompatible Lisp Changes): Document.
16440 2019-09-25  Mauro Aranda  <maurooaranda@gmail.com>
16442         Fix indentation of widgets (Bug#7851)
16444         * lisp/wid-edit.el (widget--should-indent-p): New function, to decide
16445         whether to indent or not.
16446         (widget-checklist-value-add-item, widget-radio-add-item)
16447         (widget-editable-list-format-handler)
16448         (widget-editable-list-entry-create)
16449         (widget-group-value-create): Use it (bug#7851).
16451 2019-09-25  Lars Ingebrigtsen  <larsi@gnus.org>
16453         Make gnus-rescale-image work on modern Emacs versions
16455         * lisp/gnus/gnus-util.el (gnus-rescale-image): Make this work with
16456         native image transforms.
16458 2019-09-25  Eli Zaretskii  <eliz@gnu.org>
16460         Improve documentation of 'text-property-search-forward'
16462         * lisp/emacs-lisp/text-property-search.el (text-property-search-forward)
16463         (text-property-search-backward): Improve doc strings.  (Bug#37488)
16465 2019-09-24  Juri Linkov  <juri@linkov.net>
16467         Small fixes.  Bind [tab-line mouse-1] to mouse-select-window.
16469         Revert an attempt to implement a non‐native tab bar on NS.
16471 2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>
16473         Make ImageMagick multi-image size calculations work for .ico files
16475         * src/image.c (imagemagick_load_image): Compute image sizes
16476         correctly in multi-image .ico files and the like (bug#18333).
16478 2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>
16480         Slight shr-put-image clean up
16482         * lisp/net/shr.el (shr-put-image): Use image-multi-frame-p
16483         directly, and remove outdated comments (image-multi-frame-p
16484         returns the delay).
16486 2019-09-24  Alan Mackenzie  <acm@muc.de>
16488         New edebug-spec, nested-backquote-form.  This fixes bug #31090
16490         * lisp/emacs-lisp/edebug.el: (nested-backquote-form): a new edebug-spec which
16491         handles nested backquote structures without a , or ,@ "between" the outer and
16492         inner backquotes.
16493         (backquote-form): Use nested-backquote-form.
16495 2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>
16497         Make --with-imagemagick bug out if there's no support for it
16499         * configure.ac (HAVE_IMAGEMAGICK): Stop configuration if the user
16500         has said --with-imagemagick, but there's no support for it
16501         (bug#24455).
16503 2019-09-24  Pip Cet  <pipcet@gmail.com>
16505         Allow a :stride argument so XBM boolvecs are in the right format.
16507         * src/image.c (xbm_image_p): Explicitly specify the right stride if a
16508         bool vector is used as argument.
16509         * doc/lispref/display.texi (XBM Images): Describe bool vectors
16510         accurately.
16511         * etc/NEWS: Document the change (bug#36337).
16513 2019-09-24  Michael Albinus  <michael.albinus@gmx.de>
16515         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Ban "stat" on Solaris.
16517 2019-09-24  Noah Swainland  <nks@nks.sh>  (tiny change)
16519         (calc): Fix link in doc string
16521         * lisp/calc/calc.el (calc): Fix link in doc string (bug#37500).
16523 2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>
16525         Allow controlling when to send cookies when retrieving images in shr
16527         * lisp/net/shr.el (shr--use-cookies-p): New function.
16528         (shr-tag-img): Use it.
16529         (shr-cookie-policy): New variable.
16530         (shr-save-contents): Use cookies.
16532         * doc/misc/eww.texi (Advanced): Document it.
16534 2019-09-24  Robert Pluim  <rpluim@gmail.com>
16536         Document how to listen on all interfaces in the Elisp manual
16538         * doc/lispref/processes.texi (Network Processes): Explain how to
16539         listen on all interfaces.
16541 2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>
16543         Allow url-insert-file-contents to work on 304 responses
16545         * lisp/url/url-http.el (url-http--insert-file-helper): If the
16546         server answers 304 Not modified, then that's not an error
16547         (bug#26063).
16549 2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>
16551         Clean up url-parse-args slightly
16553         * lisp/url/url-util.el (url-parse-args): Don't leave temporary
16554         buffer behind.  Clean up slightly.
16556 2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>
16558         Fix old problem with HTTPS HTTP 0.9 sentinels
16560         * lisp/url/url-http.el (url-http-end-of-document-sentinel): Pass
16561         on the tls parameter if we have HTTPS (bug#14983).
16563 2019-09-24  Eli Zaretskii  <eliz@gnu.org>
16565         Resurrect support for negative frame geometry parameters on MS-Windows
16567         * src/w32fns.c (my_create_window): Avoid assertion violations
16568         in XFIXNUM when the 'top' or 'left' frame parameters are
16569         neither fixnums nor 'unbound', in which case
16570         f->size_hint_flags are set by gui_figure_window_size.
16571         (Bug#37415)
16573 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16575         Allow scrolling the NSM window
16577         * lisp/net/nsm.el (nsm-query-user): Allow moving
16578         backwards/forwards in the NSM buffer if the window is too small to
16579         show all the details (bug#28069).
16581 2019-09-23  Wilson Snyder  <wsnyder@wsnyder.org>
16583         Verilog-Mode collected updates.
16585         * lisp/progmodes/verilog-mode.el (verilog-auto-inst-param): Add regexp
16586         parameter to AUTOINSTPARAM to select which parameters to export.  Reported
16587         by Vish S.
16588         (verilog-build-defun-re): Fix `verilog-goto-defun' to find automatic
16589         function/tasks, bug1492.  Reported by Enze Chi.
16590         (verilog-preprocessor): Update default.
16592 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16594         Rename "dumbquotes" to "smartquotes" in Gnus
16596         * doc/misc/gnus.texi (Article Washing): Adjust documentation.
16598         * etc/refcards/gnus-refcard.tex (subsection*{Notes}): Ditto
16600         * lisp/gnus/gnus-art.el (gnus-article-smartquotes-map): Rename
16601         from gnus-article-dumbquotes-map and add obsolete alias.
16602         (article-treat-smartquotes): Ditto.
16604         * lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Adjust menus.
16606 2019-09-23  Jan Beich  <jbeich@vfemail.net>
16608         mml-smime-openssl-sign): Use all the keys
16610         * lisp/gnus/mml-smime.el (mml-smime-openssl-sign): Use all the
16611         keys in `smime-keys' for this identifier (bug#17780).
16613 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16615         Adjust exif-tests.el to new interface
16617 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16619         Fix regression in mm-possibly-verify-or-decrypt by previous patch
16621         * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Remove debugging
16623 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16625         Fix regression in mm-possibly-verify-or-decrypt by previous patch
16627         * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Be less
16628         strict about what's considered a success.
16630 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16632         Fix S/MIME continuation header when sending
16634         * lisp/gnus/mml-smime.el (mml-smime-epg-sign): Fix continuation
16635         header.
16637 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16639         make-network-process doc clarification
16641         * src/process.c (Fmake_network_process): Further doc clarification
16642         for listening on "::".
16644 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
16646         Bring back mention of NNTP gmane
16648         Problem reported by Michael Albinus at:
16649         https://lists.gnu.org/r/emacs-devel/2019-09/msg00519.html
16650         * admin/notes/emba: Reintroduce mention of nttp+news.gmane.org,
16651         since that still works.
16653 2019-09-23  Alan Third  <alan@idiocy.org>
16654             martin rudalics  <rudalics@gmx.at>
16656         Fix GNUstep build
16658         * src/nsfont.m (nsfont_draw): Change type to match.
16660 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16662         Fix cedet compilation warning
16664         * lisp/cedet/semantic/db.el (semanticdb-dirty-p): Fix compilation
16665         warning by moving to after definition.
16667 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16669         Update example in the Mail Aliases node of lispintro
16671         * doc/lispintro/emacs-lisp-intro.texi (Mail Aliases): Change
16672         example to use Message mode, since that's the default for `C-x m'
16673         now (bug#13855).
16675 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16677         Make mm-possibly-verify-or-decrypt pass decryption error
16679         * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): If
16680         there's an error, report the error back in a new part (bug#25649).
16682 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16684         * lisp/dired-aux.el (dired-copy-file-recursive): Make prompt clearer.
16686 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16688         Don't bug out on invalid addresses in mml-secure-check-user-id
16690         * lisp/gnus/mml-sec.el (mml-secure-check-user-id): Don't bug out
16691         on invalid addresses (bug#33613).
16693 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16695         Tweak how much <sup>/<sub> raises/lowers text in shr
16697         * lisp/net/shr.el (shr-tag-sup, shr-tag-sub): Raising by 0.5 gives
16698         very ugly displays.  0.2 seems sufficient for legibility.
16700 2019-09-23  Mattias Engdegård  <mattiase@acm.org>
16702         Fix trig simplification crash (bug#33052)
16704         * lisp/calc/calc-alg.el (calcFunc-sec, calcFunc-csc, calcFunc-cot):
16705         Check that `math-known-sin' and `math-known-tan' succeeded before
16706         using their value in arithmetic.
16707         * test/lisp/calc/calc-tests.el (calc-test-trig): Add regression tests.
16708         Backport from master.
16710 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16712         Signal errors if EPA can't verify data
16714         * lisp/epa.el (epa-verify-region): Signal an error if the region
16715         couldn't be verified (bug#14720).
16716         (epa-verify-file): Say that the file couldn't be verified instead
16717         of just "...done".
16719 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16721         Make "Show Hidden Headers" in Message buffers more obvious
16723         * lisp/gnus/message.el (message-widen-and-recenter): New command
16724         to ensure that we show most of the headers (bug#23252).
16725         (message-mode-field-menu): Use it.
16727 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16729         Add a NEWS entry for message citation levels
16731 2019-09-23  Hong Xu  <hong@topbug.net>
16733         Add different faces for different citation levels in Message mode
16735         * lisp/gnus/message.el (message-font-lock-keywords)
16736         (message-font-lock-make-cited-text-matcher): Add support for
16737         different faces for different citation levels.  The faces are
16738         defined in the faces named `message-cited-text-N': N of the
16739         Mth citation level will be M mod 4.
16740         (message-cited-text-1, message-cited-text-2)
16741         (message-cited-text-3, message-cited-text-4): Add customization
16742         for the faces of 4 different citation level.  In the future, the
16743         number of faces may increase, as the code is flexible enough to
16744         automatically deal with that.
16745         (message-cite-level-function): Add a function to customize the
16746         determination of cite levels given the prefix of the cited text
16747         (bug#25022).
16749 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16751         Add an `authinfo-hidden' variable
16753         * lisp/auth-source.el (authinfo-hidden): New variable.
16754         (authinfo--hide-passwords): Use it to allow users to decide what
16755         to hide.
16757 2019-09-23  nitishch  <nitishchandrachinta@gmail.com>  (tiny change)
16759         "]" is not a standard citation prefix character
16761         * lisp/mail/sendmail.el (mail-citation-prefix-regexp): Don't
16762         regard "]" as a citation prefix character (bug#25150).  This
16763         allows some motion commands (like forward-sexp) to behave more as
16764         expected in Message mode buffers.
16766 2019-09-23  Mattias Engdegård  <mattiase@acm.org>
16768         Fix linear equation system solving in Calc (bug#35374)
16770         * lisp/calc/calcalg2.el (math-try-solve-for):
16771         To solve Ax^n=0 where A is a nonzero constant and x the variable to
16772         solve for, solve x^n=0 instead of solving A=0 (which obviously fails)
16773         or something equally stupid.
16774         * test/lisp/calc/calc-tests.el (calc-test-solve-linear-system): New.
16776 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16778         Keep a cache of encoded Message contents to avoid re-GPG-in data
16780         * lisp/gnus/gnus-msg.el (gnus-inews-do-gcc): Use it to avoid
16781         re-encoding.
16783         * lisp/gnus/message.el (message-encoded-mail-cache): New variable.
16785         * lisp/gnus/message.el (message-send-mail): Store encoded.
16786         (message--cache-encoded): New function.
16787         (message-do-fcc): Store encoded (bug#25155).
16789 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
16791         * lisp/gnus/message.el (message-send-mail): Remove misleading comment.
16793 2019-09-23  Juanma Barranquero  <lekktu@gmail.com>
16795         Fix arg name of `text-property-search-{forward|backward}' (bug#37488)
16797         * lisp/emacs-lisp/text-property-search.el
16798         (text-property-search-forward, text-property-search-backward):
16799         Rename arg NOT-IMMEDIATE to NOT-CURRENT.  Also fix docstring.
16801 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
16803         Update some URLs
16805         This mostly changes http: to https: in URLs.  It also updates
16806         some URLs that have moved, removes some URLs that no longer
16807         work, recommends against using procmail (procmail.org no
16808         longer works), and removes some mentions of the
16809         no-longer-existing Gmane, LPF and VTW.
16810         It doesn't update all URLs, just the ones I had time for.
16811         * GNUmakefile (help):
16812         * admin/admin.el (manual-doctype-string):
16813         * admin/charsets/Makefile.in (${charsetdir}/ALTERNATIVNYJ.map):
16814         * admin/charsets/mapconv:
16815         * lisp/net/soap-client.el (soap-create-envelope):
16816         * lisp/org/org.el (org-doi-server-url):
16817         * lisp/textmodes/bibtex.el (bibtex-generate-url-list):
16818         Prefer https: to http: un URLs.
16820 2019-09-22  Paul Eggert  <eggert@cs.ucla.edu>
16822         Update from Gnulib
16824         This incorporates:
16825         2019-09-22 Update some URLs
16826         2019-09-15 fcntl-h: fix compilation error of creat.c on MSVC
16827         2019-09-15 creat: new module
16828         2019-09-15 access: new module
16829         2019-09-09 Add option to assume best, not worst, when cross-compiling.
16830         * build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
16831         * lib/careadlinkat.c, lib/careadlinkat.h, lib/count-leading-zeros.h:
16832         * lib/count-trailing-zeros.h, lib/diffseq.h, lib/fcntl.in.h:
16833         * lib/ftoastr.c, lib/get-permissions.c:
16834         * lib/ieee754.in.h, lib/inttypes.in.h, lib/mktime.c, lib/open.c:
16835         * lib/pathmax.h, lib/pipe2.c, lib/stddef.in.h, lib/stdint.in.h:
16836         * lib/stdlib.in.h, lib/str-two-way.h, lib/string.in.h, lib/time.in.h:
16837         * lib/timegm.c, lib/unistd.in.h, m4/canonicalize.m4:
16838         * m4/extern-inline.m4, m4/fcntl_h.m4, m4/fdopendir.m4:
16839         * m4/getgroups.m4, m4/getopt.m4, m4/gettimeofday.m4:
16840         * m4/gnulib-common.m4, m4/largefile.m4:
16841         * m4/lstat.m4, m4/memmem.m4, m4/mktime.m4, m4/nocrash.m4, m4/open.m4:
16842         * m4/pselect.m4, m4/putenv.m4, m4/readlink.m4, m4/regex.m4:
16843         * m4/symlink.m4, m4/unistd_h.m4, m4/utimens.m4, m4/utimes.m4:
16844         Copy from Gnulib.
16845         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
16846         * m4/open-slash.m4: New file, copied from Gnulib.
16848 2019-09-22  Stephen Gildea  <stepheng+savannah@gildea.com>
16850         Expand time-stamp unit tests to cover all formatting options
16852         * test/lisp/time-stamp-tests.el: Expand unit tests to cover all formatting options.
16853         These tests validate time-stamp-pattern formatting that has existed
16854         since at least Emacs 22 (released in 2007).  The tests cover both
16855         documented behavior and behavior implemented to support future migrations.
16857         * test/lisp/time-stamp-tests.el (time-stamp-string): Add a second argument (TIME) to
16858         open a testing seam.  Have the unit tests call this public function.
16860         * test/lisp/time-stamp-tests.el (time-stamp-string, time-stamp-string-preprocess):
16861         Remove the second pass through time-string--format.  (Previously both
16862         functions called it.)  It was used only to handle "%", but this is now
16863         handled by having time-stamp-string-preprocess not double it.
16864         Not doubling the "%" in time-stamp-string-preprocess fixes the padding
16865         of "%2%", which was discovered by the new unit tests to be wrong.
16867 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
16869         Clarify `debug' doc string
16871         * lisp/emacs-lisp/debug.el (debug): Mention that inhibit-redisplay
16872         will inhibit the function.
16874 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
16876         Make Message warn about invalid addresses
16878         * lisp/gnus/message.el (message-check-recipients): Warn about
16879         invalid email addresses (bug#32639).
16881 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
16883         Remove Gnus posting style reference to message-reply-headers
16885         * doc/misc/gnus.texi (Posting Styles): Remove bit about
16886         message-reply-headers, because it has never worked.
16888 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
16890         gnus-use-atomic-windows should default to nil
16892         * lisp/gnus/gnus-win.el (gnus-use-atomic-windows): Default to nil.
16894 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
16896         message-reply-headers doc fix
16898         * doc/misc/gnus.texi (Posting Styles): Update the type of the
16899         message-reply-headers object.
16901 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
16903         mailclient can't send attachments
16905         * lisp/mail/mailclient.el (mailclient-send-it): Warn about trying
16906         to send attachments (bug#34992).
16908 2019-09-22  Juri Linkov  <juri@linkov.net>
16910         Improve customizability and better tab separators.
16912         * lisp/tab-bar.el (tab-bar-tabs-function): New defvar.
16914         * lisp/tab-line.el (tab-line-tab-name-function)
16915         (tab-line-tabs-function): New defvars.
16917 2019-09-22  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
16919         Ignore comments and strings when recognizing JSX
16921         * lisp/progmodes/js.el (js-syntax-propertize): Ignore comments and
16922         strings.
16923         * test/manual/indent/jsx-comment-string.jsx: New test.
16925 2019-09-22  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
16927         Make js-jsx-regexps case-sensitive
16929         The regexp in this list used a capitalized “React” because it actually
16930         should be capitalized like that.  Otherwise, the following code would
16931         produce a false positive match: import Thing from './react/Thing'
16933         * lisp/progmodes/js.el (js-jsx-regexps): Update docstring.
16934         (js-jsx--detect-and-enable): Match case-sensitively when determining
16935         whether JSX should be enabled.
16937 2019-09-22  Paul Eggert  <eggert@cs.ucla.edu>
16939         Avoid crashes when casifying noncontiguous regions
16941         This is a followon fix for Bug#37477.
16942         * lisp/simple.el (region-extract-function):
16943         Use setq here, since the var is now defined in C code.
16944         * src/casefiddle.c (casify_pnc_region): New function.
16945         (Fupcase_region, Fdowncase_region, Fcapitalize_region)
16946         (Fupcase_initials_region): Use it.
16947         (Fupcase_initials_region): Add region-noncontiguous-p flag
16948         for consistency with the others.  All uses changed.
16949         (syms_of_casefiddle): Define Qbounds, Vregion_extract_function.
16950         * src/insdel.c (prepare_to_modify_buffer_1):
16951         * src/keyboard.c (command_loop_1):
16952         Use Vregion_extraction_function.
16953         * src/insdel.c (syms_of_insdel): No need to define
16954         Qregion_extract_function.
16955         * test/src/casefiddle-tests.el (casefiddle-oldfunc): New var.
16956         (casefiddle-loopfunc, casefiddle-badfunc): New functions.
16957         (casefiddle-invalid-region-extract-function): New test.
16959 2019-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
16961         * lisp/help-fns.el: Fix missing dependency
16963 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
16965         Remove references to domain that no longer exists
16967         * doc/misc/gnus-faq.texi (FAQ 7-1):
16968         * doc/misc/gnus.texi (Maildir):
16969         * lisp/gnus/nnmaildir.el: qmail.org no longer exists.
16971 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
16973         Fix "password" detection in authinfo mode
16975         * lisp/auth-source.el (authinfo--hide-passwords): Ensure that we
16976         only hit actual "password" entries and not "foo-password" and the
16977         like.
16979 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
16981         Fix warning about @xref in parenthesis
16983         * doc/misc/gnus.texi (Window Layout): Use @pxref in parentheses.
16985 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
16987         Note that image-mode automatically rotates
16989 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
16991         Automatically rotate images in image-mode based on Exif data
16993         * lisp/image-mode.el (image-toggle-display-image): Get the
16994         orientation from the Exif data, if any.
16996 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
16998         Adjust the exif.el interface functions
17000         * lisp/image/exif.el (exif-parse-buffer): New function.
17001         (exif-orientation): Ditto.
17002         (exif-error): New error symbol, and adjust all error signaling to
17003         only use that signal.
17005 2019-09-22  Andreas Schwab  <schwab@linux-m68k.org>
17007         Fix compilation with CHECK_STRUCTS
17009         * src/pdumper.c (dump_buffer): Update hash of struct buffer.
17011 2019-09-21  Eric Abrahamsen  <eric@ericabrahamsen.net>
17013         New option for making Gnus window layouts atomic
17015         * lisp/gnus/gnus-win.el (gnus-use-atomic-windows): New boolean
17016           customization option.
17017           (gnus-configure-windows): When removing old window layouts, check
17018           for and remove atomicity.
17019           (gnus-configure-windows): When gnus-use-atomic-windows is non-nil,
17020           make Gnus window layouts atomic.
17021         * doc/misc/gnus.texi (Window Layout): Document.
17023 2019-09-21  Stefan Kangas  <stefankangas@gmail.com>
17025         * src/fns.c (Fbuffer_hash): Improve doc string.
17027 2019-09-21  Juri Linkov  <juri@linkov.net>
17029         Support rectangular regions in capitalize-region and capitalize-dwim.
17031         * lisp/simple.el (capitalize-dwim): Add arg region-noncontiguous-p
17032         in capitalize-region call.
17034         * src/casefiddle.c (Fcapitalize_region): Add arg region-noncontiguous-p.
17035         If non-nil, operate on multiple chunks.  (Bug#37477)
17036         (Fdowncase_region): Use builtin symbol Qregion_extract_function
17037         rather than calling intern.
17039 2019-09-21  Juri Linkov  <juri@linkov.net>
17041         Take into account FRAME_TAB_BAR height in more places.
17043         * src/dispnew.c (handle_window_change_signal, init_display_interactive):
17044         * src/frame.c (make_terminal_frame, Fmake_terminal_frame):
17045         * src/keyboard.c (Fsuspend_emacs):
17046         * src/term.c (Fresume_tty):
17047         * src/xterm.c (x_check_fullscreen):
17048         Subtract FRAME_TAB_BAR_LINES.
17050         * src/xterm.c (x_new_font): Set FRAME_TAB_BAR_HEIGHT.
17051         (x_new_font, x_check_fullscreen, x_set_window_size_1)
17052         (x_set_window_size, x_wm_set_size_hint): Add FRAME_TABBAR_HEIGHT.
17054 2019-09-21  Eric Abrahamsen  <eric@ericabrahamsen.net>
17056         Use eieio-object-p, not obsolete object-p
17058         Continued fixes for a81223aeaa
17060         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-names,
17061           gnus-registry-article-marks-to-chars): object-p is obsolete.
17063 2019-09-21  Stefan Kangas  <stefankangas@gmail.com>
17065         Several doc fixes in package.el
17067         * lisp/emacs-lisp/package.el (top-level)
17068         (package-check-signature, package--from-builtin)
17069         (package-desc-full-name, package-desc-suffix)
17070         (package-desc--keywords, package--bi-desc)
17071         (package-process-define-package, package-archive-base)
17072         (package-install-from-archive, package-install-from-buffer)
17073         (package-install-file, package-autoremove, describe-package-1)
17074         (package-install-button-action, package-delete-button-action)
17075         (package-keyword-button-action, package-make-button)
17076         (package--print-email-button, package-list-unversioned)
17077         (package--emacs-version-list, package-menu-toggle-hiding)
17078         (package-hidden-regexps, package-menu-hide-package)
17079         (package-menu-get-status, package-menu--find-upgrades)
17080         (package-menu--post-refresh): Doc fixes.  (Bug#37410)
17082 2019-09-21  Paul Eggert  <eggert@cs.ucla.edu>
17084         Revert too-picky file-access tests
17086         Problem reported by Andreas Schwab (Bug#37475).
17087         * doc/lispref/files.texi (Writing to Files)
17088         (Testing Accessibility, Kinds of Files):
17089         Document that accessibility and file-type predicates return nil
17090         if there is trouble determining accessibility or type.
17091         * etc/NEWS: Adjust, and list the affected primitives.
17092         * src/callproc.c (init_callproc): Go back to Ffile_exists_p.
17093         * src/fileio.c (PICKY_EACCES, file_test_errno):
17094         Remove.  All uses removed.
17095         (Ffile_name_case_insensitive_p, Ffile_exists_p, Ffile_symlink_p)
17096         (Ffile_directory_p, Ffile_regular_p): Document that these
17097         functions return nil if there is trouble.
17098         (Ffile_name_case_insensitive_p, check_file_access)
17099         (Ffile_writable_p, Ffile_symlink_p, Ffile_directory_p)
17100         (Ffile_accessible_directory_p, Ffile_regular_p)
17101         * src/lread.c (Fload):
17102         Go back to treating trouble in determining the answer as if the
17103         file were missing.
17104         * src/fileio.c (Ffile_newer_than_file_p): Use file_attribute_errno
17105         not file_test_errno, since returning nil is not appropriate when
17106         there are two files to test; e.g., in the rare cases where both
17107         file timestamps have overflowed then neither t nor nil is correct.
17109 2019-09-21  Noam Postavsky  <npostavs@gmail.com>
17111         Remove lisp/erc/ file-local indent-tabs-mode settings
17113         * lisp/erc/erc-autoaway.el:
17114         * lisp/erc/erc-backend.el:
17115         * lisp/erc/erc-button.el:
17116         * lisp/erc/erc-compat.el:
17117         * lisp/erc/erc-dcc.el:
17118         * lisp/erc/erc-fill.el:
17119         * lisp/erc/erc-ibuffer.el:
17120         * lisp/erc/erc-identd.el:
17121         * lisp/erc/erc-imenu.el:
17122         * lisp/erc/erc-join.el:
17123         * lisp/erc/erc-list.el:
17124         * lisp/erc/erc-log.el:
17125         * lisp/erc/erc-match.el:
17126         * lisp/erc/erc-menu.el:
17127         * lisp/erc/erc-netsplit.el:
17128         * lisp/erc/erc-networks.el:
17129         * lisp/erc/erc-notify.el:
17130         * lisp/erc/erc-page.el:
17131         * lisp/erc/erc-pcomplete.el:
17132         * lisp/erc/erc-replace.el:
17133         * lisp/erc/erc-ring.el:
17134         * lisp/erc/erc-services.el:
17135         * lisp/erc/erc-sound.el:
17136         * lisp/erc/erc-speedbar.el:
17137         * lisp/erc/erc-stamp.el:
17138         * lisp/erc/erc-track.el:
17139         * lisp/erc/erc-truncate.el:
17140         * lisp/erc/erc-xdcc.el:
17141         * lisp/erc/erc.el: Remove indent-tabs-mode setting, so that we follow
17142         Emacs' global indent-tabs-mode=nil setting (and much of the
17143         indentation in these fails is already spaces anyway).  Also remove
17144         tab-width=8 settings, since those are redundant with the setting in
17145         the top-level .dir-locals.el.
17147 2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>
17149         Fix some commentary typos in exif.el
17151         * lisp/image/exif.el (exif--parse-exif-chunk)
17152         (exif--parse-directory): Commentary typo fixes.
17154 2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>
17156         Add an Exif parsing library
17158         * lisp/image/exif.el: New file (bug#23070).
17160         * test/lisp/image/exif-tests.el: Add some basic tests.
17162 2019-09-21  Alan Mackenzie  <acm@muc.de>
17164         CC Mode: Fix wrong fontification of FOO in ASSERT (FOO && !BAR)
17166         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Don't recognize the
17167         construct in CASE 18, unless additionally at-decl-end is set.
17169 2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>
17171         Fix two ` characters in NEWS
17173 2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>
17175         Hide passwords in .authinfo and .netrc files
17177         * lisp/auth-source.el (authinfo-mode): New mode (bug#28785).
17178         (authinfo--hide-passwords, authinfo--toggle-display): New functions.
17180         * lisp/files.el (auto-mode-alist): Use authinfo-mode for .authinfo
17181         and .netrc files.
17183 2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>
17185         Allow reveal.el to toggle `display' properties
17187         * lisp/reveal.el (reveal-open-new-overlays): Allow also toggling
17188         `displa' overlay properties (bug#28785).
17190 2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>
17192         Mention image caching in the `image-size' doc string
17194         * src/image.c (Fimage_size): Mention that this function caches
17195         images, and what to do about that (bug#33275).
17197 2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>
17199         Mention how to listen to all interfaces in make-network-process
17201         * src/process.c (Fmake_network_process): Mention how to listen to
17202         all interfaces (bug#34617).
17204 2019-09-21  Michael Albinus  <michael.albinus@gmx.de>
17206         * lisp/net/tramp.el (tramp-handle-file-modes): Check for nil file-attributes.
17208 2019-09-21  Eli Zaretskii  <eliz@gnu.org>
17210         * lisp/completion.el (completion-kill-region): Doc fix.
17212 2019-09-20  Eric Abrahamsen  <eric@ericabrahamsen.net>
17214         Fix to a81223aeaa
17216         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
17217           (gnus-registry-article-marks-to-names): The registry is an object,
17218           not a hash table.
17220 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
17222         Allow the user to specify Content-type in Message mode
17224         * lisp/gnus/message.el (message-encode-message-body): Pass in the
17225         content type if the user has given one.
17227         * lisp/gnus/mml.el (mml-parse-1): Remove bogus peek at
17228         Content-type (there are no headers here)  (bug#36527).
17230         * lisp/gnus/mml.el (mml-generate-mime): Respect that.
17232 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
17234         Move describe-face to the new help-fns machinery
17236         * lisp/help-fns.el (describe-face): Move to here from faces.el and
17237         split up (bug#36670).
17238         (help-fns--face-custom-version-info):
17239         (help-fns--face-attributes): Factored out into own functions.
17240         (help-fns-describe-face-functions): New variable.
17242         * lisp/emacs-lisp/subr-x.el (when-let): Add autoload cookie.
17244 2019-09-20  Juanma Barranquero  <lekktu@gmail.com>
17246         lisp/*.el: Fix typos and other trivial doc fixes
17248         * lisp/allout-widgets.el (allout-widgets-auto-activation)
17249         (allout-current-decorated-p):
17250         * lisp/auth-source.el (auth-source-protocols):
17251         * lisp/autorevert.el (auto-revert-set-timer):
17252         * lisp/battery.el (battery-mode-line-limit):
17253         * lisp/calc/calcalg3.el (math-map-binop):
17254         * lisp/calendar/cal-dst.el (calendar-dst-find-startend):
17255         * lisp/calendar/cal-mayan.el (calendar-mayan-long-count-to-absolute):
17256         * lisp/calendar/calendar.el (calendar-date-echo-text)
17257         (calendar-generate-month, calendar-string-spread)
17258         (calendar-cursor-to-date, calendar-read, calendar-read-date)
17259         (calendar-mark-visible-date, calendar-dayname-on-or-before):
17260         * lisp/calendar/diary-lib.el (diary-ordinal-suffix):
17261         * lisp/cedet/ede/autoconf-edit.el (autoconf-new-program)
17262         (autoconf-find-last-macro, autoconf-parameter-strip):
17263         * lisp/cedet/ede/config.el (ede-target-with-config-build):
17264         * lisp/cedet/ede/linux.el (ede-linux--detect-architecture)
17265         (ede-linux--get-architecture):
17266         * lisp/cedet/semantic/complete.el (semantic-collector-calculate-cache)
17267         (semantic-displayer-abstract, semantic-displayer-point-position):
17268         * lisp/cedet/semantic/format.el (semantic-format-face-alist)
17269         (semantic-format-tag-short-doc):
17270         * lisp/cedet/semantic/fw.el (semantic-find-file-noselect):
17271         * lisp/cedet/semantic/idle.el (semantic-idle-scheduler-work-idle-time)
17272         (semantic-idle-breadcrumbs-display-function)
17273         (semantic-idle-breadcrumbs-format-tag-list-function):
17274         * lisp/cedet/semantic/lex.el (semantic-lex-map-types)
17275         (define-lex, define-lex-block-type-analyzer):
17276         * lisp/cedet/semantic/senator.el (senator-search-default-tag-filter):
17277         * lisp/cedet/semantic/symref.el (semantic-symref-result)
17278         (semantic-symref-hit-to-tag-via-db):
17279         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
17280         * lisp/cedet/semantic/tag.el (semantic-tag-new-variable)
17281         (semantic-tag-new-include, semantic-tag-new-package)
17282         (semantic-tag-set-faux, semantic-create-tag-proxy)
17283         (semantic-tag-function-parent)
17284         (semantic-tag-components-with-overlays):
17285         * lisp/cedet/srecode/cpp.el (srecode-cpp-namespaces)
17286         (srecode-semantic-handle-:c, srecode-semantic-apply-tag-to-dict):
17287         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary)
17288         (srecode-dictionary-add-entries, srecode-dictionary-lookup-name)
17289         (srecode-create-dictionaries-from-tags):
17290         * lisp/cmuscheme.el (scheme-compile-region):
17291         * lisp/color.el (color-lab-to-lch):
17292         * lisp/doc-view.el (doc-view-image-width)
17293         (doc-view-set-up-single-converter):
17294         * lisp/dynamic-setting.el (font-setting-change-default-font)
17295         (dynamic-setting-handle-config-changed-event):
17296         * lisp/elec-pair.el (electric-pair-text-pairs)
17297         (electric-pair-skip-whitespace-function)
17298         (electric-pair-string-bound-function):
17299         * lisp/emacs-lisp/avl-tree.el (avl-tree--del-balance)
17300         (avl-tree-member, avl-tree-mapcar, avl-tree-iter):
17301         * lisp/emacs-lisp/bytecomp.el (byte-compile-generate-call-tree):
17302         * lisp/emacs-lisp/checkdoc.el (checkdoc-autofix-flag)
17303         (checkdoc-spellcheck-documentation-flag, checkdoc-ispell)
17304         (checkdoc-ispell-current-buffer, checkdoc-ispell-interactive)
17305         (checkdoc-ispell-message-interactive)
17306         (checkdoc-ispell-message-text, checkdoc-ispell-start)
17307         (checkdoc-ispell-continue, checkdoc-ispell-comments)
17308         (checkdoc-ispell-defun):
17309         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method):
17310         * lisp/emacs-lisp/eieio-custom.el (eieio-read-customization-group):
17311         * lisp/emacs-lisp/lisp.el (forward-sexp, up-list):
17312         * lisp/emacs-lisp/package-x.el (package--archive-contents-from-file):
17313         * lisp/emacs-lisp/package.el (package-desc)
17314         (package--make-autoloads-and-stuff, package-hidden-regexps):
17315         * lisp/emacs-lisp/tcover-ses.el (ses-exercise-startup):
17316         * lisp/emacs-lisp/testcover.el (testcover-nohits)
17317         (testcover-1value):
17318         * lisp/epg.el (epg-receive-keys, epg-start-edit-key):
17319         * lisp/erc/erc-backend.el (erc-server-processing-p)
17320         (erc-split-line-length, erc-server-coding-system)
17321         (erc-server-send, erc-message):
17322         * lisp/erc/erc-button.el (erc-button-face, erc-button-alist)
17323         (erc-browse-emacswiki):
17324         * lisp/erc/erc-ezbounce.el (erc-ezbounce, erc-ezb-get-login):
17325         * lisp/erc/erc-fill.el (erc-fill-variable-maximum-indentation):
17326         * lisp/erc/erc-log.el (erc-current-logfile):
17327         * lisp/erc/erc-match.el (erc-log-match-format)
17328         (erc-text-matched-hook):
17329         * lisp/erc/erc-netsplit.el (erc-netsplit, erc-netsplit-debug):
17330         * lisp/erc/erc-networks.el (erc-server-alist)
17331         (erc-networks-alist, erc-current-network):
17332         * lisp/erc/erc-ring.el (erc-input-ring-index):
17333         * lisp/erc/erc-speedbar.el (erc-speedbar)
17334         (erc-speedbar-update-channel):
17335         * lisp/erc/erc-stamp.el (erc-timestamp-only-if-changed-flag):
17336         * lisp/erc/erc-track.el (erc-track-position-in-mode-line)
17337         (erc-track-remove-from-mode-line, erc-modified-channels-update)
17338         (erc-track-last-non-erc-buffer, erc-track-sort-by-importance)
17339         (erc-track-get-active-buffer):
17340         * lisp/erc/erc.el (erc-get-channel-user-list)
17341         (erc-echo-notice-hook, erc-echo-notice-always-hook)
17342         (erc-wash-quit-reason, erc-format-@nick):
17343         * lisp/ffap.el (ffap-latex-mode):
17344         * lisp/files.el (abort-if-file-too-large)
17345         (dir-locals--get-sort-score, buffer-stale--default-function):
17346         * lisp/filesets.el (filesets-tree-max-level, filesets-data)
17347         (filesets-update-pre010505):
17348         * lisp/gnus/gnus-agent.el (gnus-agent-flush-cache):
17349         * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
17350         (gnus-button-prefer-mid-or-mail):
17351         * lisp/gnus/gnus-cus.el (gnus-group-parameters):
17352         * lisp/gnus/gnus-demon.el (gnus-demon-handlers)
17353         (gnus-demon-run-callback):
17354         * lisp/gnus/gnus-dired.el (gnus-dired-print):
17355         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-buffer):
17356         * lisp/gnus/gnus-range.el (gnus-range-normalize):
17357         * lisp/gnus/gnus-spec.el (gnus-pad-form):
17358         * lisp/gnus/gnus-srvr.el (gnus-server-agent, gnus-server-cloud)
17359         (gnus-server-opened, gnus-server-closed, gnus-server-denied)
17360         (gnus-server-offline):
17361         * lisp/gnus/gnus-sum.el (gnus-refer-thread-use-nnir)
17362         (gnus-refer-thread-limit-to-thread)
17363         (gnus-summary-limit-include-thread, gnus-summary-refer-thread)
17364         (gnus-summary-find-matching):
17365         * lisp/gnus/gnus-util.el (gnus-rescale-image):
17366         * lisp/gnus/gnus.el (gnus-summary-line-format, gnus-no-server):
17367         * lisp/gnus/mail-source.el (mail-source-incoming-file-prefix):
17368         * lisp/gnus/message.el (message-cite-reply-position)
17369         (message-cite-style-outlook, message-cite-style-thunderbird)
17370         (message-cite-style-gmail, message--send-mail-maybe-partially):
17371         * lisp/gnus/mm-extern.el (mm-inline-external-body):
17372         * lisp/gnus/mm-partial.el (mm-inline-partial):
17373         * lisp/gnus/mml-sec.el (mml-secure-message-sign)
17374         (mml-secure-message-sign-encrypt, mml-secure-message-encrypt):
17375         * lisp/gnus/mml2015.el (mml2015-epg-key-image)
17376         (mml2015-epg-key-image-to-string):
17377         * lisp/gnus/nndiary.el (nndiary-reminders, nndiary-get-new-mail):
17378         * lisp/gnus/nnheader.el (nnheader-directory-files-is-safe):
17379         * lisp/gnus/nnir.el (nnir-search-history)
17380         (nnir-imap-search-other, nnir-artlist-length)
17381         (nnir-artlist-article, nnir-artitem-group, nnir-artitem-number)
17382         (nnir-artitem-rsv, nnir-article-group, nnir-article-number)
17383         (nnir-article-rsv, nnir-article-ids, nnir-categorize)
17384         (nnir-retrieve-headers-override-function)
17385         (nnir-imap-default-search-key, nnir-hyrex-additional-switches)
17386         (gnus-group-make-nnir-group, nnir-run-namazu, nnir-read-parms)
17387         (nnir-read-parm, nnir-read-server-parm, nnir-search-thread):
17388         * lisp/gnus/nnmairix.el (nnmairix-default-group)
17389         (nnmairix-propagate-marks):
17390         * lisp/gnus/smime.el (smime-keys, smime-crl-check)
17391         (smime-verify-buffer, smime-noverify-buffer):
17392         * lisp/gnus/spam-report.el (spam-report-url-ping-mm-url):
17393         * lisp/gnus/spam.el (spam-spamassassin-positive-spam-flag-header)
17394         (spam-spamassassin-spam-status-header, spam-sa-learn-rebuild)
17395         (spam-classifications, spam-check-stat, spam-spamassassin-score):
17396         * lisp/help.el (describe-minor-mode-from-symbol):
17397         * lisp/hippie-exp.el (hippie-expand-ignore-buffers):
17398         * lisp/htmlfontify.el (hfy-optimizations, hfy-face-resolve-face)
17399         (hfy-begin-span):
17400         * lisp/ibuf-ext.el (ibuffer-update-saved-filters-format)
17401         (ibuffer-saved-filters, ibuffer-old-saved-filters-warning)
17402         (ibuffer-filtering-qualifiers, ibuffer-repair-saved-filters)
17403         (eval, ibuffer-unary-operand, file-extension, directory):
17404         * lisp/image-dired.el (image-dired-cmd-pngcrush-options):
17405         * lisp/image-mode.el (image-toggle-display):
17406         * lisp/international/ccl.el (ccl-compile-read-multibyte-character)
17407         (ccl-compile-write-multibyte-character):
17408         * lisp/international/kkc.el (kkc-save-init-file):
17409         * lisp/international/latin1-disp.el (latin1-display):
17410         * lisp/international/ogonek.el (ogonek-name-encoding-alist)
17411         (ogonek-information, ogonek-lookup-encoding)
17412         (ogonek-deprefixify-region):
17413         * lisp/isearch.el (isearch-filter-predicate)
17414         (isearch--momentary-message):
17415         * lisp/jsonrpc.el (jsonrpc-connection-send)
17416         (jsonrpc-process-connection, jsonrpc-shutdown)
17417         (jsonrpc--async-request-1):
17418         * lisp/language/tibet-util.el (tibetan-char-p):
17419         * lisp/mail/feedmail.el (feedmail-queue-use-send-time-for-date)
17420         (feedmail-last-chance-hook, feedmail-before-fcc-hook)
17421         (feedmail-send-it-immediately-wrapper, feedmail-find-eoh):
17422         * lisp/mail/hashcash.el (hashcash-generate-payment)
17423         (hashcash-generate-payment-async, hashcash-insert-payment)
17424         (hashcash-verify-payment):
17425         * lisp/mail/rmail.el (rmail-movemail-variant-in-use)
17426         (rmail-get-attr-value):
17427         * lisp/mail/rmailmm.el (rmail-mime-prefer-html, rmail-mime):
17428         * lisp/mail/rmailsum.el (rmail-summary-show-message):
17429         * lisp/mail/supercite.el (sc-raw-mode-toggle):
17430         * lisp/man.el (Man-start-calling):
17431         * lisp/mh-e/mh-acros.el (mh-do-at-event-location)
17432         (mh-iterate-on-messages-in-region, mh-iterate-on-range):
17433         * lisp/mh-e/mh-alias.el (mh-alias-system-aliases)
17434         (mh-alias-reload, mh-alias-ali)
17435         (mh-alias-canonicalize-suggestion, mh-alias-add-alias-to-file)
17436         (mh-alias-add-alias):
17437         * lisp/mouse.el (mouse-save-then-kill):
17438         * lisp/net/browse-url.el (browse-url-default-macosx-browser):
17439         * lisp/net/eudc.el (eudc-set, eudc-variable-protocol-value)
17440         (eudc-variable-server-value, eudc-update-variable)
17441         (eudc-expand-inline):
17442         * lisp/net/eudcb-bbdb.el (eudc-bbdb-format-record-as-result):
17443         * lisp/net/eudcb-ldap.el (eudc-ldap-get-field-list):
17444         * lisp/net/pop3.el (pop3-list):
17445         * lisp/net/soap-client.el (soap-namespace-put)
17446         (soap-xs-parse-sequence, soap-parse-envelope):
17447         * lisp/net/soap-inspect.el (soap-inspect-xs-complex-type):
17448         * lisp/nxml/rng-xsd.el (rng-xsd-date-to-days):
17449         * lisp/org/ob-C.el (org-babel-prep-session:C)
17450         (org-babel-load-session:C):
17451         * lisp/org/ob-J.el (org-babel-execute:J):
17452         * lisp/org/ob-asymptote.el (org-babel-prep-session:asymptote):
17453         * lisp/org/ob-awk.el (org-babel-execute:awk):
17454         * lisp/org/ob-core.el (org-babel-process-file-name):
17455         * lisp/org/ob-ebnf.el (org-babel-execute:ebnf):
17456         * lisp/org/ob-forth.el (org-babel-execute:forth):
17457         * lisp/org/ob-fortran.el (org-babel-execute:fortran)
17458         (org-babel-prep-session:fortran, org-babel-load-session:fortran):
17459         * lisp/org/ob-groovy.el (org-babel-execute:groovy):
17460         * lisp/org/ob-io.el (org-babel-execute:io):
17461         * lisp/org/ob-js.el (org-babel-execute:js):
17462         * lisp/org/ob-lilypond.el (org-babel-default-header-args:lilypond)
17463         (org-babel-lilypond-compile-post-tangle)
17464         (org-babel-lilypond-display-pdf-post-tangle)
17465         (org-babel-lilypond-tangle)
17466         (org-babel-lilypond-execute-tangled-ly)
17467         (org-babel-lilypond-compile-lilyfile)
17468         (org-babel-lilypond-check-for-compile-error)
17469         (org-babel-lilypond-process-compile-error)
17470         (org-babel-lilypond-mark-error-line)
17471         (org-babel-lilypond-parse-error-line)
17472         (org-babel-lilypond-attempt-to-open-pdf)
17473         (org-babel-lilypond-attempt-to-play-midi)
17474         (org-babel-lilypond-switch-extension)
17475         (org-babel-lilypond-set-header-args):
17476         * lisp/org/ob-lua.el (org-babel-prep-session:lua):
17477         * lisp/org/ob-picolisp.el (org-babel-execute:picolisp):
17478         * lisp/org/ob-processing.el (org-babel-prep-session:processing):
17479         * lisp/org/ob-python.el (org-babel-prep-session:python):
17480         * lisp/org/ob-scheme.el (org-babel-scheme-capture-current-message)
17481         (org-babel-scheme-execute-with-geiser, org-babel-execute:scheme):
17482         * lisp/org/ob-shen.el (org-babel-execute:shen):
17483         * lisp/org/org-agenda.el (org-agenda-entry-types)
17484         (org-agenda-move-date-from-past-immediately-to-today)
17485         (org-agenda-time-grid, org-agenda-sorting-strategy)
17486         (org-agenda-filter-by-category, org-agenda-forward-block):
17487         * lisp/org/org-colview.el (org-columns--overlay-text):
17488         * lisp/org/org-faces.el (org-verbatim, org-cycle-level-faces):
17489         * lisp/org/org-indent.el (org-indent-set-line-properties):
17490         * lisp/org/org-macs.el (org-get-limited-outline-regexp):
17491         * lisp/org/org-mobile.el (org-mobile-files):
17492         * lisp/org/org.el (org-use-fast-todo-selection)
17493         (org-extend-today-until, org-use-property-inheritance)
17494         (org-refresh-effort-properties, org-open-at-point-global)
17495         (org-track-ordered-property-with-tag, org-shiftright):
17496         * lisp/org/ox-html.el (org-html-checkbox-type):
17497         * lisp/org/ox-man.el (org-man-source-highlight)
17498         (org-man-verse-block):
17499         * lisp/org/ox-publish.el (org-publish-sitemap-default):
17500         * lisp/outline.el (outline-head-from-level):
17501         * lisp/progmodes/dcl-mode.el (dcl-back-to-indentation-1)
17502         (dcl-calc-command-indent, dcl-indent-to):
17503         * lisp/progmodes/flymake.el (flymake-make-diagnostic)
17504         (flymake--overlays, flymake-diagnostic-functions)
17505         (flymake-diagnostic-types-alist, flymake--backend-state)
17506         (flymake-is-running, flymake--collect, flymake-mode):
17507         * lisp/progmodes/gdb-mi.el (gdb-threads-list, gdb, gdb-non-stop)
17508         (gdb-buffers, gdb-gud-context-call, gdb-jsonify-buffer):
17509         * lisp/progmodes/grep.el (grep-error-screen-columns):
17510         * lisp/progmodes/gud.el (gud-prev-expr):
17511         * lisp/progmodes/ps-mode.el (ps-mode, ps-mode-target-column)
17512         (ps-run-goto-error):
17513         * lisp/progmodes/python.el (python-eldoc-get-doc)
17514         (python-eldoc-function-timeout-permanent, python-eldoc-function):
17515         * lisp/shadowfile.el (shadow-make-group):
17516         * lisp/speedbar.el (speedbar-obj-do-check):
17517         * lisp/textmodes/flyspell.el (flyspell-auto-correct-previous-hook):
17518         * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib):
17519         * lisp/textmodes/reftex-index.el (reftex-index-goto-entry)
17520         (reftex-index-kill, reftex-index-undo):
17521         * lisp/textmodes/reftex-parse.el (reftex-context-substring):
17522         * lisp/textmodes/reftex.el (reftex-TeX-master-file):
17523         * lisp/textmodes/rst.el (rst-next-hdr, rst-toc)
17524         (rst-uncomment-region, rst-font-lock-extend-region-internal):
17525         * lisp/thumbs.el (thumbs-mode):
17526         * lisp/vc/ediff-util.el (ediff-restore-diff):
17527         * lisp/vc/pcvs-defs.el (cvs-cvsroot, cvs-force-dir-tag):
17528         * lisp/vc/vc-hg.el (vc-hg--ignore-patterns-valid-p):
17529         * lisp/wid-edit.el (widget-field-value-set, string):
17530         * lisp/x-dnd.el (x-dnd-version-from-flags)
17531         (x-dnd-more-than-3-from-flags): Assorted docfixes.
17533 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
17535         Make register-preview ignore empty registers
17537         * lisp/register.el (register-preview): Ignore elements that are
17538         empty (bug#37155).
17540 2019-09-20  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
17542         Make the reverse tabulated list sort stable
17544         * lisp/emacs-lisp/tabulated-list.el (tabulated-list--get-sorter):
17545         Make the reverse sorting stable (bug#37174).
17547 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
17549         Further touch-ups to the auth-source obfuscation
17551         * lisp/auth-source.el (auth-source--obfuscate): Avoid leaking the
17552         length of the password by using PKCS#7 padding.
17554 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
17556         Add some comments to the auth-source obfuscation
17558         * lisp/auth-source.el (auth-source--obfuscate): Add comments.
17560 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
17562         Make previous auth-source change not break on Windows without gnutls
17564         * lisp/auth-source.el (auth-source--obfuscate)
17565         (auth-source--deobfuscate): Check that gnutls is really available.
17567 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
17569         Obfuscate auth-source memory contents even more
17571         * lisp/auth-source.el (auth-source--deobfuscate): Use more
17572         obfuscated obfuscation (bug#37196).
17573         (auth-source--pad, auth-source--obfuscate)
17574         (auth-source-netrc-normalize): Use it.
17575         (auth-source-netrc-parse): Ditto.
17577 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
17579         Obfuscate auth-source secrets more
17581         * lisp/auth-source.el (auth-source-netrc-normalize): Obfuscate
17582         passwords stored in the lexical closure (bug#37196).
17584 2019-09-20  Stefan Kangas  <stefankangas@gmail.com>
17586         Recommend against SHA-1 and MD5 for security
17588         * doc/lispref/text.texi (Checksum/Hash):
17589         * src/fns.c (Fmd5, Fsecure_hash):
17590         * lisp/subr.el (sha1): Doc fix to recommend against SHA-1 and MD5 for
17591         security-related applications, since they are not collision
17592         resistant.  (Bug#37420)
17594 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
17596         Allow `process-contact' not to block
17598         * doc/lispref/processes.texi (Process Information): Document it.
17600         * lisp/simple.el (list-processes--refresh): Don't wait for contact
17601         information for non-setup processes.
17603         * src/process.c (Fprocess_contact): Take an optional parameter to
17604         avoid blocking (bug#37408).
17606 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
17608         Make number-at-point recognize some hex numbers
17610         * lisp/thingatpt.el (number-at-point): Also return common hex
17611         numbers (bug#37458).
17613 2019-09-20  Damien Cassou  <damien@cassou.me>
17615         Change default value of message-make-forward-subject-function
17617         * lisp/gnus/message.el (message-make-forward-subject-function): Change
17618         default value to be a list so it's easier for users to add
17619         functions. Change the type so the customize interface allows selecting
17620         multiple provided functions instead of just one (bug#37470).
17622 2019-09-20  Stefan Kangas  <stefankangas@gmail.com>
17624         Recommend using https for package-archives
17626         * lisp/emacs-lisp/package.el (package-archives): Recommend using https
17627         sources where possible.  (Bug#33825)
17629 2019-09-20  Matthew Newton  <matt@mnewton.com>  (tiny change)
17631         Fix the previous imenu commit
17633         * lisp/imenu.el (imenu--make-index-alist): Always return the alist
17634         (bug#30449).
17636 2019-09-20  Michael Albinus  <michael.albinus@gmx.de>
17638         Some Tramp methods allow to change the remote login shell
17640         * doc/misc/tramp.texi (Inline methods) <sshx, plink, plinkx>:
17641         (External methods) <scpx, pscp, psftp>: Mention, that the remote
17642         login shell could be changed.
17643         (Remote shell setup): Remove description of properties
17644         "remote-shell-login" and "remote-shell-args", they don't matter
17645         here.  Changing the default remote shell works only for some
17646         methods.
17647         (Frequently Asked Questions): Refer to alternative approach fixing
17648         zsh problems.
17650         * etc/NEWS: Some Tramp methods allow to change the remote login shell.
17652         * lisp/net/tramp-sh.el (tramp-default-remote-shell): New defconst.
17653         (tramp-methods): Use it.
17654         (tramp-get-sh-extra-args): New defun.
17655         (tramp-open-shell, tramp-maybe-open-connection): Use it.
17657         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
17659 2019-09-19  Juri Linkov  <juri@linkov.net>
17661         * lisp/window.el (walk-windows): Simplify to use WINDOW arg of window-list-1
17663         instead of calling select-window (bug#35385).
17665 2019-09-19  Eric Abrahamsen  <eric@ericabrahamsen.net>
17667         Only use Gnus registry for formatting when registry is loaded
17669         See bug #36903
17671         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
17672           (gnus-registry-article-marks-to-names): In some circumstances it's
17673           possible for the user's summary line format spec to include
17674           registry-specific code, while the registry itself isn't actually
17675           loaded. Make sure the database is actually a hashtable before
17676           accessing it.
17678 2019-09-19  Eli Zaretskii  <eliz@gnu.org>
17680         Fix calls to insert-*-hooks when JIT font lock is active
17682         * src/insdel.c (signal_after_change): Save and restore
17683         interval_insert_behind_hooks and
17684         interval_insert_in_front_hooks across calls to various other
17685         hooks, to prevent their clobbering by those other hooks.
17686         (Bug#37455)
17688 2019-09-19  Lars Ingebrigtsen  <larsi@gnus.org>
17690         Minor svg wrap tweak
17692         * lisp/net/shr.el (svg--wrap-svg): Add the size to the wrapper to
17693         avoid having the SVG images shrink (bug#37159).
17695 2019-09-19  Lars Ingebrigtsen  <larsi@gnus.org>
17697         Further fix-ups for SVG wrapping in shr
17699         * lisp/net/shr.el (svg--wrap-svg): Add the size to the wrapper to
17700         avoid having the SVG images shrink (bug#37159).
17702 2019-09-19  Lars Ingebrigtsen  <larsi@gnus.org>
17704         Fix :version in recent commit
17706         * lisp/pcmpl-gnu.el (pcmpl-gnu-makefile-includes): Fix :version.
17708 2019-09-19  Lars Ingebrigtsen  <larsi@gnus.org>
17710         Fix a bug in callback functions in align-areas
17712         * lisp/align.el (align-areas): When given a callback function and
17713         JUSTIFY, pick out the correct parameters (bug#30139).  Suggested
17714         by "John Wiegley" <johnw@gnu.org>.
17716 2019-09-19  Paul Eggert  <eggert@cs.ucla.edu>
17718         Also prefer .emacs.d if .emacs exists
17720         Problem reported by Katsumi Yamaoka (Bug#37456).
17721         * lisp/startup.el (startup--xdg-or-homedot): Also
17722         prefer .emacs.d if a traditional .emacs file exists.
17724 2019-09-19  Paul Eggert  <eggert@cs.ucla.edu>
17726         Default PICKY_ACCESS to false on non-MS
17728         * src/fileio.c (PICKY_EACCES) [!DOS_NT]: Default to false.
17730 2019-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17732         Omit some overenthusiastic file-truename calls
17734         Problem reported by Tino Calancha (Bug#37445).
17735         * src/emacs.c (init_cmdargs): Call file-truename only if
17736         needed, i.e., if invocation-directory ends in "/i386/" on
17737         WINDOWSNT.
17738         * src/lread.c (readevalloop): If the sourcename is not
17739         absolute, make it absolute.  There is no need to convert
17740         non-absolute files into truenames, since absolute files are
17741         not converted into truenames.
17742         (init_lread): Do not convert source-directory into a truename
17743         at startup.  There is no need to do so in a dumped Emacs since
17744         an absolute file name suffices.  The source directory might
17745         not even exist any more, or might have been replaced by an
17746         interloper who takes advantage of the truename calculation.
17747         (syms_of_lread): Remove Qfile_truename; no longer needed.
17749 2019-09-18  Matt Bisson  <mbisson@vmware.com>  (tiny change)
17751         Fix ignored Motif scrollbar resources (Bug#37359)
17753         * src/xterm.c (x_create_toolkit_scroll_bar): On Motif
17754         scrollbars, "foreground" has no meaning, while "background"
17755         means the truck and arrow colors, and "trough" means the
17756         background of the entire widget.  This fix hooks up the Emacs
17757         scrollbar "foreground" color to the XmNbackground resource
17758         and the "background" color to XmNtroughColor which is more in
17759         line with how Xaw scrollbars behave.
17761 2019-09-18  Juanma Barranquero  <lekktu@gmail.com>
17763         lisp/*.el, src/*.c: Fix typos in docstrings
17765         * lisp/apropos.el (apropos-do-all):
17766         * lisp/auth-source-pass.el (auth-source-pass--select-from-entries):
17767         * lisp/auth-source.el (auth-source-user-or-password):
17768         * lisp/calc/calc-forms.el (math-tzone-names):
17769         * lisp/calendar/diary-lib.el (diary-face-attrs)
17770         (diary-mark-entries-1):
17771         * lisp/cedet/cedet-files.el (cedet-files-list-recursively):
17772         * lisp/cedet/ede.el (ede-constructing, ede-deep-rescan):
17773         * lisp/cedet/ede/cpp-root.el (ede-cpp-root-header-file-p):
17774         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
17775         * lisp/cedet/inversion.el (inversion-check-version)
17776         (inversion-test):
17777         * lisp/cedet/mode-local.el (mode-local-map-file-buffers):
17778         * lisp/cedet/semantic/complete.el (semantic-displayer-ghost):
17779         * lisp/cedet/semantic/db-find.el (semanticdb-find-translate-path-default):
17780         * lisp/cedet/semantic/db.el (semanticdb-table)
17781         (semanticdb-search-system-databases):
17782         * lisp/cedet/semantic/imenu.el (semantic-imenu-index-directory):
17783         * lisp/cedet/semantic/java.el (semantic-java-doc-keywords-map):
17784         * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-use-headers-flag):
17785         * lisp/cedet/semantic/lex.el (semantic-lex-make-keyword-table)
17786         (semantic-lex-make-type-table, semantic-lex-debug-analyzers):
17787         * lisp/cedet/semantic/tag-ls.el (semantic-tag-abstract-p)
17788         (semantic-tag-leaf-p, semantic-tag-static-p)
17789         (semantic-tag-prototype-p):
17790         * lisp/dnd.el (dnd-open-remote-file-function, dnd-open-local-file):
17791         * lisp/emacs-lisp/eieio-opt.el (eieio-build-class-alist)
17792         (eieio-read-class, eieio-read-subclass):
17793         * lisp/emacs-lisp/generator.el (cps--replace-variable-references)
17794         (cps--handle-loop-for):
17795         * lisp/erc/erc-dcc.el (erc-dcc-list, erc-dcc-member, erc-dcc-server)
17796         (erc-dcc-auto-mask-p, erc-dcc-get-file, erc-dcc-chat-accept):
17797         * lisp/eshell/em-pred.el (eshell-pred-file-type):
17798         * lisp/faces.el (defined-colors-with-face-attributes):
17799         * lisp/font-core.el (font-lock-mode):
17800         * lisp/frame.el (frame-restack):
17801         * lisp/net/shr.el (shr-image-animate):
17802         * lisp/org/org-agenda.el (org-agenda-change-all-lines)
17803         (org-agenda-today-p):
17804         * lisp/org/org-id.el (org-id-get):
17805         * lisp/org/org.el (org-highlight-latex-and-related)
17806         (org--valid-property-p):
17807         * lisp/org/ox-beamer.el (org-beamer--get-label):
17808         * lisp/org/ox-latex.el (org-latex--caption-above-p):
17809         * lisp/org/ox-odt.el (org-odt--copy-image-file)
17810         (org-odt--copy-formula-file):
17811         * lisp/org/ox.el (org-export-with-timestamps):
17812         * lisp/progmodes/verilog-mode.el (verilog-indent-declaration-macros):
17813         * lisp/ses.el (ses-file-format-extend-parameter-list):
17814         * lisp/term.el (ansi-term):
17815         * lisp/textmodes/bibtex.el (bibtex-no-opt-remove-re)
17816         (bibtex-beginning-of-first-entry, bibtex-autokey-get-title)
17817         (bibtex-read-key, bibtex-initialize):
17818         * lisp/textmodes/flyspell.el (flyspell-word):
17819         * lisp/view.el (view-mode-exit):
17820         * src/composite.c:
17821         * src/floatfns.c (Fisnan): Fix typos in docstrings.
17823 2019-09-18  Stephen Leake  <stephen_leake@stephe-leake.org>
17825         Merge commit '107ce3050fc37b9a13d8304ae1bb73fac9de5f61'
17827 2019-09-18  Stephen Leake  <stephen_leake@stephe-leake.org>
17829         Enhance 'pcomplete/make' to complete on targets in included makefiles
17831         * lisp/pcmpl-gnu.el (pcmpl-gnu-makefile-includes): New.
17832         (pcmpl-gnu-make-targets): New, factored out of pcmpl-gnu-make-all-targets.
17833         (pcmpl-gnu-make-includes): New.
17834         (pcmpl-gnu-make-all-targets): Use new functions.
17836 2019-09-18  Juri Linkov  <juri@linkov.net>
17838         * lisp/isearch.el (isearch-lazy-highlight-update): Remember timer object
17840         in isearch-lazy-highlight-timer to cancel it in lazy-highlight-cleanup.
17842         (isearch-done): No need to set isearch-lazy-highlight-start to nil -
17843         it used to reset lazy-highlight loop like isearch-lazy-highlight-window-start,
17844         but now other packages set isearch-lazy-highlight-last-string to nil to reset
17845         lazy-highlight loop.
17847 2019-09-18  Eli Zaretskii  <eliz@gnu.org>
17849         Fix loading .elc files on MS-Windows
17851         * src/lread.c (Fload): Don't clobber 'found' if the .el file
17852         was not found, as it is used by WINDOWSNT later on.
17854 2019-09-18  Phillip Lord  <phillip.lord@russet.org.uk>
17856         Improve logic for dependencies checking
17858         * admin/nt/dist-build/build-dep-zips.py:
17860 2019-09-18  Lars Ingebrigtsen  <larsi@gnus.org>
17862         Fix up the previous mh-mime warning suppression
17864         * lisp/mh-e/mh-acros.el (mh-dlet*): Suppress warnings about
17865         prefix-less bindings.
17866         * lisp/mh-e/mh-mime.el (mh-insert-mime-security-button): Remove
17867         the warning removal here.
17868         (mh-insert-mime-button): And here.
17870 2019-09-18  Eli Zaretskii  <eliz@gnu.org>
17872         Improve support of the Tai-Viet script
17874         * lisp/language/tai-viet.el ("TaiViet"): Update the doc
17875         string.  Suggested by Jim Brase <jim_brase@sil.org>.
17876         (Bug#5806)
17878         * etc/HELLO: Add a Tai Viet entry.
17880 2019-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17882         Out-of-datedness .elc check is merely a file test
17884         * src/fileio.c (file_test_errno): Now extern.
17885         * src/lread.c (Fload): Use file_test_errno instead,
17886         since this is really just a file test (the attributes
17887         are not given to the user).
17889 2019-09-18  Eli Zaretskii  <eliz@gnu.org>
17891         Fix the MS-Windows build broken by recent errno changes
17893         * src/fileio.c (file_directory_p): If the file exists, but is
17894         not a directory, set errno to ENOTDIR, like the Posix branch
17895         does; openp expects that.
17897 2019-09-18  Michael Albinus  <michael.albinus@gmx.de>
17899         Simplify tramp-tests.el check for owncloud/nextcloud
17901         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file):
17902         Simplify check for owncloud/nextcloud connections.
17904 2019-09-18  Michael Albinus  <michael.albinus@gmx.de>
17906         Add extra args for zsh in Tramp
17908         * doc/misc/tramp.texi (Remote shell setup): New subsection
17909         "Changing the default remote shell".
17911         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Add entry for zsh.
17913 2019-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17915         Be less picky about EACCES in file test predicates
17917         Problem reported by Tino Calancha (Bug#37445) and others.
17918         * src/fileio.c (PICKY_EACCES): New constant, false by default.
17919         (file_test_errno): Ignore EACCES if not picky.
17920         (check_file_access): Investigate EACCES problems further
17921         if picky.
17923 2019-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17925         Fix permission-denied issue in MS-Windows startup
17927         * src/callproc.c (init_callproc): Use file_access_p rather
17928         than Ffile_exists_p during startup (Bug#37445).
17930 2019-09-17  Paul Eggert  <eggert@cs.ucla.edu>
17932         Improve reporting of I/O, access errors
17934         Signal an error for file-oriented errors that are not tame
17935         errors like ENOENT and ENOTDIR (Bug#37389).
17936         Do this for primitives exposed to Lisp; the lower
17937         level internal C API merely makes errno values available
17938         to higher-level C code.
17939         * doc/lispref/files.texi (Testing Accessibility)
17940         (File Attributes, Extended Attributes): Do not say that the
17941         functions return nil when the return value cannot be determined.
17942         * etc/NEWS: Mention the change.
17943         * src/dired.c (Ffile_attributes): Fix doc string confusion
17944         about opening a file vs getting its attributes.
17945         (file_attributes): Signal serious errors.
17946         * src/fileio.c (check_existing, check_executable)
17947         (check_writable): Remove.  All callers changed to use
17948         check_file_access or file_access_p.
17949         (file_access_p, file_metadata_errno, file_attribute_errno)
17950         (file_test_errno, check_file_access, check_emacs_readlinkat):
17951         New functions.
17952         * src/fileio.c (Ffile_executable_p, Ffile_readable_p)
17953         (Ffile_name_case_insensitive_p, Frename_file, Ffile_exists_p):
17954         (Ffile_symlink_p, Ffile_directory_p)
17955         (Ffile_accessible_directory_p, Ffile_regular_p)
17956         (Ffile_selinux_context, Ffile_acl, Ffile_modes)
17957         (Ffile_newer_than_file_p, Fset_visited_file_modtime)
17958         (Ffile_system_info):
17959         * src/filelock.c (unlock_file, Ffile_locked_p):
17960         * src/lread.c (Fload):
17961         Signal serious errors.
17962         * src/fileio.c (Ffile_writable_p): Remove unnecessary CHECK_STRING.
17963         (emacs_readlinkat): Now static.
17964         * src/filelock.c (current_lock_owner, lock_if_free): Return a
17965         positive errno on error, and the negative of the old old value
17966         on success.  All callers changed.
17967         * src/lread.c (openp): Propagate serious errno values to caller.
17969 2019-09-17  Jimmy Aguilar Mena  <kratsbinovish@gmail.com>
17971         Substituted deprecated WebKitGTK+ api.
17973         * src/xwidget.c : Substituted WebKitGTK+ API calls and use
17974         JavaScriptCore GLib API instead.
17976 2019-09-17  Tino Calancha  <tino.calancha@gmail.com>
17978         Fix an assignment to free variable warning
17980         It fixes a bug introduced by commit
17981         'query-replace-regexp undo: Update next-replacement after undo'
17982         (30c4f35a6fc8a6507930923766c3126ac1c2063f)
17984         See https://lists.gnu.org/archive/html/emacs-devel/2019-09/msg00364.html
17985         * lisp/replace.el(perform-replace): Rename variable
17986         to next-replacement-replaced.
17988 2019-09-17  Juanma Barranquero  <lekktu@gmail.com>
17990         * src/w32fns.c (Fw32_read_registry): Doc fix
17992 2019-09-17  Lars Ingebrigtsen  <larsi@gnus.org>
17994         Suppress some warnings about un-prefixed dynamic variables
17996         * lisp/mh-e/mh-mime.el (mh-insert-mime-security-button): Suppress
17997         warnings about un-prefixed dynamic variables.
17998         (mh-insert-mime-button): Ditto.
18000 2019-09-17  Lars Ingebrigtsen  <larsi@gnus.org>
18002         Touch up naming of ipv6-expand
18004         * lisp/net/net-utils.el (nslookup--ipv6-expand): Rename to avoid
18005         make prefix more regular.
18006         (nslookup-host-ipv6): Rename call.
18008 2019-09-17  W. Garrett Mitchener  <garrett.mitchener@gmail.com>
18010         Updated to match more recent versions of Praat.
18012         * lisp/leim/quail/ipa-praat.el ("ipa-praat"): Update to match
18013         more recent versions of Praat (bug#36198).
18015         - \rh was used for ram's horns (a vowel) and rhoticity hook (a
18016           diacritic).  Praat uses \hr for the hook, so I made that changed.
18018         - \e3v for the slightly rounded diacritic seems to have been a typo
18019           related to the use of e in the example.  Changed it to \3v to match
18020           Praat.
18022         - Added examples to the table of tone diacritics
18024         - Added \^h for superscript h
18026         - Added \^H for superscript h with hook
18028         - Added \^w for superscript w (labialization)
18030         - Added \^j for superscript j (palatalization)
18032         - Added \^g for superscript symbol (velarization)
18034         - Added \^9 for superscript symbol (pharyngealization)
18036 2019-09-17  Lars Ingebrigtsen  <larsi@gnus.org>
18038         Update doc marker -- smtpmail-retries is documented
18040 2019-09-17  Eli Zaretskii  <eliz@gnu.org>
18042         Improve font lookup on MS-Windows
18044         * src/w32font.c (struct font_callback_data): New member
18045         'known_fonts'.
18046         (w32font_list_internal, w32font_match_internal): Set up
18047         match_data.known_fonts if the font spec includes :script that
18048         names one of the non-USB scripts.
18049         (add_font_entity_to_list): If font_matches_spec returns zero
18050         for a font, and we have some fonts in match_data->known_fonts,
18051         consider the font to be a match if it is named in known_fonts.
18052         (font_supported_scripts): Update the Unicode Subranges.  In
18053         particular, map bit 74 to 'burmese', as this is the name Emacs
18054         uses, not 'myanmar'.  Add a list of scripts that have no USBs
18055         defined for them.
18056         (syms_of_w32font) <Qburmese, Qcuneiform_numbers_and_punctuation>
18057         <Qaegean_number, Qw32_non_USB_fonts>: New symbols.
18059         * lisp/term/w32-win.el (w32-no-usb-subranges): New defconst.
18060         (w32--filter-USB-scripts, w32-find-non-USB-fonts): New functions.
18061         (w32-non-USB-fonts): New defvar.
18063         * lisp/international/fontset.el (setup-default-fontset): Add
18064         more scripts to automatic setup by representative characters.
18066         * doc/emacs/msdos.texi (Windows Fonts): Document
18067         'w32-find-non-USB-fonts' and 'w32-non-USB-fonts'.
18069         * etc/NEWS: Mention 'w32-find-non-USB-fonts' and
18070         'w32-non-USB-fonts'.
18072 2019-09-17  Paul Eggert  <eggert@cs.ucla.edu>
18074         Pacify GCC -Wmaybe-uninitialized
18076         * src/dired.c (directory_files_internal):
18077         Pacify GCC 7.4.0-1ubuntu1~18.04.1 x86-64.
18079 2019-09-17  Paul Eggert  <eggert@cs.ucla.edu>
18081         Don’t round file-system-info counts
18083         * src/fileio.c (blocks_to_bytes): Convert the byte count to an
18084         integer, since we have bignums now.  This avoids possible rounding
18085         errors for file systems containing more than 8 PiB or so.
18087 2019-09-17  Mattias Engdegård  <mattiase@acm.org>
18089         * doc/lispref/searching.texi (Rx Constructs): Fix typo.
18091 2019-09-16  Paul Eggert  <eggert@cs.ucla.edu>
18093         Fix some file-mode races
18095         * lisp/emacs-lisp/autoload.el (autoload-ensure-file-writeable):
18096         * lisp/files.el (after-find-file):
18097         * lisp/gnus/gnus-start.el (gnus-dribble-read-file):
18098         * lisp/htmlfontify.el (hfy-copy-and-fontify-file):
18099         * lisp/server.el (server-ensure-safe-dir):
18100         Avoid a race when getting file permissions.
18102 2019-09-16  Paul Eggert  <eggert@cs.ucla.edu>
18104         vc-cvs-revert: fix off-by-one file mode
18106         * lisp/vc/vc-cvs.el (vc-cvs-revert): 3950 (#o7556) is wrong as
18107         it keeps other-write but disables other-execute permissions.
18108         3949 (#o7555) was intended here.  Use octal notation for clarity.
18110 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
18112         Fix imenu menu when we're auto-refreshing
18114         * lisp/imenu.el (imenu--make-index-alist): Don't add a *Refresh*
18115         item if we're auto-refreshing (bug#30449).
18117 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
18119         Add a new variable smtpmail-retries
18121         * doc/misc/smtpmail.texi (Server workarounds): Mention it (bug#34177).
18123         * lisp/mail/smtpmail.el (smtpmail-retries): New variable.
18124         (smtpmail-via-smtp): Use it.
18126 2019-09-16  Michał Kondraciuk  <k.michal@zoho.com>  (tiny change)
18128         Allow `M-u' to work when editing fields in Customize
18130         * lisp/cus-edit.el (custom-notify): Allow more editing commands to
18131         work in the Customize buffers (bug#31205).
18133 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
18135         Try resending when getting a transient 4xx SMTP code
18137         * lisp/mail/smtpmail.el (smtpmail-via-smtp): Try resending when
18138         getting a transient error message (bug#34177).
18140 2019-09-16  Paul Eggert  <eggert@cs.ucla.edu>
18142         Remove obsolete Lint directives
18144         Most of the directives were wrong anyway.  Apparently
18145         traditional lint hasn’t been used to check Emacs for years.
18146         * src/callint.c (Finteractive):
18147         * src/cm.c (evalcost):
18148         * src/emacs.c (main):
18149         * src/eval.c (call1, call2, call3, call4, call5, call6, call7, call8):
18150         * src/fns.c (concat2, concat3, nconc2):
18151         * src/term.c (calculate_ins_del_char_costs):
18152         Omit ARGSUSED comments.
18153         * src/eval.c (call1): Omit VARARGS comment.
18155 2019-09-16  Tino Calancha  <tino.calancha@gmail.com>
18157         Add backquote tests
18159         * test/lisp/emacs-lisp/backquote-tests.el: New file (bug#37432).
18161 2019-09-16  Paul Eggert  <eggert@cs.ucla.edu>
18163         directory-files cleanup and speed tweaking
18165         * src/dired.c (directory_files_internal):
18166         Check ‘match’ before doing anything heavyweight.
18167         Move decls closer to use.
18168         Remove obsolete comments about GC.
18169         No need to encode ‘directory’ or to call multibyte_chars_in_text.
18170         Remove no-longer-needed bug check.
18171         Skip finalname construction if file_attributes fails.
18173 2019-09-16  Juri Linkov  <juri@linkov.net>
18175         Try to fix macOS and Windows issues.
18177 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
18179         mm-inline-large-images-proportion doc clarification
18181         * lisp/gnus/mm-view.el (mm-inline-large-images-proportion): Doc
18182         clarification.
18184 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
18186         Default to rescaling images in mm buffers
18188         * doc/misc/emacs-mime.texi (Display Customization): Document it.
18190         * lisp/gnus/mm-decode.el (mm-inline-large-images): Change default
18191         to `resize'.
18193 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
18195         mm-inline-large-images doc string clarification
18197         * lisp/gnus/mm-decode.el (mm-inline-large-images): Clarify doc string.
18199 2019-09-16  Mauro Aranda  <maurooaranda@gmail.com>
18201         With tooltip-mode disabled, don't unconditionally clear the echo area
18203         * lisp/tooltip.el (tooltip-show-help-non-mode): Only clear the
18204         echo area when the current message displayed is a tooltip message
18205         (Bug#3192).
18207 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
18209         Minor fix for previous maintaining.texi change
18211         * doc/emacs/maintaining.texi (VC Directory Commands): Use @file
18212         for files.
18214 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
18216         Document vc-dir-ignore
18218         * doc/emacs/maintaining.texi (VC Directory Commands): Document
18219         vc-dir-ignore.
18221 2019-09-16  Eli Zaretskii  <eliz@gnu.org>
18223         Improve error reporting in file_accessible_directory_p
18225         * src/w32.c (w32_accessible_directory_p): Set errno, so that
18226         file_accessible_directory_p does on MS-Windows, to live up to
18227         its callers' expectations.
18229 2019-09-16  Eli Zaretskii  <eliz@gnu.org>
18231         Fix initialization of shared-game-score-directory on MS-Windows
18233         * src/callproc.c (init_callproc) [WINDOWSNT]: Run PATH_GAME
18234         through w32_relocate, to expand %emacs_dir%.
18235         [DOS_NT]: Accept EACCES as not "unusual" errno value.
18236         Reported by Richard Copley <rcopley@gmail.com>.
18238 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
18240         Remove NEWS entry that talks about a change that was reverted (bug#37257)
18242 2019-09-16  Robert Pluim  <rpluim@gmail.com>
18244         Add bindings for ligature oe to iso-transl-char-map
18246         * lisp/international/iso-transl.el (iso-transl-char-map): Add bindings
18247         for small and capital ligature oe.  (Bug#23420)
18249 2019-09-15  Paul Eggert  <eggert@cs.ucla.edu>
18251         Fix some file-name-case-insensitive glitches
18253         * src/fileio.c (file_name_directory): New static function,
18254         broken out of Ffile_name_directory.
18255         (file_name_case_insensitive_err, Ffile_writable_p, Fdo_auto_save):
18256         Use it.
18257         (file_name_case_insensitive_err): Rename from
18258         file_name_case_insensitive_p.  Accept an unencoded Lisp_Object
18259         rather than an encoded char *, so that platforms other than
18260         Cygwin and macOS need not encode the file name.  Return an int
18261         -1, 0, errno rather than a bool (setting errno if false),
18262         so that the caller can distinguish an error from false.
18263         All callers changed.
18264         (Ffile_name_case_insensitive_p): Don’t issue system calls on
18265         platforms other than Cygwin and macOS.  Fix bug that broke the
18266         attempt to move up the filesystem tree (it moved up only one
18267         level).
18269 2019-09-15  Paul Eggert  <eggert@cs.ucla.edu>
18271         Fix unknown-vs-nonexistent glitch for file timestamps
18273         * src/fileio.c (time_error_value): EACCES means the file
18274         timestamp is unknown, not that the file does not exist.
18276 2019-09-15  Paul Eggert  <eggert@cs.ucla.edu>
18278         Improve directory-access diagnostics
18280         * src/callproc.c (init_callproc): Diagnose I/O errors,
18281         access errors, etc. for the game directory.
18282         * src/charset.c (init_charset): Improve quality of diagnostic
18283         when the charsets directory has I/O errors, access errors, etc.
18285 2019-09-15  Glenn Morris  <rgm@gnu.org>
18287         Merge from origin/emacs-26
18289         30c4f35 (origin/emacs-26) query-replace-regexp undo: Update next-repl...
18290         c596be0 Amend the menu caption for page "Display Property" in the Eli...
18291         13b9510 Add description of chinese-sisheng
18293 2019-09-15  Glenn Morris  <rgm@gnu.org>
18295         Merge from origin/emacs-26
18297         8e420c0 Clarify the use of left/right-margin-width in determining cur...
18299 2019-09-15  Glenn Morris  <rgm@gnu.org>
18301         * admin/upload-manuals: Move a basic check earlier.
18303 2019-09-15  Juri Linkov  <juri@linkov.net>
18305         Use images for new/close buttons in tab-bar and tab-line.
18307         * etc/images/tabs/new.xpm:
18308         * etc/images/tabs/close.xpm:
18309         New files.
18311         * lisp/tab-bar.el (tab-bar-separator): New face.
18312         (tab-bar-separator, tab-bar-button-new, tab-bar-button-close):
18313         Use display property with images in default values.
18315         * lisp/tab-line.el (tab-line-button-new, tab-line-button-close):
18316         Use display property with images in default values.
18318         * src/xdisp.c (tab_bar_item_info): Add new arg close_p and set it
18319         to the value of property `close' at charpos.
18320         (get_tab_bar_item): Add new arg close_p.
18321         (handle_tab_bar_click): Add ctrl_modifier when close_p is non-nil.
18322         (Fdump_tab_bar_row): Fix crash for non-X builds.
18324 2019-09-15  Juri Linkov  <juri@linkov.net>
18326         Fix assertion violations due to non-ASCII text in tabs
18328         * src/xdisp.c (tab_bar_height, redisplay_tab_bar)
18329         (display_tab_bar): If the Lisp string to be displayed in the
18330         tab-bar window is multibyte, tell the display
18331         engine to treat it as multibyte, instead of relying on the
18332         initial determination by init_iterator (which is based on the
18333         multibyteness of the current buffer).  (Bug#37385)
18335 2019-09-15  Juanma Barranquero  <lekktu@gmail.com>
18337         * lisp/subr.el (major-mode-suspend): Doc fix
18339 2019-09-15  Michael Albinus  <michael.albinus@gmx.de>
18341         Use also truname of temporary-file-directory in shadowfile-tests.el
18343         * test/lisp/shadowfile-tests.el (top): Use truename of
18344         `temporary-file-directory' and
18345         `shadow-test-remote-temporary-file-directory'.  (Bug#37202)
18346         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
18347         Do not bind `shadow-test-remote-temporary-file-directory'.
18349 2019-09-15  Mauro Aranda  <maurooaranda@gmail.com>
18351         Make widget-browse-at always detect an editable-field
18353         * lisp/wid-browse.el (widget-browse-at): Also look for the real-field
18354         property when detecting a field (bug#37199).
18356 2019-09-15  Wolfgang Scherer  <wolfgang.scherer@gmx.de>
18358         Do not use error messages as list of ignored files in vc-svn
18360         * lisp/vc/vc-svn.el: (vc-svn-ignore-completion-table) Ignore buffer
18361         contents, if exit status is not 0.  Split buffer by lines (bug#37214).
18363 2019-09-15  Wolfgang Scherer  <wolfgang.scherer@gmx.de>
18365         Fix vc-default-ignore
18367         * lisp/vc/vc.el: (vc-default-ignore) Treat FILE parameter as relative
18368         to DIRECTORY parameter.  Construct a file-path relative to directory
18369         of ignore file.  When removing, use properly anchored regexp.  Remove
18370         entire line, not just the match (bug#37217).
18372 2019-09-15  Wolfgang Scherer  <wolfgang.scherer@gmx.de>
18374         Provide facility to ignore all marked files in vc
18376         * lisp/vc/vc-dir.el: (vc-dir-ignore) With prefix argument, ignore all
18377         marked files (bug#37240).
18379 2019-09-15  Lars Ingebrigtsen  <larsi@gnus.org>
18381         Revert "emacsclient: ignore --eval parameters when starting alternate editor"
18383         This reverts commit 6fe661342a24edcaea255c3ba9a37613031554da.
18385         The alternate editor may be Emacs, which is useful when you want to eval something in an existing Emacs (if it exists), or in a new Emacs if there's no server running.
18387 2019-09-14  Paul Eggert  <eggert@cs.ucla.edu>
18389         file_name_case_insensitive_p int->long fix
18391         * src/fileio.c (file_name_case_insensitive_p):
18392         Don’t assume ‘long int’ fits in ‘int’.
18394 2019-09-14  Paul Eggert  <eggert@cs.ucla.edu>
18396         Fix gc-elapsed rounding bug
18398         * src/alloc.c (garbage_collect): Don’t accumulate rounding
18399         errors when computing gc-elapsed.
18401 2019-09-14  Paul Eggert  <eggert@cs.ucla.edu>
18403         Improve doc of GC thresholds
18405         * doc/lispref/internals.texi (Garbage Collection), etc/NEWS:
18406         Warn that control over GC is only approximate.
18408 2019-09-14  Bruno Félix Rezende Ribeiro  <oitofelix@gnu.org>  (tiny change)
18410         Fix picon installation instructions in the Gnus manual
18412         * doc/misc/gnus.texi (Picons): Fix instructions for installing
18413         picons on Debian (bug#37247).
18415 2019-09-14  Basil L. Contovounesios  <contovob@tcd.ie>
18417         Fix fileless eww form submission
18419         * lisp/net/eww.el (eww-submit): Ignore file inputs with no
18420         associated file name (bug#36520).
18422 2019-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
18424         Add default foreground colours to SVG images
18426         * lisp/net/shr.el (svg--wrap-svg): Add a default foreground colour
18427         to SVG images (bug#37159).  This helps with images like the ones
18428         in https://en.wikipedia.org/wiki/Banach_fixed-point_theorem that
18429         specify no foreground or background colours.
18430         (shr-parse-image-data): Use it.
18432 2019-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
18434         Make eww more liberal when interpreting some invalid HTML
18436         * lisp/net/eww.el (eww--preprocess-html): New function (bug#37009)
18437         to be more lenient with invalid HTML and translate common invalid
18438         HTML like "a <= b" into "a &lt;= b" to be more liberal in what we
18439         accept before parsing.
18440         (eww-display-html): Use it.
18441         (eww-readable): Ditto.
18443 2019-09-14  Eli Zaretskii  <eliz@gnu.org>
18445         * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Fix a thinko.  (Bug#36566)
18447 2019-09-14  Tobias Zawada  <i_inbox@tn-home.de>  (tiny change)
18449         Add a debug declaration to widget-specify-insert
18451         * lisp/wid-edit.el (widget-specify-insert): Add a debug
18452         declaration (bug#37368).
18454 2019-09-14  Federico Tedin  <federicotedin@gmail.com>
18456         Allow gamegrid-add-score to treat lower scores as better.
18458         * lisp/play/gamegrid.el (gamegrid-add-score): Add 'reverse' parameter.
18459         (gamegrid-add-score-with-update-game-score): Add 'reverse' parameter.
18460         (gamegrid-add-score-with-update-game-score-1): Add 'reverse'
18461         parameter.  Pass on "-r" argument to update-game-score.
18462         (gamegrid-add-score-insecure): Add 'reverse' parameter, reverse scores
18463         when it's non-nil.  (Bug#36867)
18465         * etc/NEWS: Announce the change.
18467 2019-09-14  Paul Eggert  <eggert@cs.ucla.edu>
18469         Improve gc-cons-percentage calculation
18471         The old calculation relied on a hodgpodge of partly updated GC
18472         stats to find a number to multiply gc-cons-percentage by.
18473         The new one counts data found by the previous GC, plus half of
18474         the data allocated since then; this is more systematic albeit
18475         still ad hoc.
18476         * src/alloc.c (consing_until_gc, gc_threshold, consing_threshold):
18477         Now EMACS_INT, not intmax_t.
18478         (HI_THRESHOLD): New macro.
18479         (tally_consing): New function.
18480         (make_interval, allocate_string, allocate_string_data)
18481         (make_float, free_cons, allocate_vectorlike, Fmake_symbol): Use it.
18482         (allow_garbage_collection, inhibit_garbage_collection)
18483         (consing_threshold, garbage_collect):
18484         Use HI_THRESHOLD rather than INTMAX_MAX.
18485         (consing_threshold): New arg SINCE_GC.  All callers changed.
18486         (bump_consing_until_gc): Return new consing_until_gc, instead of
18487         nil.  All callers changed.  Don’t worry about overflow since we
18488         now saturate at HI_THRESHOLD.  Guess that half of
18489         recently-allocated objects are still alive, instead of relying on
18490         the previous (even less-accurate) hodgepodge.
18491         (maybe_garbage_collect): New function.
18492         (garbage_collect): Work even if a finalizer disables or enables
18493         memory profiling.  Do not use malloc_probe if GC reclaimed nothing.
18494         * src/lisp.h (maybe_gc): Call maybe_garbage_collect instead
18495         of garbage_collect.
18497 2019-09-13  Paul Eggert  <eggert@cs.ucla.edu>
18499         Simplify GC statistics-gathering
18501         * src/alloc.c (make_interval, allocate_string, make_float)
18502         (free_cons, Fcons, setup_on_free_list)
18503         (allocate_vector_from_block, Fmake_symbol):
18504         Do not update gcstat, since it is for statistics from the most
18505         recent GC, not for a partially-updated hodgepodge.
18506         (sweep_vectors): Update gcstat, since setup_on_free_list
18507         no longer does.
18508         (garbage_collect_1): Rename to garbage_collect and adopt its API.
18509         Remove the old garbage_collect, which is no longer needed.
18510         All callers changed.
18512 2019-09-13  Gemini Lasswell  <gazally@runbox.com>
18514         Don't build print-number-table unless it will be used
18516         There are only a few users of print-number-table, and none of them use
18517         it when print-circle is nil.  A couple of them used to.  print_object
18518         was changed in 2012-04-20 "* src/print.c (print_preprocess): Only
18519         check print_depth if print-circle is nil".
18520         byte-compile-output-docform which uses print-number-table binds
18521         print-circle to t before printing unless
18522         byte-compile-disable-print-circle is set, but that variable has been
18523         marked obsolete since 24.1.
18525         * src/print.c (print_preprocess): Assert Vprint_circle is non-nil.
18526         Remove code handling the case when Vprint_circle is nil.
18527         (print, Fprint_preprocess): Don't call print_preprocess unless
18528         Vprint_circle is non-nil.
18529         (print_object): Remove comment referencing removed code in
18530         print_preprocess.
18532 2019-09-13  Gemini Lasswell  <gazally@runbox.com>
18534         Create common tests for print.c and cl-print.el
18536         * test/lisp/emacs-lisp/cl-print-tests.el
18537         (cl-print--test, cl-print-tests-1, cl-print-tests-2)
18538         (cl-print-tests-3, cl-print-tests-4, cl-print-tests-5)
18539         (cl-print-tests-strings, cl-print-circle, cl-print-circle-2):
18540         Remove.
18541         * test/src/print-tests.el (print-tests--prin1-to-string): New
18542         alias.
18543         (print-tests--deftest): New macro.
18544         (print-hex-backslash, print-read-roundtrip, print-bignum): Define with
18545         print-tests--deftest and use print-tests--prin1-to-string.
18546         (print-tests--prints-with-charset-p): Use
18547         print-tests--prin1-to-string.
18548         (print-tests--print-charset-text-property-nil)
18549         (print-tests--print-charset-text-property-t)
18550         (print-tests--print-charset-text-property-default): Define with
18551         print-tests--deftest.
18552         (print-tests-print-gensym)
18553         (print-tests-continuous-numbering, print-tests-1, print-tests-2)
18554         (print-tests-3, print-tests-4, print-tests-5)
18555         (print-tests-strings, print-circle, print-circle-2): New tests.
18556         (print--test, print-tests-struct): New cl-defstructs.
18558 2019-09-13  Gemini Lasswell  <gazally@runbox.com>
18560         Fix unnecessary hash table creation in cl-prin1 (bug#36566)
18562         cl-prin1 prints all its punctuation by passing strings to prin1.  When
18563         print-circle was set, print_preprocess was creating a new hash table
18564         for each string, causing excessive garbage collection when printing
18565         large Lisp objects with cl-prin1.
18567         * src/print.c (print_number_index): Fix typo in comment above.
18568         (PRINT_CIRCLE_CANDIDATE_P): Don't create print_number_table
18569         for top-level strings with no properties, except when
18570         print_continuous_numbering is on.
18572 2019-09-13  Gemini Lasswell  <gazally@runbox.com>
18574         Improve performance of backtrace printing (bug#36566)
18576         * lisp/emacs-lisp/cl-print.el (cl-print-to-string-with-limit): Reduce
18577         print-level and print-length more quickly when the structure being
18578         printed is very large.
18580 2019-09-13  Gemini Lasswell  <gazally@runbox.com>
18582         Improve print output options commands in backtrace-mode (bug#36566)
18584         * lisp/emacs-lisp/backtrace.el (backtrace-view): Mention
18585         :print-gensym in docstring.
18586         (backtrace-mode-map): Add keyboard binding for
18587         backtrace-toggle-print-gensym.  Add menu entries for
18588         backtrace-toggle-print-circle and backtrace-toggle-print-gensym.
18589         (backtrace--with-output-variables): Bind print-gensym with value
18590         of :print-gensym found in view plist.
18591         (backtrace-toggle-print-circle): Remove description of
18592         implementation details from docstring.
18593         (backtrace-toggle-print-gensym): New command.
18594         (backtrace--toggle-feature): Add echo area message describing result
18595         of command.
18597         * test/lisp/emacs-lisp/backtrace-tests.el
18598         (backtrace-tests--print-circle): New test.
18600         * doc/lispref/debugging.texi (Backtraces): Document keyboard
18601         binding for backtrace-toggle-print-gensym.
18603 2019-09-13  Stefan Kangas  <stefankangas@gmail.com>
18605         * lisp/help-mode.el (help-mode-menu): Fix typo.  (Bug#36485)
18607         * doc/misc/efaq.texi: Update ancient formats. (Bug#37143)
18609 2019-09-13  Stefan Kangas  <stefankangas@gmail.com>
18611         Remove leftover XEmacs compat code and doc fixes
18613         * lisp/mail/feedmail.el (top-level): Remove outdated comment.
18614         (feedmail-run-the-queue): Remove leftover XEmacs compat code.
18615         (feedmail-nuke-bcc): Doc fix.
18617         * lisp/emulation/viper.el (top-level, viper-mode)
18618         * lisp/net/rfc2104.el (top-level): Doc fix.
18620         * lisp/textmodes/table.el (top-level): Remove obsolete todo.
18622 2019-09-13  Stefan Kangas  <stefankangas@gmail.com>
18624         Change gui--selection-value-internal comment into doc string
18626         * lisp/select.el (gui--selection-value-internal): Change comment into
18627         doc string.  (Bug#25528)
18629 2019-09-13  Michael Albinus  <michael.albinus@gmx.de>
18631         Fix problems in tramp-test33-environment-variables
18633         * test/lisp/net/tramp-tests.el (tramp-test33-environment-variables):
18634         Use ${parameter:-word} construct.  Remove PS1 entry from
18635         "printenv" output.
18636         (tramp--test-check-files): Use "printenv".
18638 2019-09-13  Michael Albinus  <michael.albinus@gmx.de>
18640         Make recent Tramp patch work for tramp-archive.el
18642         * lisp/net/tramp.el (tramp-connectable-p): Make it work also for
18643         tramp-archive.el.
18645 2019-09-13  Eli Zaretskii  <eliz@gnu.org>
18647         Fix assertion violations due to non-ASCII text in menus
18649         * src/xdisp.c (tool_bar_height, redisplay_tool_bar)
18650         (display_menu_bar): If the Lisp string to be displayed in the
18651         menu-bar or tool-bar window is multibyte, tell the display
18652         engine to treat it as multibyte, instead of relying on the
18653         initial determination by init_iterator (which is based on the
18654         multibyteness of the current buffer).  (Bug#37385)
18656 2019-09-12  Jack Coughlin  <jack@jackc.me>  (tiny change)
18658         Fix saving user-defined calc commands with compositions (Bug#36720)
18660         * lisp/calc/calc-prog.el (calc-user-define-permanent): Correctly save
18661         the composition when the user specifies their formula by its command
18662         name or key.
18664 2019-09-12  Noam Postavsky  <npostavs@gmail.com>
18666         Fix fill-paragraph in python docstrings (Bug#36056)
18668         * lisp/progmodes/python.el (python-do-auto-fill): New function.
18669         (python-mode): Set it as normal-auto-fill-function, and don't set
18670         fill-indent-according-to-mode.  Having the latter set during
18671         fill-paragraph gives wrongs result, because python-indent-line doesn't
18672         remove indentation added by filling.
18673         * test/lisp/progmodes/python-tests.el (python-fill-docstring): New
18674         test.
18676 2019-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
18678         * lisp/progmodes/sh-script.el (sh--assignment-collect): Only after `=`!
18680 2019-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
18682         * lisp/progmodes/sh-script.el (sh-mode-map): Don't bind `=`
18684         (sh-shell-initialize-variables): Use sh--assignment-collect on
18685         post-self-insert-hook instead.
18686         (sh--assignment-collect): New function, extracted from sh-assignment.
18687         (sh-assignment): Use it and mark as obsolete.
18689 2019-09-12  Karl Fogel  <kfogel@red-bean.com>
18691         Add `isearch-yank-until-char'
18693         * lisp/isearch.el (isearch-yank-until-char): New function.
18694           (isearch-mode-map, isearch-menu-bar-yank-map): Add it.
18695           (isearch-forward): Document the new binding.
18697         * doc/emacs/search.texi (Isearch Yanking): Document the feature.
18699         * etc/NEWS: Mention the above.
18701 2019-09-12  Michael Albinus  <michael.albinus@gmx.de>
18703         Optimize host name completion in Tramp
18705         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
18706         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
18707         * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
18708         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
18709         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
18710         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
18711         Throw `non-essential' at the beginning of the function.
18713         * lisp/net/tramp.el (tramp-handle-file-exists-p):
18714         * lisp/net/tramp-sh.el (tramp-sh-handle-file-exists-p):
18715         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-exists-p):
18716         Run only when host is connectable.  This is due to host name
18717         completion, which shall be optimized.
18719         * lisp/net/tramp-smb.el (tramp-smb-do-file-attributes-with-stat)
18720         (tramp-smb-get-file-entries): Access connection buffer only after
18721         sending the command.
18723         * lisp/net/tramp.el (tramp-get-buffer, tramp-get-connection-buffer):
18724         New argument DONT-CREATE.
18725         (tramp-message): Use it.
18726         (tramp-get-mutex): Check, whether host is connectable.
18727         (tramp-file-name-handler): Set thread only when host is connectable.
18728         (tramp-connectable-p): Allow also VEC as argument.
18729         (tramp-completion-handle-file-name-completion): Do not expand directory.
18731 2019-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
18733         * src/profiler.c: Leave `key` hashslots as Qunbound (bug#37382)
18735         Now that "key == Qunbound" is used to determine if a hash table entry
18736         is available, we can't stash pre-allocated vectors into the `key` slot
18737         anymore, so use the `value` slot instead.
18739         (make_log): Pre-fill the `value` slots i.s.o `key`.
18740         (evict_lower_half): Stash key back into `value`, i.s.o `key`.
18741         (record_backtrace): Get pre-allocated vector for `value` i.s.o `key`.
18743 2019-09-12  Paul Eggert  <eggert@cs.ucla.edu>
18745         Fix file name encoding when open_directory signals
18747         * src/dired.c (open_directory): New arg ENCODED_DIRNAME.
18748         All callers changed.  Signal error with original name,
18749         not encoded name.
18751 2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18753         Improve error reporting for DOC file problems
18755         * src/doc.c (get_doc_string): Report all serious errors
18756         when DOC cannot be opened, not just fd-exhaustion errors.
18758 2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18760         Fix directory-files-and-attributes race
18762         * src/dired.c (directory_files_internal): Fix race condition:
18763         when some other process removed a file between the readdir and
18764         the ensuing lstat, directory-files-and-attributes would return
18765         a list containing nil.
18767 2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18769         Omit duplicate test of current directory
18771         * src/callproc.c (encode_current_directory): Remove redundant
18772         call to Ffile_accessible_directory_p.  The code checks the
18773         encoded name with file_accessible_directory_p anyway.
18775 2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18777         Improve checking of pdump load failures
18779         * src/alloc.c (memory_full): Just report "memory exhausted" if
18780         failure occurs during initialization, since fancier recovery
18781         schemes are not likely to work when not initialized.
18782         * src/emacs.c (dump_error_to_string): Accept int, not enum
18783         pdumper_load_result, since the result might not fit in the
18784         enum.  Use strerror if it was derived from errno.  This is for
18785         better diagnostics of pdump load failures.
18786         (load_pdump_find_executable): Return char *, not enum.  2nd
18787         arg is now pointer to buffer size, rather than pointer to
18788         pointer to buffer.  All callers changed.  Use Emacs allocator
18789         since they should now be OK even during early startup.
18790         Use check_executable instead access, to use effective rather
18791         than real permissions.
18792         (load_pdump): Return void since callers ignore result.
18793         Use int where enum could be too narrow.  Use heap rather
18794         than stack for possibly-long string.  Prefer ptrdiff_t to
18795         size_t.
18796         * src/fileio.c (check_executable): Now extern.
18797         * src/pdumper.c (pdumper_load): Return int that may have
18798         errno added to it, for better diagnostics when loads fail.
18800 2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18802         Reset dbus registered buses on dump load
18804         Problem reported by Leonard Lausen (Bug#37331).
18805         * src/dbusbind.c: Include pdumper.h.
18806         (syms_of_dbusbind_for_pdumper):
18807         New function, to reset the registered buses.
18808         (syms_of_dbusbind): Use it, fixing a TODO.
18810 2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18812         Fix auto-save with user-emacs-directory
18814         * lisp/startup.el (auto-save-list-file-prefix): Delay initialization,
18815         since the value depends on user-emacs-directory (Bug#37354).
18817 2019-09-11  Mattias Engdegård  <mattiase@acm.org>
18819         * lisp/emacs-lisp/elint.el (elint-directory-skip-re): Fix doc typo.
18821 2019-09-10  Katsumi Yamaoka  <yamaoka@jpl.org>
18823         Create a new overlay used to mark Attachment header (bug#37370)
18825         * lisp/gnus/gnus-art.el (gnus-mime-inline-part)
18826         (gnus-mm-display-part, gnus-mime-buttonize-attachments-in-header):
18827         Create a new overlay used to mark Attachment header instead of
18828         using existing overlays.
18830 2019-09-10  Stephen Leake  <stephen_leake@stephe-leake.org>
18832         Merge commit '74e9799bd89484b8d15bdd6597c68fc00d07e7f7'
18834 2019-09-10  Stephen Leake  <stephen_leake@stephe-leake.org>
18836         Support `cl-defstruct' in autoloads
18838         * lisp/emacs-lisp/autoload.el (make-autoload): Add `cl-defstruct' to
18839         "complex cases" list.
18841         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add :autoload-end to
18842         limit what is declared in autoloads.el for a defstruct.
18844 2019-09-09  Ulf Jasper  <ulf.jasper@web.de>
18846         Handle missing start-time when importing ical event (Bug#33277)
18848         * lisp/calendar/icalendar.el (icalendar--convert-ical-to-diary): Set
18849         start time only if it is explicitly given in ical.  Do not use
18850         start-time as default for end-time (Bug#33277).
18852         * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-33277):
18853         New.  Test fix for Bug#33277.
18855 2019-09-08  Tino Calancha  <tino.calancha@gmail.com>
18857         query-replace-regexp undo: Update next-replacement after undo
18859         * lisp/replace.el (perform-replace):
18860         Rename the local binding to not shadow next-replacement.
18861         Update next-replacement after undo (Bug#37287).
18863         * test/lisp/replace-tests.el (query-replace-undo-bug37287): Add test.
18864         (query-replace-undo-bug37073): Tweak this test.
18866 2019-09-08  Stefan Kangas  <stefankangas@gmail.com>
18868         Match Python 3 code object names in "M-x pdb"
18870         * lisp/progmodes/gud.el (gud-pdb-marker-regexp): Match Python 3 code
18871         object names.  (Bug#11679)
18873 2019-09-08  Stefan Kangas  <stefankangas@gmail.com>
18875         Remove final XEmacs compat code from dframe.el
18877         * lisp/dframe.el (top-level): Doc fix.
18878         (dframe-frame-parameter): Redefine as an obsolete function alias for
18879         'frame-parameter'.
18881 2019-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
18883         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Define setter functions.
18885         When :noinline is specified one can't rely on setf expanding the
18886         inlinable function to construct the setter.
18887         Fixes bug#37283.
18889 2019-09-08  Stefan Kangas  <stefankangas@gmail.com>
18891         Remove support for upgrading from old bookmark file format
18893         * lisp/bookmark.el (bookmark-alist-from-buffer): Remove support for
18894         old bookmark file format.  (Bug#37122)
18895         (bookmark-upgrade-version-0-alist)
18896         (bookmark-upgrade-file-format-from-0)
18897         (bookmark-grok-file-format-version)
18898         (bookmark-maybe-upgrade-file-format): Declare obsolete.
18899         (bookmark-load): Don't call 'bookmark-maybe-upgrade-file-format'.
18900         * etc/NEWS: Announce it.
18902 2019-09-08  Juri Linkov  <juri@linkov.net>
18904         * lisp/tmm.el: Fix broken tmm-prompt (bug#34517)
18906         * lisp/tmm.el (tmm-prompt): Don't duplicate items of tmm--history.
18907         Don't reverse tmm-km-list for completion.  Don't set the initial
18908         position of 'tmm--history.  Use reverse tmm--history as the list
18909         of default values for M-n.
18910         (tmm-add-prompt): Don't insert initial value to the minibuffer.
18912 2019-09-08  Juri Linkov  <juri@linkov.net>
18914         Small fixes for tty and w32.
18916         * lisp/menu-bar.el (showhide-tab-bar): Visible on tty too.
18917         * lisp/tab-bar.el (tab-bar-mode): Add binding [(control shift tab)] for w32.
18918         * lisp/tab-line.el (tab-line-add-tab): Use tmm-prompt for buffer-menu on tty.
18919         * src/w32term.c (w32_read_socket): Fix tool-bar clicks.
18921 2019-09-08  Alan Mackenzie  <acm@muc.de>
18923         Fix untidinesses in compile.el.
18925         * lisp/progmodes/compile.el (compilation--margin-string): Renamed from
18926         compilation-margin-string.  Use defconst rather than defvar.  Use propertize
18927         rather than a separate put-text-property.  Trim the doc string.
18929 2019-09-08  Michael Albinus  <michael.albinus@gmx.de>
18931         Fix Bug#36090
18933         * lisp/vc/vc-hg.el (vc-hg--pushpull, vc-hg-merge-branch)
18934         (vc-hg-command): Disable pager.  (Bug#36090)
18936 2019-09-08  Michael Albinus  <michael.albinus@gmx.de>
18938         Fix Bug#37202
18940         * test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo)
18941         (shadow-test09-shadow-copy-files): Use truename of
18942         `shadow-test-remote-temporary-file-directory'.  (Bug#37202)
18944 2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>
18946         Fix bug when gc-cons-percentage is bumped to 0.8
18948         Problem reported by Michael Heerdegen (Bug#37321).
18949         * src/alloc.c (gc_threshold): New static var.
18950         (bump_consing_until_gc): Change args from DIFF to THRESHOLD and
18951         PERCENTAGE.  All uses changed.  When accounting for a changed
18952         gc-cons-percentage, do not assume that total_bytes_of_live_objects
18953         returns the same value now that it did the last time we were
18954         called.
18956 2019-09-07  Stefan Kangas  <stefankangas@gmail.com>
18958         Use derived-mode-p consistently in info.el
18960         * lisp/info.el (Info-hide-note-references, info-display-manual)
18961         (info--manual-names): Use derived-mode-p.  (Bug#27583)
18963 2019-09-07  Noam Postavsky  <npostavs@gmail.com>
18965         Let byte-compiler recognize that local-variable-p implies boundp
18967         * lisp/emacs-lisp/bytecomp.el (byte-compile-maybe-guarded): Add
18968         arguments to local-variable-p to the bound list.
18969         * lisp/image-mode.el (image-toggle-display-image): Remove no longer
18970         needed boundp check.
18972 2019-09-07  Joel Rosdahl  <joel@rosdahl.net>
18974         Fix flymake-proc temporary file deletion bug
18976         * lisp/progmodes/flymake-proc.el (flymake-proc-create-temp-inplace):
18977         Include a time string part (hour + minute + second + nanosecond) in
18978         the temporary name to make it unique enough.
18979         (flymake-proc-legacy-flymake): Store temporary file names in the
18980         process for usage in the sentinel.
18981         (flymake-proc--process-sentinel): Bind values of temporary file names
18982         dynamically to values stored in the process so that the cleanup
18983         function will delete the correct temporary file(s).
18985         Fixes bug#31981.
18987 2019-09-07  Juri Linkov  <juri@linkov.net>
18989         * lisp/tab-bar.el (tab-bar-make-keymap-1): Don't use fixed "Current tab".
18991         * lisp/tab-bar.el (tab-bar-make-keymap-1):
18992         * lisp/tab-line.el (tab-line-tab-name-add):
18993         Add space after Unicode char to avoid char clobbering on terminals.
18995 2019-09-07  Alan Mackenzie  <acm@muc.de>
18997         Amend the menu caption for page "Display Property" in the Elisp manual.
18999         * doc/lispref/display.texi (Emacs Display): Replace a content-free menu
19000         caption with one mentioning images, margins and text size.
19002 2019-09-07  Eli Zaretskii  <eliz@gnu.org>
19004         Support visiting compressed image files
19006         * lisp/image-mode.el (image-toggle-display-image): Support
19007         visiting compressed image files which are uncompressed by
19008         jka-compr.el.  (Bug#37330)
19010 2019-09-07  Michael Albinus  <michael.albinus@gmx.de>
19012         Add traces in shadowfile
19014         * lisp/shadowfile.el (shadow-add-to-todo)
19015         (shadow-remove-from-todo, shadow-save-todo-file):
19016         * test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo):
19017         Add traces.
19019 2019-09-07  Evgeny Zajcev  <lg.zevlg@gmail.com>
19021         Fix input method operation on read-only text
19023         * lisp/international/quail.el (quail-input-method): Check also
19024         read-only property of text in addition to the buffer's
19025         read-only state.
19027 2019-09-07  Eli Zaretskii  <eliz@gnu.org>
19029         Allow client connections when in recursive-edit
19031         * lisp/server.el (server-goto-toplevel): Check minibuffer
19032         depth, not recursion depth.  This avoids exiting
19033         recursive-edit if a client connection is accepted during
19034         recursive-edit.  (Bug#37176)
19036 2019-09-07  Eli Zaretskii  <eliz@gnu.org>
19038         Set inhibit-compacting-font-caches to t by default on MS-Windows
19040         * src/font.c (syms_of_font) [WINDOWSNT]: Set
19041         inhibit-compacting-font-caches to t by default.
19043         * etc/NEWS: Mention the change.
19045 2019-09-07  Eli Zaretskii  <eliz@gnu.org>
19047         Allow Zs characters to be composed
19049         * src/composite.c (char_composable_p): Allow SPC and other Zs
19050         characters to be composed.
19052         * lisp/composite.el (compose-gstring-for-graphic): Don't
19053         reject characters whose general category is Zs.  (Bug#14461)
19055 2019-09-07  Eli Zaretskii  <eliz@gnu.org>
19057         Revert "file-truename now uses realpath for local files"
19059         This reverts commit a59839d7556ef85058e09b005f0ff32e59b20ec3.
19060         This commit broke the MS-Windows build (because there's no
19061         realpath on MS-Windows).  Even if I change the implementation
19062         to always signal an error on MS-Windows, the build fails.
19064 2019-09-06  Paul Eggert  <eggert@cs.ucla.edu>
19066         file-truename now uses realpath for local files
19068         This uses fewer syscalls on GNU/Linux and other GNUish platforms.
19069         * lisp/files.el (file-truename): Try fileio--truename
19070         if there are no handlers.
19071         * src/fileio.c: Include stdlib.h, for realpath.
19072         (Ffileio__truename): New function.
19074 2019-09-06  Mauro Aranda  <maurooaranda@gmail.com>
19076         Improve file name completion in file and directory widgets (Bug#7779)
19078         * lisp/wid-edit.el (widget 'file, widget 'directory): Respect the option
19079         read-file-name-completion-ignore-case.
19080         (widget 'directory): Filter the file names, to only perform directory name
19081         completion.
19083 2019-09-05  Amin Bandali  <bandali@gnu.org>
19085         Fix erc-lurker-update-status (bug#36843)
19087         Broken since 2013-08-22 "* lisp/erc/erc.el: Use lexical-binding".
19089         * lisp/erc/erc.el (erc-message-parsed): New variable.
19090         (erc-display-message): Dynamically bind it.
19091         (erc-lurker-update-status): Check it instead of using `parsed'
19092         directly.  This results in `erc-lurker-state' being properly updated
19093         to keep track of non-lurkers, and thus `erc-lurker-p' returning
19094         correct results rather than return t for everyone.
19096 2019-09-05  Paul Eggert  <eggert@cs.ucla.edu>
19098         Fix bugs when recalculating consing_until_gc
19100         Problem reported by Joseph Mingrone (Bug#37006#72).
19101         * src/alloc.c (watch_gc_cons_threshold)
19102         (watch_gc_cons_percentage):
19103         Don’t try to store an intmax_t into an int.
19104         Redo to make the code clearer.
19105         (watch_gc_cons_percentage):
19106         Use gc_cons_threshold, not consing_until_gc.
19108 2019-09-05  Juri Linkov  <juri@linkov.net>
19110         Don't use hook pre-redisplay-functions.  Set buffer-local tab-line-format.
19112         * lisp/tab-line.el (tab-line-format): Move to C.
19113         (tab-line-update-window-parameter): Remove function.
19114         (global-tab-line-mode): Set the default value of tab-line-format.
19116         * src/buffer.c (syms_of_buffer): Define buffer-local variable
19117         tab-line-format.
19119         * src/buffer.h (struct buffer): Add tab_line_format_.
19121         * src/window.c (window_wants_tab_line):
19122         * src/xdisp.c (pos_visible_p, display_mode_lines):
19123         Check for buffer-local tab_line_format.
19125 2019-09-05  Paul Eggert  <eggert@cs.ucla.edu>
19127         Port :safe-renegotiation test to GnuTLS < 3.6.3
19129         Problem reported by Robert Pluim in
19130         https://lists.gnu.org/r/emacs-devel/2019-09/msg00127.html
19131         * src/gnutls.c (Fgnutls_peer_status): Simplify test for
19132         whether the :safe-renegotiation result is needed, so that it
19133         works all the way back to GnuTLS 2.12.2.
19135 2019-09-05  Lars Ingebrigtsen  <larsi@gnus.org>
19137         Further fix for network-security-protocol-checks
19139         * lisp/net/nsm.el (network-security-protocol-checks): Fix the
19140         defcustom type some more (bug#37306).
19142 2019-09-05  Lars Ingebrigtsen  <larsi@gnus.org>
19144         Fix defcustom type of network-security-protocol-checks
19146         * lisp/net/nsm.el (network-security-protocol-checks): Fix the
19147         defcustom type (bug#37306).
19149 2019-09-04  Paul Eggert  <eggert@cs.ucla.edu>
19151         Use plain ‘static’ for Emacs C inline functions
19153         This improved performance of ‘make compile-always’ by 8.2%
19154         on my platform (AMD Phenom II X4 910e, Fedora 30 x86-64).
19155         * src/conf_post.h (INLINE, EXTERN_INLINE, INLINE_HEADER_BEGIN)
19156         (INLINE_HEADER_END) [!EMACS_EXTERN_INLINE]: Use plain ‘static’.
19158 2019-09-04  Paul Eggert  <eggert@cs.ucla.edu>
19160         Tweak xd_append_arg to pacify -Wnull-dereference
19162         * src/dbusbind.c (xd_append_arg): Redo to pacify gcc
19163         -Wnull-dereference.  Also, check that the Lisp string won’t
19164         overrun the C signature buffer.
19166 2019-09-04  Robert Pluim  <rpluim@gmail.com>
19168         Don't check for :safe-renegotiation with TLS1.3
19170         * lisp/net/nsm.el (nsm-protocol-check--renegotiation-info-ext): Don't
19171         check when using TLS1.3, renegotiation has been removed from TLS.
19172         Reported in
19173         <https://lists.gnu.org/archive/html/help-gnu-emacs/2019-09/msg00005.html>
19175 2019-09-04  Paul Eggert  <eggert@cs.ucla.edu>
19177         Don’t mention :safe-renegotiation in TLS 1.3
19179         * src/gnutls.c (Fgnutls_peer_status): Don’t put the
19180         safe-renegotiation indication into the status in TLS 1.3, which
19181         removed support for renegotiation.
19183 2019-09-04  Robert Pluim  <rpluim@gmail.com>
19185         Fix nsm for unencrypted connections
19187         When connecting using a cleartext connection, nsm was erroring out and
19188         tearing down the connection because it was trying to display
19189         nonexistent certificate information.
19191         * lisp/net/nsm.el (nsm-query-user): Only format certificate status
19192         when it is valid.  (Bug#37221)
19194 2019-09-04  Juri Linkov  <juri@linkov.net>
19196         Text-based nox builds compiled without X window support
19198 2019-09-04  Paul Eggert  <eggert@cs.ucla.edu>
19200         Port pdumper mmap to AIX
19202         * src/pdumper.c (needs_mmap_retry_p) [_AIX]: Return true.
19203         Problem observed on AIX 7.1 and 7.2 in GCC compile farm.
19205 2019-09-04  Paul Eggert  <eggert@cs.ucla.edu>
19207         Port to platforms with Xrender lib but not header
19209         * configure.ac (HAVE_XRENDER): Also require ‘#include
19210         <X11/extensions/Xrender.h>’ to work.  Problem found
19211         on gcc119 in GCC compile farm.
19213 2019-09-04  Mattias Engdegård  <mattiase@acm.org>
19215         Correct arguments to `skip-syntax-forward'
19217         * lisp/wid-edit.el (widget-sexp-validate): Fix bad calls to
19218         `skip-syntax-forward', whose argument is not a regexp.
19220 2019-09-04  Lars Ingebrigtsen  <larsi@gnus.org>
19222         Make the NSM not pop up an X dialogue on non-mouse actions
19224         * lisp/emacs-lisp/rmc.el (read-multiple-choice): Don't pop up X
19225         dialogues on (url-retrieve "https://expired.badssl.com/" #'ignore)
19226         and the like.
19228 2019-09-04  Lars Ingebrigtsen  <larsi@gnus.org>
19230         Preserve more markers when reverting .gpg files
19232         * lisp/epa-file.el (epa-file--replace-text): Gingerly replace the
19233         text in the buffer to preserve as many markers as possible
19234         (bug#34720).  This emulates the behaviour of Finsert_file_contents
19235         more accurately.
19236         (epa-file-decode-and-insert): Remove compat code.
19237         (epa-file-insert-file-contents): Use the new function.
19239         * lisp/emacs-lisp/cl-lib.el (cl-incf): Add autoload cookie.
19241 2019-09-04  Mattias Engdegård  <mattiase@acm.org>
19243         Repair change to compilation-context-lines (bug#36832)
19245         * lisp/progmodes/compile.el (compilation-set-window):
19246         Restore proper behaviour when compilation-context-lines is nil,
19247         which is the default.
19249 2019-09-04  Michael Albinus  <michael.albinus@gmx.de>
19251         Further work on Bug#37202
19253         * test/lisp/shadowfile-tests.el (shadow-debug): Set to t.
19254         (shadow--tests-cleanup): Simplify.
19255         (shadow-test*): Call `shadow-initialize'.
19256         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
19257         In cleanup, kill buffers used for test.
19258         (top): Do not initialize.
19260 2019-09-04  Robert Pluim  <rpluim@gmail.com>
19262         Add description of chinese-sisheng
19264         * doc/emacs/mule.texi (Input Methods): Add description of
19265         chinese-sisheng method for entering characters using pīnyīn.
19267 2019-09-04  Michael Albinus  <michael.albinus@gmx.de>
19269         * lisp/net/tramp.el (tramp-process-sentinel): Use `process-buffer'.
19271 2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>
19273         * src/systime.h (hz): #undef to work around AIX build issue.
19275 2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>
19277         Prefer functions to macros in buffer.h
19279         In buffer.h, prefer inline functions to function-like macros
19280         when either will do.  This helps avoid confusion about how
19281         many times an arg is evaluated.  On my platform, this patch
19282         improves performance of ‘make compile-always’ by 5.7%.
19283         Also, prefer enum constants to object-like macros
19284         when either will do.
19285         * src/buffer.h (BEG, BEG_BYTE, GAP_BYTES_DFL, GAP_BYTES_MIN)
19286         (MAX_PER_BUFFER_VARS, NONEXISTENT_MODTIME_NSECS)
19287         (UNKNOWN_MODTIME_NSECS, BUFFER_LISP_SIZE, BUFFER_REST_SIZE):
19288         Now enum constants, instead of macros.
19289         (BUFFER_CEILING_OF, BUFFER_FLOOR_OF, BUF_BEG, BUF_BEG_BYTE)
19290         (BUF_BEGV, BUF_BEGV_BYTE, BUF_PT, BUF_PT_BYTE, BUF_ZV)
19291         (BUF_ZV_BYTE, BUF_GPT_ADDR, BUF_Z_ADDR, BUF_GAP_END_ADDR)
19292         (BUF_COMPUTE_UNCHANGED, SET_PT, TEMP_SET_PT, SET_PT_BOTH)
19293         (TEMP_SET_PT_BOTH, BUF_TEMP_SET_PT, SET_BUF_BEGV, SET_BUF_ZV)
19294         (SET_BUF_BEGV_BOTH, SET_BUF_ZV_BOTH, SET_BUF_PT_BOTH)
19295         (BYTE_POS_ADDR, CHAR_POS_ADDR, CHAR_TO_BYTE, BYTE_TO_CHAR)
19296         (PTR_BYTE_POS, FETCH_CHAR, FETCH_CHAR_AS_MULTIBYTE)
19297         (BUF_BYTE_ADDRESS, BUF_CHAR_ADDRESS, BUF_PTR_BYTE_POS)
19298         (BUF_FETCH_CHAR, BUF_FETCH_CHAR_AS_MULTIBYTE, BUF_FETCH_BYTE)
19299         (BUFFER_PVEC_INIT, BUFFER_LIVE_P, BUFFER_HIDDEN_P)
19300         (BUFFER_CHECK_INDIRECTION, OVERLAY_POSITION, PER_BUFFER_VALUE_P)
19301         (SET_PER_BUFFER_VALUE_P, PER_BUFFER_IDX):
19302         Now inline functions instead of macros.
19304 2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>
19306         * src/xdisp.c (hscroll_window_tree): Fix type typo.
19308 2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>
19310         Take last_per_buffer_idx private
19312         This will simplify future changes.  Turn the runtime check
19313         into an eassert, since it’s not needed in production.
19314         * src/buffer.c (last_per_buffer_idx): Now static.
19315         (valid_per_buffer_idx): New function.
19316         * src/buffer.h (PER_BUFFER_VALUE_P, SET_PER_BUFFER_VALUE_P): Use it.
19318 2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>
19320         Avoid macros in pdumper.c when it’s easy
19322         Problem with DUMP_SET_REFERRER mentioned by Pip Cet at end of:
19323         https://lists.gnu.org/archive/html/emacs-devel/2019-07/msg00548.html
19324         * src/pdumper.c (DANGEROUS, EMACS_RELOC_TYPE_BITS)
19325         (EMACS_RELOC_LENGTH_BITS, DUMP_RELOC_TYPE_BITS)
19326         (DUMP_RELOC_ALIGNMENT_BITS, DUMP_RELOC_OFFSET_BITS)
19327         (DUMP_RELOCATION_ALIGNMENT, DUMP_ALIGNMENT)
19328         (WEIGHT_NONE, WEIGHT_NORMAL, WEIGHT_STRONG)
19329         (PDUMPER_MAX_OBJECT_SIZE):
19330         Now a constant, not a macro.
19331         (divide_round_up): Now a function, not a macro DIVIDE_ROUND_UP.
19332         All uses changed.
19333         (enum link_weight_enum, WEIGHT_NONE_VALUE)
19334         (WEIGHT_NORMAL_VALUE, WEIGHT_STRONG_VALUE): Remove.
19335         (struct link_weight): Just use an int.
19336         (dump_set_referrer): New function, replacing DUMP_SET_REFERRER
19337         macro with a different API.  All uses changed.
19338         (dump_clear_referrer): Rename from DUMP_CLEAR_REFERRER.
19339         All uses changed.
19340         (DEFINE_FROMLISP_FUNC, DEFINE_TOLISP_FUNC): Remove.
19341         (intmax_t_from_lisp, intmax_t_to_lisp, dump_off_from_lisp)
19342         (dump_off_to_lisp): Define without using macros,
19343         (dump_off_from_lisp): Add an eassert range check.
19344         (DUMP_FIELD_COPY): Simplify.
19346 2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>
19348         Avoid casting -1 to possibly-unsigned enum
19350         * src/alloc.c (mark_maybe_pointer):
19351         * src/pdumper.h (pdumper_object_p_precise):
19352         Use pdumper_valid_object_type_p.
19353         * src/pdumper.c (pdumper_find_object_type_impl):
19354         * src/pdumper.h (pdumper_find_object_type):
19355         Return int, not enum Lisp_Type.  All callers changed.
19356         * src/pdumper.h (PDUMPER_NO_OBJECT): Do not cast -1 to enum
19357         Lisp_Type; in theory, C18 says this could yield 7, which would
19358         mean PDUMPER_NO_OBJECT == Lisp_Float (!).
19359         (pdumper_valid_object_type_p): New function.
19361 2019-09-03  Juri Linkov  <juri@linkov.net>
19363         Small fix for text-mode display
19365         * lisp/tab-line.el (tab-line-tab-name): Try to use truncate-string-to-width.
19367         Try to fix compilation errors on macOS
19369 2019-09-03  Daniel Colascione  <dancol@dancol.org>
19371         Run tramp cleanup in correct buffer
19373         Fixes bug #37297.
19375         * lisp/net/tramp.el (tramp-process-sentinel): Do process-end cleanup
19376         in the tramp buffer, not a random file buffer.
19378 2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>
19380         Sync consing_until_gc with gc-cons-threshold
19382         Add watchers for gc-cons-threshold and gc-cons-percentage
19383         that update consing_until_gc accordingly.
19384         Suggested by Eli Zaretskii (Bug#37006#52).
19385         * src/alloc.c (consing_threshold, bump_consing_until_gc)
19386         (watch_gc_cons_threshold, watch_gc_cons_percentage):
19387         New functions.
19388         (garbage_collect_1): Use consing_threshold.
19389         (syms_of_alloc): Arrange to watch gc-cons-threshold and
19390         gc-cons-percentage.
19392 2019-09-03  Juri Linkov  <juri@linkov.net>
19394         Text-mode display of the tab-bar and emulation of clicking on a tty.
19396         * lisp/tab-bar.el (tab-bar-mouse): New command bound to mouse-1 on [tab-bar].
19398         * lisp/xt-mouse.el (xterm-mouse-event): Use `tab-bar' when clicking
19399         on the tab-bar that is on the second row below menu-bar.
19401         * src/frame.c (set_tab_bar_lines): New function.
19402         (frame_windows_min_size): Add FRAME_TAB_BAR_LINES.
19403         (make_initial_frame): Call set_tab_bar_lines.
19404         (store_frame_param): Call set_tab_bar_lines for Qtab_bar_lines prop.
19405         (Fframe_parameters): Call store_in_alist for Qtab_bar_lines.
19407         * src/xdisp.c (display_tab_bar): New function.
19408         (redisplay_window): Call display_tab_bar when `FRAME_WINDOW_P (f)'
19409         is NULL on a tty.
19411 2019-09-03  Alan Mackenzie  <acm@muc.de>
19413         Use left margin to hold "=>" to indicate current error in fringeless windows
19415         This applies to compilation-mode.  It amends the fix for bug #36832.
19417         * lisp/progmodes/compile.el (compilation-arrow-overlay): renamed from
19418         overlay-arrow-overlay.
19419         (compilation-margin-string, compilation--dummy-string): New variables.
19420         (compilation-set-up-arrow-spec-in-margin)
19421         (compilation-tear-down-arrow-spec-in-margin): New functions.
19422         (compilation-set-overlay-arrow): Rewritten to use the new variables/functions.
19424 2019-09-03  Michael Albinus  <michael.albinus@gmx.de>
19426         Fix Bug#37202
19428         * lisp/shadowfile.el (shadow-debug): New defvar.
19429         (shadow-read-files): Suppress error if there's no TODO file.
19431         * test/lisp/shadowfile-tests.el (shadow-debug): Set to nil.
19432         (shadow--tests-cleanup): New defun.  Apply to all tests.  (Bug#37202)
19433         (shadow-test06-literal-groups): Cleanup temp buffer.
19434         (shadow-test08-shadow-todo): Add debug messages.
19435         (top): Cleanup initially.
19437 2019-09-02  Juri Linkov  <juri@linkov.net>
19439         * lisp/tab-line.el: Limit the number of window tabs to tab-line-tabs-limit.
19441         * lisp/tab-line.el: Display truncated tab name in the tooltip.
19443 2019-09-02  Paul Eggert  <eggert@cs.ucla.edu>
19445         Update from Gnulib
19447         This incorporates:
19448         2019-08-25 intprops.h, verify.h: port better to clang
19449         2019-08-21 New strip-trailing-space option for srclist-update
19450         * .gitattributes: Remove doc/misc/texinfo.tex special case,
19451         which is no longer needed now that Gnulib trims blank-at-eol.
19452         * build-aux/install-sh, doc/misc/texinfo.tex, lib/intprops.h:
19453         * lib/regex_internal.c, lib/verify.h: Copy from Gnulib.
19455 2019-09-02  Paul Eggert  <eggert@cs.ucla.edu>
19457         * doc/lispref/files.texi (Standard File Names): Mention .emacs.d too.
19459 2019-09-02  Robert Pluim  <rpluim@gmail.com>
19461         Reword documentation markup description
19463         * etc/NEWS: Reword temporary note about documentation updates.
19465 2019-09-02  Robert Pluim  <rpluim@gmail.com>
19467         Add 'nsm-trust-local-network' to NEWS
19469         * etc/NEWS: Describe 'nsm-trust-local-network', and warn against its
19470         use.
19472 2019-09-01  Glenn Morris  <rgm@gnu.org>
19474         * admin/admin.el (set-version): Check for empty NEWS sections.
19476 2019-09-01  Juri Linkov  <juri@linkov.net>
19478         Try to add more tab-bar support on macos
19480         Try to add more tab-bar support on Windows
19482 2019-09-01  Juri Linkov  <juri@linkov.net>
19484         * src/nsterm.m: Fix arguments to window_from_coordinates function call
19486         Thanks to Jean-Christophe Helary <jean.christophe.helary@traduction-libre.org>
19488 2019-09-01  Martin Rudalics  <rudalics@gmx.at>
19490         Fixes to build on Windows
19492         * src/w32fns.c (w32_set_tab_bar_lines, w32_change_tab_bar_height):
19493         New functions.
19495         * src/w32term.c (w32_create_terminal): Set change_tab_bar_height_hook
19496         to w32_change_tab_bar_height.
19498 2019-09-01  Juri Linkov  <juri@linkov.net>
19500         Add more aliases switch-to-tab, previous-tab, next-tab
19502 2019-09-01  Juri Linkov  <juri@linkov.net>
19504         Non-graphical access to frame-local tabs (named window configurations)
19506         * lisp/tab-bar.el (make-tab, delete-tab, tab-bar-list)
19507         (tab-bar-list-next-line, tab-bar-list-prev-line)
19508         (tab-bar-list-unmark, tab-bar-list-backup-unmark)
19509         (tab-bar-list-delete, tab-bar-list-delete-backwards)
19510         (tab-bar-list-execute, tab-bar-list-select)
19511         (tab-bar-list-mouse-select): New commands.
19512         (tab-bar-list-noselect, tab-bar-list-current-tab)
19513         (tab-bar-list-delete-from-list): New functions.
19514         (tab-bar-list-column): New defvar.
19516 2019-09-01  Noam Postavsky  <npostavs@gmail.com>
19518         Fix non-deterministic process test
19520         * test/src/process-tests.el (set-process-filter-t): Don't assume
19521         subprocess output will come in a single chunk, keep waiting for more
19522         data until next "prompt" is read from subprocess.
19524         (cherry picked from commit aa49aa884053d0e8b33efe265f2aade19d1f3f3d)
19526 2019-09-01  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
19528         Fix load-theme bug with user-emacs-directory
19530         * lisp/custom.el (custom-theme-directory): Delay initialization,
19531         since the value depends on user-emacs-directory (Bug#37256).
19533 2019-09-01  Mattias Engdegård  <mattiase@acm.org>
19535         Clarify what counts as whitespace in `string-blank-p'
19537         * lisp/emacs-lisp/subr-x.el (string-blank-p): Expand doc string.
19539 2019-08-31  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
19540             Noam Postavsky  <npostavs@gmail.com>
19542         package.el: Allow Package-Requires to span multiple lines (Bug#36301)
19544         * lisp/emacs-lisp/package.el (lm-header-multiline): Declare
19545         function.
19546         (package-buffer-info): Parse Package-Requires with
19547         lm-header-multiline instead of lm-header.
19548         (Bug#36301)
19550 2019-08-31  Paul Eggert  <eggert@cs.ucla.edu>
19552         Make user-emacs-directory a variable
19554         This is in response to Eli’s review here:
19555         https://lists.gnu.org/r/emacs-devel/2019-07/msg00712.html
19556         * lisp/subr.el (user-emacs-directory): defvar, not defconst
19558 2019-08-31  Paul Eggert  <eggert@cs.ucla.edu>
19560         Improve documentation for recent XDG-related changes
19562         Adjust documentation in the light of Eli’s review here:
19563         https://lists.gnu.org/r/emacs-devel/2019-07/msg00712.html
19564         * doc/emacs/custom.texi (Init File, Find Init):
19565         * doc/lispref/files.texi (Standard File Names):
19566         * doc/lispref/os.texi (Init File):
19568 2019-08-31  Paul Eggert  <eggert@cs.ucla.edu>
19570         * doc/lispref/customize.texi: Fix typo.
19572 2019-08-31  Paul Eggert  <eggert@cs.ucla.edu>
19574         Calculate user-emacs-directory on startup
19576         Problem reported by Glenn Morris (Bug#583#56).
19577         * lisp/startup.el (startup--xdg-config-default): New constant.
19578         (startup--xdg-config-home-emacs): New var.
19579         (startup--xdg-or-homedot): New function.
19580         (normal-top-level): Use it to set user-emacs-directory early on.
19581         (command-line): Also use it to determine the startup init directory.
19582         * lisp/subr.el (user-emacs-directory): Just initialize to nil.
19584 2019-08-31  Juri Linkov  <juri@linkov.net>
19586         Frame-local tab-bar and window-local tab-line.
19588         * etc/NEWS: Add 'tab-bar-mode' and 'global-tab-line-mode'.
19590         * etc/TODO: Remove tab-related items.
19592         * lisp/cus-start.el: Add tab-bar-mode, tab-bar-max-label-size.
19594         * lisp/frame.el (frame-notice-user-settings): handle tab-bar-lines.
19596         * lisp/loadup.el: Load "tab-bar".
19598         * lisp/menu-bar.el (menu-bar-options-save): Add tab-bar-mode.
19599         (menu-bar-showhide-menu): Define showhide-tab-bar.
19601         * lisp/startup.el (tab-bar-images-pixel-height): New defconst.
19602         (command-line): Reset tab-bar-mode.
19603         (x-apply-session-resources): Add "tabBar", "TabBar".
19605         * lisp/subr.el (read-key): Add tab-bar.
19607         * lisp/tab-bar.el: New file.
19608         * lisp/tab-line.el: New file.
19610         * lisp/window.el (window--dump-frame): Add tab-bar-height.
19612         * src/dispextern.h (enum window_part): Add ON_TAB_LINE.
19613         (struct glyph_matrix): Add tab_line_p.
19614         (struct glyph_row): Add tab_line_p.
19615         (MATRIX_TAB_LINE_ROW): New macro.
19616         (MATRIX_FIRST_TEXT_ROW): Handle more mode lines.
19617         (MR_PARTIALLY_VISIBLE_AT_TOP): Add WINDOW_TAB_LINE_HEIGHT.
19618         (MATRIX_TAB_LINE_HEIGHT, CURRENT_TAB_LINE_HEIGHT)
19619         (DESIRED_TAB_LINE_HEIGHT): New macros.
19620         (enum face_id): Add TAB_BAR_FACE_ID and TAB_LINE_FACE_ID.
19621         (struct it): Add tab_line_p.
19622         (tab_bar_item_idx, tab_bar_item_image): New enums.
19623         (DEFAULT_TAB_BAR_LABEL_SIZE, DEFAULT_TAB_BAR_BUTTON_MARGIN)
19624         (DEFAULT_TAB_BAR_BUTTON_RELIEF, DEFAULT_TAB_BAR_IMAGE_HEIGHT):
19625         New constants.
19627         * src/dispnew.c (adjust_glyph_matrix): Use window_wants_tab_line.
19628         (shift_glyph_matrix): Add WINDOW_TAB_LINE_HEIGHT.
19629         (clear_current_matrices, clear_desired_matrices):
19630         Call clear_glyph_matrix on tab_bar_window.
19631         (blank_row): Add WINDOW_TAB_LINE_HEIGHT.
19632         (required_matrix_height): Change 2 to 3.
19633         (fake_current_matrices): Reset tab_line_p.
19634         (adjust_frame_glyphs_for_window_redisplay): Handle tab_bar_window.
19635         Add FRAME_TAB_BAR_HEIGHT and FRAME_TAB_BAR_LINES.
19636         (free_glyphs): Handle tab_bar_window.
19637         (update_frame): Handle tab_bar_window.
19638         (update_window): Handle row->tab_line_p.
19639         (scrolling_window): Change arg type from bool to int.
19640         Change header_line_p to tab_line_p.
19641         (buffer_posn_from_coords): Add window_wants_tab_line.
19642         (mode_line_string): Use MATRIX_TAB_LINE_ROW for part ON_TAB_LINE.
19644         * src/frame.c (frame_default_tab_bar_height): New internal variable.
19645         (adjust_frame_size): Handle tab_bar_window.
19646         (make_frame): Reset tab_bar_redisplayed, tab_bar_resized and
19647         last_tab_bar_item.
19648         (Ftab_bar_pixel_width): New function.
19649         (frame_parms): Add tab-bar-lines.
19650         (gui_figure_window_size): Add new arg tabbar_p.
19651         (syms_of_frame): Add Qtab_bar_size, Qupdate_frame_tab_bar,
19652         Qfree_frame_tab_bar, Qtab_bar_lines, Stab_bar_pixel_width.
19653         Add Qtab_bar_lines to frame_inhibit_implied_resize.
19654         (tab-bar-mode): New variable.
19656         * src/frame.h (GCALIGNED_STRUCT): Add tab_bar_window,
19657         desired_tab_bar_string, current_tab_bar_string.
19658         (GCALIGNED_STRUCT): Add tab_bar_items, last_tab_bar_item,
19659         minimize_tab_bar_window_p, tab_bar_redisplayed, tab_bar_resized,
19660         tab_bar_lines, tab_bar_height, n_tab_bar_rows, n_tab_bar_items.
19661         (fset_tab_bar_items, fset_tab_bar_window)
19662         (fset_current_tab_bar_string, fset_desired_tab_bar_string):
19663         New inlines.
19664         (FRAME_TAB_BAR_LINES, FRAME_TAB_BAR_HEIGHT): New macros.
19665         (FRAME_TOP_MARGIN, FRAME_TOP_MARGIN_HEIGHT):
19666         Use FRAME_TAB_BAR_LINES.
19668         * src/fringe.c (draw_fringe_bitmap_1, update_window_fringes):
19669         Add WINDOW_TAB_LINE_HEIGHT.
19671         * src/gtkutil.c (xg_frame_set_char_size): Add FRAME_TABBAR_WIDTH.
19672         (x_wm_set_size_hint): Add FRAME_TABBAR_WIDTH.
19674         * src/keyboard.c (read_char): Handle Qtab_bar.
19675         (kbd_buffer_get_event): Handle TAB_BAR_EVENT.
19676         (make_lispy_position): Add WINDOW_TAB_LINE_HEIGHT.
19677         Handle TAB_BAR_EVENT.
19678         (tab_bar_items_vector, tab_bar_item_properties, ntab_bar_items):
19679         New internal variables.
19680         (tab_bar_items, process_tab_bar_item, set_prop_tab_bar)
19681         (parse_tab_bar_item, init_tab_bar_items, append_tab_bar_item):
19682         New functions.
19683         (read_char_x_menu_prompt, read_key_sequence): Handle Qtab_bar.
19684         (tab-bar-separator-image-expression): New variable.
19686         * src/keymap.c (syms_of_keymap): Add Qtab_bar and Qtab_line.
19688         * src/menu.c (x_popup_menu_1, Fx_popup_dialog): Handle Qtab_bar.
19690         * src/termhooks.h (enum event_kind): Add TAB_BAR_EVENT.
19691         (GCALIGNED_STRUCT): Add change_tab_bar_height_hook.
19693         * src/w32fns.c (w32_frame_parm_handlers): Add w32_set_tab_bar_lines.
19695         * src/w32term.c (w32_draw_window_cursor): Add WINDOW_TAB_LINE_HEIGHT.
19697         * src/window.c (window_body_height): Add WINDOW_TAB_LINE_HEIGHT.
19698         (Fwindow_tab_line_height): New function.
19699         (coordinates_in_window): Use window_wants_tab_line with
19700         CURRENT_TAB_LINE_HEIGHT.
19701         (window_relative_x_coord): Add ON_TAB_LINE.
19702         (Fcoordinates_in_window_p): Add ON_TAB_LINE.
19703         (window_from_coordinates): Add new arg tab_bar_p.
19704         (Fwindow_line_height): Use window_wants_tab_line with
19705         WINDOW_TAB_LINE_HEIGHT.
19706         (Fwindow_lines_pixel_dimensions): Add WINDOW_TAB_LINE_HEIGHT.
19707         (make_window): Set tab_line_height to -1.
19708         (window_wants_tab_line): New function.
19709         (window_internal_height): Use window_wants_tab_line.
19710         (window_scroll_pixel_based): Add WINDOW_TAB_LINE_HEIGHT.
19711         (Frecenter): Set minimize_tab_bar_window_p to 1.
19712         (GCALIGNED_STRUCT): Add frame_tab_bar_lines and frame_tab_bar_height.
19713         (Fcurrent_window_configuration): Set frame_tab_bar_lines and
19714         frame_tab_bar_height.
19715         (set_window_scroll_bars): Add WINDOW_TAB_LINE_HEIGHT.
19716         (syms_of_window): Add Qtab_line_format and Swindow_tab_line_height.
19718         * src/window.h (GCALIGNED_STRUCT): Add tab_line_height.
19719         (WINDOW_TAB_BAR_P, WINDOW_TAB_LINE_HEIGHT, WINDOW_TAB_LINE_LINES):
19720         New macros.
19721         (WINDOW_TOP_EDGE_Y, WINDOW_BOTTOM_EDGE_Y, WINDOW_TAB_LINE_HEIGHT):
19722         Add WINDOW_TAB_BAR_P.
19724         * src/xdisp.c (window_box_height): Add window_wants_tab_line with
19725         MATRIX_TAB_LINE_ROW and CURRENT_TAB_LINE_HEIGHT.
19726         (pos_visible_p): Use window_wants_tab_line.
19727         Add WINDOW_TAB_LINE_HEIGHT.
19728         (get_glyph_string_clip_rects): Add WINDOW_TAB_LINE_HEIGHT.
19729         (get_phys_cursor_geometry): Add WINDOW_TAB_LINE_HEIGHT.
19730         (remember_mouse_glyph): Use MATRIX_TAB_LINE_ROW for part
19731         ON_TAB_LINE.
19732         (init_iterator): Use MATRIX_TAB_LINE_ROW for TAB_LINE_FACE_ID.
19733         Add WINDOW_TAB_LINE_HEIGHT.  Add window_wants_tab_line.
19734         (Fwindow_text_pixel_size): Add WINDOW_TAB_LINE_HEIGHT.
19735         (prepare_menu_bars): Call update_tab_bar.
19736         (update_tab_bar, build_desired_tab_bar_string)
19737         (display_tab_bar_line, tab_bar_height, Ftab_bar_height)
19738         (redisplay_tab_bar, tab_bar_item_info, get_tab_bar_item)
19739         (handle_tab_bar_click, note_tab_bar_highlight): New functions.
19740         (compute_window_start_on_continuation_line): Use window_wants_tab_line.
19741         (try_cursor_movement): Use window_wants_tab_line with
19742         CURRENT_TAB_LINE_HEIGHT.
19743         (redisplay_window): Use window_wants_tab_line with
19744         CURRENT_TAB_LINE_HEIGHT.
19745         (try_window_reusing_current_matrix): Use window_wants_tab_line
19746         with WINDOW_TAB_LINE_HEIGHT.
19747         (Fdump_tab_bar_row): New function.
19748         (compute_line_metrics): Add WINDOW_TAB_LINE_HEIGHT.
19749         (display_line): Use window_wants_tab_line.
19750         (display_mode_line): Set tab_line_p to true if face_id is
19751         TAB_LINE_FACE_ID.
19752         (Fformat_mode_line): Handle Qtab_line and Qtab_bar.
19753         (gui_clear_end_of_line): Add WINDOW_TAB_LINE_HEIGHT.
19754         (erase_phys_cursor): Use WINDOW_TAB_LINE_HEIGHT.
19755         (show_mouse_face): Use tab_bar_window.
19756         (note_mode_line_or_margin_highlight): Use MATRIX_TAB_LINE_ROW for
19757         area ON_TAB_LINE.
19758         (note_mouse_highlight): Call note_tab_bar_highlight,
19759         (expose_frame): Handle tab_bar_window.
19760         (syms_of_xdisp): Add Sdump_tab_bar_row and Stab_bar_height.
19761         (auto-resize-tab-bars, auto-raise-tab-bar-buttons)
19762         (tab-bar-border, tab-bar-button-margin, tab-bar-button-relief)
19763         (tab-bar-max-label-size): New variables.
19765         * src/xfaces.c (lookup_basic_face): Add TAB_LINE_FACE_ID and
19766         TAB_BAR_FACE_ID.
19767         (syms_of_xfaces): Define Qtab_bar and Qtab_line.
19769         * src/xfns.c (x_set_tab_bar_lines, x_change_tab_bar_height):
19770         New functions.
19771         (xic_set_statusarea): Add FRAME_TABBAR_TOP_HEIGHT.
19772         (frame_geometry): Add FRAME_TAB_BAR_HEIGHT and Qtab_bar_size.
19774         * src/xterm.c (x_draw_image_relief): Use tab_bar_button_relief.
19775         (x_draw_image_relief): Use TAB_BAR_FACE_ID.
19776         (handle_one_xevent): Handle tab_bar_window.
19777         (x_set_window_size_1): Add FRAME_TABBAR_WIDTH.
19778         (x_create_terminal): Set change_tab_bar_height_hook.
19780         * src/xterm.h (struct x_output): Add tabbar_top_height,
19781         tabbar_bottom_height, tabbar_left_width, tabbar_right_width
19782         tabbar_widget, tabbar_in_hbox, tabbar_is_packed.
19783         (FRAME_TABBAR_TOP_HEIGHT): Add FRAME_TABBAR_TOP_HEIGHT,
19784         FRAME_TABBAR_BOTTOM_HEIGHT, FRAME_TABBAR_HEIGHT,
19785         FRAME_TABBAR_LEFT_WIDTH, FRAME_TABBAR_RIGHT_WIDTH,
19786         FRAME_TABBAR_WIDTH.
19788 2019-08-31  Paul Eggert  <eggert@cs.ucla.edu>
19790         Check instead of relying on NOTREACHED
19792         NOTREACHED was designed for traditional lint decades ago,
19793         and _Noreturn now normally subsumes its function.
19794         In the one case in Emacs where NORETURN might help and _Noreturn does
19795         not, check for NOTREACHED instead of assuming it.
19796         * lib-src/etags.c (main):
19797         * src/xterm.c (x_connection_closed):
19798         Remove NOTREACHED after a call to a _Noreturn function, as NOTREACHED
19799         is no longer needed there.  Also, one of the NOTREACHEDs was
19800         misplaced, which defeated traditional lint checking anyway.
19801         * lib-src/pop.c (pop_getline): Redo so as to not need NOTREACHED.
19802         * src/emacs.c (main): Use eassume (false) rather than NOTREACHED,
19803         so that running with ENABLE_CHECKING catches any internal error
19804         causing the toplevel Frecursive_edit to return.
19806 2019-08-31  Glenn Morris  <rgm@gnu.org>
19808         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): More cleanup.
19810 2019-08-31  Alan Mackenzie  <acm@muc.de>
19812         Clarify the use of left/right-margin-width in determining current margin width
19814         * doc/lispref/display.texi (Display-Margins):  Clarify that
19815         left/right-margin-width can not be used to determine the current margin width,
19816         and that window-margins must be used instead.
19818 2019-08-31  Andreas Schwab  <schwab@linux-m68k.org>
19820         Fix compilation with CHECK_STRUCTS
19822         * src/pdumper.c (dump_hash_table): Update hash of Lisp_Hash_Table.
19824 2019-08-30  Eli Zaretskii  <eliz@gnu.org>
19826         Avoid signaling errors from ls-lisp--insert-directory on macOS
19828         * lisp/ls-lisp.el (ls-lisp-sanitize): Don't assume the
19829         directory entries for ".." and "." will either both be present
19830         or both absent.  (Bug#37236)
19832 2019-08-30  Mattias Engdegård  <mattiase@acm.org>
19834         * src/floatfns.c: Check against __FINITE_MATH_ONLY__ (bug#37140)
19836 2019-08-30  Michael Albinus  <michael.albinus@gmx.de>
19838         Extend tramp--test-check-files  (Bug#37228)
19840         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Test also
19841         `directory-files-and-attributes'.  (Bug#37228)
19843 2019-08-30  Koichi Arakawa  <arakawa@pp.iij4u.or.jp>  (tiny change)
19845         Fix Tramp's directory-files-and-attributes-with-stat  (Bug#37228)
19847         * lisp/net/tramp-sh.el
19848         (tramp-do-directory-files-and-attributes-with-stat): Handle file
19849         names with spaces.  (Bug#37228)
19851 2019-08-30  Paul Eggert  <eggert@cs.ucla.edu>
19853         emacsclient: adjust to new config file location
19855         * lib-src/emacsclient.c (open_config): New arg XDG, to respect
19856         XDG_CONFIG_HOME, consistently with Emacs proper.  Caller changed.
19857         Use XDG convention if available, falling back on the old names
19858         if not.
19860 2019-08-30  Paul Eggert  <eggert@cs.ucla.edu>
19862         Prefer ~/.config/emacs to ~/.emacs.d if neither exists
19864         That way, when Emacs starts in a fresh home directory,
19865         it prefers the new (XDG) convention rather than the old one.
19866         * lisp/files.el (locate-user-emacs-file): Make the parent
19867         directories of user-emacs-directory if needed.  This is useful
19868         if user-emacs-directory is "~/.config/emacs" and "~/.config"
19869         does not yet exist.
19870         * lisp/startup.el (command-line):
19871         * lisp/subr.el (user-emacs-directory):
19872         Prefer XDG_CONFIG_HOME to ~/.emacs.d if neither exists.
19874 2019-08-30  Nick Drozd  <nicholasdrozd@gmail.com>
19876         Minor copyedits in ido.texi
19878         * doc/misc/ido.texi (Overview)
19879         (Interactive Substring Matching, Prefix Matching)
19880         (Regexp Matching, Hidden Buffers and Files)
19881         (Changing List Order, Find File At Point, Misc)
19882         (All Matching, Replacement): Fix wording, markup and punctuation.
19883         (Bug#37225)
19885 2019-08-29  Glenn Morris  <rgm@gnu.org>
19887         Merge from origin/emacs-26
19889         1af1240 (origin/emacs-26, emacs-26) ; Remove empty NEWS sections
19890         96dd019 (tag: emacs-26.3-rc1, tag: emacs-26.3) * etc/HISTORY: Add Ema...
19892         # Conflicts:
19893         #       etc/NEWS
19895 2019-08-29  Glenn Morris  <rgm@gnu.org>
19897         Merge from origin/emacs-26
19899         70829f8 ; ChangeLog.3 update
19901         # Conflicts:
19902         #       ChangeLog.3
19904 2019-08-29  Glenn Morris  <rgm@gnu.org>
19906         Merge from origin/emacs-26
19908         290fe4d * ; ChangeLog.3 update
19909         e8f176b * etc/NEWS: Delete temporary markup.
19911         # Conflicts:
19912         #       ChangeLog.3
19913         #       etc/NEWS
19915 2019-08-29  Stefan Kangas  <stefankangas@gmail.com>
19917         Add new "make help" target
19919         * GNUmakefile: Add new "help" target that shows a brief summary of
19920         common make targets.  (Bug#12411)
19921         * INSTALL
19922         * etc/NEWS: Announce it.
19924 2019-08-29  Lars Ingebrigtsen  <larsi@gnus.org>
19926         Tweak shr background colour handling
19928         * lisp/net/shr.el (shr-fill-line): Extend the background to the
19929         end of the line when folding lines.
19931 2019-08-28  Michael Albinus  <michael.albinus@gmx.de>
19933         Clarify meaning of <filename> in test/README
19935 2019-08-28  Paul Eggert  <eggert@cs.ucla.edu>
19937         Don't worry about pre-1.0.0 alsa-lib include
19939         Problem reported by Ergus in:
19940         https://lists.gnu.org/r/emacs-devel/2019-08/msg00563.html
19941         * configure.ac (ALSA_SUBDIR_INCLUDE): Do not define.
19942         * src/sound.c: Assume ALSA_SUBDIR_INCLUDE.
19944 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
19946         Use XDG conventions more consistently
19948         Fit in better with the XDG conventions.
19949         Something like this was suggested in 2008 (Bug#583)
19950         and the XDG conventions seem to have settled down by now.
19951         * doc/emacs/custom.texi (Init File, Init Syntax, Find Init):
19952         * doc/lispref/files.texi (Standard File Names):
19953         * doc/lispref/os.texi (Init File):
19954         * doc/misc/url.texi (Customization):
19955         * etc/NEWS:
19956         Adjust accordingly.
19957         * lisp/startup.el (startup--load-user-init-file):
19958         If init-file-name is nil, do not load from it; instead
19959         just use the alt-file.
19960         (find-init-path): Remove; no longer used.
19961         (command-line): Don't check twice for XDG.
19962         Look at XDG_CONFIG_HOME instead of assuming it's ~/.config.
19963         Prefer XDG configuration if it exists; the user can disable
19964         this by setting XDG_CONFIG_HOME to some other place.
19965         * lisp/subr.el (user-emacs-directory):
19966         Prefer XDG configuration if it exists.
19968 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
19970         Port recent gnutls fixes to gcc -Wpointer-sign
19972         * src/gnutls.c (Fgnutls_format_certificate):
19973         Fix pointer signedness problem.
19975 2019-08-27  Juri Linkov  <juri@linkov.net>
19977         Browser-like Info-history button menu (bug#37184)
19979         * doc/misc/info.texi (Help-Int): Using tool-bar to navigate history.
19981         * lisp/info.el (Info-history-menu): New function.
19982         (Info-history-back-menu, Info-history-forward-menu): New commands.
19983         (Info-mode-map): Bind Info-history-back-menu and
19984         Info-history-forward-menu to tool-bar on C-key.
19986 2019-08-27  Michael Albinus  <michael.albinus@gmx.de>
19988         Deactivate part of tramp--test-check-files on macOS (Bug#36940)
19990         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Do not
19991         search for environment variables on macOS.  (Bug#36940)
19993 2019-08-27  Eli Zaretskii  <eliz@gnu.org>
19995         Fix crashes on MS-Windows when using GnuTLS connections
19997         * src/gnutls.c (init_gnutls_functions) [WINDOWSNT]: Define and
19998         load gnutls_free by an explicit call to GetProcAddress.
19999         (gnutls_free) [WINDOWSNT]: Define as a macro that dereferences
20000         a function pointer.  (Bug#31946)
20001         (Fgnutls_format_certificate): Use make_string_from_bytes
20002         instead of going through an intermediate malloc'ed buffer.
20004 2019-08-27  Alex Branham  <alex.branham@gmail.com>
20006         Fix filename completion in shell mode buffers
20008         * lisp/shell.el (shell-dynamic-complete-functions): Move
20009         pcomplete-completions-at-point down the list so that filename
20010         completion has a chance to complete before pcompletion.
20012         Fixes bug#34330
20014 2019-08-27  Michael Albinus  <michael.albinus@gmx.de>
20016         * test/Makefile.in (test_template): Declare target FOO.log.
20018 2019-08-27  Lars Ingebrigtsen  <larsi@gnus.org>
20020         Fix completion in `read-library-name'
20022         * lisp/emacs-lisp/find-func.el (read-library-name): Only list
20023         .el/.el.gz files when completing (bug#36945).
20025 2019-08-26  Mauro Aranda  <maurooaranda@gmail.com>
20027         Make link widgets obey mouse-1-click-follows-link
20029         * lisp/wid-edit.el (widget-link-keymap): New variable, a keymap to use
20030         inside a link widget.
20031         ('link widget): Restore the :follow-link property and add
20032         widget-link-keymap as the :keymap property (bug#15682).
20034 2019-08-26  Mauro Aranda  <maurooaranda@gmail.com>
20036         Adapt recentf.el to the change in the Widget Library
20038         * lisp/recentf.el (recentf-open-files-item): Stop overriding
20039         :follow-link property of the link widgets, since now it should
20040         work as expected (bug#15682).
20042 2019-08-26  Mauro Aranda  <maurooaranda@gmail.com>
20044         Create push-button widgets instead of links in epa *Keys* buffer
20046         * lisp/epa.el (epa--select-keys): Make OK and Cancel into buttons
20047         (bug#15682).
20049 2019-08-26  Paul Eggert  <eggert@cs.ucla.edu>
20051         Fix Tramp rounding of file sizes and inode numbers
20053         * lisp/net/tramp-sh.el (tramp-perl-file-attributes)
20054         (tramp-perl-directory-files-and-attributes)
20055         (tramp-do-file-attributes-with-stat)
20056         (tramp-do-directory-files-and-attributes-with-stat):
20057         Format file sizes and inode numbers without trailing ".0",
20058         to avoid rounding errors when absolute values exceed 2**53
20059         (Bug#36940#94).  This fixes the problem for Emacs 27 and later,
20060         and doesn't hurt in earlier Emacs.
20062 2019-08-26  Stefan Kangas  <stefankangas@gmail.com>
20064         Prefer display-line-numbers over linum in docs and one defcustom
20066         * doc/misc/efaq.texi: Replace linum with display-line-numbers.
20067         * lisp/progmodes/prog-mode.el (prog-mode-hook): Replace linum-mode
20068         with display-line-numbers-mode in :options.  (Bug#37120)
20070 2019-08-26  Juri Linkov  <juri@linkov.net>
20072         * src/keyboard.c (parse_tool_bar_item): Use CAPTION when HELP is unavailable
20074         while adding equivalent key binding to the tooltip. (Bug#36156)
20076 2019-08-26  Eli Zaretskii  <eliz@gnu.org>
20078         Fix crashes in networking with GnuTLS on MS-Windows
20080         * src/gnutls.c (init_gnutls_functions) [WINDOWSNT]: Define and
20081         load gnutls_free.
20082         (Fgnutls_format_certificate): Use gnutls_free instead of
20083         xfree.  This prevents crashes on MS-Windows, since the memory
20084         being released was allocated inside GnuTLS.  (Bug#31946)
20086 2019-08-25  Lars Ingebrigtsen  <larsi@gnus.org>
20088         Allow finding gpg2 binaries when gpg2 has an "unknown" version string
20090         * lisp/epg-config.el (epg-find-configuration): Allow finding a
20091         usable configuration even if the version string looks like "gpg
20092         (GnuPG) 2.2.15-unknown" (bug#35629).
20094 2019-08-25  Teemu Likonen  <tlikonen@iki.fi>
20096         Only use --sender for gpg when gpg supports it
20098         * lisp/epg-config.el (epg-required-version-p): New function (bug#37025).
20100         * lisp/gnus/mml-sec.el (mml-secure-epg-sign):
20101         * lisp/epg.el (epg-start-sign):
20102         (epg-start-encrypt): Use it to only use --sender when the gpg
20103         binary supports it.
20105 2019-08-25  Lars Ingebrigtsen  <larsi@gnus.org>
20107         Fix ede-proj-project class
20109         * lisp/cedet/ede/proj.el (ede-proj-project): Make class inherit
20110         from eieio-named to get object-name slot (bug#37181).
20112 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
20114         Fix bug with non-paletted transparent PNGs
20116         Adapted from a fix by YAMAMOTO Mitsuharu (Bug#37153#77).
20117         * src/image.c (png_load_body): Fix bug with non-paletted
20118         transparent images.
20120 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
20122         Fix misdisplay of PNG paletted images
20124         Problem reported by Roland Winkler (Bug#37153).
20125         Derived from a patch suggested by YAMAMOTO Mitsuharu (Bug#37153#62).
20126         * src/image.c (png_get_valid) [WINDOWSNT]:
20127         Do not dynamically link this function.
20128         (png_get_tRNS) [WINDOWSNT && PNG_tRNS_SUPPORTED]:
20129         Dynamically link this function instead.
20130         (png_load_body): Do not assume that every paletted image supplies
20131         only transparency data.  Fix typo in use of transparent_p.
20133 2019-08-25  Michael Albinus  <michael.albinus@gmx.de>
20135         Fix a further part of Bug#36940
20137         * lisp/net/tramp-sh.el (tramp-perl-file-attributes)
20138         (tramp-perl-directory-files-and-attributes)
20139         (tramp-do-file-attributes-with-stat)
20140         (tramp-do-directory-files-and-attributes-with-stat): Return size
20141         and inode as floating number.  (Bug#36940).
20143 2019-08-25  Alan Mackenzie  <acm@muc.de>
20145         Introduce new value t for compilation-context-lines to eliminate scrolling
20147         In particular, to prevent scrolling in a window lacking a left fringe.
20148         Instead, a visible arrow "=>" is inserted before column zero.  This fixes
20149         bug #36832.
20151         * lisp/progmodes/compile.el (compilation-context-lines): Add the new value t.
20152         (compilation-set-window): Amend to handle compilation-context-lines being t.
20153         (overlay-arrow-overlay): New variable holding an overlay with before-string
20154         property "=>".
20155         (compilation-set-overlay-arrow): New function which manipulates
20156         overlay-arrow-overlay.
20157         (compilation-goto-locus, compilation-find-file): In addition to calling
20158         compilation-set-window, also call compilation-set-overlay-arrow.
20160         * doc/emacs/building.texi (Compilation Mode): Document the new value t which
20161         compilation-context-lines can take.
20163         * etc/NEWS: Add an entry for this change.
20165 2019-08-25  Alex Ott  <alexott@gmail.com>
20167         Fix minor problems in TUTORIAL.ru
20169         This fixes wording and avoids visiting the tutorial in
20170         Ruby mode.
20172 2019-08-25  Eli Zaretskii  <eliz@gnu.org>
20174         Fix a recent change in coding.c
20176         This partially reverts the changes in "extern function cleanup".
20177         * src/coding.c (encode_string_utf_8, decode_string_utf_8): Now
20178         extern again.  They should NOT be static, as they are intended
20179         to be used by the likes of json.c, where we need
20180         highly-optimized code for processing UTF-8 strings.  E.g.,
20181         decode_string_utf_8 beats make_string_from_utf8 by a factor of
20182         2 to 5 in a large number of scenarios.
20184 2019-08-24  Lars Ingebrigtsen  <larsi@gnus.org>
20186         Use ' instead of ` in NEWS
20188 2019-08-24  Lars Ingebrigtsen  <larsi@gnus.org>
20190         Use `autoconf-mode' for Autoconf .m4 files
20192         * lisp/files.el (auto-mode-alist): Use `autoconf-mode' (instead of
20193         `m4-mode') for acinclude.m4/aclocal.m4/acsite.m4 files (bug#37133).
20195 2019-08-24  Alex Branham  <alex.branham@gmail.com>
20197         The `gnus*-1' functions shouldn't be interactive
20199         * lisp/gnus/gnus-start.el (gnus-no-server-1): This function
20200         shouldn't be interactive (bug#37022).
20201         (gnus-1): Ditto.
20203 2019-08-24  Lars Ingebrigtsen  <larsi@gnus.org>
20205         Disallow just hitting RET in gnus-mime-replace-part
20207         * lisp/gnus/gnus-art.el (gnus-mime-replace-part): Don't replace
20208         the part if the file to replace it with doesn't exist (bug#36864).
20210 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20212         Clarify Fx_parse_geometry initialization
20214         * src/frame.c (Fx_parse_geometry): Clarify why local init
20215         isn’t needed.
20217 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20219         Tweak time arithmetic performance
20221         * src/timefns.c (time_arith): Prefer mpz_divexact to mpz_tdiv_q
20222         when either will do.
20224 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20226         Speed up % and mod with fixnum denom
20228         * src/data.c (integer_remainder): New function.  When the
20229         numerator is a bignum and the denominator is small, this function
20230         uses mpz_tdiv_ui, which should be faster than mpz_tdiv_r.
20231         (Frem, Fmod): Use it.
20233 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20235         Tweak integer mod performance
20237         * src/data.c (integer_mod): Use mpz_tdiv_r not mpz_mod, as that’s
20238         more similar to the fixnum case, is a bit more efficient, and
20239         otherwise the later ‘sgn_r < 0’ code is useless anyway.
20241 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20243         Make (mod 1.0 0) consistent with (/ 1.0 0)
20245         * src/data.c (Fmod): Do not signal an error for (mod 1.0 0), for
20246         the same reason (/ 1.0 0) does not signal an error.
20247         * test/src/data-tests.el (data-tests-mod-0): New test.
20249 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20251         extern function cleanup
20253         Most of these functions can be static.  A few are unused.
20254         * src/coding.c (encode_string_utf_8, decode_string_utf_8):
20255         Define only if ENABLE_UTF_8_CONVERTER_TEST, as they're
20256         not needed otherwise.
20257         * src/coding.c (encode_string_utf_8, decode_string_utf_8):
20258         * src/data.c (integer_mod):
20259         * src/fns.c (base64_encode_region_1, base64_encode_string_1):
20260         * src/ftfont.c (ftfont_get_fc_charset):
20261         Now static.
20262         * src/sysdep.c (verrprintf): Remove; unused.
20264 2019-08-24  Noam Postavsky  <npostavs@gmail.com>
20266         Fix non-deterministic process test
20268         * test/src/process-tests.el (set-process-filter-t): Don't assume
20269         subprocess output will come in a single chunk, keep waiting for more
20270         data until next "prompt" is read from subprocess.
20272 2019-08-24  Eli Zaretskii  <eliz@gnu.org>
20274         Revert "Recompute user-emacs-directory-relative defcustoms one more time"
20276         This reverts commit bb5cd7c4caf415e40836edbbc4e62b0dd411d73f.
20277         See bug#37173.
20279 2019-08-24  Robert Pluim  <rpluim@gmail.com>
20281         Fix DNS tests
20283         * test/src/process-tests.el: (lookup-family-specification,
20284         lookup-unicode-domains, unibyte-domain-name, lookup-google,
20285         non-existent-lookup-failure): Skip on Hydra, which doesn't have DNS.
20286         Fix buggy test condition.  (Bug#37165)
20288 2019-08-24  Michael Albinus  <michael.albinus@gmx.de>
20290         Fix some problems of Bug#36940
20292         * test/lisp/net/tramp-tests.el (tramp-test22-file-times): Do not
20293         compare time value lists by `equal'.  (Bug#36940).
20294         (tramp-test30-make-process): Adapt "kill" message to match on macOS.
20296 2019-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20298         Tweak gnutls-peer-status reporting
20300         * src/gnutls.c (Fgnutls_peer_status): Report :compression and
20301         :encrypt-then-mac only if the underlying GnuTLS library has
20302         the corresponding features.  This give the Elisp caller a bit
20303         more information about the peer status.
20304         * lisp/net/nsm.el (nsm-protocol-check--compression):
20305         Don’t worry about compression in newer GnuTLS versions
20306         that do not support compression.
20308 2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
20310         Mention new usage of `invalid-read-syntax' in the manual
20312         * doc/lispref/errors.texi (Standard Errors): Document "trailing
20313         garbage" use of `invalid-read-syntax' (bug#24649).
20315 2019-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20317         Clarify compiler-pacifier in frame.c
20319         * src/frame.c (Fx_parse_geometry): Pacify the compiler in a
20320         different way, so that the human reader can more easily see
20321         that the initializations are unnecessary.
20323 2019-08-23  Eli Zaretskii  <eliz@gnu.org>
20325         Fix compilation --without--x
20327         * src/xdisp.c (extend_face_to_end_of_line): Fix a recent
20328         change that moved the initialization of default_face.
20329         Reported by Glenn Morris <rgm@gnu.org>.
20331 2019-08-23  Eli Zaretskii  <eliz@gnu.org>
20333         Avoid a compilation warning in w32.c
20335         * src/w32.c (logon_network_drive): Avoid compilation warning
20336         about strncpy arguments.
20338 2019-08-23  Eli Zaretskii  <eliz@gnu.org>
20340         Avoid compilation warning in frame.c
20342         * src/frame.c (Fx_parse_geometry): Avoid compilation warning
20343         about x and y being used without initializing them.
20345 2019-08-23  Noam Postavsky  <npostavs@gmail.com>
20347         Print macro modified macro keys as characters not integers
20349         * lisp/macros.el (macros--insert-vector-macro): Pass all elements to
20350         'prin1-char', not just those that satisfy characterp (because characters
20351         which have modifier bits set wouldn't qualify otherwise).
20352         'prin1-char' will return nil if it can't handle the argument (e.g.,
20353         for symbols representing function keys).
20355 2019-08-23  Robert Pluim  <rpluim@gmail.com>
20357         Fix compilation of process.c
20359         * src/process.c (network_lookup_address_info_1): [!HAVE_GAI_STRERROR]:
20360         Use make_fixnum instead of make_number.  (Bug#37158).
20362 2019-08-23  Michael Heerdegen  <michael_heerdegen@web.de>
20364         Hi-lock lines up to right margin (Bug#15934)
20366         * lisp/hi-lock.el (hi-lock-line-face-buffer): Change used regexp so
20367         that a line terminating newline character is included in the match.
20369 2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
20371         Rename renamed nsm.el variables and functions back
20373         * doc/emacs/misc.texi (Network Security): Start working on
20374         updating the NSM bits, but it's unclear how much of the new stuff
20375         to document.
20377         * lisp/net/nsm.el: Rename all nsm-tls-check-* functions to
20378         nsm-protocol-check--* to bring them back into line with the
20379         documentation.
20380         (network-security-protocol-checks): Renamed back again from
20381         `nsm-tls-checks', as this variable is documented and can't just go
20382         away.
20384 2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
20386         Move all NSM tests away from the `low' level
20388         * lisp/net/nsm.el (network-security-level, nsm-tls-checks): Make
20389         `low' a "check nothing" setting again, and move all the `low'
20390         checks back to `medium'.  This makes the test suite work again.
20392 2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
20394         Tweak previous tar-mode time stamp code
20396         * lisp/tar-mode.el (tar-header-block-summarize): Tweak previous
20397         commit to output the time stamp in the exact same way that GNU tar
20398         does.
20400 2019-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20402         Get the Gnutls code compiling on Fedora 30
20404         The recent changes caused the build to fail on Fedora 30 when built
20405         with --enable-gcc-warnings, among other things with diagnostics that
20406         gnutls_compression_get and gnutls_compression_get_name are deprecated
20407         (this started with GnuTLS 3.6).  Fix this by refusing to call these
20408         obsolescent and now-dummy functions in GnuTLS 3.6 and later.  However,
20409         this is just a temporary workaround to get the build working; a real
20410         fix is needed, as network-stream-tests fail.
20411         * src/gnutls.c (HAVE_GNUTLS_COMPRESSION_GET): New macro.
20412         (gnutls_compression_get, gnutls_compression_get_name):
20413         Define only if HAVE_GNUTLS_COMPRESSION_GET.
20414         (init_gnutls_functions): Load the two functions only if
20415         HAVE_GNUTLS_COMPRESSION_GET.
20416         (emacs_gnutls_certificate_export_pem): Use alloca instead of xmalloc.
20417         (Fgnutls_peer_status): Just return "NULL" if the functions
20418         are deprecated.
20419         (Fgnutls_format_certificate): Fix pointer signedness glitches.
20420         * src/process.c: Fix spacing.
20422 2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
20424         Put error output from M-! at the end of the error buffer
20426         * lisp/simple.el (shell-command-on-region): Put the error output
20427         at the end of the buffer instead of wherever point is (bug#7513).
20428         This avoids interleaving error output.
20430 2019-08-23  Robert Pluim  <rpluim@gmail.com>
20432         Move default face lookup
20434         * src/xdisp.c (extend_face_to_end_of_line): Move default face
20435         lookup lower.
20437 2019-08-23  Robert Pluim  <rpluim@gmail.com>
20439         Correct description of network-lookup-address-info
20441         * doc/lispref/processes.texi (Misc Network): Remove erroneous text
20442           about port numbers
20444 2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
20446         Remove debugging from previous shr.el patch
20448 2019-08-23  Eli Zaretskii  <eliz@gnu.org>
20450         Fix recent changes in gnutls.c
20452         * src/gnutls.c: Fix typos that broke the MS-Windows build.
20453         (Fgnutls_peer_status_warning_describe): Fix incomplete error
20454         message string.
20456 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20458         Avoid an infloop in shr when filling text with :align-to properties
20460         * lisp/net/shr.el (shr-fill-line): Only join together URL buttons
20461         if there are any URL buttons.
20463 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20465         Fix Gnus display of timestamps that's less than a second old
20467         * lisp/gnus/gnus-art.el (article-lapsed-string): The elapsed
20468         seconds may be a fractional second.  In that case, just say "now".
20470 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20472         Really save games scores to the games scores directory
20474         * lisp/play/gamegrid.el
20475         (gamegrid-add-score-with-update-game-score): Save games scores to
20476         `gamegrid-user-score-file-directory' by default (bug#36971).
20478 2019-08-22  Damien Cassou  <damien@cassou.me>
20480         Add imenu support to xref
20482         * lisp/progmodes/xref.el (xref--imenu-prev-index-position)
20483         (xref--imenu-extract-index-name): Add functions to get imenu support.
20484         (xref--xref-buffer-mode): Set imenu variables to the new functions.
20485         * etc/NEWS: Add corresponding entry (bug#36974).
20487 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20489         Give a better error message when reading invalid "\unicode" escapes.
20491         * src/lread.c (read_escape): Give a clearer error message on
20492         Unicode escape sequences (bug#36988).
20494 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20496         Clarify doc string of cl-pushnew
20498         * lisp/emacs-lisp/cl-lib.el (cl-pushnew): Clarify doc string
20499         (bug#37016).
20501 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20503         Fix interaction between url-handler-mode and browse-url
20505         * lisp/net/browse-url.el (browse-url): Don't expand any URLs (like
20506         "man:") that have a scheme when using `url-handler-mode' (bug#37056).
20508 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20510         Use ISO8601 time formats in tar-mode
20512         * lisp/tar-mode.el (tar-clip-time-string): Make obsolete (bug#37130).
20513         (tar-header-block-summarize): Use ISO8601 time instead of
20514         home-brew format.
20516 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20518         Make dired recognize .lz files
20520         * lisp/dired-aux.el (dired-compress-file-suffixes): Recognize .lz
20521         (lzip) compressed files (bug#37136).
20523 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20525         Fix too-long lines in nsm.el
20527         * lisp/net/nsm.el: Fix some too-long lines and some terminology in
20528         the doc strings/comments.
20530 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20532         Mention new NSM warnings
20534 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20536         Tweak the warning display to be less like a TLS decoding page
20538         * lisp/net/nsm.el (nsm-parse-subject, nsm-certificate-part):
20539         Restore functions for parsing subjects.
20540         (nsm-format-certificate): Use them to display more user-friendly
20541         data.  Also change the display to have fewer lines again so that
20542         the data of interest isn't pushed off the screen.
20544 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20546         Enable sorting paragraphs when the final paragraph has no newline
20548         * lisp/sort.el (sort-paragraphs): Ensure that when sorting
20549         paragraphs, the final paragraph ends with a newline (bug#21785).
20551 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20553         Signal an error on `M-x shell-mode'
20555         * lisp/shell.el (shell-mode): This mode can't usefully be called
20556         interactively (and is somewhat destructive, as it disables
20557         `undo'), and it's usually confused with `shell-script-mode'
20558         (bug#19812).  So signal an error if it's used interactively.
20560 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20562         Make ibuffer-mark-by-file-name-regexp work on the displayed file name
20564         * lisp/ibuf-ext.el (ibuffer-mark-by-file-name-regexp): Perform the
20565         matching on the abbreviated (i.e., displayed) file name, and not
20566         the complete name (bug#18859).  This seems like the more expected
20567         action.
20569 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20571         Have `M-x battery' list all batteries under GNU/Linux
20573         * lisp/battery.el (battery-upower-device): Remove (bug#25559).
20574         (battery--find-linux-sysfs-batteries): New function.
20575         (battery-status-function, battery-linux-sysfs): Use it to list all
20576         batteries, no matter what they're called.
20578 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20580         Signal `invalid-read-syntax' for "trailing garbage"
20582         * src/minibuf.c (string_to_object): Signal `invalid-read-syntax'
20583         instead of the generic `error' for "trailing garbage following
20584         expression" (bug#24649).
20586 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20588         Fix skeleton edebug spec
20590         * lisp/skeleton.el (skeleton-edebug-spec): Fix edebug spec
20591         (bug#24779).
20593 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
20595         Run quit-window-hook from the correct buffer
20597         * lisp/window.el (quit-window): Run the hook from the buffer
20598         specified by the WINDOW parameter.
20600 2019-08-22  Eli Zaretskii  <eliz@gnu.org>
20602         Recompute user-emacs-directory-relative defcustoms one more time
20604         * lisp/startup.el (command-line): Re-evaluate the
20605         custom-delayed predefined variables one more time after
20606         loading the user's init file.  (Bug#37116)
20608 2019-08-22  Stefan Kangas  <stefankangas@gmail.com>
20610         Fix minor checkdoc errors in package.el
20612         * lisp/emacs-lisp/package.el (package-all-keywords)
20613         (package-menu--generate, package-archive-priority): Doc fixes.
20615 2019-08-22  Stefan Kangas  <stefankangas@gmail.com>
20617         Signal user-error on duplicate package refresh
20619         * lisp/emacs-lisp/package.el (package-menu-refresh): Signal a
20620         user-error if there is already a refresh running in the
20621         background.  Doc fix.  (Bug#36707)
20623 2019-08-22  Stefan Kangas  <stefankangas@gmail.com>
20625         * doc/misc/efaq.texi: Note the inclusion year.  (Bug#37142)
20627 2019-08-22  Eli Zaretskii  <eliz@gnu.org>
20629         Improve documentation of 'ispell-skip-html'
20631         * lisp/textmodes/ispell.el (ispell-skip-html): Doc fix.
20632         (Bug#37141)
20634 2019-08-22  Michael Albinus  <michael.albinus@gmx.de>
20636         * doc/misc/tramp.texi: Use @acronym{GVFS}.
20638 2019-08-22  Paul Eggert  <eggert@cs.ucla.edu>
20640         Fix Qunbound-Qnil confusion in clrhash patch
20642         Problem reported by Stefan Monnier.
20643         * src/fns.c (hash_clear): Fix typo I introduced in my previous
20644         patch here, by setting keys to Qunbound not Qnil.
20646 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
20648         Remove no-longer-needed workaround for GC bug
20650         * src/keymap.c (describe_vector): Remove old workaround for GC bug.
20651         This workaround, introduced in 1993-02-19T05:43:54Z!rms@gnu.org,
20652         has not been needed for some time.  Problem reported by Pip Cet in:
20653         https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html
20655 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
20657         Don’t debug fset by default
20659         This GC bug seems to have been fixed, so the check is no longer
20660         needed in production code.  From a suggestion by Pip Cet in:
20661         https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html
20662         * src/alloc.c (SUSPICIOUS_OBJECT_CHECKING) [!ENABLE_CHECKING]:
20663         Do not define.
20664         (find_suspicious_object_in_range, detect_suspicious_free):
20665         Expand to proper dummy expressions if !SUSPICIOUS_OBJECT_CHECKING.
20666         * src/data.c (Ffset): Convert test to an eassert.
20668 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
20670         Fix clrhash bug when hash table needs rehashing
20672         Problem reported by Pip Cet in:
20673         https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html
20674         * src/fns.c (maybe_resize_hash_table): Prefer ASET to gc_aset
20675         where either will do.  Simplify appending of Qunbound values.
20676         Put index_size calculation closer to where it’s needed.
20677         (hash_clear): If hash_rehash_needed_p (h), don’t clear the
20678         nonexistent hash vector.  Use memclear to speed up clearing.
20679         * src/lisp.h (HASH_TABLE_SIZE): Check that the size is positive,
20680         and tell that to the compiler.
20682 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
20684         * src/buffer.c: Fix comment typo.
20686 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
20688         Don’t hard-loop on cycles in ‘read’ etc.
20690         Problem for ‘read’ reported by Pip Cet in:
20691         https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html
20692         * src/fns.c (Frequire): Protect against circular current-load-list.
20693         * src/lread.c (Fget_load_suffixes):
20694         Protect against circular load-suffixes or load-file-rep-suffixes.
20695         (Fload): Protect against circular loads-in-progress.
20696         (openp): Protect against circular PATH and SUFFIXES.
20697         (build_load_history): Protect against circular load-history or
20698         current-load-list.
20699         (readevalloop_eager_expand_eval): Protect against circular SUBFORMS.
20700         (read1): Protect against circular data.
20701         * test/src/lread-tests.el (lread-circular-hash): New test.
20703 2019-08-21  Nicolas Petton  <nicolas@petton.fr>
20705         * etc/HISTORY: Add Emacs 26.3 release release date.
20707 2019-08-21  Nicolas Petton  <nicolas@petton.fr>
20709         Bump Emacs version to 26.3
20711         * README:
20712         * configure.ac:
20713         * msdos/sed2v2.inp:
20714         * nt/README.W32: Bump Emacs version.
20716 2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>
20718         Make hide-ifdef-mode-prefix-key customisable
20720         * lisp/progmodes/hideif.el (hide-ifdef-mode-prefix-key): Make into
20721         a defcustom since it seems like this is something that should be
20722         user-customisable (bug#8922).
20724 2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>
20726         Use `quit-window-hook' in Info instead of having its own command
20728         * doc/misc/info.texi (Help-Q): Info now uses `quit-window'.
20730         * lisp/info.el (info-standalone): Adjust doc string.
20731         (Info-exit): Made into obsolete alias.
20732         (Info-mode-map): Bind "q" to `quit-window'.
20733         (Info-mode-menu): Adjust.
20734         (info-tool-bar-map): Ditto.
20735         (Info-mode): Adjust doc string.
20736         (Info-mode): If Info is standalone, kill Emacs on "q".
20738 2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>
20740         Adjust quit-window-hook documentation
20742         * doc/lispref/windows.texi (Quitting Windows): Adjust
20743         documentation of quit-window-hook (bug#9867).
20745 2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>
20747         Mention quit-window-hook in "Standard Hooks"
20749         * doc/lispref/hooks.texi (Standard Hooks): Mention
20750         quit-window-hook (bug#9867).
20752 2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>
20754         Call `quit-window-hook' in the `quit-window' command only
20756         * lisp/window.el (quit-restore-window): Don't run quit-window-hook
20757         here...
20758         (quit-window): ... but here instead.  Callers that call the former
20759         programmatically can decide themselves whether to call the hook.
20760         (quit-window-hook): Fix doc string.
20762 2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>
20764         Fix the interactive spec for set-frame-width/height
20766         * src/frame.c (Fset_frame_width):
20767         (Fset_frame_height): Use `prefix-numeric-value' to get the proper
20768         numeric value (bug#9970).
20770 2019-08-21  Stefan Kangas  <stefankangas@gmail.com>
20772         * lisp/mail/flow-fill.el: Change todo comment to not mention XEmacs.
20774 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
20776         Be more careful about pointers to bignum vals
20778         This uses ‘const’ to be better at catching bugs that
20779         mistakenly attempt to modify a bignum value.
20780         Lisp bignums are supposed to be immutable.
20781         * src/alloc.c (make_pure_bignum):
20782         * src/fns.c (sxhash_bignum):
20783         Accept Lisp_Object instead of struct Lisp_Bignum *, as that’s
20784         simpler now.  Caller changed.
20785         * src/bignum.h (bignum_val, xbignum_val): New inline functions.
20786         Prefer them to &i->value and XBIGNUM (i)->value, since they
20787         apply ‘const’ to the result.
20788         * src/timefns.c (lisp_to_timespec): Use mpz_t const *
20789         to point to a bignum value.
20791 2019-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20793         Update mini-gmp
20795         * src/mini-gmp.c: Sync from upstream.  This incorporates:
20796         2019-08-13 Silence a couple of warnings
20798 2019-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20800         Avoid some excess precision in time arithmetic
20802         * doc/misc/emacs-mime.texi (time-date):
20803         Adjust example to match new behavior.
20804         * etc/NEWS: Mention this.
20805         * lisp/calendar/time-date.el (decoded-time-add)
20806         (decoded-time--alter-second):
20807         Don’t lose underestimate precision of seconds component.
20808         * src/bignum.c (mpz): Grow by 1.
20809         * src/timefns.c (trillion_factor): New function.
20810         (timeform_sub_ps_p): Remove.
20811         (time_arith): Avoid unnecessarily-large hz, by reducing the hz
20812         to a value no worse than the worse hz of the two arguments.
20813         The result is always exact unless an error is signaled.
20814         * test/src/timefns-tests.el (timefns-tests--decode-time):
20815         New function.
20816         (format-time-string-with-zone): Test (decode-time LOOK ZONE t)
20817         resolution as well as its numeric value.
20819 2019-08-20  Noam Postavsky  <npostavs@gmail.com>
20821         Respect global-eldoc-mode in minibuffers (Bug#36886)
20823         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Accept
20824         a BODY parameter.
20825         * doc/lispref/modes.texi (Defining Minor Modes): Document new
20826         parameter.
20827         * etc/NEWS: Announce it.
20829         * lisp/simple.el (read--expression): Move eldoc-mode setup to...
20830         * lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): ... here,
20831         new function.
20832         (global-eldoc-mode): Add or remove it to
20833         eval-expression-minibuffer-setup-hook when enabling or disabling
20834         global-eldoc-mode.  This enables eldoc in the minibuffer (solving
20835         Bug#27202), only when global-eldoc-mode is enabled.
20837 2019-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20839         Support larger TIMEs in (time-convert TIME t)
20841         Also, improve the doc to match current behavior.
20842         * doc/lispref/os.texi (Time Conversion): Document that
20843         time-convert signals an error for infinite or NaN args,
20844         and that (time-convert TIME t) is exact otherwise.
20845         Mention float-time as an alternative to time-convert.
20846         (Time Calculations): Document that time-add and time-subtract
20847         are exact and do not decrease HZ below the minimum of their args.
20848         * src/timefns.c (decode_float_time): Don’t signal an error for
20849         floating-point arguments whose base-FLT_RADIX exponent is not less
20850         than DBL_MANT_DIG.  Instead, convert them to (TICKS . 1) values.
20851         Use two (instead of three) integer exponent comparisons in the
20852         typical case.
20853         * test/src/timefns-tests.el (time-arith-tests):
20854         Add more floating-point tests, including some tests
20855         that the old code fails.
20857 2019-08-20  Stephen Leake  <stephen_leake@stephe-leake.org>
20859         Delete built-in ada-mode; Gnu ELPA is a good replacement
20861         * doc/misc/Makefile.in (INFO_COMMON): Delete ada-mode.
20863         * doc/misc/ada-mode.texi: Delete.
20865         * etc/NEWS: Mention ada-mode deleted.
20867         * lisp/progmodes/ada-mode.el: Delete.
20869         * lisp/progmodes/ada-prj.el: Delete.
20871         * lisp/progmodes/ada-stmt.el: Delete.
20873         * lisp/progmodes/ada-xref.el: Delete.
20875 2019-08-20  Michael Albinus  <michael.albinus@gmx.de>
20877         Another attempt to fix bug#32645
20879         * test/lisp/autorevert-tests.el ()
20880         (auto-revert-test02-auto-revert-deleted-file):
20881         * test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
20882         Check `file-notify-valid-p', not that the descriptor is nil.
20884 2019-08-20  Glenn Morris  <rgm@gnu.org>
20886         Merge from origin/emacs-26
20888         615cff4 (origin/emacs-26) Fix process filter documentation (Bug#13400)
20889         beb1d22 Fix query-replace-regexp undo feature
20891         # Conflicts:
20892         #       test/lisp/replace-tests.el
20894 2019-08-20  Glenn Morris  <rgm@gnu.org>
20896         Merge from origin/emacs-26
20898         0b810eb Fix a typo in char-width-table
20899         3f00db7 Minor update in admin/notes/unicode
20900         bcd0115 Fix lisp indent infloop on unfinished strings (Bug#37045)
20901         5f992d1 Improve commentary in composite.el
20902         3a04be2 ; Improve commentary in xdisp.c
20903         15de1d1 Fix markup in dired-x.texi
20904         bda7fc7 ; Fix typo in a doc string of speedbar.el
20905         6f57ef9 * src/callproc.c (Fcall_process): Doc fix.
20907         # Conflicts:
20908         #       doc/misc/dired-x.texi
20909         #       lisp/international/characters.el
20910         #       src/callproc.c
20912 2019-08-20  Ulrich Müller  <ulm@gentoo.org>
20914         * configure.ac (HAVE_JPEG): Test for window system. (Bug#36995)
20916 2019-08-20  Mauro Aranda  <maurooaranda@gmail.com>
20918         Don't display wrong ElDoc information when inside ELisp strings or comments
20920         * lisp/progmodes/elisp-mode.el (elisp--fnsym-in-current-sexp): Since
20921         forward-sexp assumes point is not in a string or comment, avoid
20922         calling it and then checking if point is inside a string, since that
20923         sometimes will fail with awkward results.  (Bug#35567)
20925 2019-08-19  Lars Ingebrigtsen  <larsi@gnus.org>
20927         Output `auto-coding-alist' in `describe-current-coding-system'
20929         * lisp/international/mule-diag.el
20930         (describe-current-coding-system): Also output the contents of
20931         `auto-coding-alist', which take precedence over
20932         `file-coding-system-alist' (bug#9575).
20934 2019-08-19  Lars Ingebrigtsen  <larsi@gnus.org>
20936         Add a new hook: `quit-window-hook'
20938         * doc/lispref/windows.texi (Quitting Windows): Mention in.
20940         * lisp/window.el (quit-restore-window): Run the new
20941         `quit-window-hook' before doing anything else (bug#9867).
20942         (quit-window): Note that the hook will be run in the doc string.
20944         * lisp/window.el (quit-window-hook): New variable.
20946 2019-08-19  Paul Eggert  <eggert@cs.ucla.edu>
20948         Fix org-table 65536-second bug
20950         * lisp/org/org-table.el (org-table-message-once-per-second):
20951         Fix bug when clock difference goes past a 65536-second boundary.
20952         Don’t assume particular format for current-time result.
20954 2019-08-19  Paul Eggert  <eggert@cs.ucla.edu>
20956         Fix time-add/time-sub validity checking
20958         * src/timefns.c (time_arith): Check the first arg for
20959         validity even if the second arg is not finite.
20960         * test/src/timefns-tests.el (time-arith-tests): Test this.
20962 2019-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
20964         * lisp/erc/erc-stamp.el: Fix erc-echo-timestamp (bug#22700)
20966         Use lexical-binding.
20967         (erc-add-timestamp): Store the timestamp in a closure placed in
20968         cursor-sensor-functions rather than stashing it in an ad-hoc
20969         `timestamp` property.
20970         (erc-echo-timestamp): Simplify accordingly.
20972 2019-08-18  Lars Ingebrigtsen  <larsi@gnus.org>
20974         Allow set-frame-height/set-frame-width to be used interactively
20976         * doc/lispref/frames.texi (Frame Size): Document it.
20978         * src/frame.c (Fset_frame_height):
20979         (Fset_frame_width): Make into commands that use the numeric prefix
20980         to set height/width (bug#9970).
20982 2019-08-18  Štěpán Němec  <stepnem@gmail.com>
20984         Add an advice-add/interactive spec example
20986         * doc/lispref/functions.texi (Core Advising Primitives): Add an
20987         advice-add example that extends the `interactive' spec (bug#17871).
20989 2019-08-18  Johan Claesson  <johanclaesson@bredband.net>
20991         Invalidate dir-locals-directory-cache when writing dir-local file
20993         * lisp/files-x.el (modify-dir-local-variable): Remove file from
20994         the cache when writing to ensure that we load the new version
20995         later (bug#13860).
20997 2019-08-18  Noam Postavsky  <npostavs@gmail.com>
20999         Handle more subprocess chunking in M-x man (Bug#36927)
21001         * lisp/man.el (Man-bgproc-filter): Make sure not to chop man sections
21002         by narrowing.
21003         (Man-highlight-references0): Revert previous fix, as it's no longer
21004         needed.
21005         * test/lisp/man-tests.el (man-tests-filter-strings): New function.
21006         (man-bgproc-filter-buttonize-includes): New test.
21008 2019-08-18  Paul Eggert  <eggert@cs.ucla.edu>
21010         Improve bignum_integer static checking
21012         * src/bignum.h (bignum_integer): Now returns pointer-to-const,
21013         to catch trivial mistakes where the caller might try to modify
21014         a Lisp bignum.  Lisp bignums are supposed to be immutable.
21015         All callers changed.
21017 2019-08-18  Eli Zaretskii  <eliz@gnu.org>
21019         Attempt to fix assertion violation in eval.c
21021         * src/eval.c (Fautoload): Fix an assertion violation in
21022         make_fixnum.  Reported by martin rudalics <rudalics@gmx.at>.
21024 2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>
21026         Make `browse-url-of-buffer' work from zip files
21028         * lisp/net/browse-url.el (browse-url-of-buffer): Make `C-c C-v'
21029         work in HTML buffers visited from zip files and the like
21030         (bug#10318).
21032 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
21034         Fix org-timer-show-remaining-time > 1 hour
21036         * lisp/org/org-timer.el (org-timer-show-remaining-time):
21037         Don’t assume the remaining time is less than one hour.
21038         Simplify.  The simplification removes the need for a
21039         decode-time, and fixes a typo I introduced recently.
21041 2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>
21043         Make `describe-function' say that disabled functions are disabled
21045         * lisp/help-fns.el (help-fns--disabled): New function (bug#10853).
21046         (help-fns-describe-function-functions): Add it to the list of
21047         function help functions.
21049 2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>
21051         Make newline-and-indent take a numeric prefix
21053         * lisp/simple.el (newline-and-indent): Take a prefix argument to
21054         say how many times to perform its action (bug#10927).
21056 2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>
21058         Issue a message on `C-x o' and there's no other window
21060         * lisp/window.el (other-window): Issue a message when the user
21061         types `C-x o' and there's no other window to select (bug#10999).
21063 2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>
21065         Issue a message on `C-x 1' when there's nothing to do
21067         * lisp/window.el (delete-other-windows): Make `C-x 1' issue a
21068         message when there's no other windows to delete (bug#10999).
21070 2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>
21072         Doc clarification in two comment-* functions
21074         * lisp/newcomment.el (comment-padright, comment-padleft): Note
21075         that `comment-normalize-vars' must be called first (bug#11944).
21077 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
21079         Add FIXMEs for subsecond support
21081         This adds FIXMEs to areas where Lisp code should support
21082         subsecond information in broken-down timestamps.
21083         It also fixes some unnecessary truncation of timestamps, and
21084         ports the code to a hypothetical future Emacs version where
21085         (decode-time) returns subsecond timestamps by default.
21086         * lisp/calc/calc-forms.el (calc-time, math-iso-dt-to-date)
21087         (calcFunc-now):
21088         * lisp/calendar/icalendar.el (icalendar--add-decoded-times):
21089         * lisp/calendar/iso8601.el (iso8601-parse-interval):
21090         Truncate seconds to an integer, and add a FIXME about
21091         subseconds support.
21092         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime)
21093         (icalendar--decode-isoduration):
21094         Add a FIXME about subseconds support.
21095         * lisp/gnus/gnus-delay.el (gnus-delay-article):
21096         Don’t truncate seconds to an integer, as there’s no need
21097         to do that here.
21098         * lisp/gnus/gnus-util.el (gnus-seconds-today)
21099         (gnus-seconds-month, gnus-seconds-year):
21100         * lisp/gnus/message.el (message-make-expires-date):
21101         * lisp/org/org-timer.el (org-timer-show-remaining-time):
21102         * lisp/vc/ediff-mult.el (ediff-format-date):
21103         Truncate seconds to an integer, as that’s what’s wanted here.
21104         * lisp/midnight.el (midnight-next):
21105         Ceiling seconds to an integer, as that’s what wanted here.
21107 2019-08-17  Juri Linkov  <juri@linkov.net>
21109         * lisp/frameset.el (frameset-restore): Make sure last-focus frame has focus.
21111         Call select-frame-set-input-focus to restore focus on the frame
21112         that had last-focus-update frame parameter before saving frameset.
21113         (Bug#36894)
21115 2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>
21117         Doc clarification for call-interactively
21119         * src/callint.c (Fcall_interactively): Be explicit about what we
21120         mean by "inquire" in the doc string (bug#15653).
21122 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
21124         Port test harness to Solaris 10
21126         * test/Makefile.in (ELFILES): Port to Solaris 10, where
21127         ‘find’ does not support ‘-path’.
21129 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
21131         Update from Gnulib
21133         This incorporates:
21134         2019-08-17 intprops: port to Oracle Developer Studio 12.6
21135         2019-08-14 intprops: support uchar, ushort _WRAPV dests
21136         * lib/intprops.h: Copy from Gnulib.
21138 2019-08-17  Eli Zaretskii  <eliz@gnu.org>
21140         Improve support of the ancient Egyptian script
21142         * lisp/international/fontset.el (script-representative-chars)
21143         (setup-default-fontset): Add Egyptian.  (Bug#15420)
21145 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
21147         Have time-add etc. respect CURRENT_TIME_LIST too
21149         * src/timefns.c (time_arith) [!CURRENT_TIME_LIST]:
21150         Don’t generate a list, since CURRENT_TIME_LIST is false.
21152 2019-08-16  Eli Zaretskii  <eliz@gnu.org>
21154         Fix a recent documentation change
21156         * doc/emacs/windows.texi (Other Window): Add a cross-reference
21157         to "Rebinding".  (Bug#12431)
21159 2019-08-16  Paul Eggert  <eggert@cs.ucla.edu>
21161         More-compatible subsecond calendrical timestamps
21163         Instead of appending a subseconds member to the result of
21164         ‘decode-time’, this keeps the format unchanged unless you give
21165         a new optional argument to ‘decode-time’.  Also, the augmented
21166         format now puts the subsecond info in the SECONDS element, so
21167         the total number of elements is unchanged; this is more
21168         compatible with code that expects the traditional 9 elements,
21169         such as ‘(pcase decoded-time (`(,SEC ,MIN ,HOUR ,DAY ,MON
21170         ,YEAR ,DOW ,DST ,ZONE) ...) ...)’.
21171         * doc/lispref/os.texi, doc/misc/emacs-mime.texi, etc/NEWS:
21172         * lisp/net/soap-client.el (soap-decode-date-time):
21173         * lisp/simple.el (decoded-time):
21174         Document the new behavior.
21175         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
21176         * lisp/calendar/iso8601.el (iso8601-parse)
21177         (iso8601-parse-time, iso8601-parse-duration)
21178         (iso8601--decoded-time):
21179         * lisp/calendar/parse-time.el (parse-time-string):
21180         * lisp/calendar/time-date.el (decoded-time-add)
21181         (decoded-time--alter-second):
21182         * lisp/org/org.el (org-parse-time-string):
21183         * lisp/simple.el (decoded-time):
21184         * src/timefns.c (Fdecode_time, Fencode_time):
21185         * test/lisp/calendar/icalendar-tests.el:
21186         (icalendar--decode-isodatetime):
21187         * test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years)
21188         (test-iso8601-date-dates, test-iso8601-date-obsolete)
21189         (test-iso8601-date-weeks, test-iso8601-date-ordinals)
21190         (test-iso8601-time, test-iso8601-combined)
21191         (test-iso8601-duration, test-iso8601-intervals)
21192         (standard-test-dates, standard-test-time-of-day-fractions)
21193         (standard-test-time-of-day-beginning-of-day)
21194         (standard-test-time-of-day-utc)
21195         (standard-test-time-of-day-zone)
21196         (standard-test-date-and-time-of-day, standard-test-interval):
21197         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
21198         * test/src/timefns-tests.el (format-time-string-with-zone)
21199         (encode-time-dst-numeric-zone):
21200         Revert recent changes that added a SUBSECS member to
21201         calendrical timestamps, since that component is no longer
21202         present (the info, if any, is now in the SECONDS member).
21203         * lisp/calendar/time-date.el (decoded-time-add)
21204         (decoded-time--alter-second):
21205         Support fractional seconds in the new form.  Simplify.
21206         * src/timefns.c (Fdecode_time): Support new arg FORM.
21207         (Fencode_time): Support subsecond resolution.
21208         * test/src/timefns-tests.el (format-time-string-with-zone)
21209         (decode-then-encode-time): Test subsecond calendrical timestamps.
21211 2019-08-16  Paul Eggert  <eggert@cs.ucla.edu>
21213         Broaden format-seconds to Lisp timestamps
21215         * lisp/calendar/time-date.el (format-seconds):
21216         Accept any Lisp timestamp instead of insisting on a number.
21218 2019-08-16  Paul Eggert  <eggert@cs.ucla.edu>
21220         Subtracting “now” from “now” should yield zero
21222         * src/timefns.c (time_arith): Arrange for (time-subtract nil
21223         nil) to yield 0, to be consistent with (time-equal-p nil nil).
21224         * test/lisp/calendar/time-date-tests.el (test-time-since): New test.
21226 2019-08-16  Paul Eggert  <eggert@cs.ucla.edu>
21228         Fix time-add rounding bug
21230         Without this fix, time arithmetic yielded results that were not
21231         mathematically accurate, even though the exact results were
21232         representable; for example, (time-add 0 1e-13) yielded a timestamp
21233         equal to 0 instead of to 1e-13.
21234         * lisp/timezone.el (timezone-time-from-absolute):
21235         Let time-add do its thing rather than using floating point
21236         internally, which has rounding errors.  We now have bignums and so
21237         don’t need floating point to avoid overflow issues.
21238         * src/timefns.c (timeform_sub_ps_p): New function.
21239         (time_arith): If either argument is a float, represent the
21240         result exactly instead of discarding sub-ps info.
21241         * test/lisp/timezone-tests.el (timezone-tests-time-from-absolute):
21242         Don’t assume (HI LO US PS) timestamp format.
21243         * test/src/emacs-module-tests.el (mod-test-add-nanosecond/valid):
21244         Don’t assume that time-add discards sub-ns info.
21245         * test/src/timefns-tests.el (time-rounding-tests):
21246         Add regression test to detect time-add rounding bug.
21248 2019-08-16  Lars Ingebrigtsen  <larsi@gnus.org>
21250         Mention `next-multiframe-window' when talking about `other-window'
21252         * doc/emacs/windows.texi (Other Window): Mention
21253         the `next-multiframe-window' command here (which is otherwise not
21254         documented in the manual) (bug#12431).
21256 2019-08-16  Lars Ingebrigtsen  <larsi@gnus.org>
21258         Add missing skeleton entries in autotype.texi
21260         * doc/misc/autotype.texi: Add missing entries found in the doc
21261         string to `skeleton-insert' (bug#12563).
21263 2019-08-16  Alex Branham  <alex.branham@gmail.com>
21265         Make checkdoc check cl-lib function docstrings
21267         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
21268         Remove calls to delete-region to avoid deleting final " (bug#26328).
21269         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring)
21270         (checkdoc-defun-info): Include cl-defun, cl-defgeneric,
21271         cl-defmethod.
21272         (checkdoc-this-string-valid-engine): Add cl-lib supported
21273         keywords.
21274         (checkdoc-defun-info): Ensure function parameters are a
21275         "flat" list (bug#37034).
21277 2019-08-16  Alex Branham  <alex.branham@gmail.com>
21279         Avoid deleting closing quotation mark in checkdoc
21281         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
21282         Remove calls to delete-region to avoid deleting final " (bug#26328).
21284 2019-08-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21286         Revert "package.el: Allow Package-Requires to span multiple lines (Bug#36301)"
21288         This reverts commit 19c1e4c81c7442dea48253e5961b6e54d78b6f0a.
21290         This commit broke some package tests, reverting for now.
21292 2019-08-16  Lars Ingebrigtsen  <larsi@gnus.org>
21294         Mention that text properties are removed in substitute-command-keys
21296         * src/doc.c (Fsubstitute_command_keys): Restore the bit in the doc
21297         string that mentions that text properties is removed (bug#17052).
21299 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
21301         Add some examples in "Adding Generalized Variables"
21303         * doc/lispref/variables.texi (Adding Generalized Variables): Add
21304         examples for `gv-define-expander' and `gv-letplace' (bug#13343).
21306 2019-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21308         package.el: Allow Package-Requires to span multiple lines (Bug#36301)
21310         * lisp/emacs-lisp/package.el (lm-header-multiline): Declare
21311         function.
21312         (package-buffer-info): Parse Package-Requires with
21313         lm-header-multiline instead of lm-header.
21314         (Bug#36301)
21316 2019-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21318         Do not recreate full URL for proxied HTTPS requests (Bug#35969)
21320         * lisp/url/url-http.el (url-http-create-request): Do not recreate
21321         full URL for proxied HTTPS requests.
21322         (url-https-proxy-after-change-function): Do not bind
21323         url-http-proxy to nil before calling url-http-create-request.
21324         (Bug#35969)
21326 2019-08-15  Andreas Merziger  <andreas.merziger@online.de>
21328         Make diary-european-date-forms elements mutually exclusive
21330         * lisp/calendar/calendar.el (diary-european-date-forms): Make the
21331         elements mutually exclusive (bug#13536).
21333 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
21335         Fix up previous cl-def* changes in bovine
21337         * lisp/cedet/semantic/bovine/el.el (lambda): cl-defun* doesn't
21338         exist (bug#17005).
21339         (lambda): Add cl-defstruct.
21340         (semantic-up-context): Add cl- forms.
21342 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
21344         Reimplement the `fill-flowed' function to respect space stuffing
21346         * lisp/mail/flow-fill.el (fill-flowed): Reimplement the function
21347         to respect space-stuffing (bug#17190).
21349         * test/lisp/mail/flow-fill-tests.el
21350         (fill-flow-tests-fill-flowed-stuffed): New test.
21351         (fill-flow-tests-fill-flowed-decode): Rename the test so that it
21352         actually runs.
21354 2019-08-15  Alex Branham  <alex.branham@gmail.com>
21356         Fix eshell-mode-map initialization
21358         * lisp/eshell/esh-mode.el (eshell-mode-map, eshell-command-map): Set
21359         up normal keymaps and prefix commands rather than re-initializing them
21360         in each eshell buffer
21362         * lisp/eshell/em-cmpl.el (eshell-cmpl-mode-map, eshell-cmpl-mode)
21363         (eshell-cmpl-initialize):
21364         * lisp/eshell/em-hist.el (eshell-hist-mode-map, eshell-hist-mode)
21365         (eshell-hist-initialize):
21366         * lisp/eshell/em-pred.el (eshell-pred-mode-map, eshell-pred-mode)
21367         (eshell-pred-initialize):
21368         * lisp/eshell/em-prompt.el (eshell-prompt-mode-map, eshell-prompt-mode)
21369         (eshell-prompt-initialize):
21370         * lisp/eshell/em-rebind.el (eshell-rebind-mode-map, eshell-rebind-mode)
21371         (eshell-rebind-initialize):
21372         * lisp/eshell/esh-arg.el (eshell-arg-mode-map, eshell-arg-mode)
21373         (eshell-arg-initialize):
21374         * lisp/eshell/esh-proc.el (eshell-proc-mode-map, eshell-proc-mode)
21375         (eshell-proc-initialize):
21376         * lisp/eshell/esh-var.el (eshell-var-mode-map, eshell-var-mode)
21377         (eshell-var-initialize): Create a new minor mode with a keymap and
21378         call it in the module initialization function.
21380         bug#33808
21381         bug#22792
21383 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
21385         Rename variables and functions with "auto-load" in their names
21387         * doc/emacs/building.texi (Lisp Libraries): Adjust documentation.
21389         * lisp/help-fns.el (help--symbol-completion-table): Adjust usage.
21391         * lisp/help-fns.el (help-enable-completion-autoload): Change name
21392         from auto-load and declare an obsolete alias (bug#13418).
21394         * lisp/help.el (help-enable-autoload): Ditto.
21396         * lisp/progmodes/vhdl-mode.el: Ditto.
21397         (vhdl-create-mode-menu, vhdl-mode): Adjust usage.
21398         (vhdl-autoload-project): Rename from auto-load and declare an
21399         obsolete alias.
21401 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
21403         Remove mentions of XEmacs from the Gnus manual and faq
21405         * doc/misc/gnus-faq.texi:
21406         * doc/misc/gnus.texi: Remove references to XEmacs throughout.
21408 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
21410         Mention what effect nil has as the prompt for read-event/char/etc
21412         * doc/lispref/commands.texi (Reading One Event): Mention that ""
21413         has the same effect as nil as a prompt.
21415         * src/lread.c (Fread_event, Fread_char_exclusive, Fread_char):
21416         Mention what happens when PROMPT is nil/"" in the doc string
21417         (bug#15012).
21419 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
21421         etc/NEWS: Note that `list-processes' includes port numbers now.
21423 2019-08-15  Paul Eggert  <eggert@cs.ucla.edu>
21425         Fix typeof portability issue with bitfields
21427         Problem reported by Glenn Morris in:
21428         https://lists.gnu.org/r/emacs-devel/2019-08/msg00300.html
21429         * src/lisp.h (lisp_h_make_fixnum): Use typeof (+(n)) instead
21430         of typeof (n), so that it works with compilers that do
21431         not allow typeof to be applied to a bitfield.
21433 2019-08-15  Paul Eggert  <eggert@cs.ucla.edu>
21435         Fix rounding errors with float timestamps
21437         When converting from float to (TICKS . HZ) form, do the
21438         conversion exactly.  When converting from (TICKS . HZ) form to
21439         float, round to even precisely.  This way, successfully
21440         converting a float to (TICKS . HZ) and back yields a value
21441         numerically equal to the original.
21442         * src/timefns.c (flt_radix_power_size): New constant.
21443         (flt_radix_power): New static var.
21444         (decode_float_time): Convert the exact numeric value rather
21445         than guessing TIMESPEC_HZ resolution.
21446         (s_ns_to_double): Remove; no longer needed.
21447         (frac_to_double): New function.
21448         (decode_ticks_hz): It is now the caller’s responsibility to
21449         pass a valid TICKS and HZ.  All callers changed.
21450         Use frac_to_double to round (TICKS . HZ) precisely.
21451         (decode_time_components): When decoding nil, use
21452         decode_ticks_hz since it rounds precisely.
21453         (syms_of_timefns): Initialize flt_radix_power.
21454         * test/src/timefns-tests.el (float-time-precision): New test.
21456 2019-08-15  Michael Albinus  <michael.albinus@gmx.de>
21458         Give auto-revert-test02-auto-revert-deleted-file a chance on hydra
21460         * test/lisp/autorevert-tests.el
21461         (auto-revert-test02-auto-revert-deleted-file): Don't skip on hydra.
21463 2019-08-15  Michael Albinus  <michael.albinus@gmx.de>
21465         Improve Tramp manual
21467         * doc/misc/tramp.texi (GVFS based methods): Explain using `ftp'
21468         and `smb' methods.
21470 2019-08-15  Paul Eggert  <eggert@cs.ucla.edu>
21472         Debug out-of-range make_fixnum args
21474         With --enable-checking, make_fixnum (N) now checks that N is
21475         in fixnum range.  Suggested by Pip Cet in:
21476         https://lists.gnu.org/r/emacs-devel/2019-07/msg00548.html
21477         A new function make_ufixnum (N) is for the rare cases where N
21478         is intended to be unsigned and is in the range 0..INTMASK.
21479         * configure.ac (AC_C_TYPEOF): Add.
21480         (HAVE_STATEMENT_EXPRESSIONS): Resurrect this macro.
21481         * src/fns.c (Frandom, hashfn_eq, hashfn_equal, hashfn_user_defined):
21482         * src/profiler.c (hashfn_profiler):
21483         Use make_ufixnum rather than make_fixum, since the argument is
21484         an unsigned integer in the range 0..INTMASK rather than a signed
21485         integer in the range MOST_NEGATIVE_FIXNUM..MOST_POSITIVE_FIXNUM.
21486         Typically this is for hashes.
21487         * src/lisp.h (lisp_h_make_fixnum_wrap) [USE_LSB_TAG]:
21488         Rename from lisp_h_make_fixnum.
21489         (lisp_h_make_fixnum): Redefine in terms of lisp_h_make_fixnum_wrap.
21490         Check for fixnum overflow on compilers like GCC that
21491         have statement expressions and typeof.
21492         (FIXNUM_OVERFLOW_P): Move up.
21493         (make_fixnum): Check for fixnum overflow.
21494         (make_ufixnum): New function, which checks that the arg
21495         fits into 0..INTMASK range.
21497 2019-08-15  Paul Eggert  <eggert@cs.ucla.edu>
21499         Fix some fixnum overflow problems in ccl.c
21501         * src/ccl.c (ccl_driver, Fccl_execute, Fccl_execute_on_string):
21502         Don’t assume CCL registers fit into fixnums.
21504 2019-08-15  Paul Eggert  <eggert@cs.ucla.edu>
21506         Port mod-test-nanoseconds to 32-bit Emacs
21508         * test/src/emacs-module-tests.el (mod-test-nanoseconds):
21509         Don’t assume -1000000000 is a fixnum.
21511 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
21513         Include port numbers in `M-x list-processes'
21515         * lisp/simple.el (list-processes--refresh): Include the port
21516         numbers in the network connection list (bug#13604).
21518 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
21520         Add some cl- concept index entries
21522         * doc/misc/cl.texi (Argument Lists): Add a couple of concept index
21523         entried (bug#13606).
21525 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
21527         Clarify the doc string of complete-with-action
21529         * lisp/minibuffer.el (complete-with-action): Doc string
21530         clarification (bug#13993).
21532 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
21534         Clean up Gnus manual reference to XEmacs variables
21536         * doc/misc/gnus.texi (XVarious): Remove section about XEmacs
21537         variables that have been removed.
21539 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
21541         Minor Scroll Bars clarification
21543         * doc/emacs/frames.texi (Scroll Bars): Clarify what we mean by
21544         "customize" here (bug#14321).
21546 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
21548         Arrange custom-face-attributes closer to how heavy they are
21550         * lisp/cus-face.el (custom-face-attributes): Arrange the weights
21551         more in order of how heavy they are (bug#15526).
21553 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
21555         Use gnus-summary-button-forward in gnus-summary-mode-map
21557         * lisp/gnus/gnus-sum.el (gnus-summary-mode-map): Use
21558         `gnus-summary-button-forward' instead of the obsolete
21559         `gnus-summary-widget-forward'.
21561 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
21563         Remove INT_ADD_WRAPV bug workarounds
21565         * src/alloc.c (free_cons):
21566         * src/casefiddle.c (do_casify_multibyte_string):
21567         * src/editfns.c (styled_format):
21568         * src/image.c (png_load_body):
21569         Remove recent workarounds for INT_ADD_WRAPV bugs since
21570         the bugs have been fixed (Bug#37006).
21572 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
21574         Add C-b/f/p/n keystrokes in `M-x snake'
21576         * lisp/play/snake.el (snake-mode-map): Add the C-b/f/p/n in
21577         addition to the cursor keys (bug#16720).
21579 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
21581         Update from Gnulib
21583         This incorporates:
21584         2019-08-14 intprops: pacify picky GCC
21585         2019-08-14 intprops: support unsigned *_WRAPV results
21586         2019-08-12 verify: improve diagnostic quality in recent GCC
21587         * lib/intprops.h, lib/verify.h: Copy from Gnulib.
21589 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
21591         Add cl-def* forms to bovine/el.el
21593         * lisp/cedet/semantic/bovine/el.el (lambda): Add the cl-def*
21594         variations to allow semantic to find the definitions (bug#17005).
21596 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
21598         Don't alter function name face height in manoj-dark theme
21600         * etc/themes/manoj-dark-theme.el (manoj-dark): Don't alter the
21601         height of function name faces, because this makes many tabulated
21602         modes not longer line up (bug#17042).
21604 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
21606         Respect the BUFFER parameter in `fill-flowed'
21608         * lisp/mail/flow-fill.el (fill-flowed): `current-buffer' is always
21609         non-nil, so respect the BUFFER parameter.  Also add a doc string.
21611 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
21613         Output the maintainer and author(s) in the package description buffer
21615         * lisp/emacs-lisp/package.el (describe-package-1): Output
21616         maintainer and author(s) (bug#17573).
21617         (package--print-email-button): New function.
21619 2019-08-14  Eli Zaretskii  <eliz@gnu.org>
21621         Fix fetching URLs with stuff that looks like HTTP headers
21623         * lisp/url/url-http.el (url-http-parse-headers): Narrow the
21624         buffer to the headers at the beginning to make sure
21625         url-handle-content-transfer-encoding uses the correct
21626         headers.  (Bug#37023)
21628 2019-08-13  Paul Eggert  <eggert@cs.ucla.edu>
21630         Don’t increase consing_until_gc when out of memory
21632         * src/alloc.c (memory_full): Don’t increase consing_until_gc.
21633         Suggested by Eli Zaretskii (Bug#37006#46).
21635 2019-08-13  Paul Eggert  <eggert@cs.ucla.edu>
21637         Let consing_until_gc exceed EMACS_INT_MAX
21639         This builds on the previous patch.
21640         * src/alloc.c (consing_until_gc): Now of type intmax_t,
21641         since gc-cons-threshold can be up to INTMAX_MAX.  All uses changed.
21642         * src/lisp.h (CONSING_CT_MAX, consing_ct): Remove.
21644 2019-08-13  Paul Eggert  <eggert@cs.ucla.edu>
21646         Let consing_until_gc exceed INTPTR_MAX
21648         Suggested by Eli Zaretskii (Bug#37006#46).
21649         * src/alloc.c (consing_until_gc): Now of type consing_ct.
21650         All uses changed, so gc-cons-threshold no longer saturates
21651         against OBJECT_CT_MAX.
21652         (object_ct): Move typedef here from lisp.h.
21653         * src/lisp.h (consing_ct, CONSING_CT_MAX): New type and macro.
21654         (OBJECT_CT_MAX): Remove.  Replace all uses with CONSING_CT_MAX.
21656 2019-08-13  Paul Eggert  <eggert@cs.ucla.edu>
21658         Fix GC threshold typo
21660         Problem reported by Eli Zaretskii (Bug#37006#25).
21661         * src/alloc.c (garbage_collect_1): Fix typo in threshold calc.
21662         Go back to dividing by 10 since the numerator’s a constant now.
21663         Problem introduced in 2019-07-21T02:40:03Z!eggert@cs.ucla.edu.
21665 2019-08-13  Eli Zaretskii  <eliz@gnu.org>
21667         Improve documentation of 'diff-font-lock-prettify'
21669         * lisp/vc/diff-mode.el (diff-font-lock-prettify): Doc fix.
21671         * etc/NEWS: Minor copyedits.
21673 2019-08-13  Eli Zaretskii  <eliz@gnu.org>
21675         Fix initialization of user-defined fringe bitmaps in daemon mode
21677         * src/fringe.c (gui_init_fringe): Rename from w32_init_fringe
21678         or x_cr_init_fringe, and make unconditionally compiled; all
21679         callers changed.  Do nothing if the frame's
21680         redisplay_interface doesn't implement the define_fringe_bitmap
21681         method.  Set up any user-defined fringe bitmaps in addition to
21682         the standard bitmaps.
21683         Suggested by Liam Quinlan <liamkquinlan@gmail.com> in
21684         https://lists.gnu.org/archive/html/emacs-devel/2019-08/msg00259.html.
21686         (w32_reset_fringes) [HAVE_NTGUI]: Do nothing if the frame's
21687         redisplay_interface doesn't implement the
21688         destroy_fringe_bitmap method.
21690         * src/w32fns.c (Fx_create_frame): Call gui_init_fringe when
21691         the first GUI frame is created for this session.
21692         * src/dispextern.h (w32_init_fringe): Rename to
21693         gui_init_fringe and make unconditional.
21694         (x_cr_init_fringe): Remove prototype.
21696 2019-08-12  Óscar Fuentes  <ofv@wanadoo.es>
21698         * lisp/password-cache.el: adapt test to change in password-in-cache-p
21700 2019-08-12  Michael Albinus  <michael.albinus@gmx.de>
21702         Quote file names properly in Tramp
21704         * lisp/net/tramp.el (tramp-handle-file-truename)
21705         (tramp-handle-insert-directory):
21706         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
21707         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
21708         (tramp-sh-handle-insert-directory):
21709         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
21710         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-truename):
21711         Use `tramp-compat-directory-name-p'.
21713         * lisp/net/tramp.el (tramp-drop-volume-letter)
21714         (tramp-handle-file-truename):
21715         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
21716         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
21717         (tramp-sh-handle-file-truename):
21718         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
21719         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-truename):
21720         (tramp-sudoedit-handle-make-symbolic-link): Quote properly.
21722         * lisp/net/tramp-compat.el (tramp-compat-file-name-quote)
21723         (tramp-compat-file-name-unquote): Add optional argument TOP.
21725 2019-08-12  Michael Albinus  <michael.albinus@gmx.de>
21727         Handle symbolic links properly in Tramp gfvs methods
21729         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-readable-p):
21730         Handle symbolic links.
21732 2019-08-12  Michael Albinus  <michael.albinus@gmx.de>
21734         Fix caching problem in Tramp smb method
21736         * lisp/net/tramp-cache.el (tramp-flush-file-upper-properties):
21737         Add "file-entries",
21739 2019-08-11  Paul Eggert  <eggert@cs.ucla.edu>
21741         Prefer signed when testing for signed overflow
21743         * src/alloc.c (free_cons):
21744         * src/casefiddle.c (do_casify_multibyte_string):
21745         * src/editfns.c (styled_format):
21746         * src/image.c (png_load_body):
21747         Use signed arguments to INT_MULTIPLY_WRAPV etc.  This doesn’t fix
21748         any bugs, but GCC emits better code when all args are signed.
21749         Also, this removes the need for an if in free_cons (Bug#37006).
21751 2019-08-11  Óscar Fuentes  <ofv@wanadoo.es>
21753         password-cache: differentiate null values from non-existent entries
21755         * lisp/password-cache.el (password-in-cache-p, password-cache-add):
21756           properly detect non-existent entry.  (Bug#36834)
21758 2019-08-11  Eli Zaretskii  <eliz@gnu.org>
21760         Fix garbage collection
21762         * src/alloc.c (free_cons): Avoid false positives in
21763         INT_ADD_WRAPV.  (Bug#37006)
21765 2019-08-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
21767         Prompt for new sieve script names in sieve management
21769         * lisp/net/sieve.el (sieve-edit-script): Otherwise the user ends up
21770         with a script named '<new script>.sieve'.
21772 2019-08-11  Michael Albinus  <michael.albinus@gmx.de>
21774         Retrieve start time from remote machine, use compat attrib functions
21776         * lisp/net/tramp-compat.el (tramp-compat-file-attribute-access-time)
21777         (tramp-compat-file-attribute-status-change-time): New defaliases.
21779         * test/lisp/net/tramp-tests.el (tramp--test-start-time): New defvar.
21780         (tramp--test-file-attributes-equal-p)
21781         (tramp-test19-directory-files-and-attributes): Use it.
21782         (tramp-test18-file-attributes)
21783         (tramp--test-file-attributes-equal-p, tramp-test20-file-modes)
21784         (tramp-test22-file-times, tramp--test-check-files):
21785         Use `tramp-compat-file-attribute-*' functions.
21787 2019-08-10  Glenn Morris  <rgm@gnu.org>
21789         Set custom :version for recently modified undo options
21791         * lisp/cus-start.el (undo-limit, undo-strong-limit, undo-outer-limit):
21792         Bump :version.
21794 2019-08-10  Stefan Kangas  <stefankangas@gmail.com>
21796         * doc/emacs/calendar.texi (Time Intervals): Doc fix.
21798 2019-08-10  Stefan Kangas  <stefankangas@gmail.com>
21800         Double undo limits
21802         * src/undo.c (syms_of_undo) <undo_limit, undo_strong_limit>
21803         <Vundo_outer_limit>: Double undo limits.  (Bug#31104)
21805 2019-08-10  Glenn Morris  <rgm@gnu.org>
21807         Merge from origin/emacs-26
21809         0860ac0 (origin/emacs-26) Improve documentation of features that use ...
21810         fae1ff6 Fix docstrings in pong
21811         82a2894 Improve doc strings of 'append-to-buffer' and friends
21812         cb0403d Fix octave-mode ElDoc support
21813         691790b Avoid Groff hanging on MS-Windows when invoked by "M-x man"
21815 2019-08-10  Glenn Morris  <rgm@gnu.org>
21817         Merge from origin/emacs-26
21819         e7818cb Fix nnmail-expiry-wait docs and custom :types
21820         8b7c776 * lisp/simple.el (kill-do-not-save-duplicates): Doc fix.  (Bu...
21822 2019-08-10  Michael Albinus  <michael.albinus@gmx.de>
21824         Use a time offset when comparing times of local and remote machines
21826         * test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
21827         Use a time offset in order to compensate different times on local
21828         and remote machines.
21830 2019-08-10  Mauro Aranda  <maurooaranda@gmail.com>
21832         Fix pong collision detection
21834         * lisp/play/pong.el (pong-update-game): If the ball hit the bat where
21835         bats are positioned, draw again the bat cell in the old ball
21836         position.  (Bug#20579).
21837         Also, avoid changing the direction of the ball right after hitting the
21838         bats, and improve the collision detection against the borders.
21840 2019-08-10  Alex Gramiak  <agrambot@gmail.com>
21842         Set up defined_color_hook for the initial frame
21844         * src/terminal.c (init_initial_terminal): Set up the
21845         defined_color_hook.  This avoids crashes when running
21846         in batch mode with code that manipulates colors.
21847         (Bug#36019)
21849 2019-08-10  Philippe Schnoebelen  <schnoebelen.ph@gmail.com>  (tiny change)
21851         Support bool-vectors in cl-extra.el
21853         * lisp/emacs-lisp/cl-extra.el (cl-coerce): Support bool-vector.
21855 2019-08-09  Juri Linkov  <juri@linkov.net>
21857         * lisp/frameset.el (frameset--minibufferless-last-p): Add comments (bug#36894)
21859 2019-08-09  Eli Zaretskii  <eliz@gnu.org>
21861         Fix highlighting in man pages displayed by "M-x man"
21863         * lisp/man.el (Man-highlight-references0): Handle the case
21864         when a section is divided between 2 or more chunks of text
21865         received from the 'man' program.  (Bug#36927)
21867 2019-08-09  Eli Zaretskii  <eliz@gnu.org>
21869         Fix doc strings modified in recent changes
21871         * src/xfns.c (Fx_change_window_property)
21872         (Fx_delete_window_property, Fx_window_property)
21873         (Fx_window_property_attributes): Doc fixes.
21875 2019-08-08  Noah Friedman  <friedman@splode.com>
21877         Provide better target window consistency across x window property functions.
21879         Use the argument name WINDOW-ID instead of SOURCE for same.
21880         Revise docstrings to clarify semantics of FRAME and WINDOW-ID.
21882         (Fx_change_window_property): Use `target_window' instead of `w'.
21883         This is consistent with other related functions.
21884         Finalize its value before blocking input.
21886         (Fx_window_property):
21887         (Fx_window_property_attributes): Use `window_id' instead of `source'.
21889         (Fx_delete_window_property): New optional arg window_id.
21891 2019-08-08  Noah Friedman  <friedman@splode.com>
21893         (Fx_change_window_property): Rename SOURCE arg to WINDOW-ID
21895 2019-08-08  Noah Friedman  <friedman@splode.com>
21897         (Fx_change_window_property): Add optional arg SOURCE.
21899         This provides symmetry with Fx_window_property, so that the window
21900         need not be an actual emacs frame.  This is useful for modifying
21901         properties of parent windows (specified with --parent-id to emacs) or
21902         generally assisting the window manager.
21904 2019-08-08  Stefan Kangas  <stefankangas@gmail.com>
21906         Use "python -m pdb" when "pdb" is missing in M-x pdb
21908         * lisp/progmodes/gud.el (gud-pdb-command-name): Use "python -m pdb"
21909         when "pdb" is missing.  (Bug#21521)
21911 2019-08-08  Noam Postavsky  <npostavs@gmail.com>
21913         Say how to enable event designators in the eshell manual
21915         * doc/misc/eshell.texi (History): Mention that event designators need
21916         to be enabled.
21917         * etc/NEWS: Mark corresponding entry as documented in manual.
21919 2019-08-08  Michael Albinus  <michael.albinus@gmx.de>
21921         Work on Tramp backward compatibility
21923         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
21924         (tramp-adb-handle-rename-file):
21925         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
21926         * lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file):
21927         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file):
21928         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
21929         (tramp-smb-handle-rename-file):
21930         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
21931         Use `tramp-compat-directory-name-p'.
21933 2019-08-08  Michael Albinus  <michael.albinus@gmx.de>
21935         Improve time arithmetic in tramp--test-file-attributes-equal-p
21937         * test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
21938         Improve time arithmetic.
21940 2019-08-08  Michael Albinus  <michael.albinus@gmx.de>
21942         Suppress false alarm in Tramp
21944         * lisp/net/tramp.el (tramp-dissect-file-name): Suppress false alarm.
21946 2019-08-08  Stefan Kangas  <stefankangas@gmail.com>
21948         Suppress interactive-only warnings in undo-tests.el (Bug#36565)
21950         * test/src/undo-tests.el (undo-test-region-deletion)
21951         (undo-test-region-example, undo-test-marker-adjustment-nominal)
21952         (undo-test-region-t-marker, undo-test-marker-adjustment-moved)
21953         (undo-test-region-mark-adjustment): Suppress interactive-only warnings
21954         by using funcall-interactively.
21956 2019-08-08  Mattias Engdegård  <mattiase@acm.org>
21958         Suppress relint errors in fortran.el
21960         * lisp/progmodes/fortran.el (fortran-indent-to-column):
21961         Suppress relint complaints about duplicated character in skip-set;
21962         it's intentional and harmless.
21964 2019-08-08  Mattias Engdegård  <mattiase@acm.org>
21966         Fix XTerm OSC 52 selection retrieval (bug#36879)
21968         When asking XTerm for the selection via OSC 52, use ST as string
21969         terminator in the request to get ST as terminator in the reply,
21970         because BEL is messy to receive in many ways.
21972         * lisp/term/xterm.el (gui-backend-get-selection):
21973         Use ST as string terminator in request and reply.
21974         Use a time-out when reading the reply.
21976 2019-08-07  Glenn Morris  <rgm@gnu.org>
21978         Tests need to be moved when source files are
21980         * test/lisp/obsolete/cl-tests.el: Move from test/lisp/emacs-lisp.
21982 2019-08-07  Michael Albinus  <michael.albinus@gmx.de>
21984         Continue to work on Bug#36940
21986         * test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
21987         Make the check more precise.  (Bug#36940)
21989 2019-08-07  Robert Pluim  <rpluim@gmail.com>
21991         Change nsm-should-check to look at local subnets
21993         * lisp/net/nsm.el (nsm-network-same-subnet): New function.  Checks
21994         if an ip address is in the same subnet as another one.
21995         (nsm-should-check): Use nsm-network-same-subnet to see if we're
21996         connecting to a local subnet machine.  Remove checks for RFC1918 addresses.
21998         * test/lisp/net/nsm-tests.el: New file.  Test nsm-should-check functionality.
22000 2019-08-07  Robert Pluim  <rpluim@gmail.com>
22002         fixup! Implement hostname->ip lookup function
22004 2019-08-06  Paul Eggert  <eggert@cs.ucla.edu>
22006         Re-port dump_bitset_clear to -fsanitize=undefined
22008         * src/pdumper.c (dump_bitset_clear): Skip the memset if the
22009         size is zero, because in that case the destination might be NULL.
22010         This fixes a bug introduced in 2019-07-26T06:17:52Zeggert@cs.ucla.edu.
22011         Add a comment to make the bug less likely to reoccur.
22013 2019-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22015         * lisp/gnus/message.el (message-sendmail-f-is-evil): Revert recent change
22017         (bug#36937)
22019 2019-08-06  Michael Albinus  <michael.albinus@gmx.de>
22021         Fix Bug#36940
22023         * test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
22024         Make the check more precise.  (Bug#36940)
22025         (tramp-test19-directory-files-and-attributes): Move some checks to
22026         `tramp--test-file-attributes-equal-p'.
22028 2019-08-06  Alan Mackenzie  <acm@muc.de>
22030         C++ Mode: Prevent End of statement being found after {} in "count << vec{} <<"
22032         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): Check for
22033         operators which cannot start a statement, which may follow a closing brace.
22034         Don't recognise an end of statement in such a case.
22036         * lisp/progmodes/cc-langs.el (c-operator-re, c-bin-tern-operators)
22037         (c-unary-operators, c-non-after-{}-operators, c-non-after-{}-ops-re): New lang
22038         consts and vars.
22040 2019-08-06  Eli Zaretskii  <eliz@gnu.org>
22042         Fix minor compilation problems on MS-Windows
22044         * src/w32fns.c (Fdefault_printer_name): Fix size of local
22045         buffer.
22046         * src/image.c [WINDOWSNT]: Test __MINGW_MAJOR_VERSION as well
22047         to shut up compiler warnings.
22049 2019-08-06  Mattias Engdegård  <mattiase@acm.org>
22051         Fix various Calc date conversions (bug#36822)
22053         * lisp/calc/calc-forms.el (math-absolute-from-gregorian-dt):
22054         Rewrite in a way that I understand, and that actually seems to work.
22055         (math-absolute-from-julian-dt): Use Julian, not Gregorian, leap year
22056         rules for counting days within a year.
22057         (math-julian-date-beginning, math-julian-date-beginning-int):
22058         Change constants to be consistent with their doc strings and the code:
22059         use Rata Die epoch at Dec 31, 1 BC Gregorian proleptic, not Julian.
22060         * doc/misc/calc.texi (Date Forms): Correct difference between Julian
22061         Day and Rata Die.
22062         * test/lisp/calc/calc-tests.el (calc-test-calendar): New test.
22064 2019-08-06  Mattias Engdegård  <mattiase@acm.org>
22066         Add conditional operator xor to subr.el
22068         Suggested by Oleh Krehel and implemented by Basil Contovounesios in
22069         the following thread:
22070         https://lists.gnu.org/archive/html/emacs-devel/2019-07/msg00547.html
22072         * lisp/array.el (xor): Move unused function from here...
22073         * lisp/subr.el: ...to here, and improve.
22074         * lisp/gnus/spam.el (spam-xor):
22075         * lisp/play/5x5.el (5x5-xor):
22076         * lisp/proced.el (proced-xor):
22077         * lisp/progmodes/idlwave.el (idlwave-xor):
22078         * lisp/vc/diff-mode.el (diff-xor): Define as obsolete aliases of,
22079         and replace all uses with, xor.
22080         * lisp/jsonrpc.el: Remove unused dependency on array.el.
22081         * lisp/org/org.el (org-xor): Move from here...
22082         * lisp/org/org-compat.el (org-xor): ...to here, as a compatibility
22083         shim for xor.
22084         * lisp/progmodes/idlw-shell.el (idlwave-shell-enable-all-bp):
22085         * lisp/simple.el (exchange-point-and-mark):
22086         * lisp/windmove.el (windmove-display-in-direction): Use xor.
22087         * lisp/strokes.el (strokes-xor): Remove commented-out xor
22088         implementation.
22090         * doc/lispref/control.texi (Control Structures): Extend menu entry
22091         for new combining condition.
22092         (Combining Conditions):
22093         * etc/NEWS (Lisp Changes): Document xor.
22095         * test/lisp/subr-tests.el (subr-test-xor): New test.
22097 2019-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22099         Move cl.el to lisp/obsolete
22101         * lisp/emacs-lisp/cl.el: Move from here...
22102         * lisp/obsolete/cl.el: ...to here.
22104         * lisp/subr.el (do-after-load-evaluation): Use "deprecated" in the
22105         message when loading packages from lisp/obsolete.
22107 2019-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22109         * lisp/mail/rfc2047.el (rfc2047-encodable-p): Don't require `message`.
22111         Use bound-and-true-p rather than requiring `message` to get
22112         message-posting-charset (since it defaults to nil anyway).
22114 2019-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22116         * lisp/mh-e: Use cl-lib
22118         Also, use underscore prefixes and defvar in preparation for lexical binding
22120         * lisp/mh-e/mh-acros.el: Require cl-lib instead of cl.
22121         Rename all cl.el uses by adding `cl-` prefix.
22122         (mh-require-cl): Remove.  Not needed any more.  Remove all calls.
22123         (mh-defstruct): Remove.  Replace all uses with cl-defstruct.
22124         (mh-dlet*): New macro.
22126         * lisp/mh-e/mh-comp.el (mh-user-agent-compose): Fold all ignored
22127         optional args into the &rest arg.
22129         * lisp/mh-e/mh-e.el: Require cl-lib instead of using mh-require-cl.
22130         (mh-variants): Don't add-to-list on a local var.
22132         * lisp/mh-e/mh-folder.el (mh-restore-desktop-buffer): Use shorter arg
22133         names that don't collide with global vars.
22135         * lisp/mh-e/mh-mime.el (mh-insert-mime-button):
22136         (mh-insert-mime-security-button): Use mh-dlet*.
22138         * lisp/mh-e/mh-search.el (mh-swish-next-result, mh-grep-next-result)
22139         (mh-namazu-next-result): Use `or`.
22141         * lisp/mh-e/mh-thread.el (mh-thread-generate)
22142         (mh-thread-prune-containers): Use underscore rather than declare+ignore.
22144         * lisp/mh-e/mh-tool-bar.el (mh-tool-bar-define): Use mh-dlet*.
22145         (mh-tool-bar-define): Prefer the more precise \`...\' regexp ops.
22146         Prefer Elisp's `eval-and-compile` over `cl-eval-when`.
22148         * lisp/mh-e/mh-xface.el (mh-picon-get-image): Don't use
22149         mh-funcall-if-exists for ietf-drums-parse-address.
22150         Avoid the use of `cl-return` and hence use plain `defun`.
22151         Replace some `cl-loop` with `dolist`.
22153 2019-08-05  Paul Eggert  <eggert@cs.ucla.edu>
22155         decode-time now returns subsec too
22157         The list that decode-time returns now contains an extra
22158         trailing component that counts the subseconds part of the
22159         original timestamp (Bug#36549).
22160         This builds on a suggestion by Lars Ingebrigtsen in:
22161         https://lists.gnu.org/r/emacs-devel/2019-07/msg00734.html
22162         * doc/lispref/os.texi (Time Conversion):
22163         * doc/misc/emacs-mime.texi (time-date):
22164         * etc/NEWS: Document this.
22165         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
22166         * lisp/calendar/iso8601.el (iso8601-parse)
22167         (iso8601-parse-time, iso8601-parse-duration)
22168         (iso8601--decoded-time):
22169         * lisp/calendar/parse-time.el (parse-time-string):
22170         * lisp/calendar/time-date.el (make-decoded-time)
22171         (decoded-time-set-defaults):
22172         * lisp/org/org.el (org-fix-decoded-time)
22173         (org-parse-time-string):
22174         * src/timefns.c (Fdecode_time):
22175         Generate subsec member for decoded time.
22176         * lisp/calendar/time-date.el (decoded-time-add)
22177         Add the decoded subsec too.
22178         * lisp/simple.el (decoded-time): New subsec member.
22179         * src/data.c (Frem): Simplify zero-check to match that of new Fmod.
22180         (integer_mod): New function, with most of the guts of the old Fmod.
22181         Remove redundant zero-check.
22182         (Fmod): Use it.
22183         * src/timefns.c (Fencode_time): Handle new subsec member
22184         or (with the obsolescent calling convention) subsec arg.
22185         It defaults to 0.
22186         * test/lisp/calendar/icalendar-tests.el:
22187         (icalendar--decode-isodatetime):
22188         * test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years)
22189         (test-iso8601-date-dates, test-iso8601-date-obsolete)
22190         (test-iso8601-date-weeks, test-iso8601-date-ordinals)
22191         (test-iso8601-time, test-iso8601-combined)
22192         (test-iso8601-duration, test-iso8601-intervals)
22193         (standard-test-dates, standard-test-time-of-day-fractions)
22194         (standard-test-time-of-day-beginning-of-day)
22195         (standard-test-time-of-day-utc)
22196         (standard-test-time-of-day-zone)
22197         (standard-test-date-and-time-of-day, standard-test-interval):
22198         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
22199         * test/src/timefns-tests.el (format-time-string-with-zone)
22200         (encode-time-dst-numeric-zone):
22201         Adjust to match new behavior.
22203 2019-08-05  Paul Eggert  <eggert@cs.ucla.edu>
22205         New function time-convert
22207         This replaces the awkward reuse of encode-time to both convert
22208         calendrical timestamps to Lisp timestamps, and to convert Lisp
22209         timestamps to other forms.  Now, encode-time does just the
22210         former and the new function does just the latter.
22211         The new function builds on a suggestion by Lars Ingebrigtsen in:
22212         https://lists.gnu.org/r/emacs-devel/2019-07/msg00801.html
22213         and refined by Stefan Monnier in:
22214         https://lists.gnu.org/r/emacs-devel/2019-07/msg00803.html
22215         * doc/lispref/os.texi (Time of Day, Time Conversion):
22216         * doc/misc/emacs-mime.texi (time-date):
22217         * etc/NEWS: Update documentation.
22218         * lisp/calendar/cal-dst.el (calendar-next-time-zone-transition):
22219         * lisp/calendar/time-date.el (seconds-to-time, days-to-time):
22220         * lisp/calendar/timeclock.el (timeclock-seconds-to-time):
22221         * lisp/cedet/ede/detect.el (ede-detect-qtest):
22222         * lisp/completion.el (cmpl-hours-since-origin):
22223         * lisp/ecomplete.el (ecomplete-add-item):
22224         * lisp/emacs-lisp/cl-extra.el (cl--random-time):
22225         * lisp/emacs-lisp/timer.el (timer--time-setter)
22226         (timer-next-integral-multiple-of-time):
22227         * lisp/find-lisp.el (find-lisp-format-time):
22228         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
22229         * lisp/gnus/gnus-group.el (gnus-group-set-timestamp):
22230         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-show-org-agenda):
22231         * lisp/gnus/nnrss.el (nnrss-normalize-date):
22232         * lisp/gnus/nnspool.el (nnspool-request-newgroups):
22233         * lisp/net/ntlm.el (ntlm-compute-timestamp):
22234         * lisp/net/pop3.el (pop3-uidl-dele):
22235         * lisp/obsolete/vc-arch.el (vc-arch-add-tagline):
22236         * lisp/org/org-clock.el (org-clock-get-clocked-time)
22237         (org-clock-resolve, org-resolve-clocks, org-clock-in)
22238         (org-clock-out, org-clock-sum):
22239         * lisp/org/org-id.el (org-id-uuid, org-id-time-to-b36):
22240         * lisp/org/ox-publish.el (org-publish-cache-ctime-of-src):
22241         * lisp/proced.el (proced-format-time):
22242         * lisp/progmodes/cc-cmds.el (c-progress-init)
22243         (c-progress-update):
22244         * lisp/progmodes/cperl-mode.el (cperl-time-fontification):
22245         * lisp/progmodes/flymake.el (flymake--schedule-timer-maybe):
22246         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
22247         (vhdl-fix-case-region-1):
22248         * lisp/tar-mode.el (tar-octal-time):
22249         * lisp/time.el (emacs-uptime):
22250         * lisp/url/url-auth.el (url-digest-auth-make-cnonce):
22251         * lisp/url/url-util.el (url-lazy-message):
22252         * lisp/vc/vc-cvs.el (vc-cvs-parse-entry):
22253         * lisp/vc/vc-hg.el (vc-hg-state-fast):
22254         * lisp/xt-mouse.el (xterm-mouse-event):
22255         * test/lisp/emacs-lisp/timer-tests.el:
22256         (timer-next-integral-multiple-of-time-2):
22257         Use time-convert, not encode-time.
22258         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
22259         Don’t use now-removed FORM argument for encode-time.
22260         It wasn’t crucial anyway.
22261         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add time-convert.
22262         * lisp/emacs-lisp/elint.el (elint-unknown-builtin-args):
22263         Update encode-time signature to match current arg set.
22264         * lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
22265         Use timer-convert with t rather than doing it by hand.
22266         * src/timefns.c (time_hz_ticks, time_form_stamp, lisp_time_form_stamp):
22267         Remove; no longer needed.
22268         (decode_lisp_time): Rturn the form instead of having a *PFORM arg.
22269         All uses changed.
22270         (time_arith): Just return TICKS if HZ is 1.
22271         (Fencode_time): Remove argument FORM.  All callers changed.
22272         Do not attempt to encode time values; just encode
22273         decoded (calendrical) times.
22274         Unless CURRENT_TIME_LIST, just return VALUE since HZ is 1.
22275         (Ftime_convert): New function, which does the time value
22276         conversion that bleeding-edge encode-time formerly did.
22277         Return TIME if it is easy to see that it is already
22278         of the correct form.
22279         (Fcurrent_time): Mention in doc that the form is planned to change.
22280         * test/src/timefns-tests.el (decode-then-encode-time):
22281         Don’t use (encode-time nil).
22283 2019-08-05  Paul Eggert  <eggert@cs.ucla.edu>
22285         Fix minor Org timestamp inefficiencies
22287         * lisp/org/org-id.el (org-id-time-to-b36):
22288         Remove unnecessary ‘or’.
22289         * lisp/org/org.el (org-parse-time-string):
22290         Remove unnecessary ‘encode-time’.
22292 2019-08-05  Juri Linkov  <juri@linkov.net>
22294         * lisp/cus-start.el: Add :safe to display-fill-column-indicator (bug#36861)
22296         (display-fill-column-indicator)
22297         (display-fill-column-indicator-column)
22298         (display-fill-column-indicator-character): Add :safe predicates.
22300 2019-08-05  Juri Linkov  <juri@linkov.net>
22302         * lisp/frameset.el (frameset--minibufferless-last-p): Fix pcase-let.
22304         This makes frameset sorting stable.  (Bug#36894)
22306 2019-08-05  Juri Linkov  <juri@linkov.net>
22308         * lisp/dired-x.el (dired-guess-shell-alist-default): Use git when possible.
22310         Check for Git backend and provide "git apply" for patch files (bug#36895).
22312 2019-08-05  Juri Linkov  <juri@linkov.net>
22314         * lisp/dired.el (dired-special): Rename face from dired-socket (bug#24547).
22316         (dired-re-special): Rename from dired-re-socket.
22318 2019-08-05  Juri Linkov  <juri@linkov.net>
22320         * lisp/isearch.el (isearch-define-mode-toggle): Ensure isearch-mode is active.
22322         Call 'isearch-mode' when it's nil.  (Bug#36871)
22324 2019-08-05  Eli Zaretskii  <eliz@gnu.org>
22326         Fix compilation with CHECK_STRUCTS
22328         * src/pdumper.c (dump_hash_table): Update hash of
22329         HASH_Lisp_Hash_Table.  (Bug#36929)
22331 2019-08-05  Lars Ingebrigtsen  <larsi@gnus.org>
22333         Revert "Make `view-lossage' output of chars read from `read-char' more logical"
22335         This reverts commit 1abf76877847226daa5ab7e07000ac1d4aba3478.
22337         This change apparently led to problems with kmacro.
22339 2019-08-05  Michael Albinus  <michael.albinus@gmx.de>
22341         Improve Tramp's caching
22343         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
22344         (tramp-handle-write-region):
22345         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory)
22346         (tramp-adb-handle-delete-directory)
22347         (tramp-adb-handle-delete-file, tramp-adb-handle-write-region)
22348         (tramp-adb-handle-set-file-modes)
22349         (tramp-adb-handle-set-file-times, tramp-adb-handle-copy-file)
22350         (tramp-adb-handle-rename-file):
22351         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
22352         (tramp-gvfs-handle-delete-directory)
22353         (tramp-gvfs-handle-delete-file)
22354         (tramp-gvfs-handle-make-directory)
22355         (tramp-gvfs-handle-set-file-modes)
22356         (tramp-gvfs-handle-set-file-times, tramp-gvfs-set-file-uid-gid):
22357         * lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file)
22358         (tramp-rclone-handle-delete-directory)
22359         (tramp-rclone-handle-delete-file):
22360         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
22361         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
22362         (tramp-sh-handle-add-name-to-file)
22363         (tramp-sh-handle-copy-directory, tramp-do-copy-or-rename-file)
22364         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
22365         (tramp-sh-handle-write-region):
22366         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
22367         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
22368         (tramp-smb-handle-delete-directory)
22369         (tramp-smb-handle-delete-file)
22370         (tramp-smb-handle-make-directory-internal)
22371         (tramp-smb-handle-make-symbolic-link)
22372         (tramp-smb-handle-rename-file, tramp-smb-handle-write-region):
22373         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-add-name-to-file)
22374         (tramp-sudoedit-do-copy-or-rename-file)
22375         (tramp-sudoedit-handle-delete-directory)
22376         (tramp-sudoedit-handle-delete-file)
22377         (tramp-sudoedit-handle-set-file-modes)
22378         (tramp-sudoedit-handle-set-file-times)
22379         (tramp-sudoedit-handle-make-symbolic-link): Do not flush all file
22380         properties of upper directory.
22382         * lisp/net/tramp-cache.el (tramp-flush-file-upper-properties):
22383         New defun.
22384         (tramp-flush-file-properties, tramp-flush-directory-properties):
22385         Use it.
22387         * test/lisp/net/tramp-tests.el (tramp-time-diff): Declare.
22388         (tramp--test-file-attributes-equal-p): Handle also modification
22389         and status change time.
22391 2019-08-05  Lars Ingebrigtsen  <larsi@gnus.org>
22393         Make `view-lossage' output of chars read from `read-char' more logical
22395         * lisp/help.el (view-lossage): Use the new data format to output
22396         data from `read-char' and the like in a more understandable
22397         fashion (bug#21867).
22399         * src/keyboard.c (command_loop_1): Record (in recent_keys) the end
22400         of commands.
22401         (Frecent_keys): Don't include `end-of-command' in non-command outputs.
22402         (syms_of_keyboard): Define `end-of-command'.
22404 2019-08-05  Lars Ingebrigtsen  <larsi@gnus.org>
22406         save-some-buffers-default-predicate doc clarification
22408         * lisp/files.el (save-some-buffers-default-predicate): Clarify
22409         calling convention.
22411 2019-08-05  Martin Rudalics  <rudalics@gmx.at>
22413         Fix doc-strings of 'display-buffer-*' functions (Bug#19461)
22415         * lisp/window.el (display-buffer-in-atom-window)
22416         (display-buffer-in-side-window, display-buffer-record-window)
22417         (display-buffer-use-some-frame, display-buffer-same-window)
22418         (display-buffer-reuse-window, display-buffer-pop-up-frame)
22419         (display-buffer-pop-up-window, display-buffer-in-child-frame)
22420         (display-buffer-in-direction, display-buffer-below-selected)
22421         (display-buffer-at-bottom, display-buffer-in-previous-window)
22422         (display-buffer-use-some-window)
22423         (display-buffer--maybe-pop-up-frame-or-window)
22424         (display-buffer--maybe-pop-up-frame): Fix doc-strings
22425         (Bug#19461).
22427 2019-08-04  Paul Eggert  <eggert@cs.ucla.edu>
22429         Fix one more 2019-08-04 regex lint
22431         Problem clarified by Mattias Engdegård in:
22432         https://lists.gnu.org/r/emacs-devel/2019-08/msg00087.html
22433         * lisp/isearch.el (isearch-symbol-regexp):
22434         Remove \s@ from regexp as it cannot match.
22436 2019-08-04  Basil L. Contovounesios  <contovob@tcd.ie>
22438         Support reverting Apropos buffers (bug#36588)
22440         * lisp/apropos.el (apropos--current): New variable akin to
22441         help-xref-stack-item storing information for revert-buffer.
22442         (apropos--revert-buffer): New function.
22443         (apropos-mode): Use it as revert-buffer-function.
22444         (apropos-command, apropos, apropos-library, apropos-value)
22445         (apropos-local-value, apropos-documentation): Set apropos--current
22446         in low-level commands, i.e., those which do not call other commands.
22448 2019-08-04  Paul Eggert  <eggert@cs.ucla.edu>
22450         Fix 2019-08-04 regex lint
22452         Problem reported by Mattias Engdegård in:
22453         https://lists.gnu.org/r/emacs-devel/2019-08/msg00085.html
22454         * lisp/calendar/diary-lib.el (diary-glob-file-regexp-prefix):
22455         Omit unnecessary ‘\’ before ordinary char.
22456         * lisp/cedet/inversion.el (inversion-decoders):
22457         * lisp/org/ob-haskell.el (org-babel-haskell-export-to-lhs):
22458         Omit unnecessary ‘?’ after nullable pattern.
22459         * lisp/org/org-capture.el (org-capture-fill-template):
22460         Match upper-case as well as lower-case letters.
22461         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings)
22462         (c-after-change-mark-abnormal-strings):
22463         Simplify ‘.|\r’ to ‘.’.
22464         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
22465         Put ‘-’ at end of bracket expression.
22467 2019-08-04  Paul Eggert  <eggert@cs.ucla.edu>
22469         Tweak time arithmetic performance
22471         * src/timefns.c (lispint_arith): New function, which
22472         should be a bit faster if B is 0, or if A is a bignum
22473         and B a fixnum with absolute value in unsigned long range.
22474         (time_arith): Use it.
22476 2019-08-04  Paul Eggert  <eggert@cs.ucla.edu>
22478         Improve time function doc
22480         * doc/misc/emacs-mime.texi (time-date): Don’t give
22481         parse-iso8601-time-string in the example, as the function is
22482         not autoloaded.
22483         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
22484         No need to call encode-time or use floating point here.
22486 2019-08-04  Eli Zaretskii  <eliz@gnu.org>
22488         Fix the MS-Windows build broken by recent changes
22490         * src/inotify.c (syms_of_inotify) <Qignored>: Don't define here...
22491         * src/coding.c (syms_of_coding) <Qignored>: ...define it here,
22492         because it is needed also on platforms that don't compile
22493         inotify.c.
22495 2019-08-04  Paul Eggert  <eggert@cs.ucla.edu>
22497         Minor fix to recent coding.c change
22499         * src/coding.c (get_buffer_gap_address):
22500         Don’t assume string or buffer length fits in int.
22501         Also, improve wording of comments.
22503 2019-08-04  Michael Albinus  <michael.albinus@gmx.de>
22505         * .dir-locals.el: Enable `bug-reference-mode' for further major modes.
22507 2019-08-04  Lars Ingebrigtsen  <larsi@gnus.org>
22509         Capitalise a couple of node names
22511         * doc/lispref/functions.texi (Advising Functions): Capitalise node
22512         names (bug#17717).
22513         (Advice Combinators, Porting Old Advice): Capitalise.
22515 2019-08-04  Michael Heerdegen  <michael_heerdegen@web.de>
22517         Clarify macroexp-let* doc string
22519         * lisp/emacs-lisp/macroexp.el (macroexp-let2*): Clarify doc
22520         string (bug#19371).
22522 2019-08-04  K. Handa  <handa@gnu.org>
22524         Add Unicode-safe UTF-8 converter
22526         * src/coding.c (encode_string_utf_8, decode_string_utf_8): New functions.
22527         * src/coding.h (encode_string_utf_8, decode_string_utf_8): Extern them.
22529 2019-08-04  Lars Ingebrigtsen  <larsi@gnus.org>
22531         Core Advising Primitives `interactive' clarification
22533         * doc/lispref/functions.texi (Core Advising Primitives): Clarify
22534         when the interactive spec is a function (bug#17871).
22536 2019-08-04  Michael Albinus  <michael.albinus@gmx.de>
22538         Implement set-file-* functions for tramp-gvfs.el
22540         * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping):
22541         Add "gvfs-set-attribute".
22542         (tramp-gvfs-file-name-handler-alist):
22543         Add `tramp-gvfs-handle-set-file-modes',
22544         `tramp-gvfs-handle-set-file-times' and
22545         `tramp-gvfs-handle-set-file-uid-gid'.
22546         (tramp-gvfs-handle-set-file-modes)
22547         (tramp-gvfs-handle-set-file-times)
22548         (tramp-sh-handle-set-file-uid-gid): New defuns.
22550         * lisp/net/tramp.el (tramp-handle-write-region): Set file modes.
22552         * test/lisp/net/tramp-tests.el (tramp-test20-file-modes)
22553         (tramp-test22-file-times): Do not skip for tramp-gvfs.el.
22555 2019-08-04  Martin Rudalics  <rudalics@gmx.at>
22557         Fix two mouse drag and drop issues (Bug#28620, Bug#36269)
22559         Allow 'mouse-drag-and-drop-region' to move/copy text from one
22560         frame to another (Bug#28620).  Prevent mouse avoidance mode from
22561         interfering with 'mouse-drag-and-drop-region' (Bug#36269).
22563         * lisp/avoid.el (mouse-avoidance-ignore-p): Suspend avoidance
22564         when 'track-mouse' equals 'dropping'.
22565         * lisp/mouse.el (mouse-drag-and-drop-region): Set
22566         'track-mouse' to 'dropping'.  Continue reading events also
22567         when switching frames.
22568         * src/keyboard.c (Finternal_track_mouse): Rename from
22569         Ftrack_mouse.
22570         (some_mouse_moved): Return NULL also when mouse is not tracked.
22571         (show_help_echo, readable_events, kbd_buffer_get_event): Don't
22572         check whether mouse is tracked, some_mouse_moved does it now.
22573         (track_mouse): Rename variable from do_mouse_tracking.  Adjust
22574         all users.  In doc-string explain meanings of special values
22575         'dragging' and 'dropping'.
22576         * src/nsterm.m (ns_mouse_position): During drag and drop
22577         consider last mouse frame only when there is no currently
22578         focused frame.
22579         * src/w32fns.c (w32_wnd_proc): Don't set mouse capture during a
22580         drag and drop operation.
22581         * src/w32term.c (w32_mouse_position): Track frame under mouse
22582         during mouse drag and drop.
22583         (mouse_or_wdesc_frame): New function.
22584         (w32_read_socket): Call mouse_or_wdesc_frame on mouse events.
22585         * src/xdisp.c (define_frame_cursor1): Don't change mouse cursor
22586         shape during mouse drag and drop.
22587         (syms_of_xdisp): New symbol Qdropping.
22588         * src/xterm.c (XTmouse_position): Allow mouse drag and drop move
22589         to another frame
22590         (mouse_or_wdesc_frame): New function.
22591         (handle_one_xevent): Use mouse_or_wdesc_frame for mouse events.
22593 2019-08-03  Noam Postavsky  <npostavs@gmail.com>
22595         Improved ChangeLog generation for vc log (Bug#16301)
22597         * lisp/vc/diff-mode.el (diff-find-source-location): Fix docstring.
22599         * lisp/vc/add-log.el (change-log-unindented-file-names-re)
22600         (change-log-read-entries, change-log-read-defuns)
22601         (change-log-insert-entries):
22602         * lisp/vc/diff-mode.el (diff-add-log-current-defuns):
22603         * lisp/vc/log-edit.el (log-edit--insert-filled-defuns)
22604         (log-edit-fill-entry): New functions.
22605         (log-edit-mode): Set `log-edit-fill-entry' as
22606         `fill-paragraph-function'.
22607         (log-edit-generate-changelog-from-diff): New command.
22608         (log-edit-mode-map): Bind it to C-c C-w.
22609         * doc/emacs/maintaining.texi (Types of Log File, Log Buffer):
22610         * CONTRIBUTE: Document it.
22611         * etc/NEWS: Announce it.
22612         * test/lisp/vc/log-edit-tests.el (log-edit-fill-entry)
22613         (log-edit-fill-entry-joining): New tests.
22615 2019-08-03  Eric Abrahamsen  <eric@ericabrahamsen.net>
22617         Fix Gnus group name reference in gnus-mark-xrefs-as-read
22619         * lisp/gnus/gnus-sum.el (gnus-mark-xrefs-as-read): There's already a
22620         local binding for "group", don't need another "name". This was left
22621         over from the obarray-to-hashtable change.
22623 2019-08-03  Eric Abrahamsen  <eric@ericabrahamsen.net>
22625         Temporarily preserve encoded Gnus group names in Gnus files
22627         Non-ascii Gnus groups should be written to files in their encoded
22628         version until we're ready to bump Gnus' version and add an upgrade
22629         routine.
22631         * lisp/gnus/gnus-start.el (gnus-gnus-to-quick-newsrc-format):
22632         * lisp/gnus/gnus-agent.el (gnus-category-read):
22633           (gnus-category-write): Handle non-ascii group names appropriately.
22634         * lisp/gnus/gnus-registry.el (gnus-registry--munge-group-names): New
22635           function to encode/decode group names.
22636           (gnus-registry-fixup-registry):
22637           (gnus-registry-save): Use function.
22639 2019-08-03  Eric Abrahamsen  <eric@ericabrahamsen.net>
22641         Remove Gnus group name encoding/decoding
22643         This completes the process started in c1b63af445. Gnus group names are
22644         now fully decoded inside the Gnus system.
22646         * lisp/gnus/gnus-agent.el (gnus-agent-file-coding-system): Change
22647           default to utf-8-emacs.
22648           (gnus-agent-decoded-group-names, gnus-agent-decoded-group-name):
22649           Remove variable and function. Remove all usage in this file.
22650         * lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-names,
22651           gnus-cache-unified-group-names, gnus-cache-decoded-group-name):
22652           Remove these variables and function. Remove all usage in this file.
22653         * lisp/gnus/gnus-group.el (gnus-tmp-decoded-group): Remove this
22654           variable, gnus-tmp-group is now decoded.
22655           (gnus-group-completing-read): Don't encode or decode group names
22656           here.
22657           (gnus-group-make-group): Remove ENCODED argument.
22658         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Decode group
22659           names here.
22660         * lisp/gnus/gnus-start.el (gnus-make-hashtable-from-newsrc-alist):
22661           check for encoded group names and decode.
22662           (gnus-active-to-gnus-format): Make sure incoming group names are
22663           decoded.
22664           (gnus-read-newsrc-el-file): Check for encoded group names in
22665           gnus-topic-alist.
22666         * lisp/gnus/nnagent.el: Don't use a unibyte buffer.
22667         * lisp/gnus/nnheader.el (nnheader-file-coding-system): Switch default
22668           from 'raw-text to 'undecided, on the assumption that 'undecided will
22669           probably write 'utf-8-emacs unless the user has arranged things
22670           otherwise.
22671         * lisp/gnus/nnimap.el (nnimap-decode-gnus-group,
22672           nnimap-encode-gnus-group): Remove functions and their use.
22673         * lisp/gnus/nnmail.el (nnmail-parse-active): Remove encoding.
22674           (nnmail-active-file-coding-system): Default to 'utf-8-emacs instead
22675           of 'raw-text.
22676           (nnmail-group-names-not-encoded-p): Obsolete this variable; stop
22677           using it.
22678         * lisp/gnus/gnus-art.el:
22679         * lisp/gnus/gnus-cus.el:
22680         * lisp/gnus/gnus-msg.el:
22681         * lisp/gnus/gnus-start.el:
22682         * lisp/gnus/gnus-sum.el:
22683         * lisp/gnus/gnus.el:
22684         * lisp/gnus/nnml.el:
22685         * lisp/gnus/message.el:
22686         * lisp/gnus/nnrss.el: Stop using gnus-group-decoded-name in all these
22687           files.
22689 2019-08-03  Eric Abrahamsen  <eric@ericabrahamsen.net>
22691         Fix ordering of Gnus groups after yanking
22693         * lisp/gnus/gnus-start.el (gnus-group-change-level): Fix docstring to
22694         note that the inserted group is inserted *before* the PREVIOUS
22695         group. Fix indexing -- shouldn't have been adding one to the index.
22697 2019-08-03  Paul Eggert  <eggert@cs.ucla.edu>
22699         Remove stale .pdmp files with ‘make clean’
22701         Problem reported by Sven Joachim (Bug#36907).
22702         * admin/make-emacs: Simplify, now that clean does versionclean.
22703         * src/Makefile.in ($(etc)/DOC, versionclean, extraclean):
22704         Don’t ignore rm -f failures.
22705         (versionclean): Also remove emacs-*.*.*[0-9].pdmp and ../etc/DOC*.
22706         (clean): Depend on versionclean and simplify.
22708 2019-08-03  Glenn Morris  <rgm@gnu.org>
22710         * doc/lispref/display.texi (SVG Images): Remove menu.
22712         Not needed since SVG Path Commands was changed to not be a node.
22714 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
22716         Clarify hi-lock-file-patterns-prefix doc string
22718         * lisp/hi-lock.el (hi-lock-file-patterns-prefix): Clarify doc
22719         string (bug#17993).
22721 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
22723         Mention `themed-value' in Variable Definitions node
22725         * doc/lispref/customize.texi (Variable Definitions): Mention
22726         `themed-value' (bug#17996).
22728 2019-08-03  Oleh Krehel  <ohwoeowho@gmail.com>
22730         calc mode line touch up
22732         * lisp/calc/calc.el (calc-set-mode-line): Don't put excessive
22733         white space in mode line (bug#18079).
22735 2019-08-03  Paul Eggert  <eggert@cs.ucla.edu>
22737         Fix rare undefined behaviors in replace-match
22739         * src/search.c (Freplace_match): Simplify by caching search_regs
22740         components.  Fix sanity check for out-of-range subscripts;
22741         it incorrectly allowed negative subscripts, subscripts
22742         equal to search_regs.num_regs, and it had undefined
22743         behavior for subscripts outside ptrdiff_t range.
22744         Improve wording of newly-introduced replace-match diagnostic.
22745         Rework use of opoint, to avoid setting point to an out-of-range value
22746         in rare cases involving modification hooks.
22748 2019-08-03  Pierre-Yves Luyten  <py@luyten.fr>  (tiny change)
22750         cua-rect help: check for 'control value
22752         * lisp/emulation/cua-rect.el (cua-help-for-rectangle): Check for
22753         'control value (bug#18120).
22755 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
22757         delete-backward/forward-char doc string clarification
22759         * lisp/simple.el (delete-backward-char): Doc string clarification
22760         (bug#18192).
22761         (delete-forward-char): Ditto.
22763 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
22765         ido-find-file doc string addition
22767         * lisp/ido.el (ido-find-file): Mention ido-reread-directory
22768         (bug#18275).  Suggested by Rob Browning.
22770 2019-08-03  Kevin Ryde  <user42_kevin@yahoo.com.au>
22772         easy-menu-define doc string fix
22774         * lisp/emacs-lisp/easymenu.el (easy-menu-define): Docstring :label and
22775         :help of the menu itself.
22777 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
22779         Add some function index entries for ido.texi
22781         * doc/misc/ido.texi: Add index entries for functions (bug#18691).
22783 2019-08-03  Andreas Politz  <politza@hochschule-trier.de>
22785         Tweak tq queue processing
22787         * lisp/emacs-lisp/tq.el (tq-process-buffer): Pop the queue before
22788         calling the function because the function may add new entries to
22789         the queue (bug#19016).  Also report errors.
22791 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
22793         Tweak tango-dark-theme highlight face
22795         * etc/themes/tango-dark-theme.el (class): Make highlight a bit
22796         less yellow to make the cursor visible on it (bug#19189).
22798 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
22800         Fix error message in replace-match for subexpressions
22802         * src/search.c (Freplace_match): Output a more understandable
22803         error message when replacing a subexpression (bug#19208).
22805 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
22807         Clarify Freplace_match logic
22809         * src/search.c (Freplace_match): Add some doc strings to clarify
22810         the logic and do a minor clean up (bug#19208).
22812 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
22814         Don't refer to non-existent functions in mode line examples
22816         * doc/lispintro/emacs-lisp-intro.texi (Mode Line): Ditto.
22818         * doc/lispref/modes.texi (Mode Line Top): In the :eval example,
22819         use a function that exists to avoid confusion (bug#19224).
22821 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
22823         Fix previous macroexp-progn doc string fix
22825         * lisp/emacs-lisp/macroexp.el (macroexp-progn): Fix previous doc
22826         string clarification.
22828 2019-08-03  Eli Zaretskii  <eliz@gnu.org>
22830         Minor doc fix in etags.el
22832         * lisp/progmodes/etags.el
22833         (etags-xref-find-definitions-tag-order): Doc fix.  (Bug#32510)
22835 2019-08-03  Eli Zaretskii  <eliz@gnu.org>
22837         Improve documentation of debugging Lisp syntax error
22839         * doc/lispref/debugging.texi (Syntax Errors, Excess Open)
22840         (Excess Close): Name the commands invoked by the key
22841         sequences.  Add cross-references to appropriate sections of
22842         the Emacs manual.  (Bug#21385)
22844 2019-08-03  Eli Zaretskii  <eliz@gnu.org>
22846         Improve documentation of 'display-buffer-*' functions
22848         * lisp/window.el (display-buffer-in-atom-window)
22849         (display-buffer-in-side-window, display-buffer-same-window)
22850         (display-buffer--maybe-same-window)
22851         (display-buffer-reuse-window)
22852         (display-buffer-reuse-mode-window)
22853         (display-buffer-pop-up-frame, display-buffer-pop-up-window)
22854         (display-buffer--maybe-pop-up-frame-or-window)
22855         (display-buffer--maybe-pop-up-frame)
22856         (display-buffer-in-child-frame, display-buffer-in-direction)
22857         (display-buffer-below-selected, display-buffer-at-bottom)
22858         (display-buffer-in-previous-window)
22859         (display-buffer-use-some-window, display-buffer-no-window):
22860         More details about the ALIST argument in the doc string.  (Bug#19461)
22862 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
22864         macroexp doc fixes
22866         * lisp/emacs-lisp/macroexp.el (macroexp-progn): Doc clarification
22867         (bug#19371).
22868         (macroexp-let*): Doc fix.
22870 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
22872         macroexp--cons doc fix
22874         * lisp/emacs-lisp/macroexp.el (macroexp--cons): Doc fix (bug#19371).
22876 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
22878         Fix some minor inconsistencies in the Package examples
22880         * doc/lispref/package.texi (Simple Packages): Use one of the
22881         approved keywords (bug#19490).
22883         * doc/lispref/tips.texi (Library Headers): Use URL instead of
22884         Homepage to make things consistent with "Simple Packages".
22886 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
22888         Don't but out on ~/.git files in ede
22890         * lisp/cedet/ede/detect.el (ede--detect-ldf-root-predicate): Make
22891         this work with ~/ as the dir (bug#19521).
22893 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
22895         browse-url doc string fixup
22897         * lisp/net/browse-url.el (browse-url-browser-function)
22898         (browse-url-secondary-browser-function): Mention each other in the
22899         doc strings.
22901 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
22903         Make Info-find-file ensure that Info is initialised
22905         * lisp/info.el (Info-find-file): Ensure that Info is initialised,
22906         because libraries call that function (bug#19880).
22908 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
22910         Fix progression in hideshow.el
22912         * lisp/progmodes/hideshow.el (hs-hide-all): Ensure progression in
22913         a less brittle fashion (bug#19892).
22915 2019-08-02  Michael Heerdegen  <michael_heerdegen@web.de>
22917         Fix example code in hideshow.el
22919         * lisp/progmodes/hideshow.el: The original example would infloop
22920         (bug#19892).
22922 2019-08-02  Michael Albinus  <michael.albinus@gmx.de>
22924         Use default value of `parse-time-months' in tramp-smb.el
22926         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry): Use default
22927         value of `parse-time-months'.
22929 2019-08-02  Tassilo Horn  <tsdh@gnu.org>
22931         Improve pretty-printing of multiple JSON snippets in a region
22933         * lisp/json.el (json-pretty-print): Improve pretty-printing of
22934         multiple JSON snippets in a region.  Don't lose the region contents
22935         starting with the first non-JSON-parseable text.  Also, don't swallow
22936         errors that occurred while parsing (bug#34160).
22938 2019-08-02  Alan Mackenzie  <acm@muc.de>
22940         CC Mode: Fix error in macro cache.  This fixes bug #36802
22942         * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Add in a cond arm
22943         to handle the change position being less than the recorded CPP construct end.
22945 2019-08-02  Basil L. Contovounesios  <contovob@tcd.ie>
22947         Make gravatar.el more configurable
22949         For discussion, see the following thread:
22950         https://lists.gnu.org/archive/html/emacs-devel/2019-07/msg00528.html
22952         * etc/NEWS: Announce changes in gravatar.el user options.
22954         * lisp/image/gravatar.el (gravatar-cache-ttl): Change :type to
22955         number of seconds without changing the default value and while still
22956         accepting other timestamp formats.
22957         (gravatar-rating): Restrict :type to ratings recognized by Gravatar.
22958         (gravatar-size): Allow nil as a value, in which case Gravatar's
22959         default size is used.
22960         (gravatar-default-image, gravatar-force-default): New user options
22961         controlling the Gravatar query parameters 'default' and
22962         'forcedefault', respectively.
22963         (gravatar-base-url): Use HTTPS.
22964         (gravatar--query-string): New helper function to facilitate testing.
22965         (gravatar-build-url): Use it.
22967         * test/lisp/image/gravatar-tests.el (gravatar-size)
22968         (gravatar-default-image, gravatar-force-default)
22969         (gravatar-build-url): New tests.
22971 2019-08-02  Basil L. Contovounesios  <contovob@tcd.ie>
22973         Fix some minor gravatar.el issues
22975         For discussion, see the following thread:
22976         https://lists.gnu.org/archive/html/emacs-devel/2019-07/msg00528.html
22977         * lisp/image/gravatar.el (gravatar-hash): Trim leading and trailing
22978         whitespace in given address, as per the Gravatar docs.
22979         (gravatar-retrieve-synchronously): Silence call to
22980         url-retrieve-synchronously for consistency with gravatar-retrieve.
22981         (gravatar-retrieved): Only cache buffer on successful retrieval.
22982         * test/lisp/image/gravatar-tests.el: New file.
22984 2019-08-02  Basil L. Contovounesios  <contovob@tcd.ie>
22986         DRY in gravatar.el
22988         For discussion, see the following thread:
22989         https://lists.gnu.org/archive/html/emacs-devel/2019-07/msg00528.html
22990         * lisp/image/gravatar.el (gravatar-data->image): Remove.
22991         (gravatar-retrieve, gravatar-retrieve-synchronously): Reuse
22992         url-fetch-from-cache and gravatar-retrieved to reduce duplication.
22993         (gravatar-retrieved): Only cache buffer if url-current-object is
22994         non-nil and return result of callback.  This affords reusing this
22995         function in cached URL buffers.
22997 2019-08-02  Basil L. Contovounesios  <contovob@tcd.ie>
22999         Use lexical-binding for Gravatar support
23001         For discussion, see the following thread:
23002         https://lists.gnu.org/archive/html/emacs-devel/2019-07/msg00528.html
23003         * lisp/gnus/gnus-gravatar.el: Use lexical-binding.  Link custom
23004         group 'gnus-gravatar' to 'gravatar'.
23005         (gnus-gravatar-size, gnus-gravatar-too-ugly): Doc fix.
23006         (gnus-gravatar-insert): Check liveness of article buffer sooner.
23007         (gnus-treat-from-gravatar, gnus-treat-mail-gravatar): Use
23008         interactive spec "p" instead of emulating it.
23009         * lisp/image/gravatar.el: Use lexical-binding.
23010         (gravatar-cache-expired): Remove.  Change all callers to use
23011         url-cache-expired instead.
23012         (gravatar-get-data, gravatar-retrieve)
23013         (gravatar-retrieve-synchronously): Simplify.
23015 2019-08-02  Alan Mackenzie  <acm@muc.de>
23017         CC Mode: Fix spurious recognition of operators beginning with, e.g. "or"
23019         This fixes bug #36801.
23021         * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens-re): Use c-make-keywords-re
23022         rather than regexp-opt to make an optimised regexp out of a list of tokens.
23024 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
23026         pdb doc clarification
23028         * lisp/progmodes/gud.el (pdb): Clarify what the parameters mean
23029         (bug#20106).
23031 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
23033         Mention that some dired commands work on the current file, too
23035         * lisp/dired-aux.el (dired-do-search): Mention that it works on
23036         file under point (bug#20194).
23037         (dired-do-find-regexp-and-replace): Ditto.
23038         (dired-do-find-regexp): Ditto.
23040 2019-08-02  Alan Mackenzie  <acm@muc.de>
23042         CC Mode: Fix the timing of application and removal of string fence properties
23044         This fixes bug #36897.
23046         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Check
23047         string fence text properties are actually present on string delimiters before
23048         trying to remove them.
23049         (c-before-change): Amend the nesting of unwind-protect, widen,
23050         c-restore-string-fences, and c-clear-string-fences.  Move
23051         invalidate-state-cache to outside of the widening.
23052         (c-after-change): Amend the nesting of unwind-protect, widen,
23053         c-restore-string-fences, and c-clear-string-fences.
23055 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
23057         Use "rebinding keys" in the "Rebinding" section of the manual
23059         * doc/emacs/custom.texi (Rebinding): Use the term "rebinding keys"
23060         instead of "redefining keys", because the former seems more
23061         logical (bug#21036).
23063 2019-08-02  Mattias Engdegård  <mattiase@acm.org>
23065         Clean up file-size-function
23067         It is now called `byte-count-to-string-function', and used instead of
23068         calling `file-size-human-readable' directly where appropriate.
23070         * lisp/files.el (file-size-human-readable-iec): New.
23071         (file-size-function): Rename to byte-count-to-string-function.  Better
23072         default value.  Eliminate lambda.  Better default for custom choice.
23073         Put in group `files'.  More descriptive doc string.  Move.
23074         (out-of-memory-warning-percentage, warn-maybe-out-of-memory)
23075         (get-free-disk-space):
23076         * lisp/dired.el (dired-number-of-marked-files):
23077         * lisp/url/url-http.el (url-http-simple-after-change-function)
23078         (url-http-content-length-after-change-function):
23079         Use byte-count-to-string-function.
23080         * test/lisp/files-tests.el (files-test-file-size-human-readable):
23081         Test file-size-human-readable-iec.
23083 2019-08-02  Eli Zaretskii  <eliz@gnu.org>
23085         Mention font-backend related crashes in PROBLEMS
23087         * etc/PROBLEMS: Mention the crash in the Cairo build when
23088         .emacs.desktop messes with font-backend.  (Bug#36835)
23090 2019-08-01  Paul Eggert  <eggert@cs.ucla.edu>
23092         Fix two parse-time-months invalid assumptions
23094         * lisp/gnus/nnimap.el: Do not require parse-time.
23095         * lisp/gnus/nnimap.el (nnimap-find-expired-articles):
23096         * lisp/net/pop3.el (pop3-make-date):
23097         Just use system-time-locale and format-time-string; no need to
23098         refer to parse-time-months.
23099         * lisp/net/pop3.el (parse-time-months): Remove defvar.
23100         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
23101         Add FIXME comment about this.
23103 2019-08-01  Paul Eggert  <eggert@cs.ucla.edu>
23105         Port standard-test-interval to Los Angeles
23107         * test/lisp/calendar/iso8601-tests.el (standard-test-interval):
23108         Use UTC to avoid DST glitches in the test.
23110 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
23112         Document that --eval makes emacsclient ignore -n
23114         * doc/man/emacsclient.1: Mention that -n is ignored if --eval is
23115         given (bug#20524).
23117 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
23119         Document batch-byte-compile directory behavior
23121         * lisp/emacs-lisp/bytecomp.el (batch-byte-compile): Document the
23122         behaviour with directories (bug#20867).
23124 2019-08-01  Stefan Monnier  <monnier@iro.umontreal.ca>
23126         * lisp/gnus/message.el (message-sendmail-f-is-evil): Update :version
23128 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
23130         Update URL in comment in gomoku.el
23132         * lisp/play/gomoku.el: Update the URL in the comments (bug#21300).
23134 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
23136         Fix reference to `tags-loop-continue' in doc string
23138         * lisp/dired-aux.el (dired-do-search): Refer to
23139         `fileloop-continue' instead of the obsolete `tags-loop-continue'
23140         (bug#21475).
23142 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
23144         Mention `C-h b' in the Keymaps node
23146         * doc/emacs/custom.texi (Keymaps): Mention `C-h b' here (bug#21653).
23148 2019-08-01  Daniel Barrett  <dbarrett@blazemonger.com>  (tiny change)
23150         Add PDF to the DocBook notation class
23152         * etc/schema/dbnotn.rnc: PDF is among the document types accepted
23153         (bug#21882).
23155 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
23157         Say that while returns nil
23159         * src/eval.c (Fwhile): Say that while always returns nil
23160         (bug#22006).
23162 2019-08-01  Glenn Morris  <rgm@gnu.org>
23164         * doc/lispref/display.texi (SVG Images): Add menu for subsection.
23166         Again.  This is needed for makeinfo-4.13.
23168 2019-08-01  Eli Zaretskii  <eliz@gnu.org>
23170         Fix the ELisp manual part of a recent commit
23172         * doc/lispref/display.texi (SVG Images): Fix markup of "SVG
23173         Path Commands".  It is no longer a @node, but a @subheading.
23175 2019-08-01  Basil L. Contovounesios  <contovob@tcd.ie>
23177         Fix property stripping in image-file-yank-handler
23179         Fix proposed by Martin Rudalics <rudalics@gmx.at> in:
23180         https://lists.gnu.org/archive/html/emacs-devel/2008-12/msg00945.html
23181         * lisp/image-file.el (image-file-yank-handler): Handle case when
23182         yank-excluded-properties is t.
23184 2019-08-01  Basil L. Contovounesios  <contovob@tcd.ie>
23186         Fix usage of remove-text-properties
23188         * lisp/allout-widgets.el (allout-decorate-item-icon):
23189         * lisp/emacs-lisp/chart.el (chart-goto-xy):
23190         * lisp/forms.el (forms--make-format)
23191         (forms--make-format-elt-using-text-properties):
23192         * lisp/htmlfontify.el (hfy-unmark-trailing-whitespace):
23193         * lisp/net/newst-plainview.el (newsticker-hide-entry)
23194         (newsticker-show-entry):
23195         * lisp/nxml/nxml-mode.el (nxml-cleanup):
23196         * lisp/obsolete/longlines.el (longlines-unshow-hard-newlines)
23197         (longlines-encode-region):
23198         * lisp/org/ob-exp.el (org-babel-exp-process-buffer):
23199         * lisp/org/org-agenda.el (org-agenda-show-new-time):
23200         * lisp/progmodes/cc-defs.el
23201         (c-clear-char-property-with-value-function)
23202         (c-clear-char-property-with-value-on-char-function):
23203         * lisp/progmodes/ebrowse.el (ebrowse--hide):
23204         * lisp/progmodes/gdb-mi.el (gdb-send):
23205         * lisp/progmodes/idlw-shell.el
23206         (idlwave-retrieve-expression-from-level):
23207         * lisp/progmodes/make-mode.el (makefile-fill-paragraph):
23208         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
23209         * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
23210         * lisp/tmm.el (tmm-remove-inactive-mouse-face):
23211         Always pass an explicit plist to remove-text-properties.
23213         * lisp/dired.el (dired--unhide):
23214         * lisp/facemenu.el (facemenu-add-face):
23215         * lisp/htmlfontify.el (hfy-fontify-buffer):
23216         * lisp/iimage.el (iimage-mode-buffer):
23217         * lisp/image-file.el (image-file-yank-handler):
23218         * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol):
23219         * lisp/textmodes/tex-mode.el (latex-env-before-change):
23220         * test/src/undo-tests.el (undo-test0):
23221         Use remove-list-of-text-properties in place of
23222         remove-text-properties where appropriate.
23224 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
23226         Doc string clarification for defcustom
23228         * lisp/custom.el (defcustom): Mention `custom-declare-variable' in
23229         the doc string(bug#22703).
23231 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
23233         Make `C-u RET' in erc use the secondary browser
23235         * lisp/erc/erc-button.el (erc-button-alist): Use the version of
23236         `browse-url' that interprets `C-u RET' as using the secondary browser.
23238 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
23240         Use decoded-time accessors in vc-cvs
23242         * lisp/vc/vc-cvs.el (vc-cvs-parse-entry): Use decoded-time
23243         accessors for results from `parse-time-string'.
23245 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
23247         Use decoded-time accessors in gnus-demon
23249         * lisp/gnus/gnus-demon.el (gnus-demon-time-to-step): Use
23250         decoded-time accessors for results from `parse-time-string'.
23252 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
23254         Use decoded-time accessors in esh-util
23256         * lisp/eshell/esh-util.el (eshell-parse-ange-ls): Use decoded-time
23257         accessors for results from `parse-time-string'.
23259 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
23261         Remove some compat code in esh-util
23263         * lisp/eshell/esh-util.el (eshell-parse-ange-ls): Remove
23264         older-Emacs compat code.
23266 2019-08-01  Martin Rudalics  <rudalics@gmx.at>
23268         Add example for removing scroll bars/fringes from mini windows (Bug#8868)
23270         * doc/lispref/display.texi (Fringe Size/Pos): Mention example
23271         for how to permanently remove fringes from minibuffer windows.
23272         (Scroll Bars): Add example for how to permanently remove
23273         scroll bars and fringes from minibuffer windows.
23275 2019-07-31  Paul Eggert  <eggert@cs.ucla.edu>
23277         format-time-string subsumes time-zone-format
23279         * lisp/calendar/time-date.el (time-zone-format):
23280         * test/lisp/calendar/time-date-tests.el (test-time-zone-format):
23281         Remove.
23282         * lisp/gnus/nnrss.el (nnrss-normalize-date):
23283         Use format-time-string instead of time-zone-format.
23285 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
23287         Revert "Revert "Add support for paths to svg.el""
23289         This reverts commit 0a2461be9edb218bf9ca56156d8966a2421f13a7.
23291         Copyright paperwork is now in place, so the patch mistakenly applied
23292         can now be re-applied.
23294 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
23296         Restore `replace-region-contents' in json-pretty-print
23298         * lisp/json.el (json-pretty-print): Switch back to using
23299         `replace-region-contents' to preserve markers and fonts which went
23300         missing when fixing the bug
23301         (bug#34160).
23302         (json-pretty-print-max-secs): Restore, too.
23304 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
23306         Add more icalendar tests (for the isodatetime parser)
23308         * test/lisp/calendar/icalendar-tests.el
23309         (icalendar-tests--decode-isodatetime): Test
23310         `icalendar--decode-isodatetime'.
23312 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
23314         Rewrite `url-dav-process-date-property' to use parse-time
23316         * lisp/url/url-dav.el (url-dav-iso8601-regexp): Remove.
23317         (url-dav-process-date-property): Rewrite to use
23318         `parse-iso8601-time-string'.
23320 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
23322         Fix time zone in previous rewrite of newsticker--decode-iso8601-date
23324         * lisp/net/newst-backend.el (newsticker--decode-iso8601-date):
23325         According to the tests, this function should default to the Z time
23326         zone.
23328 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
23330         Rewrite `parse-iso8601-time-string' to use `iso8601-parse'
23332         * lisp/calendar/parse-time.el (parse-iso8601-time-string): Use
23333         `iso8601-parse'.
23334         (parse-time-iso8601-regexp): Remove.
23336 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
23338         Allow timezone defaults in decoded-time-set-defaults
23340         * lisp/calendar/time-date.el (decoded-time-set-defaults): Allow
23341         passing in a default time zone, as this seems to be something
23342         callers seem to do.
23344 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
23346         Default DST to "undecided" in decoded-time-set-defaults
23348         * lisp/calendar/time-date.el (decoded-time-set-defaults): When we
23349         don't have a zone or a DST, set DST to "undecided".
23351 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
23353         decoded-time-dst doc fix
23355         * lisp/simple.el (decoded-time): Doc fix for dst (note -1 value).
23357 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
23359         Use iso8601-parse in nnrss
23361         * lisp/gnus/nnrss.el (nnrss-normalize-date): Use iso8601-parse
23362         instead of hand-rolled parser.
23364         * test/lisp/gnus/nnrss-tests.el: New file.
23366 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
23368         Make time-zone-format take a SHORT parameter
23370         * lisp/calendar/time-date.el (time-zone-format): Accept an
23371         optional SHORT parameter.
23373 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
23375         Add new function time-zone-format
23377         * lisp/calendar/time-date.el (time-zone-format): New function.
23379 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
23381         `decoded-time-set-defaults' refactored out from iso8601 code
23383         * lisp/calendar/iso8601.el (iso8601--encode-time):
23384         * lisp/calendar/time-date.el (decoded-time-set-defaults):
23385         Refactor out from `iso8601--encode-time', because it's helpful
23386         in other contexts.
23388 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
23390         Have newsticker use iso8601 to parse dates
23392         * lisp/net/newst-backend.el (newsticker--decode-iso8601-date): Use
23393         iso8601 to parse.
23395 2019-07-31  Michael Albinus  <michael.albinus@gmx.de>
23397         Call file notification actions properly in filenotify-tests.el
23399         * test/lisp/filenotify-tests.el (file-notify--test-wait-for-events):
23400         Rename from `file-notify--wait-for-events'.  Adapt all callees.
23401         (file-notify--test-cleanup): Reset also `file-notify--test-event'
23402         and `file-notify--test-file nil'.
23403         (file-notify--test-event-desc, file-notify--test-event-action):
23404         New accessor functions.
23405         (file-notify-test02-rm-watch, file-notify--test-event-test)
23406         (file-notify--test-with-actions-check)
23407         (file-notify--test-with-actions-explainer): Use them.
23408         (file-notify--test-with-actions-check)
23409         (file-notify--test-with-actions-explainer)
23410         (file-notify--test-with-actions): Rename them from *-events-*.
23411         Rename also internal variables accordingly.  Adapt all callees.
23413 2019-07-31  Michael Albinus  <michael.albinus@gmx.de>
23415         Distinguish different file notification events
23417         * lisp/filenotify.el (file-notify--watch): Add docstring.
23418         (file-notify-descriptors, file-notify--rm-descriptor)
23419         (file-notify--pending-rename): Adapt docstring.
23420         (file-notify): New defstruct.
23421         (file-notify-handle-event): Rename argument to OBJECT.  Use
23422         accessor functions of the defstruct.
23424 2019-07-31  Paul Eggert  <eggert@cs.ucla.edu>
23426         Avoid intern calls for builtin syms
23428         * src/casefiddle.c (Fdowncase_region):
23429         * src/eval.c (Fdefvaralias):
23430         Use builtin symbol rather than calling intern.
23432 2019-07-31  Paul Eggert  <eggert@cs.ucla.edu>
23434         Fix Fload infile problem
23436         * src/lread.c (Fload): Close window of vulnerability
23437         where the wrong stream could have been closed.
23439 2019-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>
23441         * src/lread.c (close_infile_unwind): Remove leftover debug code
23443 2019-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>
23445         * src/lread.c (infile): Set/reset it like a dynamically scoped variable
23447         I've seen segfaults where `infile` is nil when we get to
23448         readbyte_from_file, presumably because Fload set it to NULL (via
23449         close_infile_unwind) just before returning to its caller which was
23450         probably itself within another read/load and for some reason
23451         readevalloop didn't get to re-set `infile` like it used to do at every
23452         iteration.  I was not able to really track down the bug, but the way
23453         `infile` was set/reset seemed fragile and managing it like a standard
23454         dynamically-scoped var seems both safer (and more efficient since we
23455         don't need readevalloop to constantly re-set it).
23457         (readchar): Assert that `infile` is set if using a function the depends on it.
23458         (readbyte_from_file): Assert that `infile` is set.
23459         (close_infile_unwind): Reset `infile` to its previous value rather than
23460         to NULL.
23461         (Fload): Remember the previous value of `infile` before chaning it.
23462         (readevalloop): Don't set `infile` any more.
23464 2019-07-31  Paul Eggert  <eggert@cs.ucla.edu>
23466         Clarify (lognot bignum)
23468         * doc/lispref/numbers.texi (Bitwise Operations):
23469         Say that (= (lognot n) (- -1 n)).
23471 2019-07-31  Michael Albinus  <michael.albinus@gmx.de>
23473         Fix an error in tramp-sh-inotifywait-process-filter
23475         * lisp/net/tramp-sh.el (tramp-sh-inotifywait-process-filter):
23476         Add default FILE to returned event, if inotifywait doesn't tell us.
23478 2019-07-31  Noam Postavsky  <npostavs@gmail.com>
23480         Remove no-longer relevant xref
23482         * doc/lispref/positions.texi (List Motion): Remove xref, the text it
23483         references was removed in 2018-02-15 "Document
23484         open-paren-in-column-0-is-defun-start being of less importance".
23486 2019-07-30  Glenn Morris  <rgm@gnu.org>
23488         Merge from origin/emacs-26
23490         8fbe462 (origin/emacs-26) ; * doc/lispref/positions.texi (List Motion...
23491         1d9efc0 Add index for "\( in strings" (Bug#25195)
23492         304e96f Fix doc-string of 'fit-window-to-buffer' (Bug#36848)
23493         d4c4987 Update view-mode docstring
23494         d6ca1fc ; * lisp/term.el: Add missing / to esc seq commentary.
23495         b3e2073 Fix subproc listening when setting filter to non-t (Bug#36591)
23496         f671950 * etc/NEWS.25: Belatedly announce rcirc-reconnect-delay.
23497         7f42277 Mention term.el's \032 dir tracking in commentary (Bug#19524)
23498         16a529e Remove upload functionality of package-x from the elisp manual
23499         78e6c2a * etc/AUTHORS: Update.
23500         086a56e Clarify Gravatar docs
23501         0592467 * doc/lispref/display.texi (Defining Faces): Say a face can't...
23503         # Conflicts:
23504         #       doc/emacs/programs.texi
23505         #       etc/AUTHORS
23506         #       lisp/term.el
23508 2019-07-30  Noam Postavsky  <npostavs@gmail.com>
23510         * lisp/emacs-lisp/let-alist.el: Bump version to 1.0.6 (Bug#23244).
23512 2019-07-30  Stefan Monnier  <monnier@iro.umontreal.ca>
23514         * lisp/gnus/message.el: Reduce redundancy with send-mail-function
23516         (message-send-mail-function) <function>: Remove `local-library` tests
23517         for libs distributed with Emacs.
23518         (message-use-send-mail-function): New function.
23519         (message-default-send-mail-function): Default to it, and remove cases
23520         already handled by it.
23521         (message--default-send-mail-function): New function.
23522         (message-send-mail-function) <variable>: Use it as new default.
23523         (message-sendmail-f-is-evil): Obey mail-specify-envelope-from if available.
23524         (message-check, message-with-reply-buffer): Use `declare`.
23525         (message-smtpmail-send-it): smtpmail accepts mail-header-separator,
23526         so simplify and declare obsolete.
23527         (message-send-mail-with-mailclient): Declare obsolete.
23528         (message-check-news-body-syntax): Don't presume that the checksum is
23529         a fixnum.
23531 2019-07-30  Juri Linkov  <juri@linkov.net>
23533         * lisp/bindings.el (mode-line-defining-kbd-macro): New defvar.
23535         (minor-mode-alist): Use it for `defining-kbd-macro'.  (Bug#36564)
23537 2019-07-30  Stefan Monnier  <monnier@iro.umontreal.ca>
23539         * lisp/mail/sendmail.el (sendmail-send-it): Add FIXMEs.
23541         Remove redundant :groups in the file, as well.
23543 2019-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
23545         Merge commit '9b480db6732c6d2e886838f112d9bd46fc8989bf'
23547 2019-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
23549         Improve doc strings for some -search-path variables
23551         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-search-path):
23552         Improve doc string.
23554         * lisp/progmodes/compile.el (compilation-search-path): Improve doc
23555         string.
23557         * lisp/progmodes/grep.el (grep-search-path): Improve doc string.
23559 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23561         Make `C-u RET' on URLs in Gnus buffers use the secondary browser
23563         * lisp/gnus/gnus-art.el (gnus-button-alist): Make `C-u RET' on
23564         URLs use the secondary browse-url browser.
23566 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23568         Tweak `browse-url-add-buttons' for better button.el comp
23570         * lisp/net/browse-url.el (browse-url-add-buttons): Make browse-url
23571         buttons be understood by `forward-button' and the like.
23573 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23575         Add a new conveniency function to browse-url
23577         * lisp/net/browse-url.el (browse-url-button-open-url): Add a new
23578         conveniency function.
23580 2019-07-30  Dmitry Gutov  <dgutov@yandex.ru>
23582         Support filename matches in etags xref backend
23584         * lisp/progmodes/etags.el (etags--xref-find-definitions):
23585         Support filename matches (bug#32510).
23587 2019-07-30  Dmitry Gutov  <dgutov@yandex.ru>
23589         Guard against flymake-no-changes-timeout being nil
23591         * test/lisp/progmodes/flymake-tests.el
23592         (flymake-tests--wait-for-backends): Guard against
23593         flymake-no-changes-timeout being nil (in personal configurations)
23594         to help when running tests interactively.
23596 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23598         Call out the Gnus widget->button makeover in NEWS
23600 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23602         Convert Emacs article buffers from widget.el to button.el
23604         * lisp/gnus/gnus-art.el (gnus-mime-button-map)
23605         (gnus-url-button-commands, gnus-insert-mime-button)
23606         (gnus-mime-display-alternative)
23607         (gnus-article-extend-url-button, gnus-article-add-button)
23608         (gnus-insert-prev-page-button, gnus-insert-next-page-button)
23609         (gnus-mime-security-button-map)
23610         (gnus-insert-mime-security-button): Ditto.
23612         * lisp/gnus/gnus-html.el (gnus-html-displayed-image-map)
23613         (gnus-html-wash-images, gnus-html-put-image): Ditto.
23615         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-insert-button): Ditto.
23617         * lisp/gnus/gnus-sum.el (gnus-summary-widget-forward)
23618         (gnus-summary-button-forward, gnus-summary-widget-backward)
23619         (gnus-summary-button-backward, gnus-collect-urls-primary-text)
23620         (gnus-collect-urls, gnus-summary-browse-url): Stop using widgets
23621         and star using button.el buttons instead.
23623         * lisp/gnus/mm-decode.el (mm-shr, mm-handle-filename): Don't
23624         convert shr buttons into widgets.
23626 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23628         Mark shr buttons as button.el buffers
23630         * lisp/net/shr.el (shr-urlify): Mark buttons as button.el buffers
23631         for easier reuse in buttonified buffers.
23633 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23635         Convert ` to ' in two recent NEWS entries
23637 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23639         Extend button.el to take callback data
23641         * doc/lispref/display.texi (Button Buffer Commands)
23642         (Button Buffer Commands): Document this.
23643         * lisp/button.el (backward-button, forward-button): Accept a
23644         NO-ERROR parameter.
23645         (button-activate): Make it possible to have specific data in the
23646         callback action.
23648 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23650         Re-fix dired-pop-to-buffer obsoletion reference
23652         * lisp/dired.el (dired-pop-to-buffer): Re-fix obsoletion reference
23653         (bug#26243).
23655 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23657         Revert "Make `ispell-change-dictionary' only list installed dictionaries"
23659         This reverts commit 848712b481e16f5c96fed6344c2f7d71a8d52ed1.
23661         There could be dictionaries available (set via command-line options for the
23662         speller, for instance) that would not be returned.
23664 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23666         Use decoded time accessors in ediff-mult
23668         * lisp/vc/ediff-mult.el (ediff-format-date): Use decoded time
23669         accessors.
23671 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23673         Use decoded time accessors in pop3
23675         * lisp/net/pop3.el (pop3-make-date): Use decoded time
23676         accessors.
23678 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23680         Use decoded time accessors in esh-util
23682         * lisp/eshell/esh-util.el (eshell-parse-ange-ls): Use decoded time
23683         accessors.
23685 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23687         Use decoded time accessors in in em-ls
23689         * lisp/eshell/em-ls.el (eshell-ls-file): Use decoded time
23690         accessors.
23692 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23694         Use decoded time accessors in timer
23696         * lisp/emacs-lisp/timer.el (run-at-time): Use decoded time
23697         accessors.
23699 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23701         Use decoded time accessors in timeclock
23703         * lisp/calendar/timeclock.el (timeclock-day-base): Use decoded time
23704         accessors.
23706 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23708         Use decoded time accessors in time-date
23710         * lisp/calendar/time-date.el (time-to-days): Use decoded time
23711         accessors.
23713 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23715         Use decoded time accessors in appt
23717         * lisp/calendar/appt.el (appt-check, appt-make-list): Use decoded
23718         time accessors.
23720 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23722         Fix syntax error in previous calc-forms change
23724         * lisp/calc/calc-forms.el (calc-time): Fix previous decoded time
23725         change.
23727 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23729         Use decoded time accessors in calendar
23731         * lisp/calendar/icalendar.el (icalendar--add-decoded-times)
23732         (icalendar--convert-sexp-to-ical):
23733         * lisp/calendar/calendar.el (calendar-current-date):
23734         * lisp/calendar/cal-dst.el (calendar-dst-find-data)
23735         (calendar-dst-find-startend): Use decoded time accessors.
23737 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23739         Use decoded time accessors in Gnus
23741         * lisp/gnus/nnimap.el (nnimap-find-expired-articles):
23742         * lisp/gnus/nndiary.el (nndiary-compute-reminders)
23743         (nndiary-last-occurrence, nndiary-next-occurrence):
23744         * lisp/gnus/message.el (message-make-expires-date):
23745         * lisp/gnus/gnus-util.el (gnus-seconds-today)
23746         (gnus-seconds-month, gnus-seconds-year):
23747         * lisp/gnus/gnus-demon.el (gnus-demon-time-to-step):
23748         * lisp/gnus/gnus-art.el (article-make-date-line): Use decoded time
23749         accessors.
23751 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23753         Use decoded time accessors in calc
23755         * lisp/calc/calc-forms.el (calc-time, math-this-year)
23756         (calcFunc-now): Use decoded time accessors.
23758 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23760         Use decoded time accessors in proced
23762         * lisp/proced.el (proced-format-start): Use decoded time accessors.
23764 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23766         Make description of text properties on the form `(string ...)' work
23768         * lisp/descr-text.el (describe-property-list): Don't special-case
23769         for symbols that have widget properties here (bug#22957).  It's
23770         not documented that this function should do that, and looking at
23771         the code, it doesn't seem like this function is actually used for
23772         doing that, either.  This makes describing some text properties
23773         that are on the form `(string ...)' work.
23775 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23777         Use the elisp xref backend in profiler buffers
23779         * lisp/profiler.el (profiler--xref-backend): New function (bug#23455).
23780         (profiler-report-mode): Use it to use the elisp xref handler when
23781         hitting `M-.' in profiler buffers.
23783 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
23785         Adjust time-date tests to tweaked format
23787 2019-07-29  Juri Linkov  <juri@linkov.net>
23789         Highlight keyboard macro recording mode with read color in the mode-line
23791         * lisp/bindings.el (minor-mode-alist): Propertize " Def"
23792         with 'error' face for defining-kbd-macro.  (Bug#36564)
23794 2019-07-29  Stefan Monnier  <monnier@iro.umontreal.ca>
23796         * lisp/progmodes/vhdl-mode.el: Use cl-lib when available
23798         (vhdl--pushnew): New macro.  Use it instead of `pushnew`.
23799         (emacs-major-version): Don't bother checking (featurep 'xemacs)
23800         since that is always (< emacs-major-version 25) as well.
23802 2019-07-29  Juri Linkov  <juri@linkov.net>
23804         * lisp/info.el (Info-toc-insert): Suppress same section names as node names.
23806         Add indentation to section lines.  (Bug#23142)
23808 2019-07-29  Stefan Monnier  <monnier@iro.umontreal.ca>
23810         * lisp/simple.el (decoded-time): Use `cl-defstruct`
23812 2019-07-29  Stefan Monnier  <monnier@iro.umontreal.ca>
23814         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add slot option :documentation
23816         Use it to improve the docstring of the accessor functions.
23818         * doc/misc/cl.texi: Rename menu entry to "CL-Lib".
23819         (Structures): Add ':documentation' and mention ':type' as well,
23820         which we don't completely ignore any more.
23822 2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>
23824         Tweak how mm-display-external handles windows
23826         * lisp/gnus/mm-decode.el (mm-display-external): Don't delete other
23827         buffers when displaying parts (bug#22861) because that should be
23828         up to the user, probably.
23830 2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>
23832         Add further documentation about semicolon use
23834         * doc/lispref/tips.texi (Comment Tips): Document the sub-heading
23835         convention (bug#23060) as explained by Stefan on StackExchange.
23837 2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>
23839         Add an ISO 8601 parsing library
23841         * doc/lispref/os.texi (Time Parsing): Document it.
23843         * lisp/calendar/iso8601.el: New file.
23845         * test/lisp/calendar/iso8601-tests.el: Test ISO8601 parsing functions.
23847 2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>
23849         Add support for dealing with decoded time structures
23851         * doc/lispref/os.texi (Time Conversion): Document the new
23852         functions that work on decoded time.
23853         (Time Calculations): Document new date/time functions.
23855         * lisp/simple.el (decoded-time-second, decoded-time-minute)
23856         (decoded-time-hour, decoded-time-day, decoded-time-month)
23857         (decoded-time-year, decoded-time-weekday, decoded-time-dst)
23858         (decoded-time-zone): New accessor functions for decoded time values.
23860         * lisp/calendar/time-date.el (date-days-in-month)
23861         (date-ordinal-to-time): New functions.
23862         (decoded-time--alter-month, decoded-time--alter-day)
23863         (decoded-time--alter-second, make-decoded-time): New functions
23864         added to manipulate decoded time structures.
23866         * src/timefns.c (Fdecode_time): Mention the new accessors.
23868         * test/lisp/calendar/time-date-tests.el: New file to test the
23869         decoded time functions and the other new functions.
23871 2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>
23873         Fix compilation warning in mh-*.el
23875         * lisp/mh-e/mh-speed.el (mh-speed-parse-flists-output):
23876         * lisp/mh-e/mh-search.el (mh-index-parse-search-regexp): Avoid
23877         warning about `values-list' by using `cl-values-list' insead.
23879 2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>
23881         Avoid error when killing rcirc buffer
23883         * lisp/net/rcirc.el (rcirc-kill-buffer-hook): Delete the process
23884         in the buffer when killing server buffers to avoid triggering
23885         errors from the sentinel (bug#23168).
23887 2019-07-28  Juri Linkov  <juri@linkov.net>
23889         * lisp/char-fold.el: Rename char-fold-make-table to char-fold--make-table.
23891 2019-07-28  Juri Linkov  <juri@linkov.net>
23893         Move some uncontroversial char-folding pairs from test data to default values
23895         * lisp/char-fold.el (char-fold--default-include)
23896         (char-fold--default-exclude): Add some default values.
23898         * test/lisp/char-fold-tests.el (char-fold--test-without-customization)
23899         (char-fold--test-with-customization): Move some test data to
23900         default values.  Add more data for tests to pass.   (Bug#35689)
23902 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
23904         Rename the new `browse-url-external-browser' variable
23906         * lisp/net/shr.el (shr-external-browser, shr-browse-url):
23907         * lisp/net/eww.el (eww-browse-with-external-browser)
23908         (eww-follow-link):
23909         * lisp/net/browse-url.el
23910         (browse-url-secondary-browser-function)
23911         (browse-url-button-open):
23912         * lisp/gnus/gnus-sum.el (gnus-summary-browse-url): Rename from
23913         `browse-url-external-browser' to
23914         `browse-url-secondary-browser-function'.
23916 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
23918         Make let-alist work with vectors
23920         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search):
23921         Descend into vectors, too, looking for dotted variables (bug#23244).
23923         Test case:
23925         (let-alist '((a . 1) (b . 2))
23926           `[,(+ .a) ,(+ .a .b .b)])
23928 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
23930         Make the image keymaps not extend after the image
23932         * lisp/image.el (insert-image): Make all the properties
23933         rear-nonsticky.  Before this change, the keymap would extend after
23934         the image.
23936 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
23938         Fix when calling prettify-symbols-mode more than once
23940         * lisp/progmodes/prog-mode.el (prettify-symbols-mode): Allow
23941         calling this mode several times without the earlier symbol alist
23942         shadowing the newer (bug#23255).
23944 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
23946         Abbreviate directory names the same way as file names in C-x C-b
23948         * lisp/buff-menu.el (Buffer-menu--pretty-file-name): Abbreviate
23949         directory file names, too (bug#23355).
23951 2019-07-28  Andreas Schwab  <schwab@linux-m68k.org>
23953         * admin/notes/git-workflow: Replace git-new-workdir with git
23954         worktree and remove draft marker.
23956 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
23958         Tweak tango-dark-theme
23960         * etc/themes/tango-dark-theme.el: Add a lighter background color
23961         to `header-line' (bug#23359).
23963 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
23965         Scale images in iimage-mode
23967         * lisp/iimage.el (iimage-mode-buffer): Scale images down to the
23968         width/height of the buffer (bug#23434).  Also add `image-map' to
23969         the images so that they can be further scaled.
23971 2019-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>
23973         Make atomic cell update in data area.
23975         * lisp/ses.el (ses-write-cells): Set inhibit-quit to t during the data
23976           area write.
23978 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
23980         Make URLs in package descriptions into links
23982         * lisp/emacs-lisp/package.el (describe-package-1): Make the URLs
23983         in package descriptions into links (bug#23480).
23985 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
23987         Enable browse-url to buttonize buffers
23989         This patch also moves the internal/external browser logic from
23990         shr to browse-url, where it belongs more naturally.
23992         * doc/misc/eww.texi (Basics): Adjust to browse-url-external-browser.
23994         * doc/misc/gnus.texi (Article Commands): Ditto.
23996         * lisp/gnus/gnus-art.el (gnus-button-url-regexp): Default to
23997         `browse-url-button-regexp', which has taken over the definition
23998         previously enjoyed by this variable.
24000         * lisp/gnus/gnus-sum.el (gnus-summary-browse-url): Adjust usage.
24002         * lisp/net/browse-url.el (browse-url--browser-defcustom-type): New
24003         internal variable...
24004         (browse-url-browser-function, browse-url-external-browser): Used
24005         by these two; the latter of which is a new variable.
24006         (browse-url-botton-regexp): New variable.
24007         (browse-url-button-map): New keymap.
24008         (browse-url-button): New face.
24009         (browse-url-add-buttons): New function to add clickable browse-url
24010         buttons to almost any buffer.
24011         (browse-url-button-open): New command.
24012         (browse-url-button-copy): New command.
24014         * lisp/net/eww.el (eww-browse-with-external-browser)
24015         (eww-follow-link): Adjust usage.
24017         * lisp/net/shr.el (shr-external-browser): Make an obsolete alias
24018         of `browse-url-external-browser'.
24019         (shr-browse-url): Adjust usage.
24021 2019-07-28  Alan Mackenzie  <acm@muc.de>
24023         CC Mode.  Fix (c-beginning-of-defun -1) getting stuck with structs.
24025         In particular, with an initialization such as struct foo {..} bar = {...};
24027         * lisp/progmodes/cc-cmds.el (c-forward-to-nth-EOF-{): Rename to
24028         c-forward-to-nth-EOF-\;-or-}, and when the starting (or ending) position is in
24029         the "variable" part of a struct/class/union/enum/etc., move to after the
24030         terminating semicolon.  Adjust the counting such that N only gets decremented
24031         on a successful movement over {..}.
24032         (c-beginning-of-defun, c-end-of-defun): Rename the calls to
24033         c-forward-to-nth-EOF-}, as above.
24035 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
24037         Make cl-values-list signal an error if its argument isn't a list
24039         * lisp/emacs-lisp/cl-lib.el (cl-values-list): Signal an error if
24040         LIST isn't a list (bug#23597).
24042 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
24044         Have emacsbug only warn the user when sending to the bug address
24046         * lisp/mail/emacsbug.el (report-emacs-bug-hook): Only ask for
24047         confirmation if we're really sending the bug report to the bug
24048         address.  If the user is sending it somewhere else (to themselves,
24049         for instance), the warning is misleading.
24051 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
24053         Allow the user to send a bug report after initially saying "no"
24055         * lisp/mail/emacsbug.el (report-emacs-bug-hook): Don't remove the
24056         address in the To: header (or the hook) after the user has said
24057         "no" (bug#23799).  This made it impossible for the user to do
24058         touch-ups and then resent the bug report.
24060 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
24062         Always set the state of the "Show hidden files" gtk button
24064         * src/gtkutil.c (xg_get_file_with_chooser): Always set the state
24065         of the "Show hidden files" button (bug#23977).  If not, the
24066         visible state and the actual state get out of sync.
24068 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
24070         Make `ispell-change-dictionary' only list installed dictionaries
24072         * lisp/textmodes/ispell.el (ispell-find-aspell-dictionaries): If
24073         the backend (i.e., aspell/hunspell) provided a list of languages,
24074         don't add the base list (bug#24050).
24075         (ispell-set-spellchecker-params): Ditto.
24077 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
24079         Clean up conf-mode-syntax-table slightly
24081         * lisp/textmodes/conf-mode.el (conf-mode-syntax-table): Remove
24082         superfluous backslash in ?\'.
24084 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
24086         Mark block/char devices the same as sockets in dired
24088         * lisp/dired.el (dired-re-socket): Also mark block and char
24089         devices with the socket face (bug#24547).
24091 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
24093         `unknown' test case now works
24095 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
24097         Fix testcover.el usage of edebug.el symbols
24099         * lisp/emacs-lisp/testcover.el (testcover-before)
24100         (testcover-after, testcover-mark)
24101         (testcover-analyze-coverage-edebug-after): Adjust usage of
24102         `unknown' to `edebug-unknown' in testcover.el in addition to
24103         edebug.el (bug#25471).
24105 2019-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
24107         * lisp/emacs-lisp/autoload.el: Make progress info more informative.
24109         (update-directory-autoloads): Include the name of the target file.
24111 2019-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
24113         * lisp/emacs-lisp/bytecomp.el (byte-compile-out-toplevel): Fix bug#34757
24115         This fix was provided by Pip Cet <pipcet@gmail.com>.  It tightens the
24116         code that tries to recognize a bytecode sequence as being a simple
24117         function call (to then decompile it), which occasionally misfired.
24119         I added some minor changes found while investigating this issue.
24121         (byte-compile): Handle corner case where byte-compile-top-level returns
24122         a non-self-evaluating expression.
24123         (byte-compile-out-toplevel): Remove support for `progn` and `t` values
24124         of output-type which aren't used anywhere.
24126 2019-07-27  Alan Third  <alan@idiocy.org>
24128         Fix stretch glyphs overlap with line above (bug#36633)
24130         * src/nsterm.m (ns_dumpglyphs_stretch): Move overwriting of the
24131         clipping rectangle to after performing clipping.
24133 2019-07-27  Paul Eggert  <eggert@day>
24135         Fix arithmetic overflow in GC consing count
24137         * src/alloc.c (allow_garbage_collection):
24138         Redo expression to avoid signed arithmetic overflow
24139         in an intermediate expression when CONSING is negative.
24141 2019-07-27  Alan Mackenzie  <acm@muc.de>
24143         Java Mode: Fix handling of nested generics ending in >>>.
24145         This fixes bug #24671.
24147         * lisp/progmodes/cc-langs.el (c-multichar->-op-not->>-regexp): remove,
24148         transforming into ...
24149         (c-multichar->-op-not->>->>>-regexp) New lang const/var.
24151         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): use the new
24152         c-multichar->-op-not->>->>>-regexp in place of the old
24153         c-multichar->-op-not->>-regexp.
24155 2019-07-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
24157         Adjust location of Gnus group split setup process
24159         Updating group splits requires the gnus-newsrc-hashtb to be
24160         initialized. Previously this failed silently, now it errors.
24162         * lisp/gnus/gnus-mlspl.el (gnus-group-split-setup): Don't call the
24163         update when loading the user's init file, that's too early. Use
24164         appropriate hooks depending on AUTO-UPDATE.
24165         * doc/misc/gnus.texi (Group Mail Splitting): Change mention in docs.
24167 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
24169         Touch of latin-ltx input method for long arrows
24171         * lisp/leim/quail/latin-ltx.el: Map all the \\long.*arrow inputs
24172         to the long characters instead of the normal ones (i.e., LONG
24173         RIGHTWARDS ARROW instead of RIGHTWARDS ARROW) (bug#24302).
24175 2019-07-27  Eli Zaretskii  <eliz@gnu.org>
24177         Fix documentation of 'redisplay-highlight-region-function'
24179         * lisp/simple.el (redisplay-highlight-region-function): Fix
24180         last change.  (Bug#24701)
24182 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
24184         Tweak font-locking in conf-mode for "#foo { bar" lines
24186         * lisp/textmodes/conf-mode.el (conf-font-lock-keywords): Don't
24187         font-lock comments as keywords (bug#24355).
24189 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
24191         Make dired fontify pipes and sockets
24193         * lisp/dired.el (dired-socket): New face for pipes and sockets
24194         (bug#24547).
24195         (dired-re-socket): New regexp to match them.
24196         (dired-font-lock-keywords): Use them.
24198 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
24200         Add a doc string to redisplay-highlight-region-function
24202         * lisp/simple.el (redisplay-highlight-region-function): Add a doc
24203         string (bug#24701).
24205 2019-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
24207         * lisp/progmodes/compile.el: Fix bug#36803.
24209         Make sure all mode-lines are updated when compilation-in-progress
24210         is changed since it's visible globally.
24212         (compilation--update-in-progress-mode-line): New function.
24213         (compilation-start, compilation-sentinel): Use it.
24215 2019-07-27  Alan Mackenzie  <acm@muc.de>
24217         CC Mode: Stop /**/ spuriously fontifying as a doc comment under gtkdoc
24219         Also fix infinite loops by correcting two regexps.
24221         * lisp/progmodes/cc-langs.el (c-last-c-comment-end-on-line-re)
24222         (c-last-open-c-comment-start-on-line-re): Correct the regexp fragments
24223         "\\*+[^/]" to "\\*+\\([^*/]\\|$\\)".
24225         * lisp/progmodes/cc-fonts.el (gtkdoc-font-lock-keywords): Disallow /**/ for
24226         doc comment fontification.
24228 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
24230         Doc fix for package-menu-filter
24232         * lisp/emacs-lisp/package.el (package-menu-filter): Document the
24233         use of arc:ARCHIVE and status:STATUS (bug#24883).
24235 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
24237         Allow serial-term to take an optional argument for line-mode
24239         * lisp/term.el (serial-term): Allow taking an optional argument to
24240         avoid term-raw-mode (bug#24922).
24242         * doc/lispref/processes.texi (Serial Ports): Document it.
24244 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
24246         Only insert XML declarations in nxml-mode when the buffer is empty
24248         * lisp/nxml/nxml-mode.el (nxml-mode): Don't insert the XML
24249         declaration unless it's an empty buffer (bug#24978).  This avoids
24250         the problem of the declaration being inserted by mistake when
24251         opening XML files from archives and the like -- the file doesn't
24252         exist on the file system there, either, so it would typically lead
24253         to doubled XML declarations.
24255 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
24257         edebug.el comment fix
24259         * lisp/emacs-lisp/edebug.el: Fix comment referring to non-existent
24260         variable (bug#25188).
24262 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
24264         Clarify yank-pop doc string
24266         * lisp/simple.el (yank-pop): Mention `kill-ring' to make it more
24267         clear what the command is doing (bug#25196).
24269 2019-07-27  Eli Zaretskii  <eliz@gnu.org>
24271         Move tty-colors-tests.el to its proper directory.
24273 2019-07-27  Pip Cet  <pipcet@gmail.com>
24275         Use the CSS convention for #RGB colors (bug#36304)
24277         * src/xterm.c (x_parse_color): Change interpretation of #RGB color
24278         triplets to match CSS rather than X conventions.
24280         * lisp/term/tty-colors.el (tty-color-standard-values): Change
24281         interpretation of #RGB color triplets to match CSS rather than X
24282         conventions.  Allow upper-case digits.  Fix rgb:R/G/B
24283         interpretation.
24285         * doc/emacs/display.texi (Colors): Specify the convention used for
24286         "#RGB" color triplets.
24288         * test/lisp/term/tty-colors-tests.el: New file.
24290         * etc/NEWS: Mention the change.
24292 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
24294         Allow global-auto-revert-ignore-buffer to be a predicate function
24296         * lisp/autorevert.el (global-auto-revert-ignore-buffer): Allow
24297         this to be a predicate function (bug#25277).
24298         (auto-revert--global-add-current-buffer): Use it.
24300 2019-07-27  Pip Cet  <pipcet@gmail.com>
24302         Don't double-decompress cached HTTP responses (bug#36773)
24304         * lisp/url/url-http.el (url-handle-content-transfer-encoding): Modify
24305         the message headers as well as the message body to reflect
24306         decompression.
24307         * lisp/mail/mail-utils.el (mail-fetch-field): Add DELETE argument, to
24308         delete header lines included in the result.
24310 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
24312         Rename coverage symbols in edebug to avoid collisions
24314         * lisp/emacs-lisp/edebug.el (edebug-clear-coverage): Use
24315         edebug-unknown and edebug-ok-coverage instead of unknown and
24316         ok-coverage to avoid naming collisions with packages that use
24317         those two symbols (bug#25471).
24318         (edebug--update-coverage, edebug-display-freq-count): Ditto.
24320 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
24322         Allow directory-files-recursively to follow symlinks
24324         * doc/lispref/files.texi (Contents of Directories): Document it.
24326         * lisp/files.el (directory-files-recursively): Allow following
24327         symlinks.
24329 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
24331         define-derived-mode doc string clarification
24333         * lisp/emacs-lisp/derived.el (define-derived-mode): Doc string
24334         clarification about the keywords (bug#26301).
24336 2019-07-26  Noam Postavsky  <npostavs@gmail.com>
24338         Clarify docstring of last-command-event.
24340         * src/keyboard.c (syms_of_keyboard) <last-command-event>: Reword docstring.
24342 2019-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
24344         Adjust remaining uses of `NILP (HASH_HASH)`.
24346         * src/json.c (lisp_to_json_toplevel_1):
24347         * src/pdumper.c (dump_hash_table_stable_p, hash_table_contents):
24348         * src/print.c (print, print_vectorlike):
24349         * src/minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
24350         Use `EQ (HASH_KEY, Qunbound)` instead of `NILP (HASH_HASH)`.
24352 2019-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
24354         Don't dump the `hash` vector if it will need to be recomputed anyway
24356         * src/fns.c (hash_table_rehash): Only set `hash` field at the end.
24357         (sweep_weak_table): Only set slot of `hash` vector when that vector exists.
24358         (Fhash_table_count): No need to hash_rehash_if_needed any more.
24360         * src/lisp.h (hash_rehash_needed_p): Test the presence of `hash` instead.
24362         * src/pdumper.c (check_hash_table_rehash, dump_hash_table):
24363         Set `hash` to nil to indicate that the table needs to be rehashed.
24365 2019-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
24367         * src/fns.c: Use `EQ (key, Qunbound)` to check if a slot is in use
24369         (make_hash_table): Use Qunbound for the key_and_value table.
24370         (maybe_resize_hash_table): Set new key_and_value slots to Qunbound.
24371         (hash_table_rehash): Don't bother copying the old table of hashes since
24372         we're recomputing it completely.
24373         (hash_table_rehash): Use hash_rehash_needed_p more.
24374         (hash_put): Add assertion that the slot was indeed considered empty.
24375         (hash_remove_from_table, hash_clear, sweep_weak_table): Set empty
24376         slot's key to Qunbound.
24377         (Fmaphash): Use `EQ (key, Qunbound)` to check if a slot is in use.
24379         * src/lisp.h (struct Lisp_Hash_Table): Update comments.
24381 2019-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
24383         * src/fns.c (hash_index_size): New function, extracted from make_hash_table
24385         (make_hash_table, maybe_resize_hash_table): Use it.
24387         * src/pdumper.c (check_hash_table_rehash): Use hash_rehash_needed_p.
24389 2019-07-26  Alan Mackenzie  <acm@muc.de>
24391         CC Mode.  Create lang vars for certain skipping expressions at compile time
24393         This saves repeated calculations at run time.
24395         * lisp/progmodes/cc-langs.el (c-stmt-boundary-skip-chars)
24396         (c-stmt-boundary-skip-list, c-stmt-boundary-skip-chars-with-comma)
24397         (c-stmt-boundary-skip-list-with-comma): New lang constants/variables.
24399         * lisp/progmodes/cc-engine.el (c-commas-bound-stmts): New variable
24400         (c-beginning-of-statement-1): Set c-commas-bound-stmts rather than
24401         c-stmt-delim-chars.
24402         (c-crosses-statement-barrier-p): Remove the now unneeded calculations of
24403         c-stmt-delim-chars.  Set skip chars to one of the new lang variables, and
24404         later to a substring of it.
24405         (c-at-statement-start-p): Set c-syntactic-skip-backward from the new
24406         variables.
24407         (c-at-expression-start-p): Bind c-commas-bound-stmts.  Use
24408         c-stmt-delim-chars-with-comma rather than c-stmt-delim-chars in a backward
24409         scan.
24410         (c-guess-basic-syntax): Bind c-commas-bound-stmts rather than
24411         c-stmt-delim-chars to itself.  Bind c-commas-bound-stmts to t at another place
24412         rather than setting c-stmt-delim-chars to c-stmt-delim-chars-with-comma.
24414 2019-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
24416         * src/fns.c (maybe_resize_hash_table): Obey rehash_size (bug#25743)
24418 2019-07-26  Paul Eggert  <eggert@cs.ucla.edu>
24420         Fix recently-introduced file-name-absolute-p typo
24422         Fix a bug introduced in 2019-07-24T21:28:13!eggert@cs.ucla.edu.
24423         * src/fileio.c (file_name_absolute_p):
24424         ~/foo is also absolute (Bug#36809).
24425         * test/src/fileio-tests.el (fileio-tests--file-name-absolute-p):
24426         Rename from fileio-tests--no-such-user and add more tests.
24428 2019-07-26  Paul Eggert  <eggert@cs.ucla.edu>
24430         Fix ‘make check’ failure
24432         Problem introduced in 2019-07-26T07:08:40!larsi@gnus.org.
24433         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
24434         Don’t count "0 unexpected" as unexpected.
24436 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24438         Tweak the display in gnus-summary-browse-url
24440         * lisp/gnus/gnus-sum.el (gnus-summary-browse-url): Don't force
24441         article conf, because the command may be called from the article
24442         buffer (which may be the only buffer displayed).
24444 2019-07-26  Noam Postavsky  <npostavs@gmail.com>
24446         * lisp/mail/footnote.el (footnote--local-advice): Add missing comma.
24448 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24450         Separate out the "/" prefix into a named keymap in ibuffer
24452         * lisp/ibuffer.el (ibuffer--filter-map): Separate out into its own
24453         keymap (bug#25797).
24454         (ibuffer-mode-map): Bind the "/" key to it.
24456 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24458         Add version tag to smtpmail-servers-requiring-authorization
24460         * lisp/mail/smtpmail.el
24461         (smtpmail-servers-requiring-authorization): Add version tag.
24463 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24465         Remove interactive spec from eshell-source-file
24467         * lisp/eshell/em-script.el (eshell-source-file): This function
24468         can't work as an interactive command, so remove the interactive
24469         spec (bug#26057).
24471 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24473         Clarify when gpg2 and gpg are used in the epg-gpg-program doc string
24475         * lisp/epg-config.el (epg-gpg-program): Doc string clarification
24476         (bug#26090).
24478 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24480         Make ffap find {/etc} files again
24482         * lisp/ffap.el (ffap-string-at-point-mode-alist): Make
24483         (ffap-file-at-point) work on {/etc} again (bug#26190).
24485 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24487         Fix obsoletion notice in dired-pop-to-buffer
24489         * lisp/dired.el (dired-pop-to-buffer): `dired-mark-pop-up' doesn't
24490         seem to have anything to do with this function, so saying that
24491         it's a replacement seems misleading (bug#26243).
24493 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24495         Minor rewording of a couple of sentences in define-derived-mode doc
24497         * lisp/emacs-lisp/derived.el (define-derived-mode): Reword
24498         documentation to be less whimsical (bug#26301).
24500 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24502         Doc clarification in time-stamp-pattern
24504         * lisp/time-stamp.el (time-stamp-pattern): Try to document what
24505         the examples mean (bug#26335).
24507 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24509         Add a NEWS item about smtpmail-servers-requiring-authorization
24511 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24513         Allow specifying that SMTP auth should always be used
24515         * doc/misc/smtpmail.texi (Authentication): Document it.
24517         * lisp/mail/smtpmail.el
24518         (smtpmail-servers-requiring-authorization): New variable (bug#26359).
24519         (smtpmail-via-smtp): Use it.
24521 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24523         Clarify last-command-event doc string
24525         * src/keyboard.c (syms_of_keyboard): Clarify the doc string
24526         (bug#26626).
24528 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24530         Add an autoload cookie to package-upload-file
24532         * lisp/emacs-lisp/package-x.el (package-upload-file): Add an
24533         autoload cookie (bug#26724).
24535 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24537         Tweak prompt when symlinking in dired
24539         * lisp/dired-aux.el (dired-do-create-files): Fix prompt when
24540         sym/hardlinking (bug#26870).
24542 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24544         Don't infloop in url.el when sending invalid basic auth
24546         * lisp/url/url-http.el (url-http-handle-authentication): Bail out
24547         if the wrong credentials were passed to the server instead of
24548         inflooping (bug#27022).
24550 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24552         Further tweak dired-compress error message
24554         * lisp/dired-aux.el (dired-compress): The function is called on
24555         both compression and uncompression, so be more ambiguous in the
24556         error message.
24558 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24560         Tweak the error message on dired compression failures
24562         * lisp/dired-aux.el (dired-compress): Fix error message.
24564 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24566         Remove debugging left in previous patch
24568         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
24569         Provide completion for `ignore-error'.
24571 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24573         Add new macro `ignore-error'
24575         * doc/lispref/control.texi (Handling Errors): Document
24576         `ignore-error'.
24577         * lisp/subr.el (ignore-error): New macro.
24579         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
24580         Provide completion for `ignore-error'.
24582 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
24584         Always include the number of unexpected results here too
24586         * lisp/emacs-lisp/ert.el (ert-run-tests-batch): Always include the
24587         number of unexpected results here as well.
24589 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
24591         Don't run gpg when loading package.el
24593         * lisp/emacs-lisp/package.el (package-check-signature): Don't run
24594         gpg on startup, but just default to `allow-unsigned'.
24595         (package-check-signature): New function to check whether a OpenPGP
24596         configuration is found when `allow-unsigned'.
24597         (package--check-signature-content, package--check-signature)
24598         (package--download-one-archive, package-refresh-contents)
24599         (package-install-from-archive): Use function instead of variable
24600         throughout.
24601         * doc/emacs/package.texi (Package Installation): Document this.
24603 2019-07-25  Paul Eggert  <eggert@cs.ucla.edu>
24605         Minor pdumper tweaks
24607         * src/pdumper.c (dump_hash_table_stable_p):
24608         Bool vectors and bignums are also stable keys.
24609         (decode_emacs_reloc, drain_reloc_list, Fdump_emacs_portable):
24610         (dump_bitset_clear): Simplify use of memset.
24612 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
24614         Tweak the behaviour of thing-at-point--end-of-sexp
24616         * lisp/thingatpt.el (thing-at-point--end-of-sexp): Don't return
24617         nil when called with point between two parentheses (bug#29499).
24619 2019-07-25  Paul Eggert  <eggert@cs.ucla.edu>
24621         Don't crash when parsing bad SVG data
24623         Derived from a patch by Pip Cet (Bug#36773#47).
24624         * src/image.c (svg_load_image): Work around librsvg 2.40.13 bug.
24626 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
24628         Fix mouse-1 in profiler-report-mode-map
24630         * lisp/profiler.el (profiler-report-mode-map): Make `mouse-1'
24631         respect `mouse-1-click-follows-link' (bug#30515).
24633 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
24635         Make cl-destructuring-bind errors a bit more understandable
24637         * lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Make errors
24638         when giving the wrong number of arguments to the bindings form
24639         more informational (bug#29345).
24641 2019-07-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
24643         Don't set marks on imap groups when there are no marks to set
24645         * lisp/gnus/nnimap.el (nnimap-update-qresync-info): This code runs in
24646         a fairly tight loop and shouldn't call all these functions if not
24647         necessary.
24649 2019-07-25  Alan Mackenzie  <acm@muc.de>
24651         * lisp/progmodes/cc-awk.el (c-awk-var-num-ket-re): Remove /x80-/xff from it.
24653 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
24655         Tweak the sizing of the shr placeholder images on HiDPI screens
24657         * lisp/net/shr.el (shr-make-placeholder-image): We have already
24658         computed the size of the placeholder including the scale, so force
24659         the automatic scale to 1.  This will make the placeholder the
24660         correct size on HiDPI screen.
24662 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
24664         Make `C-u w' in the Gnus Summary buffer open externally
24666         * doc/misc/gnus.texi (Article Commands): Document new behaviour.
24668         * lisp/gnus/gnus-sum.el (gnus-shorten-url): New function.
24669         (gnus-summary-browse-url): Change function to make `C-u' use the
24670         external browser (as Gnus does when you hit URLs manually).  Don't
24671         use an initial input.
24673 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
24675         Tweak previous footnote-mode patch
24677         * lisp/mail/footnote.el (footnote--local-advice): Ensure that the
24678         variable really is local.
24680 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
24682         Fix setting fill-paragraph-function in footnote-mode
24684         * lisp/mail/footnote.el (footnote--local-advice): New macro
24685         refactored out from the code used to advice
24686         footnote--adaptive-fill-function in footnote-mode.
24687         (footnote-mode): Use it to advice both that variable and
24688         fill-paragraph-function (the latter to avoid overwriting the major
24689         mode's value) (bug#27775)
24690         (footnote--fill-paragraph): Adjust calling convention now that
24691         it's an :around advice.
24693 2019-07-25  Eli Zaretskii  <eliz@gnu.org>
24695         Fix HarfBuzz support on MS-Windows
24697         * src/w32uniscribe.c [HAVE_HARFBUZZ]: Include hb-ot.h.
24698         (fn_hb_ot_font_set_funcs, hb_ot_font_set_funcs): Define.
24699         (w32hb_get_font): Call hb_ot_font_set_funcs after creating the
24700         hb_font_t object, to make the code work with versions of
24701         HarfBuzz before 2.0.0.  Problem reported by Stephen Leake
24702         <stephen_leake@stephe-leake.org>.  Solution suggested by
24703         Khaled Hosny <dr.khaled.hosny@gmail.com> in
24704         https://lists.freedesktop.org/archives/harfbuzz/2019-July/007412.html.
24706 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
24708         Fix many-compilations case of compilation-goto-in-progress-buffer
24710         * lisp/progmodes/compile.el (compilation-goto-in-progress-buffer):
24711         Fix thinko in initial version of the function in the
24712         many-compilations case.
24714 2019-07-25  Eli Zaretskii  <eliz@gnu.org>
24716         Fix recent commit in xref.el
24718         * lisp/progmodes/xref.el (xref-file-name-display): Doc fix.
24720         * etc/NEWS: Fix the corresponding entry.
24722 2019-07-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
24724         Leave note about removing gnus-start-news-server
24726         * lisp/gnus/gnus-int.el (gnus-nntp-server): Once this option is gone,
24727         that whole function can go.
24729 2019-07-25  Nobuyoshi Nakada  <nobu@ruby-lang.org>
24731         Strip trailing whitespaces at the end of converted do block
24733         * lisp/progmodes/ruby-mode.el (ruby-brace-to-do-end):
24734         Strip trailing whitespaces at the end of converted do block
24735         (bug#36756).
24737         https://bugs.ruby-lang.org/issues/16014
24738         https://github.com/syl20bnr/spacemacs/issues/12548
24740 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
24742         Clarify in the manual when to use function-key-map
24744         * doc/misc/efaq.texi (No Escape key):
24745         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard): Change back to
24746         function-key-map from local-function-key-map, because these
24747         bindings apply to all terminals.
24749         * doc/lispref/keymaps.texi (Translation Keymaps): Clarify in what
24750         circumstances you may still want to use function-key-map.
24752 2019-07-24  Juri Linkov  <juri@linkov.net>
24754         * lisp/vc/vc.el (vc-log-search): Fix docstring (bug#36644).
24756         * lisp/vc/vc-git.el (vc-git-log-search): Add docstring.
24758 2019-07-24  Paul Eggert  <eggert@cs.ucla.edu>
24760         Do not treat ~nosuchuser as an absolute file name
24762         Derived from Ken Brown’s patch (Bug#36502#97).
24763         * doc/lispref/files.texi (Relative File Names):
24764         * etc/NEWS: Document this.
24765         * src/fileio.c (user_homedir): New function.
24766         (Fexpand_file_name, file_name_absolute_p): Use it.
24767         (search_embedded_absfilename): Simplify via file_name_absolute_p.
24768         * test/src/fileio-tests.el (fileio-tests--no-such-user): New test.
24770 2019-07-24  Sam Steingold  <sds@gnu.org>
24772         Add `gnus-collect-urls-primary-text'
24774         * lisp/gnus/gnus-sum.el (gnus-collect-urls-primary-text): Add defcustom.
24775         (gnus-collect-urls): Use it.
24776         (gnus-summary-browse-url): Mention it in the docstring.
24778 2019-07-24  Paul Eggert  <eggert@cs.ucla.edu>
24780         Port double-slash test to z/OS
24782         * admin/merge-gnulib (GNULIB_MODULES): Add double-slash-root.
24783         Emacs was already using this Gnulib module indirectly, so this
24784         is merely noting that there is now a direct dependency.
24785         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
24786         * src/fileio.c (search_embedded_absfilename):
24787         Use DOUBLE_SLASH_IS_DISTINCT_ROOT instead of (WINDOWSNT || CYGWIN).
24788         Simplify.
24790 2019-07-24  Paul Eggert  <eggert@cs.ucla.edu>
24792         Update from Gnulib
24794         This incorporates:
24795         2019-07-16 update-copyright: Make it work again
24796         * build-aux/config.guess, build-aux/update-copyright:
24797         Copy from Gnulib.
24799 2019-07-24  Sam Steingold  <sds@gnu.org>
24801         Avoid potential extensive verbosity in gnus-summary-browse-url
24803         * lisp/wid-edit.el (widget-move): Accept suppress-echo argument.
24804         * lisp/gnus/gnus-sum.el (gnus-collect-urls): Use it.
24806 2019-07-24  Lars Ingebrigtsen  <larsi@gnus.org>
24808         Use input-decode-map in the manuals
24810         * doc/misc/edt.texi (Changes):
24811         * doc/emacs/custom.texi (Terminal Init): Use input-decode-map
24812         instead of local-function-key-map, according to Stefan Monnier.
24814 2019-07-24  Mattias Engdegård  <mattiase@acm.org>
24816         Use destructuring in filenotify backend handlers
24818         * lisp/filenotify.el (file-notify--callback-inotify)
24819         (file-notify--callback-kqueue, file-notify--callback-w32notify)
24820         (file-notify--callback-gfilenotify, file-notify--callback): Use cl-defun.
24822 2019-07-24  Mattias Engdegård  <mattiase@acm.org>
24824         Use defstruct instead of list for filenotify pending-rename
24826         * lisp/filenotify.el (file-notify--rename): New defstruct.
24827         (file-notify--pending-rename): Changed type.
24828         (file-notify--handle-event): Adapt to new type.
24830 2019-07-24  Mattias Engdegård  <mattiase@acm.org>
24832         Refactor the callback half of filenotify.el
24834         Split callback code into backend-specific and general parts.  Refactor
24835         pending event, which is always a rename, to include relevant
24836         information only.  General clean-up.
24838         * lisp/filenotify.el (file-notify--pending-event): Rename.
24839         (file-notify--event-watched-file, file-notify--event-file-name)
24840         (file-notify--event-file1-name, file-notify--event-cookie): Remove.
24841         (file-notify--rename, file-notify--expand-file-name)
24842         (file-notify--callback-inotify, file-notify--callback-kqueue)
24843         (file-notify--callback-w32notify, file-notify--callback-gfilenotify)
24844         (file-notify--call-handler, file-notify--handle-event): New.
24845         (file-notify-callback): Split general parts into
24846         file-notify--call-handler and file-notify--handle-event.
24847         (file-notify--add-watch-inotify, file-notify--add-watch-kqueue)
24848         (file-notify--add-watch-w32notify)
24849         (file-notify--add-watch-gfilenotify): Use new callbacks.
24851 2019-07-24  Mattias Engdegård  <mattiase@acm.org>
24853         Don't use internal filenotify function in test
24855         * test/lisp/filenotify-tests.el
24856         (file-notify--test-file, file-notify--test-add-watch): New.
24857         (file-notify--test-event-test, file-notify--test-event-handler)
24858         (file-notify-test02-rm-watch, file-notify-test03-events)
24859         (file-notify-test05-file-validity, file-notify-test07-many-events)
24860         (file-notify-test08-backup, file-notify-test09-watched-file-in-watched-dir):
24861         Avoid using the internal `file-notify--event-watched-file' so that it
24862         can be removed from filenotify.el.
24863         Instead, pass the file name to the callback as an extra argument;
24864         use `file-notify--test-add-watch' instead of `file-notify-add-watch'.
24866 2019-07-24  Mattias Engdegård  <mattiase@acm.org>
24868         Local definitions of accessors only used in test
24870         * test/lisp/filenotify-tests.el (file-notify--test-event-file)
24871         (file-notify--test-event-file1, file-notify--test-event-test)
24872         (file-notify--test-event-handler):
24873         Define accessors locally, so that they can be removed from filenotify.el.
24875 2019-07-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
24877         soap-client: Do not double-encode duplicate types
24879         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Eliminate
24880         duplicates from type hierarchy before encoding values.
24882 2019-07-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
24884         soap-client: Encode simple type attributes
24886         * lisp/net/soap-client.el (soap-encode-xs-simple-type-attributes):
24887         Encode simple type attributes.
24889 2019-07-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
24891         soap-client: Allow attributes and a value
24893         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Allow
24894         attributes and a value to be specified in the same element.
24896 2019-07-24  Andreas Schwab  <schwab@suse.de>
24898         * lisp/gnus/gnus-cus.el (gnus-extra-group-parameters): Allow nil
24899         for modseq.
24901 2019-07-23  Juri Linkov  <juri@linkov.net>
24903         Customizable char-fold with char-fold-symmetric, char-fold-include (bug#35689)
24905         * doc/emacs/search.texi (Lax Search): Document
24906         char-fold-symmetric, char-fold-include, char-fold-exclude.
24908         * lisp/char-fold.el (char-fold--default-include)
24909         (char-fold--default-exclude, char-fold--default-symmetric)
24910         (char-fold--previous): New defconsts.
24911         (char-fold-include, char-fold-exclude, char-fold-symmetric):
24912         New defcustoms.
24913         (char-fold-make-table): Use them.
24914         (char-fold-update-table): New function called at top-level.
24916         * test/lisp/char-fold-tests.el (char-fold--test-no-match-exactly)
24917         (char-fold--permutation): New functions.
24918         (char-fold--test-without-customization)
24919         (char-fold--test-with-customization): New tests.
24921 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
24923         Merge pdumper.c and alloc.c builtin symbol tests
24925         * src/alloc.c (c_symbol_p): Move from here ...
24926         * src/lisp.h (c_symbol_p): ... to here, and make it more portable
24927         to hypothetical platforms where pointers are wider than ptrdiff_t.
24928         * src/pdumper.c (dump_builtin_symbol_p): Use c_symbol_p.
24930 2019-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
24932         Make "Compiling" in the mode line a clickable command
24934         * lisp/progmodes/compile.el (compilation-goto-in-progress-buffer):
24935         New command.
24936         (compilation-in-progress): Don't put the in-progress mode-line
24937         marker among the minor modes (because it's not a minor mode), and
24938         add a command that allows you to switch to the in-progress
24939         compilation buffer (bug#27252).
24941 2019-07-23  Robert Pluim  <rpluim@gmail.com>
24943         Follow decomposition chains when constructing char-fold-table
24945         * lisp/char-fold.el (char-fold-make-table): Decompose the
24946         decomposition of each character, adding equivalences to the original
24947         character, until no more decompositions are left.
24949 2019-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
24951         Refer to local-function-key-map in various manuals
24953         * doc/misc/viper.texi (Key Bindings):
24954         * doc/misc/efaq.texi (X key translations for Emacs)
24955         (No Escape key):
24956         * doc/misc/edt.texi (Changes):
24957         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
24958         * doc/emacs/custom.texi (Terminal Init): Refer to
24959         local-function-key-map instead of function-key-map, since the
24960         latter isn't supposed to be changed (bug#27490).
24962 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
24964         Improve pdumper doc; say unexec is deprecated
24966         Say that pdumping cannot redump unless -batch is used.  Say that
24967         the traditional unexec dumping method is by default not available,
24968         and is deprecated.  Don't call dump files "portable", as dump files
24969         are not any more portable than the Emacs executables themselves.
24970         Just call them "dump files".  Similar, prefer "portable dumper"
24971         (since the dumper code is portable) to "portable dumping" (since
24972         the dump file is not).  Be more systematic about calling them
24973         "dump files" instead of "dumped images" or whatnot.
24975 2019-07-23  Stefan Monnier  <monnier@iro.umontreal.ca>
24977         * src/fns.c (hashfn_user_defined): Make sure we always return a fixnum.
24979 2019-07-23  Alan Mackenzie  <acm@muc.de>
24981         Fix problems in CC Mode with " being entered into a comment at EOB.
24983         * lisp/progmodes/cc-engine.el (c-full-lit-near-cache): Amend the definition
24984         such that an element's END element will be nil if the pertinent literal is
24985         open at EOB.
24986         (c-full-pp-to-literal): Before setting the aforementioned END element, check
24987         that we're no longer in a literal.  (c-literal-limits): When
24988         c-full-pp-to-literal returns a list with a nil END element, replace this by
24989         (point-max) to keep the interface of c-literal-limits unchanged.
24991         * lisp/progmodes/cc-mode.el (c-after-change-mark-abnormal-strings): Having
24992         found a string quote, check it is not inside an unterminated comment (i.e. one
24993         at EOB).
24995 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
24997         Support "%x" etc. formats on more floats
24999         * doc/lispref/strings.texi (Formatting Strings): Document this.
25000         * src/editfns.c (styled_format): Support %o, %x, and %X on
25001         finite floats less than zero or greater than UINTMAX_MAX.
25002         * test/src/editfns-tests.el (format-%x-large-float)
25003         (read-large-integer, format-%o-negative-float):
25004         Adjust tests to match extended behavior.
25005         Rename the latter test from format-%o-invalid-float,
25006         since the float is no longer invalid.
25008         * test/src/editfns-tests.el (format-%x-large-float)
25009         (read-large-integer): Test this.
25011 2019-07-22  Paul Eggert  <eggert@cs.ucla.edu>
25013         Tweak performance of cmpfn_profiler
25015         * src/profiler.c (cmpfn_profiler):
25016         Improve performance when VECTORP (bt1) && EQ (bt1, bt2).
25018 2019-07-22  Paul Eggert  <eggert@cs.ucla.edu>
25020         Avoid overexposing fixnums for hash codes
25022         Following a suggestion by Stefan Monnier in:
25023         https://lists.gnu.org/r/emacs-devel/2019-07/msg00530.html
25024         * doc/lispref/hash.texi (Creating Hash, Defining Hash):
25025         * src/fns.c (Fsxhash_eq, Fsxhash_eql, Fsxhash_equal, Fmake_hash_table):
25026         Don’t insist that hash codes be fixnums, reverting
25027         the recent doc changes to the contrary.
25028         * src/bytecode.c (exec_byte_code): Special-case only the eq case,
25029         as the others aren’t worth tuning now that we treat bignum hashes
25030         like fixnums.
25031         * src/fns.c (hashfn_user_defined): If the hash code is a bignum,
25032         reduce its hash down to a fixnum.
25034 2019-07-22  Stefan Kangas  <stefankangas@gmail.com>
25036         Document normal usage in ibuffer.el
25038         * lisp/ibuffer.el (Commentary): Document normal usage.  (Bug#5608)
25039         Remove redundant :group args.
25041 2019-07-22  Paul Eggert  <eggert@cs.ucla.edu>
25043         Do not pdump user-defined hashtabs
25045         * src/pdumper.c (dump_hash_table_stable_p):
25046         Signal an error if a hash table has user-defined tests (Bug#36769).
25047         * src/fns.c (hashfn_user_defined): Now extern.
25049 2019-07-22  Paul Eggert  <eggert@cs.ucla.edu>
25051         Keep track of consing while GC’s inhibited
25053         * src/alloc.c (allow_garbage_collection): Do not discard the count
25054         of consing that occurred while GC was inhibited.
25055         Problem and initial fix reported by Pip Cet in:
25056         https://lists.gnu.org/r/emacs-devel/2019-07/msg00523.html
25058 2019-07-22  Pip Cet  <pipcet@gmail.com>
25060         Avoid byte compiler warning for subr.el
25062         * lisp/subr.el (number-sequence): Simplify to avoid byte compiler warning.
25064 2019-07-22  Paul Eggert  <eggert@cs.ucla.edu>
25066         Remove no-longer-needed integer overflow code
25068         * lisp/calculator.el (calculator-number-to-string):
25069         Use truncate, not calculator-truncate, since integer
25070         overflow cannot occur here.
25071         * lisp/calendar/cal-persia.el (calendar-persian-year-from-absolute):
25072         * lisp/gnus/gnus-agent.el (gnus-agent-read-article-number):
25073         * lisp/gnus/nnmaildir.el (nnmaildir--group-maxnum)
25074         (nnmaildir--new-number):
25075         * lisp/scroll-bar.el (scroll-bar-scale):
25076         * lisp/simple.el (beginning-of-buffer, end-of-buffer):
25077         Simplify, now that integer overflow cannot occur.
25079 2019-07-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
25081         Adjust regexp for parsing IMAP header response
25083         * lisp/gnus/nnimap.el (nnimap-transform-headers): The first header
25084         might have no value, or a continuation header might start with a
25085         newline.
25087 2019-07-22  Stefan Monnier  <monnier@iro.umontreal.ca>
25089         * lisp/progmodes/opascal.el: Tweak code to ease edebugging
25091         (opascal-strings): Inline in its sole use.
25092         (opascal-save-excursion): Add Edebug spec.
25093         (opascal-is): Remove.  Use `memq` directly instead.
25094         (opascal--in): New pcase pattern.
25095         (opascal-literal-end-pattern): Remove unused function.
25096         (opascal--scan-non-whitespace-backward): New macro.
25097         (opascal-block-start, opascal-else-start, opascal-is-use-clause-end)
25098         (opascal-previous-indent-of, opascal-section-indent-of)
25099         (opascal-enclosing-indent-of): Use it.
25100         (opascal-corrected-indentation): Presume we're already at first token.
25101         (opascal-indent-line): Use indent-line-to.
25102         (opascal-new-comment-line): Declare obsolete.
25103         (opascal-mode-map): Keep the default M-j binding instead.
25105 2019-07-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
25107         Fix case of IMAP Noselect flag
25109         * lisp/gnus/nnimap.el (nnimap-get-groups): We should be looking for
25110         %Noselect, not %NoSelect.
25112 2019-07-22  Mattias Engdegård  <mattiase@acm.org>
25114         Remove some obsolete integer overflow handling
25116         * lisp/subr.el (number-sequence):
25117         * lisp/org/org-gnus.el (org-gnus-follow-link):
25118         * lisp/ls-lisp.el (ls-lisp-insert-directory):
25119         Remove dead code guarding against integer overflow.
25121 2019-07-22  Stefan Monnier  <monnier@iro.umontreal.ca>
25123         * lisp/progmodes/opascal.el: Allow inline `var` decl in `for` (bug#36348)
25125         (opascal-enclosing-indent-of): Ignore decls "neutered" by delimiter.
25127 2019-07-22  Mattias Engdegård  <mattiase@acm.org>
25129         Make tramp test regexp more robust
25131         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
25132         Match a greater variety of human-readable size values.
25134 2019-07-22  Michael Albinus  <michael.albinus@gmx.de>
25136         Support history files in remote shells (Bug#36742)
25138         * doc/emacs/misc.texi (Shell Ring): Mention history file for
25139         remote shells.
25141         * lisp/shell.el (shell--start-prog): New buffer-local variable.
25142         (shell): Set it.
25143         (shell-mode): Handle history file for remote shells. (Bug#36742)
25145 2019-07-22  Martin Rudalics  <rudalics@gmx.at>
25147         Handle persistence of windows' scroll bar and fringes settings (Bug#36193)
25149         * doc/lispref/display.texi (Fringe Size/Pos): Document new
25150         argument PERSISTENT of 'set-window-fringes'.
25151         (Scroll Bars): Document new argument PERSISTENT of
25152         'set-window-scroll-bars'.  Mention that HORIZONTAL-TYPE must
25153         be 'bottom' to show a horizontal scroll bar on mini windows.
25154         * lisp/window.el (window-min-pixel-height): For mini windows the
25155         minimum height is one line.
25156         (window--min-size-1): Use value returned by
25157         'window-min-pixel-height' when dealing with mini windows.
25158         (window--resize-mini-window): Try to handle horizontal scroll
25159         bars and size restrictions more accurately.
25160         (window--state-put-2): Handle persistence of scroll bar
25161         settings.
25162         * src/frame.c (make_frame): Allow horizontal scroll bars in
25163         mini windows.
25164         (adjust_frame_size): Drop PIXELWISE argument in
25165         'resize_frame_windows' calls.
25166         * src/window.c (set_window_buffer): Don't override WINDOW's
25167         scroll bar and fringe settings when marked as persistent.
25168         (resize_frame_windows): Drop fourth argument PIXELWISE - SIZE
25169         is always specified in terms of pixels.  Try to handle height
25170         of mini windows more accurately.
25171         (grow_mini_window, shrink_mini_window): Use body height of
25172         mini window when calculating expected height change.  Take
25173         horizontal scroll bars into account.
25174         (struct saved_window): Two new members to handle persistence
25175         of window fringes and scroll bars.
25176         (Fset_window_configuration, save_window_save): Handle
25177         persistence of fringes and scroll bars.
25178         (set_window_fringes, set_window_scroll_bars): New arguments
25179         PERSISTENT.  Make dimension checks more accurate.
25180         (Fset_window_fringes): New argument PERSISTENT.
25181         (Fwindow_fringes, Fwindow_scroll_bars): Add PERSISTENT to
25182         return values.
25183         (Fset_window_scroll_bars): New argument PERSISTENT.  In
25184         doc-string mention that 'bottom' must be specified to get a
25185         horizontal scroll bar in mini windows.
25186         (compare_window_configurations): Add checks for persistence of
25187         fringes and scroll bars.
25188         * src/window.h (struct window): New boolean slots
25189         'fringes_persistent' and 'scroll_bars_persistent'.
25190         (WINDOW_HAS_HORIZONTAL_SCROLL_BAR): Allow horizontal scroll bars
25191         for mini windows.
25192         (resize_frame_windows): Remove fourth argument of
25193         'resize_frame_windows' in external declaration.
25194         * src/xdisp.c (resize_mini_window): Use box text height to
25195         tell whether mini window height changed.
25196         (set_horizontal_scroll_bar): Set mini window's horizontal
25197         scroll bar when its type is specified as 'bottom'.
25198         * etc/NEWS: Mention new options for 'set-window-fringes' and
25199         'set-window-scroll-bars'.
25201 2019-07-21  Alan Mackenzie  <acm@muc.de>
25203         Implement C++ Mode attributes.  This fixes bug #36650.
25205         * lisp/progmodes/cc-engine.el (c-looking-at-c++-attribute)
25206         (c-enclosing-c++-attribute, c-slow-enclosing-c++-attribute): New macro and
25207         functions.
25208         (c-crosses-statement-barrier-p): Add [ into skip-chars for C++ Mode, and use
25209         it to detect and skip over an attribute whilst scanning forward.
25210         (c-sws-lit-type): Use the new value 'attribute.
25211         (c-invalidate-sws-region-before): Put a save-match-data around this function.
25212         Detect and handle an enclosing attribute at either END or BEG.
25213         (c-invalidate-sws-region-after): Handle C++ attributes.
25214         (c-forward-sws, c-backward-sws): Handle C++ attributes.
25216         * lisp/progmodes/cc-mode.el (c-fl-decl-end): Detect and handle point being
25217         inside a C++ attribute.
25219 2019-07-21  Paul Eggert  <eggert@cs.ucla.edu>
25221         Fix lifetime error in previous patch
25223         Problem reported by Pip Cet in:
25224         https://lists.gnu.org/r/emacs-devel/2019-07/msg00520.html
25225         * src/alloc.c (inhibit_garbage_collection): Use new function.
25226         (allow_garbage_collection): Accept intmax_t, not pointer.
25227         * src/eval.c (default_toplevel_binding, do_one_unbind)
25228         (backtrace_eval_unrewind, Fbacktrace__locals, mark_specpdl):
25229         Support SPECPDL_UNWIND_INTMAX.
25230         (record_unwind_protect_excursion): New function.
25231         * src/lisp.h (enum specbind_tag): New constant SPECPDL_UNWIND_INTMAX.
25232         (union specbinding): New member unwind_intmax.
25234 2019-07-21  Paul Eggert  <eggert@cs.ucla.edu>
25236         Speed up maybe_gc when GC is inhibited
25238         * src/alloc.c (allow_garbage_collection)
25239         (inhibit_garbage_collection): Temporarily bump
25240         consing_until_gc, to improve performance of maybe_gc while
25241         garbage collection is inhibited.  Suggested by Stefan Monnier in:
25242         https://lists.gnu.org/r/emacs-devel/2019-07/msg00511.html
25244 2019-07-21  Paul Eggert  <eggert@cs.ucla.edu>
25246         Avoid integer overflow in hash table size
25248         * src/fns.c (INDEX_SIZE_BOUND): Use a tighter bound.
25249         (maybe_resize_hash_table): Avoid integer overflow when
25250         checking for hash table size overflow.  Fix confusion
25251         between INDEX_SIZE_BOUND (which is for the index vector)
25252         and hash table size.  Fix typo in debugging message
25253         when ENABLE_CHECKING.
25255 2019-07-21  Paul Eggert  <eggert@cs.ucla.edu>
25257         Improve doc for hash tables
25259         * doc/lispref/hash.texi (Creating Hash, Defining Hash):
25260         * src/fns.c (Fsxhash_eq, Fsxhash_eql, Fsxhash_equal):
25261         Say that hashes are fixnums.
25262         (Fmake_hash_table): Say that that an integer rehash-size
25263         should be a fixnum.
25264         * doc/lispref/hash.texi (Defining Hash): Say that hash and
25265         comparison functions should be consistent and pure, and should
25266         return quickly.
25268 2019-07-21  Paul Eggert  <eggert@cs.ucla.edu>
25270         pure_alloc returns cleared memory
25272         * src/alloc.c (pure_alloc): Clear any heap-allocated storage.
25273         This is simpler than auditing all the callers to make sure
25274         they don’t assume pure memory is cleared memory, and the
25275         performance implication is nonexistent except when Emacs
25276         is misconfigured.  Also, add an assertion to catch
25277         caller misuse when pure space is exhausted.
25279 2019-07-21  Lars Ingebrigtsen  <larsi@gnus.org>
25281         Make the unflag-p parameter in dired-mark-unmarked-files work
25283         * lisp/dired-x.el (dired-mark-unmarked-files): Make the unflag-p
25284         parameter work (bug#27465).
25286 2019-07-21  Lars Ingebrigtsen  <larsi@gnus.org>
25288         Don't override SSH_AUTH_SOCK in the example emacs.service file
25290         * etc/emacs.service (ExecStop): Don't override SSH_AUTH_SOCK by
25291         default, because it varies by distribution where the socket is
25292         (bug#27620).
25294 2019-07-21  Lars Ingebrigtsen  <larsi@gnus.org>
25296         Fill footnotes better on `M-q'
25298         * lisp/mail/footnote.el (footnote--fill-paragraph): New function
25299         (bug#27775).
25300         (footnote-mode): Use it.
25302 2019-07-21  Ken Brown  <kbrown@cornell.edu>
25304         Fix expand-file-name for names starting with '~'
25306         * src/fileio.c: (file_name_absolute_no_tilde_p):
25307         New static function.
25308         (Fexpand_file_name): If the current buffer's default-directory
25309         starts with "~user" where "user" is not a valid user name, don't
25310         give the '~' a special meaning.  Just treat the value of
25311         default-directory as a relative name.  (Bug#36502)
25312         * test/src/fileio-tests.el
25313         (fileio-tests--relative-default-directory): Add a test.
25315 2019-07-21  Gemini Lasswell  <gazally@runbox.com>
25317         Fix inline-quote Edebug spec
25319         * lisp/emacs-lisp/inline.el (inline-quote): Fix the edebug spec
25320         (bug#31051).
25322 2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>
25324         Tweak recent hash-table fix
25326         * src/fns.c (maybe_resize_hash_table): Completely initialize the
25327         new ‘next’ vector before allocating more vectors, as this
25328         preserves locality a bit better and it’s safer not to leave an
25329         uninitialized Lisp object around.  Use next_size instead of
25330         new_size to compute new index size.
25332 2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>
25334         Fix crash if user test munges hash table
25336         * src/fns.c (restore_mutability)
25337         (hash_table_user_defined_call): New functions.
25338         (cmpfn_user_defined, hashfn_user_defined): Use them.
25339         (make_hash_table, copy_hash_table):
25340         Mark new hash table as mutable.
25341         (check_mutable_hash_table): New function.
25342         (Fclrhash, Fputhash, Fremhash): Use it instead of CHECK_IMPURE.
25343         * src/lisp.h (struct hash_table_test): User-defined functions
25344         now take pointers to struct Lisp_Hash_Table, not to struct
25345         hash_table_test.  All uses changed.
25346         (struct Lisp_Hash_Table): New member ‘mutable’.
25347         * src/pdumper.c (dump_hash_table): Copy it.
25348         * test/src/fns-tests.el (test-hash-function-that-mutates-hash-table):
25349         New test, which tests for the bug.
25351 2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>
25353         Simplify hashfn/cmpfn calling convention
25355         * src/fns.c (cmpfn_eql, cmpfn_equal, cmpfn_user_defined)
25356         (hashfn_eq, hashfn_equal, hashfn_eql, hashfn_user_defined):
25357         * src/profiler.c (cmpfn_profiler, hashfn_profiler):
25358         Use new calling convention where the return value is a fixnum
25359         instead of EMACS_UINT.  While we’re at it, put the hash table
25360         at the end, since that’s a bit simpler and generates better
25361         code (at least on the x86-64).  All callers changed.
25362         * src/fns.c (hash_lookup): Store fixnum rather than EMACS_UINT.
25363         All callers changed.
25364         (hash_put): Take a fixnum rather than an EMACS_UINT.
25365         All callers changed.  Remove unnecessary eassert (XUFIXNUM does it).
25366         * src/lisp.h (struct hash_table_test):
25367         Adjust signatures of cmpfn and hashfn.
25369 2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>
25371         Inhibit GC after inhibit_garbage_collection
25373         Without this patch, there are unlikely ways that garbage
25374         collection could occur (sometimes causing undefined behavior)
25375         even when inhibit_garbage_collection is in effect.
25376         * src/alloc.c (garbage_collection_inhibited): New var.
25377         (pure_alloc): Increment it if pure space is exhausted, so that
25378         garbage_collect_1 no longer needs to inspect
25379         pure_bytes_used_before_overflow.
25380         (allow_garbage_collection): New function.
25381         (inhibit_garbage_collection): Increment the new variable rather
25382         than specbinding a user variable.
25383         (garbage_collect_1): Do not garbage collect if the new variable
25384         is set, rather than if pure_bytes_used_before_overflow is set.
25386 2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>
25388         Simplify maybe_gc implementation
25390         * src/alloc.c (consing_until_gc): New variable, replacing the
25391         combination of consing_since_gc and gc_relative_threshold.
25392         All uses changed.
25393         (byte_ct): Move decl here from lisp.h.
25394         (memory_full_cons_threshold): New an enum constant.
25395         (free_cons): Check for integer overflow in
25396         statistics calculation.
25397         * src/lisp.h (object_ct): Move decl here from alloc.c.
25398         (OBJECT_CT_MAX): New macro.
25399         (maybe_gc): Simplify accordingly.
25401 2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>
25403         Rename ‘pure’ to ‘purecopy’
25405         * src/lisp.h (struct Lisp_Hash_Table): Rename ‘pure’ member to
25406         ‘purecopy’, as the old name was quite confusing (it did not
25407         mean the hash table was pure).  All uses changed.
25409 2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>
25411         Fix hash table overallocation etc.
25413         * src/fns.c (set_hash_key_and_value, set_hash_next)
25414         (set_hash_hash, set_hash_index): Remove.  All uses removed.
25415         (maybe_resize_hash_table): Don’t update h->next until it’s
25416         known that all the allocations succeeded, to avoid trashing
25417         the hash table if memory is exhausted.  Don’t overallocate the
25418         other vectors.  Don’t output growth message if the hash table
25419         didn’t actually grow due to allocation failure.  Assume C99
25420         decls after statements.
25422 2019-07-20  Noam Postavsky  <npostavs@gmail.com>
25424         Merge from emacs-26
25426         150bdfe43a Handle completely undecoded input in term (Bug#29918)
25427         021f32cca1 * doc/misc/forms.texi (Control File Format): Fix a doc error.
25428         76538d09b7 Fix typo in package-alist docstring
25429         b2fde4b5e8 * doc/lispref/text.texi (Mode-Specific Indent): Fix a typo...
25430         7e62778548 ; Another minor change in 'bidi-display-reordering's doc s...
25431         4455ddbe56 Improve doc string of 'bidi-display-reordering'
25432         34ee26dd93 Add warning to bidi-display-reordering doc string
25434         # Conflicts:
25435         #       lisp/term.el
25436         #       test/lisp/term-tests.el
25438 2019-07-20  Basil L. Contovounesios  <contovob@tcd.ie>
25440         Use lexical-binding in compface.el
25442         * lisp/image/compface.el: Use lexical-binding.  Extend Keywords
25443         header.
25444         (uncompface): Call call-process-region directly.
25446 2019-07-20  Oleh Krehel  <ohwoeowho@gmail.com>
25448         * lisp/files.el (file-size-function): Add :version tag
25450 2019-07-20  Stefan Monnier  <monnier@iro.umontreal.ca>
25452         * test/manual/indent/octave.m (spmd): Add test for last change
25454         * lisp/progmodes/octave.el (matchedrules): Add `spmd...end` (bug#36703)
25456 2019-07-20  Basil L. Contovounesios  <contovob@tcd.ie>
25458         Fix last change to format-spec
25460         * doc/lispref/text.texi (Interpolated Strings): Use @result and fix
25461         typos.
25462         * lisp/format-spec.el: Avoid loading subr-x at runtime.
25463         (format-spec--parse-modifiers): Optimize slightly.
25465 2019-07-20  Basil L. Contovounesios  <contovob@tcd.ie>
25467         Allow counter-clockwise rotations in image-rotate
25469         * lisp/image.el (image-rotate): Extend with an optional argument
25470         specifying the rotation in degrees (bug#35421).
25471         * doc/lispref/display.texi (Showing Images):
25472         * etc/NEWS: Document the change.
25473         * test/lisp/image-tests.el (image-rotate): New test.
25475 2019-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
25477         Mark the gnus-article-date-headers NEWS entry as documented
25479 2019-07-20  Adam Sjøgren  <asjo@koldfront.dk>
25481         Enable showing local time and lapsed time in Gnus
25483         * lisp/gnus/gnus-art.el (article-make-date-combine-with-lapsed) factor
25484         code out into new function, used for providing both combined-lapsed
25485         and combined-local-lapsed.
25487 2019-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
25489         Clean up code in nnimap-parse-flags slightly
25491         * lisp/gnus/nnimap.el (nnimap-parse-flags): Clean up code
25492         slightly, removing redundant checks for `end'.
25494 2019-07-20  Eli Zaretskii  <eliz@gnu.org>
25496         Fix last change
25498         * etc/NEWS: Call out the change in matching REGEXP.
25500         * lisp/files.el (magic-mode-alist)
25501         (magic-fallback-mode-alist): Doc fix.  (Bug#36401)
25503 2019-07-20  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>
25505         Make REs in magic-(fallback-)mode-alist case-sensitive.
25507         These variables are used for well-defined file formats where relaxed
25508         case matching is not wanted usually.
25510         * lisp/files.el (magic-mode-alist, magic-fallback-mode-alist): Update
25511         the doc string.
25512         (set-auto-mode): Make looking-at for elements of magic-mode-alist and
25513         magic-fallback-mode-alist use case-fold-search == nil.
25514         * lisp/files.el (files-test-magic-mode-alist-re-baseline)
25515         (files-test-magic-mode-alist-re-no-match)
25516         (files-test-magic-mode-alist-re-case-diff): Add.
25518 2019-07-20  Stefan Kangas  <stefankangas@gmail.com>
25520         Make finder-exit use quit-window (Bug#33610)
25522         * lisp/finder.el (finder-exit): Quit window instead of
25523         deleting.  This restores previous contents of the window,
25524         if any, that was usurped by "C-h p" to show the list of
25525         packages.
25527 2019-07-20  Mauro Aranda  <maurooaranda@gmail.com>
25529         Remove duplicated code in octave-eldoc-function
25531         * lisp/progmodes/octave.el (octave-eldoc-function): The
25532         test of position of the opening parenthesis in
25533         inferior-octave-process was duplicated.  Remove one of
25534         the tests.  (Bug#36557)
25536 2019-07-19  Oleh Krehel  <ohwoeowho@gmail.com>
25538         * lisp/files.el (file-size-function): New defcustom
25540 2019-07-19  Mattias Engdegård  <mattiase@acm.org>
25542         Neater free disk space formatting
25544         * lisp/files.el (get-free-disk-space): Update doc string.
25545         Use `iec' style and proper spacing.
25547 2019-07-19  Martin Rudalics  <rudalics@gmx.at>
25549         Have 'display-buffer-reuse-window' prefer window on selected frame (Bug#36680)
25551         * lisp/window.el (display-buffer-reuse-window): Preferably reuse
25552         window on selected frame (Bug#36680).
25553         * doc/lispref/windows.texi (Buffer Display Action Functions): Say
25554         that 'display-buffer-reuse-window' prefers window on the selected
25555         frame.
25557 2019-07-18  Noam Postavsky  <npostavs@gmail.com>
25559         Don't load elec-pair in elisp-mode (Bug#36539)
25561         * lisp/progmodes/elisp-mode.el (emacs-lisp-set-electric-text-pairs):
25562         New function.
25563         (emacs-lisp-mode): Add it to electric-pair-mode-hook, if elec-pair
25564         hasn't been loaded yet.
25566 2019-07-18  Stefan Kangas  <stefankangas@gmail.com>
25568         Use lexical-binding in help-fns-tests.el (Bug#36585)
25570         * test/lisp/help-fns-tests.el: Use lexical-binding.  Doc fix.
25572 2019-07-18  Stefan Kangas  <stefankangas@gmail.com>
25574         Declare mwheel-install obsolete (Bug#36553)
25576         * lisp/mwheel.el: Update `Commentary' section.
25577         (mwheel-install): Declare obsolete in favor of mouse-wheel-mode.
25578         * etc/NEWS: Announce it.
25580 2019-07-18  Juri Linkov  <juri@linkov.net>
25582         * lisp/vc/vc-git.el (vc-git-log-search): Remove shell-quote-argument.
25584         (Bug#36644)
25586 2019-07-18  Simen Heggestøyl  <simenheg@gmail.com>
25588         Use lexical-binding in asm-mode.el and add tests
25590         * lisp/progmodes/asm-mode.el: Use lexical-binding.
25591         (asm-comment-char): Remove redundant :group arg.
25592         (asm-mode): Use `setq-local'.
25593         (asm-calculate-indentation): Remove moot `or'.
25595         * test/lisp/progmodes/asm-mode-tests.el: New file with tests for
25596         asm-mode.el.
25598 2019-07-18  Michael Albinus  <michael.albinus@gmx.de>
25600         Determine `file-notify' handler in Tramp from `special-event-map'.
25602         * lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter)
25603         (tramp-sh-gvfs-monitor-dir-process-filter)
25604         (tramp-sh-inotifywait-process-filter): Determine `file-notify'
25605         handler from `special-event-map'.
25607 2019-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
25609         * lisp/server.el (server-ensure-safe-dir): Revert part of b663c8372495
25611         A non-cosmetic change that was mistakenly included.
25613 2019-07-18  Glenn Morris  <rgm@gnu.org>
25615         Update a tramp test for get-free-disk-space change
25617         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
25618         Handle optional unit suffix in free space.
25620 2019-07-18  Oleh Krehel  <ohwoeowho@gmail.com>
25622         * lisp/files.el (get-free-disk-space): Use file-size-human-readable
25624         Since there is no longer an option to do:
25626             (setq directory-free-space-args "-Pmh")
25628 2019-07-18  Eli Zaretskii  <eliz@gnu.org>
25630         * lisp/abbrev.el (abbrev-prefix-mark): Fix a typo.  (Bug#36715)
25632 2019-07-17  Eric Abrahamsen  <eric@ericabrahamsen.net>
25634         Fix indexing of Gnus entry in gnus-group-unsubscribe-group
25636         * lisp/gnus/gnus-group.el (gnus-group-unsubscribe-group): Hopefully
25637           that's the last of these.
25639 2019-07-17  Stephen Leake  <stephen_leake@stephe-leake.org>
25641         Add xref-file-name-display
25643         * lisp/progmodes/xref.el (xref-file-name-display): New user variable.
25644         (xref-location-group): Use it.
25646         * etc/NEWS: Mention it.
25648 2019-07-17  Nick Drozd  <nicholasdrozd@gmail.com>
25650         * test/lisp/progmodes/cc-mode-tests.el: Add a test with /***/ in #define lines
25652 2019-07-17  Alan Mackenzie  <acm@muc.de>
25654         * lisp/progmodes/cc-fonts.el (gtkdoc-font-lock-keywords): Fix faulty regexp
25656 2019-07-16  Glenn Morris  <rgm@gnu.org>
25658         An electric test is now passing
25660         * test/lisp/electric-tests.el
25661         (electric-pair-whitespace-chomping-2-at-point-4-in-c++-mode-in-strings):
25662         Seems to pass since today's cc-mode changes.
25664 2019-07-16  Glenn Morris  <rgm@gnu.org>
25666         * lisp/wid-edit.el: Previous change needs subr-x.
25668 2019-07-16  Sam Steingold  <sds@gnu.org>
25670         Treat the "Link" link in gnus-summary-browse-urls specially
25672         * lisp/gnus/gnus-sum.el (gnus-collect-urls): Make sure that
25673         the URL labeled "Link" is the first in the return list.
25674         (gnus-summary-browse-url): Use the 1st URL as the default.
25675         * lisp/wid-edit.el (widget-text): New function.
25677 2019-07-16  Alan Mackenzie  <acm@muc.de>
25679         CC Mode: allow bogusly "adjacent" double quote marks to pair up syntactically
25681         For this introduce the text property c-fl-syn-tab to "mirror" syntax-table.
25683         * lisp/progmodes/cc-defs.el (c-is-escaped, c-will-be-escaped, c-put-syn-tab)
25684         (c-clear-syn-tab, c-clear-syn-tab-properties, c-with-extended-string-fences):
25685         new macros.
25686         (c-point): Use c-is-escaped
25687         (c-search-forward-char-property, c-search-backward-char-property)
25688         (c-search-forward-char-property-with-value-on-char)
25689         (c-search-forward-char-property-without-value-on-char): Fix regexp error
25690         involving \n.
25692         * lisp/progmodes/cc-engine.el (c-semi-pp-to-literal): User
25693         c-with-extended-string-fences around a parse-partial-sexp.
25694         (c-full-get-near-cache-entry): Fix an off-by-one error.
25695         (c-full-pp-to-literal): Avoid writing duplicate entries into a cache.
25696         (c-after-change-unmark-raw-strings): Use c-clear-syn-tab-properties.
25698         * lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Clear the c-fl-syn-tab
25699         properties, too.
25700         (c-basic-common-init): Mark c-fl-syn-tab as a non-sticky text property.
25701         (c-depropertize-new-text): Also handle c-fl-syn-tab.
25702         (c-multiline-string-check-final-quote, c-parse-quotes-after-change): Use
25703         c-is-escaped.
25704         (c-fl-syn-tab-region): New variable.
25705         (c-clear-string-fences, c-restore-string-fences, c-remove-string-fences): New
25706         functions.
25707         (c-before-change-check-unbalanced-strings)
25708         (c-after-change-mark-abnormal-strings, c-after-change-escape-NL-in-string):
25709         Use the new functions and macros.
25710         (c-before-change, c-after-change, c-font-lock-fontify-region): Restore the
25711         syntax-table text properties from c-fl-syn-tab text properties for these
25712         functions.
25713         (c-electric-pair-inhibit-predicate): Test the c-fl-syn-tab property rather
25714         than syntax-table.
25716 2019-07-16  Basil L. Contovounesios  <contovob@tcd.ie>
25718         Fix failing secrets-test03-items
25720         * test/lisp/net/secrets-tests.el: Use lexical-binding.
25721         (secrets-test03-items): Do not assume :xdg:schema attribute is
25722         silently added to the front of the collection (bug#36694).
25723         (secrets-test04-search, secrets-test-all): Quote function symbols as
25724         such.
25726 2019-07-16  Mattias Engdegård  <mattiase@acm.org>
25728         Fix calc number formatting with digit grouping (bug#36689)
25730         The functions math-format-hex and math-format-octal were not
25731         implemented, yet called, leading to a crash when using hex or octal
25732         radix with digit grouping.
25734         * test/lisp/calc/calc-tests.el (calc-test-format-radix): New test.
25735         * lisp/calc/calc-ext.el: Don't declare non-existing functions.
25736         (math--format-integer-fancy): Don't call non-existing functions.
25737         * lisp/calc/calc-bin.el (math-format-binary, math-binary-digits):
25738         Simplify, fixing 0-padding bug.
25740 2019-07-16  Lars Ingebrigtsen  <larsi@gnus.org>
25742         Revert "Add support for paths to svg.el"
25744         This reverts commit d6bc55ae2dc98c83e58a28e380ce4bcf2ed00bb3.
25746         Paperwork not ready for Felix Klee; will reapply once that's in place.
25748 2019-07-16  Lars Ingebrigtsen  <larsi@gnus.org>
25750         Revert "* doc/lispref/display.texi (SVG Images): Add menu for subsection."
25752         This reverts commit e5cd597c7736b587f80c16fde1c53f904d921310.
25754         Paperwork nod ready for the SVG Path patch.
25756 2019-07-16  Mattias Engdegård  <mattiase@acm.org>
25758         Set revert-buffer-function in ert-results-mode
25760         * lisp/emacs-lisp/ert.el (ert-results-mode): Set revert-buffer-function
25761         to re-run the same test selection.  It is a good fit and permits use of
25762         the standard "g" key binding.
25764 2019-07-16  Stephen Berman  <stephen.berman@gmx.net>
25766         Prevent infinite loop on entering wdired-mode
25768         * lisp/wdired.el (wdired-preprocess-symlinks): Remove unneeded use
25769         of beginning-of-line, which also triggers an infinite loop in a
25770         find-dired buffer that doesn't end with a newline (see discussion
25771         in bug#35609).
25773 2019-07-15  Juri Linkov  <juri@linkov.net>
25775         * lisp/vc/vc.el (vc-log-search): New command (bug#36644).
25777         * lisp/vc/vc-git.el (vc-git-log-search): New function.
25778         (vc-git-log-view-mode): Check vc-log-view-type for log-search.
25780 2019-07-15  Juri Linkov  <juri@linkov.net>
25782         * lisp/vc/vc-dir.el (vc-dir-search): Remove lambda.
25784         (Bug#31578) Thanks to Dmitry Gutov <dgutov@yandex.ru>
25786 2019-07-15  Juri Linkov  <juri@linkov.net>
25788         * lisp/frame.el (make-frame-on-display): Use x-display-list in completion.
25790         (Bug#29713)
25792 2019-07-15  Juri Linkov  <juri@linkov.net>
25794         * lisp/progmodes/sh-script.el (sh-assignment): Put delete-selection on symbol
25796 2019-07-15  Glenn Morris  <rgm@gnu.org>
25798         * doc/lispref/display.texi (SVG Images): Add menu for subsection.
25800 2019-07-15  Stefan Monnier  <monnier@iro.umontreal.ca>
25802         * lisp/gnus/nntp.el: Use lexical-binding
25804         (nntp-server-action-alist): Expose the code to the compiler.
25805         (nntp-with-open-group-function): No need to obfuscate identifiers any more.
25806         (nntp-authinfo-rejected): Use `define-error`.
25808 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
25810         Fix INITIAL-INPUT cons handling in ido-read-internal
25812         * lisp/ido.el (ido-read-internal): Is INITIAL-INPUT is a cons that
25813         specifies cursor position, adjust the number to be palatable for
25814         `read-for-minibuffer' (bug#27807).
25816 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
25818         Fix saving certificates in the NSM on high security levels
25820         * lisp/net/nsm.el (nsm-check-certificate): `nsm-fingerprint-ok-p'
25821         will save the fingerprint in the correct temporary/permanent
25822         storage, so saving it once more (in the permanent storage) if the
25823         security level is high or greater is a mistake (bug#27823).
25825 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
25827         Tweak mouse-face highlighting of Occur buffers
25829         * lisp/replace.el (occur-engine): Ensure that the mouse highlight
25830         is done over the entire line (bug#27846).
25832 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
25834         open-dribble-file doc string clarification
25836         * src/keyboard.c (Fopen_dribble_file): Clarify when the file is
25837         closed, and when events are written to the file (bug#27996).
25839 2019-07-15  Eric Abrahamsen  <eric@ericabrahamsen.net>
25841         Possibly skip IMAP server FETCH responses
25843         See bug#35433
25845         * lisp/gnus/nnimap.el (nnimap-transform-headers): Skip FETCH responses
25846           that only provide message flags, not message headers.
25848 2019-07-15  Felix E. Klee  <felix.klee@inka.de>
25850         Add support for paths to svg.el
25852         * doc/lispref/display.texi (SVG Images): Document svg-path,
25853         svg-clip-path and svg-node (bug#32359).
25855         * doc/lispref/display.texi (SVG Path Commands): New node.
25857         * lisp/svg.el (svg--plist-delete, svg--path-command-symbol)
25858         (svg--elliptical-arc-coordinates, svg--elliptical-arc-command)
25859         (svg--moveto-command, svg--closepath-command)
25860         (svg--lineto-command, svg--horizontal-lineto-command)
25861         (svg--vertical-lineto-command, svg--curveto-command)
25862         (svg--smooth-curveto-command)
25863         (svg--quadratic-bezier-curveto-command)
25864         (svg--smooth-quadratic-bezier-curveto-command)
25865         (svg--eval-path-command, svg-path, svg-clip-path, svg-node): New
25866         functions.
25868 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
25870         Revert "Add edebug specs for inline.el"
25872         This reverts commit ed29d9fe5286ab6ecfb2bfa5a015b9945a84512b.
25874         The edebug specs were already in the declare form, and in addition, it didn't fix the problem.
25876 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
25878         Mention changing the font size in the Emacs manual
25880         * doc/emacs/frames.texi (Fonts): Mention changing the font scale
25881         (bug#28196).
25883 2019-07-15  Samuel Bronson  <naesten@gmail.com>
25885         Mark semantic functions correctly in defcustom
25887         * lisp/cedet/semantic/format.el (semantic-format-tag-custom-list):
25888         Mark functions correctly in defcustom (bug#28267).
25890 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
25892         Clarify doc of isearch-wrap-function
25894         * lisp/isearch.el (isearch-wrap-function): Doc clarification
25895         (bug#28388).
25897 2019-07-15  Robert Pluim  <rpluim@gmail.com>
25899         Don't delete GnuTLS boot parameters too early
25901         * src/process.c (connect_network_socket): Don't delete the GnuTLS
25902         boot parameters until after we've managed to connect at the IP
25903         level (bug#36660).
25905 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
25907         Fix *Messages* grouping in C-Mouse-1 buffer menu
25909         * lisp/mouse.el (mouse-buffer-menu-mode-groups): Don't group the
25910         *Messages* buffer with Mail/News (bug#32007).
25912 2019-07-15  Michael Albinus  <michael.albinus@gmx.de>
25914         * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
25916         Don't cancel if debug buffers aren't appended.
25918 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
25920         Make directory-files-recursively take a PREDICATE parameter
25922         * lisp/files.el (directory-files-recursively): Take an optional
25923         PREDICATE parameter (bug#28567).
25925         * doc/lispref/files.texi (Contents of Directories): Document it.
25927 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
25929         Tweak gv-define-setter debug setting
25931         * lisp/emacs-lisp/gv.el (gv-define-setter): Change edebug spec
25932         from body to def-body (bug#28729).
25934 2019-07-15  Michael Albinus  <michael.albinus@gmx.de>
25936         Fix edge cases in Tramp's copy
25938         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
25939         Special handling for "rsync".
25940         (tramp-find-inline-compress): Make check more robust on MS Windows.
25942 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
25944         package-archive-priorities doc addition
25946         * lisp/emacs-lisp/package.el (package-archive-priorities):
25947         Document that negative priorities will lead to packages not being
25948         updated (bug#28897).
25950 2019-07-14  Glenn Morris  <rgm@gnu.org>
25952         Stop wdired tests leaving behind symlink /tmp/emacs1000
25954         * test/lisp/wdired-tests.el (server-socket-dir): Make effective.
25956 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
25958         Mark octave-block-offset as a safe local variable
25960         * lisp/progmodes/octave.el (octave-block-offset): Mark as safe as
25961         a local variable (bug#28916).
25963 2019-07-14  Glenn Morris  <rgm@gnu.org>
25965         Update a ffap test
25967         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
25968         Update for incompatible ffap-other-window change.
25970 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
25972         Make elint understand condition-case-unless-debug
25974         * lisp/emacs-lisp/elint.el (elint-special-forms): Teach elint
25975         about `condition-case-unless-debug' (bug#29585).
25977 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
25979         Fix prompting in functions like ffap-read-only
25981         * lisp/ffap.el (ffap-prompter, ffap-other-window)
25982         (ffap-other-frame, ffap-read-only)
25983         (ffap-read-only-other-window, ffap-read-only-other-frame)
25984         (ffap-alternate-file, ffap-alternate-file-other-window)
25985         (ffap-literally): Rework to be able to specify different prompts
25986         for different actions (bug#30284) and don't use
25987         `call-interactively' all over the place.
25989 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
25991         Make describe-face also output the version information
25993         * lisp/help-fns.el (describe-variable-custom-version-info): Allow
25994         taking a type as an optional input, so this can be used for faces,
25995         too (bug#30527).
25997         * lisp/faces.el (describe-face): Use this to output the version
25998         information.
26000 2019-07-14  Alan Third  <alan@idiocy.org>
26002         Use correct colorspace for XBM images
26004         * src/nsimage.m ([EmacsImage setXBMColor:]): Use 'generic RGB' color
26005         space.
26007 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
26009         Revert "Make describe-face also output the version information"
26011         This reverts commit a7aae1473c1aed7758b550a23cda61ee17668e23.
26013         The patch broke the build.
26015 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
26017         Tweak bug ID prompting in gnus-group--read-bug-ids
26019         * lisp/gnus/gnus-group.el (gnus-group--read-bug-ids): Default to
26020         current bug id on RET.
26022 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
26024         Make describe-face also output the version information
26026         * lisp/help-fns.el (describe-variable-custom-version-info): Allow
26027         taking a type as an optional input, so this can be used for faces,
26028         too (bug#30527).
26030         * lisp/faces.el (describe-face): Use this to output the version
26031         information.
26033 2019-07-14  Noam Postavsky  <npostavs@gmail.com>
26035         Use ngettext in vc-dir-clean-files
26037         * lisp/vc/vc-dir.el (vc-dir-clean-files): Use ngettext to separate
26038         pluralization from format string.
26040 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
26042         Tweak background colour handling in shr
26044         * lisp/net/shr.el (shr-fill-line): Keep the background colour on
26045         the newline and the indentation.
26047 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
26049         Rename vc-dir-delete-files-no-vc to vc-dir-clean-files
26051         * doc/emacs/maintaining.texi (VC Directory Commands): Adjust
26052         command name.
26054         * lisp/vc/vc-dir.el (vc-dir-clean-files): Rename from
26055         vc-dir-delete-files-no-vc, and work on unregistered files only
26056         (bug#31732).
26057         (vc-dir-menu-map): Adjust command name.
26059 2019-07-14  Eric Ludlam  <zappo@gnu.org>
26061         Allow bad tags in Scheme
26063         * admin/grammars/scheme.by (scheme-in-list): Allow bad tags in
26064         Scheme (bug#36521).
26066 2019-07-13  Nick Drozd  <nicholasdrozd@gmail.com>
26068         * etc/NEWS: Announce new Georgian inputs.  (Bug#36639)
26070         * etc/HELLO: Fix name of Georgian language
26072         * lisp/leim/quail/georgian.el: Add georgian-nuskhuri input method
26074         * lisp/leim/quail/georgian.el: Add missing characters to georgian input
26076         * lisp/leim/quail/georgian.el: Add georgian-qwerty input method
26078 2019-07-13  Stefan Kangas  <stefankangas@gmail.com>
26080         Restore focus to Bookmark List after editing annotation
26082         There are two entry points to bookmark-edit-annotation-mode: the first
26083         when we add a bookmark and bookmark-use-annotations is non-nil; the
26084         second when bookmark-bmenu-edit-annotation is run from the bookmark
26085         list.  When editing is concluded, in the first case, we should just
26086         quit window.  In the second case, we should instead return to the
26087         bookmark list.
26089         * lisp/bookmark.el (text-property-search): Require.
26090         (bookmark-annotation-name): Make buffer-local and improve doc string.
26091         (bookmark--annotation-from-bookmark-list): New buffer-local variable.
26092         (bookmark-edit-annotation): New argument from-bookmark-list sets
26093         bookmark--annotation-from-bookmark-list.
26094         (bookmark-bmenu-edit-annotation): Call bookmark-edit-annotation with
26095         argument from-bookmark-list set to t.
26096         (bookmark-send-edited-annotation): When editing originated in the
26097         bookmark list, restore focus to bookmark list and move point back to
26098         edited bookmark. (Bug#20150)
26100         (bookmark-edit-annotation-mode): Fix typo.
26101         (bookmark-bmenu-buffer): New variable.
26102         (bookmark-bmenu-surreptitiously-rebuild-list)
26103         (bookmark-bmenu-list): Use it.
26105         * test/lisp/bookmark-tests.el (with-bookmark-bmenu-test): New macro.
26106         (bookmark-tests-set/bookmark-use-annotations-t)
26107         (bookmark-bmenu-edit-annotation/show-annotation)
26108         (bookmark-bmenu-send-edited-annotation)
26109         (bookmark-bmenu-send-edited-annotation/restore-focus): New test cases.
26111 2019-07-13  Marco Wahl  <marcowahlsoft@gmail.com>
26113         New function for scroll-lock-mode to almost always scroll
26115         * lisp/scroll-lock.el (scroll-lock-next-line-always-scroll): New
26116         function.  Opposed to scroll-lock-next-line it does not switch to
26117         forward-line at eob.  S-down is the default key binding for this
26118         function.  (Bug#36494)
26119         * test/lisp/scroll-lock-tests.el: A few tests for
26120         scroll-lock-next-line-always-scroll.
26121         * etc/NEWS: Announce the new command.
26123 2019-07-13  Eli Zaretskii  <eliz@gnu.org>
26125         Fix recent changes
26127         * src/sysstdio.h: Include stdarg.h, for va_list.
26129 2019-07-13  Pip Cet  <pipcet@gmail.com>
26131         Avoid returning negative numbers from `hash-table-count'
26133         * src/fns.c (Fhash_table_count): Rehash argument if necessary.
26135 2019-07-13  Paul Eggert  <eggert@cs.ucla.edu>
26137         * src/lisp.h (struct Lisp_Hash_Table.count): Improve comment.
26139 2019-07-13  Noam Postavsky  <npostavs@gmail.com>
26141         Remove incorrect commentary about #$ in autoloads
26143         * lisp/emacs-lisp/autoload.el (autoload-rubric):
26144         `package-quickstart-refresh' does in fact support load-file-name as
26145         well.
26147 2019-07-13  Noam Postavsky  <npostavs@gmail.com>
26149         Use syntax-ppss-toplevel-pos for defvar search (Bug#34233)
26151         * lisp/progmodes/elisp-mode.el (eval-sexp-add-defvars): Use
26152         syntax-ppss-toplevel-pos instead of a raw check of syntax components.
26154 2019-07-13  Paul Eggert  <eggert@cs.ucla.edu>
26156         Avoid interleaving stderr lines when shutting down
26158         * src/emacs.c (shut_down_emacs) [!DOS_NT]: Avoid interleaving
26159         to stderr in the usual case, by using a single write and by
26160         appending a newline.
26161         * src/sysdep.c (emacs_backtrace) [HAVE_BACKTRACE_SYMBOLS_FD]:
26162         Omit newline since shut_down_emacs now does that.
26164 2019-07-13  Paul Eggert  <eggert@cs.ucla.edu>
26166         Use a better buffer size in emacs_perror
26168         * src/sysdep.c (emacs_perror): Since the buffer is for avoiding
26169         interleaving, size it via PIPE_BUF not BUFSIZ.
26170         * src/sysstdio.h (PIPE_BUF): Provide a default.
26172 2019-07-13  Paul Eggert  <eggert@cs.ucla.edu>
26174         Avoid interleaving stderr in dump_fingerprint
26176         * src/fns.c (hexbuf_digest): New function, containing most of
26177         the old make_digest_string.
26178         (make_digest_string): Use it.
26179         * src/pdumper.c (dump_fingerprint): Rewrite to use a single
26180         fprintf call, to avoid interleaving on GNU/Linux.
26182 2019-07-13  Paul Eggert  <eggert@cs.ucla.edu>
26184         Avoid interleaving stderr in a few cases
26186         * src/sysdep.c (buferr): New static var.
26187         (init_standard_fds) [_PC_PIPE_BUF]: Initialize it.
26188         (errstream, errputc, verrprintf, errwrite): New functions.
26189         (close_output_streams): Check buferr status too.
26190         * src/xdisp.c: Include sysstdio.h instead of stdio.h.
26191         (message_to_stderr, vmessage): Use the new functions
26192         to avoid interleaving stderr.
26194 2019-07-13  Andreas Schwab  <schwab@linux-m68k.org>
26196         Revert "Fix typo in sh-assignment-regexp"
26198         This reverts commit 194f370a3da72d560975adc2835254ce251881a7.
26200 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
26202         Add edebug specs for inline.el
26204         * lisp/emacs-lisp/inline.el (inline-quote)
26205         (inline-letevals): Add edebug specs (bug#31051).
26207 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
26209         Tweak output of doc in advice--make-docstring
26211         * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Make the
26212         bit about the function/macro having an advice into a complete
26213         sentence (bug#31063) and make it less dramatic.
26215 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
26217         Add a :format to `text' widgets
26219         * lisp/wid-edit.el (text): Add a :format so that the 'text fields
26220         work (bug#31309).  Suggested by Phil Sainty.
26222 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
26224         Doc fix for Finteractive (only %s is allowed)
26226         * src/callint.c (Finteractive): Any other format spec than %s will
26227         bug out with "Format specifier doesn’t match argument type", so
26228         say explicitly that only %s is supported (bug#31314).
26230 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
26232         Don't have savehist-save bug out on non-existing directory
26234         * lisp/savehist.el (savehist-save): Ensure that the directory
26235         exists before saving (bug#31348).
26237 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
26239         Fix display-fill-column-indicator custom spec typo
26241         * lisp/cus-start.el (standard): Fix typo in
26242         display-fill-column-indicator custom spec.
26244         Debugger entered--Lisp error: (wrong-type-argument stringp integer)
26245           string-match("\\([0-9]+\\)\\(\\.\\([0-9]+\\)\\)?" integer)
26246           customize-version-lessp("25.3" integer)
26247          [...]
26248           customize-changed-options("")
26250 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
26252         Make check-declare understand cl-defun
26254         * lisp/emacs-lisp/check-declare.el (check-declare-verify): Add
26255         cl-defun to the defun-ish regexp (bug#31396).
26257 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
26259         plist-get/lax-plist-get doc fix
26261         * src/fns.c (Fplist_get): Mention that comparison is done with eq
26262         (bug#31441).
26263         (Flax_plist_get): Refer to plist-get for details.
26265 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
26267         citeasnoun in reftex can take an optional parameter
26269         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin):
26270         citeasnoun can take an optional parameter (bug#31476).  Suggested
26271         by Konrad Podczeck.
26273 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
26275         Fix typo in sh-assignment-regexp
26277         * lisp/progmodes/sh-script.el (sh-assignment-regexp): Fix typo in
26278         bash regexp that inhibited fontification of stuff like foo.=bar
26279         (bug#31710).
26281 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
26283         Mark ediff-before-session-group-setup-hooks as obsolete
26285         * lisp/vc/ediff-mult.el (ediff-before-session-group-setup-hooks):
26286         Mark this apparently unused variable as obsolete (bug#36618).
26288 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
26290         Add a way to more conveniently log/debug nnmail splitting
26292         * doc/misc/gnus.texi (Fancy Mail Splitting): Mention it.
26294         * lisp/gnus/nnmail.el (nnmail-debug-splitting): New variable.
26296         * lisp/gnus/nnmail.el (nnmail-log-split): New function.
26297         (nnmail-split-it): Use it.
26299 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
26301         Fix cl-defstruct doc string fix
26303         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Remove sentence from
26304         doc string that was left in by mistake when fixing the arglist
26305         documentation.
26307 2019-07-13  Phil Sainty  <psainty@orcon.net.nz>
26309         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix a docstring typo
26311 2019-07-13  Phil Sainty  <psainty@orcon.net.nz>
26313         * lisp/so-long.el (so-long-variable-overrides): Improve doc
26315         Explain the 'line-move-visual' and 'truncate-lines' values.
26317 2019-07-13  Phil Sainty  <psainty@orcon.net.nz>
26319         * lisp/so-long.el (so-long-variable-overrides): Use correct bidi option
26321         Set 'bidi-paragraph-direction' to 'left-to-right', rather than setting
26322         'bidi-display-reordering' to nil, as the latter is only intended for
26323         use when debugging the display code.
26325 2019-07-13  Michael Albinus  <michael.albinus@gmx.de>
26327         Make check for compression programs more robust in Tramp
26329         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size):
26330         Revert change of init value.  We fix this differently.
26331         (tramp-find-inline-compress): Check also the output of the
26332         processes, not only the return code.
26334 2019-07-13  Michael Albinus  <michael.albinus@gmx.de>
26336         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Adapt docstring.
26338 2019-07-13  Eli Zaretskii  <eliz@gnu.org>
26340         Fix TTY menus in GUD and GDB-MI modes
26342         * lisp/menu-bar.el (menu-bar-open): Accept a numerical
26343         argument interactively, and drop down menu at that X
26344         coordinate.
26345         (popup-menu): Detect when MENU is not a list.  (Bug#36613)
26347 2019-07-13  Eli Zaretskii  <eliz@gnu.org>
26349         Avoid loading mule-util at startup
26351         * lisp/international/mule-util.el (char-displayable-p): Move
26352         from here...
26353         * lisp/international/mule.el (char-displayable-p): ...to
26354         here.  This avoids always loading mule-util at startup due
26355         to a call to 'char-displayable-p' in
26356         'startup--setup-quote-display'.
26358 2019-07-13  Eli Zaretskii  <eliz@gnu.org>
26360         Improve documentation of So Long mode
26362         * doc/emacs/trouble.texi (Long Lines): Improve wording, add
26363         indexing, mention the mode name and its main customization
26364         options.
26366 2019-07-13  Stefan Kangas  <stefankangas@gmail.com>
26368         Fix looking up functions like "-e" in cperl-mode
26370         * lisp/progmodes/cperl-mode.el (cperl-perldoc): Handle functions with
26371         leading dash (e.g. "-f"). (Bug#6013)
26373 2019-07-13  Eli Zaretskii  <eliz@gnu.org>
26375         Fix last commit
26377         * etc/NEWS: Fix formatting and punctuation of last change.
26379         * lisp/isearch.el (isearch-highlight-regexp)
26380         (isearch-highlight-lines-matching-regexp): Doc fix.
26382 2019-07-13  Dima Kogan  <dima@secretsauce.net>
26384         Add ability to highlight-lines-matching-regexp directly from Isearch
26386         * lisp/isearch.el: Implement the new functionality.
26387         (isearch-highlight-lines-matching-regexp): New function bound
26388         to 'M-s h l' in isearch.
26389         (isearch--highlight-regexp-or-lines): New internal function.
26391         * etc/NEWS (Search and Replace): Mention this change.
26393         * doc/emacs/search.texi (Special Isearch): Document 'M-s h l'.
26394         (Bug#18241)
26396 2019-07-12  Phil Sainty  <psainty@orcon.net.nz>
26398         Merge branch 'scratch/so-long'
26400         Add tests for so-long.el
26402 2019-07-12  Phil Sainty  <psainty@orcon.net.nz>
26404         Add so-long library
26406         * lisp/so-long.el: New library.
26407         * doc/emacs/trouble.texi (Long Lines): New node covering so-long.el.
26408         * doc/emacs/emacs.texi (Top): Add menu entry for the Long Lines node.
26409         * etc/NEWS: Include under "New Modes and Packages in Emacs 27.1"
26411 2019-07-12  Paul Eggert  <eggert@cs.ucla.edu>
26413         Replace Vdead with tagged pointer
26415         This speeds up ‘make compile-always’ by 0.1% on my platform.
26416         Suggested by Pip Cet in:
26417         https://lists.gnu.org/r/emacs-devel/2019-07/msg00257.html
26418         * src/.gdbinit (pwinx, pgx, xbuffer, xprintstr):
26419         Output dead_object () as "DEAD".
26420         * src/alloc.c (Vdead, DEADP): Remove.
26421         All uses replaced by dead_object () / deadp.
26422         (deadp): New function.
26423         (init_alloc_once_for_pdumper): Remove no-longer-needed
26424         initialization.
26425         * src/lisp.h (dead_object): New function.
26427 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26429         Mention columns width variables in the buffer-menu doc string
26431         * lisp/buff-menu.el (buffer-menu): Mention the variables that can
26432         be used to change the columns widths (bug#36587).
26434 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26436         Mention `M-n' for VALUE in the `set-variable' command
26438         * lisp/simple.el (set-variable): Mention that the current variable
26439         is accessible in `M-n' (bug#36586).
26441 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26443         Mark the new vc-dir-delete command as documented
26445 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26447         Add a new command in vc-dir mode to delete files
26449         * doc/emacs/maintaining.texi (VC Directory Commands): Document it.
26451         * lisp/vc/vc-dir.el (vc-dir-delete-files-no-vc): New command and
26452         keystroke (bug#31732).
26454 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26456         Add more spook.lines
26458         * etc/spook.lines: Add Black Cube (bug#32309)
26459         (https://en.wikipedia.org/wiki/Black_Cube).
26461 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26463         Document fix for cl-defstruct
26465         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Document that we can
26466         have a doc string (bug#32340).
26468 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26470         Allow using wdired in all dired-derived modes
26472         * lisp/wdired.el (wdired-change-to-wdired-mode): Allow using in
26473         dired derived modes (bug#32392).  Suggested by James Nguyen.
26475 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26477         Add some indices for regexp character classes
26479         * doc/lispref/searching.texi (Char Classes): Add some concept
26480         index entries for a handful of character classes (bug#32430).
26482 2019-07-12  Tino Calancha  <tino.calancha@gmail.com>
26484         End predicate `dired-in-this-tree' with '-p'
26486         * lisp/dired.el(dired-in-this-tree-p): Rename from `dired-in-this-tree'.
26487         Add docstring.
26489         (dired-in-this-tree): Define an alias to `dired-in-this-tree-p'.
26491         (dired-buffers-for-dir)
26492         * lisp/dired-aux.el (dired-tree-down, dired-kill-tree)
26493         (dired-insert-subdir, dired-rename-subdir): Update all callers (bug#32892).
26495 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26497         Document format-spec and expand the modifiers it supports
26499         * doc/lispref/text.texi (Interpolated Strings): New section.
26500         * lisp/format-spec.el (format-spec--parse-modifiers)
26501         (format-spec--pad): New functions.
26502         (format-spec): Support more format modifiers (bug#32931).
26504 2019-07-12  Teemu Likonen  <tlikonen@iki.fi>
26506         Use the gpg --sender option
26508         * lisp/epg.el (epg-start-encrypt)
26509         * lisp/gnus/mml-sec.el (mml-secure-epg-encrypt): When
26510         'mml-secure-openpgp-sign-with-sender' is non-nil message sender's
26511         email address (in addition to its old behaviour) will also be used
26512         to set gpg's "--sender email@domain" option.
26514 2019-07-12  Paul Eggert  <eggert@cs.ucla.edu>
26516         * lib-src/make-docfile.c: Fix comment typo.
26518 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26520         Always include the number of unexpected ert tests
26522         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
26523         Always include the number of failed tests, because absence of the
26524         text is not reassuring (bug#36616).
26526 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26528         Fix long credentials when using auth in nnimap.el
26530         * lisp/gnus/nnimap.el (nnimap-login): When base64-ing
26531         credentials, don't let bsae64-encode-string split the result into
26532         several lines, because servers do not understand that (bug#34458).
26534 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26536         Fix long credentials when using auth in url.el
26538         * lisp/url/url-auth.el (url-basic-auth): When base64-ing
26539         credentials, don't let bsae64-encode-string split the result into
26540         several lines, because servers do not understand that (bug#36619).
26542 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26544         Fold rfc2047 headers correctly when narrowed to header value
26546         * lisp/mail/rfc2047.el (rfc2047-fold-region): Fold headers
26547         correctly if narrowed to the header value.
26549 2019-07-12  Juri Linkov  <juri@linkov.net>
26551         * test/lisp/replace-tests.el (replace-tests-with-undo): Override
26553         replace-highlight to emulate clobbering match-data (bug#36328).
26555 2019-07-12  Juri Linkov  <juri@linkov.net>
26557         * lisp/progmodes/compile.el (compilation-filter): `compilation--ensure-parse'
26559         is used instead of `font-lock-ensure' (bug#36564).
26561         * test/lisp/progmodes/compile-tests.el (compile-test-error-regexps)
26562         (compile-test-grep-regexps): Check the number of errors.
26564 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26566         Remove initial and trailing whitespace in message-fetch-field
26568         * lisp/gnus/message.el (message-fetch-field): Remove initial and
26569         trailing whitespace.
26571 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26573         Fix breaking of rfc2047 headers with long words
26575         * lisp/mail/rfc2047.el (rfc2047-fold-region): Don't break lines
26576         right after the Header: field, but wait until the next
26577         whitespace.  (This only makes a difference for words that are very
26578         long (i.e., longer than, say, 60 characters, depending on the
26579         header name length.)
26581 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26583         Refactor rfc2047-fold-region slightly and add a couple of tests
26585         * lisp/mail/rfc2047.el (rfc2047--break-line): Refactor out to
26586         avoid code repetition...
26587         (rfc2047-fold-region): ... from this function.
26589 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
26591         Add comments to rfc2047
26593         * lisp/mail/rfc2047.el (rfc2047-fold-region): Add comments to the
26594         function.
26596 2019-07-12  Michael Albinus  <michael.albinus@gmx.de>
26598         Merge from origin/emacs-26
26600         305abae50e Raise required librsvg version so as to match the current use
26601         c6775bc9ca * lisp/net/tramp-sh.el (tramp-inline-compress-start-size):...
26603 2019-07-12  Michael Albinus  <michael.albinus@gmx.de>
26605         Check directory in Tramp's {copy,rename}-file
26607         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
26608         (tramp-adb-handle-rename-file):
26609         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
26610         * lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file):
26611         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file):
26612         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
26613         (tramp-smb-handle-rename-file):
26614         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
26615         Check, that NEWNAME is not a directory given as file name.
26617         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
26618         (tramp-test12-rename-file): Extend tests.
26620 2019-07-12  Michael Albinus  <michael.albinus@gmx.de>
26622         Re-add tramp-autoload cookie for all defcustoms
26624         * lisp/net/tramp-adb.el (tramp-adb-program)
26625         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
26626         * lisp/net/tramp-cache.el (tramp-persistency-file-name):
26627         * lisp/net/tramp-gvfs.el (tramp-gvfs-zeroconf-domain):
26628         * lisp/net/tramp-rclone.el (tramp-rclone-program):
26629         * lisp/net/tramp-sh.el (tramp-copy-size-limit, tramp-histfile-override)
26630         (tramp-use-ssh-controlmaster-options):
26631         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
26632         (tramp-smb-conf, tramp-smb-winexe-program)
26633         (tramp-smb-winexe-shell-command)
26634         (tramp-smb-winexe-shell-command-switch): Re-add tramp-autoload
26635         cookie for all defcustoms.
26637         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
26638         (tramp-adb-handle-rename-file):
26639         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
26640         * lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file):
26641         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file):
26642         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
26643         (tramp-smb-handle-rename-file):
26644         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
26645         Check, that NEWNAME is not a directory given as file name.
26647 2019-07-12  Michael Albinus  <michael.albinus@gmx.de>
26649         * doc/misc/tramp.texi (Inline methods): Precise about used external programs.
26651 2019-07-12  Michael Albinus  <michael.albinus@gmx.de>
26653         Change Tramp version to 2.4.3-pre
26655         * doc/misc/trampver.texi:
26656         * lisp/net/trampver.el: Change version to "2.4.3-pre".
26658         * lisp/net/tramp.el: Bump version to 2.4.3-pre.
26660 2019-07-11  Paul Eggert  <eggert@cs.ucla.edu>
26662         Tweak builtin symbol order for speed
26664         * lib-src/make-docfile.c (compare_globals):
26665         Make symbols 1 through 4 be t, unbound, error, lambda.
26666         This is in addition to symbol 0 being nil.
26667         This change improved ‘make compile-always’ performance by 0.6%
26668         on my platform.
26670 2019-07-11  Paul Eggert  <eggert@cs.ucla.edu>
26672         Avoid duplicate comparison in describe_map_compare
26674         * src/fns.c (string_version_cmp): New function.
26675         This has most of the old Fstring_version_lessp,
26676         with an assertion to make things a bit clearer.
26677         * src/fns.c (Fstring_version_lessp):
26678         * src/keymap.c (describe_map_compare): Use it (Bug#33237).
26680 2019-07-11  Juri Linkov  <juri@linkov.net>
26682         * lisp/progmodes/compile.el (compilation-filter): Use font-lock-ensure
26684         to update the number of errors in compilation-mode-line-errors
26685         displayed in the mode-line.  (Bug#36564)
26687 2019-07-11  Juri Linkov  <juri@linkov.net>
26689         Better match-data handling in perform-replace
26691         * lisp/replace.el (perform-replace): Don't wrap replace-highlight
26692         in save-match-data.  Use `(nth 0 real-match-data)' instead of
26693         `(match-beginning 0)' after replace-highlight.  (Bug#36328)
26695 2019-07-11  Michael Albinus  <michael.albinus@gmx.de>
26697         Remove lisp/obsolete/xesam.el
26699         * test/lisp/format-spec-tests.el (test-format-unknown): Use `should-error'.
26701 2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>
26703         Allow passing unknown specs to format-spec
26705         * lisp/format-spec.el (format-spec): Allow passing through format
26706         strings that have no specs (to be able to act as a filter).  Also
26707         add an example.
26708         * test/lisp/format-spec-tests.el (test-format-spec): Add tests for
26709         the new functionality.
26711 2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>
26713         Add tests for format-spec
26715         Add test to time-stamp.el
26717 2019-07-11  Phil Sainty  <psainty@orcon.net.nz>
26719         Support program switches in 'comint-run' command
26721         * etc/NEWS:
26722         * doc/emacs/misc.texi: Describe new behaviour (bug#33037).
26723         * lisp/comint.el (comint-run): Add optional SWITCHES argument.
26724         With prefix argument C-u, prompt for SWITCHES.
26726 2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>
26728         Clarify the expand-file-name doc string
26730         * src/fileio.c (Fexpand_file_name): Clarify that "~" in NAME is
26731         expanded, and not just "~/".  Also clarify that ~USER is not
26732         expanded if USER doesn't exist (bug#36490).
26734 2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>
26736         Tweak the order keystrokes are sorted in keymap listings
26738         * src/keymap.c (describe_map_compare): Change the sorting order of
26739         keystrokes, so that we get the order <f1> <f2> <f11> instead of
26740         <f1> <f11> <f2> (bug#33237).
26742 2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>
26744         Tweak misterioso header line background color
26746         * etc/themes/misterioso-theme.el (class): Make the header line
26747         background darker so that cedet function names and parameters are
26748         legible (bug#33061).
26750 2019-07-11  Stefan Kangas  <stefankangas@gmail.com>
26752         Remove misleading message in customize
26754         * lisp/cus-edit.el (custom-buffer-create-internal): Remove misleading
26755         message about "Resetting customization items" (bug#22451).
26757 2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>
26759         Fix C-x C-e with defvars in comments preceding
26761         * lisp/progmodes/elisp-mode.el (eval-sexp-add-defvars): When
26762         collecting defvars in the current buffer, ignore the ones that are
26763         in comments or strings (bug#34233).
26765 2019-07-11  Eli Zaretskii  <eliz@gnu.org>
26767         Resurrect SVG support on MS-Windows
26769         * src/image.c (syms_of_image) <Qgio> [HAVE_NTGUI]: New DEFSYM.
26770         (init_svg_functions) [LIBRSVG_CHECK_VERSION >= 2.32.0]: Load
26771         g_file_new_for_path and g_memory_input_stream_new_from_data
26772         from libgio, not from libglib.  (Bug#35548)
26774         * lisp/term/w32-win.el (dynamic-library-alist): Add the libgio
26775         DLL.
26777 2019-07-11  Eli Zaretskii  <eliz@gnu.org>
26779         Avoid assertion violations when resize-mini-windows is nil
26781         * src/xdisp.c (resize_mini_window): Always reset the
26782         mini-window's start point to the beginning of the buffer, even
26783         if resizing is not needed.  This avoids assertion violations
26784         when resize-mini-windows is nil.  (Bug#36595)
26786 2019-07-10  Paul Eggert  <eggert@cs.ucla.edu>
26788         Avoid functions deprecated in librsvg 2.45.1
26790         * src/image.c (init_svg_functions) [WINDOWSNT]:
26791         Load the pre-2.32 or 2.32 functions,
26792         depending on LIBRSVG_CHECK_VERSION.
26793         (svg_load_image): In librsvg 2.32 or later, use
26794         g_memory_input_stream_new_from_data, g_file_new_for_path and
26795         rsvg_handle_new_from_stream_sync rather than the
26796         deprecated-in-2.45 rsvg_handle_write and rsvg_handle_close.
26797         From a patch by YAMAMOTO Mitsuharu (Bug#35548#11).
26799 2019-07-10  Mattias Engdegård  <mattiase@acm.org>
26801         Fix trig simplification crash (bug#33052)
26803         * lisp/calc/calc-alg.el (calcFunc-sec, calcFunc-csc, calcFunc-cot):
26804         Check that `math-known-sin' and `math-known-tan' succeeded before
26805         using their value in arithmetic.
26806         * test/lisp/calc/calc-tests.el (calc-test-trig): Add regression tests.
26808 2019-07-10  Stefan Kangas  <stefankangas@gmail.com>
26810         Small cleanups in asm-mode.el (Bug#36540)
26812         * lisp/progmodes/asm-mode.el: Remove "tools" from "Keywords" header.
26813         Doc fixes.
26814         (asm-comment-char, asm-comment): Doc fixes.
26815         (asm-newline): Redefine as an obsolete function alias for
26816         'newline-and-indent' instead of using a defalias.
26818 2019-07-10  Lars Ingebrigtsen  <larsi@gnus.org>
26820         Add recursion check for comint password prompting
26822         * lisp/comint.el (comint--prompt-recursion-depth): New variable
26823         (bug#33252).
26824         (comint-watch-for-password-prompt): Use it to avoid bugging out
26825         and making Emacs unusable when a shell script is prompting for
26826         passwords in an infloop.
26828 2019-07-10  Lars Ingebrigtsen  <larsi@gnus.org>
26830         Fold too-long headers in Message automatically
26832         * lisp/gnus/message.el (message--fold-long-headers): Header lines
26833         should be no longer than 79 characters before folding
26834         (bug#33313).  Previous comment about 998 octets is about maximum
26835         allowed header field length.
26837 2019-07-10  Lars Ingebrigtsen  <larsi@gnus.org>
26839         Doc clarification in abbrev-prefix-mark
26841         * lisp/abbrev.el (abbrev-prefix-mark): Clarify when the hyphen is
26842         removed (bug#33382).
26844 2019-07-10  Lars Ingebrigtsen  <larsi@gnus.org>
26846         Fix problem with files like "~" in `directory-files-recursively'
26848         * lisp/files.el (directory-files-recursively): Don't bug out on
26849         files like "~" that have special meaning to `expand-file-name'
26850         (bug#36490).
26852 2019-07-10  Stefan Kangas  <stefankangas@gmail.com>
26854         Add new section on reading a bug to admin/notes/bugtracker
26856         * admin/notes/bugtracker: New section "How do I read a bug?" in
26857         "Quickstart" (Bug#36560).
26859 2019-07-10  Lars Ingebrigtsen  <larsi@gnus.org>
26861         Fix pretty-printing of {}
26863         * lisp/json.el (json-pretty-print): Fix reading {}, which returns nil.
26865 2019-07-10  Stefan Kangas  <stefankangas@gmail.com>
26867         Fix warnings in todo-mode-tests.el (Bug#36569)
26869         * test/lisp/calendar/todo-mode-tests.el (todo-test--insert-item):
26870         Fix "Unused lexical argument" warnings.
26872 2019-07-10  Stefan Kangas  <stefankangas@gmail.com>
26874         Fix warning in electric-tests.el (Bug#36570)
26876         * test/lisp/electric-tests.el (plainer-c-mode): Remove duplicate
26877         definition.
26879 2019-07-09  Paul Eggert  <eggert@cs.ucla.edu>
26881         Simplify math-get-calendar-tzinfo
26883         * lisp/calc/calc-forms.el (calendar-current-time-zone-cache):
26884         Remove defvar.
26885         (math-get-calendar-tzinfo): Simplify and do not reach
26886         into caldst’s cache.
26888 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
26890         Fix documentation of cl-member
26892         * doc/misc/cl.texi (Lists as Sets): cl-member with no :test is not
26893         equal to memq (because it uses eql) (bug#33655).
26895 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
26897         auth-source does not support "host" in .netrc files
26899         * doc/misc/auth.texi (Help for users): Remove mention of "host" in
26900         .netrc files, because it's not supported (bug#33826).
26902 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
26904         White-space fix in fortune-compile
26906         * lisp/play/fortune.el (fortune-compile): Reindent function.
26908 2019-07-09  Benjamin Ragheb  <ben@benzado.com>  (tiny change)
26910         Search exec-path for fortune strfile program
26912         * lisp/play/fortune.el (fortune-compile): Search exec-path for
26913         strfile program (bug#33984).
26915 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
26917         Remove json-pretty-print-max-secs introduced earlier this year
26919         * lisp/json.el (json-pretty-print-max-secs): Remove the variable
26920         as it's no longer used.
26922 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
26924         Fix timezone east of GMT in Calv
26926         * lisp/calc/calc-forms.el (math-calendar-tzinfo): Make timezone
26927         calculation work east of Greenwich.  Fix proposed by David O'Shea
26928         (bug#34075).
26930 2019-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
26932         * src/fileio.c: Fix bug#36431
26934         (decide_coding_unwind): Re-introduce.  Move text back to the gap.
26935         Return the new `inserted` via the unwind_data.
26936         (Finsert_file_contents): Use it.
26937         Make sure `inserted` is always 0 when we jump straight to `notfound`.
26938         Don't insert the text in the buffer until we know it's properly decoded
26939         for the byteness of the buffer.
26941         * test/src/fileio-tests.el (fileio-tests--insert-file-interrupt):
26942         Allow insert-file-contents to return an empty buffer in case of
26943         non-local exit in set-auto-coding-function.
26945 2019-07-09  Paul Eggert  <eggert@cs.ucla.edu>
26947         Defend fingerprint against even-smarter LTO
26949         * src/pdumper.c (Fdump_emacs_portable, pdumper_load):
26950         Don’t cast volatile to non-volatile pointer, as that does not in
26951         general suffice to prevent a compiler from optimizing away memcmp
26952         and/or memcpy calls.  Instead, copy the fingerprint by hand.
26954 2019-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
26956         Revert "Turn off bytecode jumptables to avoid Bug#36447"
26958         This reverts commit 122198d2f1aaf0b74c102874cc9b04ae4789f54f.
26959         Should not be needed any more thanks to Pip Cet's patch to hash_table_rehash.
26961 2019-07-09  Pip Cet  <pipcet@gmail.com>
26963         Don't alter shared structure in dumped purecopied hash tables.
26965         * src/fns.c (hash_table_rehash): Make sure we're operating on
26966         fresh copies of ->next, ->index, ->hash.
26968 2019-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
26970         Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk
26972 2019-07-09  Paul Eggert  <eggert@cs.ucla.edu>
26974         Do not alter match data in Fcapitalize etc.
26976         Without this patch, (capitalize "x") can alter the match data,
26977         which is not what users expect.  Problem found by running
26978         morse-tests-unnato-region in a stripped-down Emacs.
26979         Perhaps ‘load’ should also save and restore the match data?
26980         That would be a simpler fix, though arguably incompatible.
26981         * src/lread.c (save_match_data_load): New function.
26982         * src/chartab.c (uniprop_table):
26983         * src/doc.c (reread_doc_file):
26984         * src/eval.c (Fautoload_do_load):
26985         * src/fns.c (Frequire): Use it.
26987 2019-07-09  Paul Eggert  <eggert@cs.ucla.edu>
26989         Port image-type-from-file-header-test to non-SVG Emacs
26991         Problem reported privately by Michael Albinus.
26992         * test/lisp/image-tests.el (image-type-from-file-header-test):
26993         Don’t assume svg is a supported image type.
26995 2019-07-09  Andreas Schwab  <schwab@linux-m68k.org>
26997         Make fingerprint handling compatible with LTO
26999         Tell the compiler that the fingerprint variable is modified unpredictably.
27001         * lib/fingerprint.h (fingerprint): Remove const.
27002         * lib/fingerprint.c (fingerprint): Likewise.
27003         * src/pdumper.c (Fdump_emacs_portable): Cast fingerprint variable.
27004         (pdumper_load): Likewise.
27005         * lib-src/make-fingerprint.c (main): Likewise.
27007 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
27009         Fix pretty-printing of multiple JSON objects
27011         * lisp/json.el (json-pretty-print-max-secs): Make obsolete.
27012         (json-pretty-print): Pretty-print all JSON objects in the region
27013         instead of just the first one (and then deleting all other
27014         objects) (bug#34160).
27016 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
27018         Revert "Fix pretty-printing of multiple JSON objects"
27020         This reverts commit 48daf77a9d963c05ee198b3ab108c7f0b3686da6.
27022         This apparently led to build errors.
27024 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
27026         Fix pretty-printing of multiple JSON objects
27028         * lisp/json.el (json-pretty-print-max-secs): Make obsolete.
27029         (json-pretty-print): Pretty-print all JSON objects in the region
27030         instead of just the first one (and then deleting all other
27031         objects) (bug#34160).
27033 2019-07-09  Michael Albinus  <michael.albinus@gmx.de>
27035         * lisp/simple.el (shell-command): Raise a user-error instead of an error.
27037 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
27039         Clarify json-read and json-encode parameters and return values
27041         * lisp/json.el (json-read): Try to clarify what's returned (bug#34242).
27042         (json-encode): Refer to `json-read' about what the input is and
27043         say what error is signaled.
27045 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
27047         Fix alternative-email-as-from with empty To headers in Message
27049         * lisp/gnus/message.el (message-use-alternative-email-as-from):
27050         Don't add a "," at the start of the address if the To header
27051         doesn't exist (bug#34293).
27053 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
27055         Make gnus-read-ephemeral-emacs-bug-group autoloadable
27057         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-emacs-bug-group):
27058         Add an autoload cookie, because the command can be used from
27059         without Gnus.
27061 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
27063         Checkdoc would bug out on empty files
27065         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): Don't
27066         bug out on malformed Emacs Lisp (bug#34760).
27067         (checkdoc-file-comments-engine): Don't bug out on empty buffers.
27069 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
27071         Clarify warning about unknown articles in Gnus
27073         * lisp/gnus/gnus-sum.el (gnus-summary-mark-article-as-unread)
27074         (gnus-mark-article-as-unread): Clarify warning (bug#34990).
27076 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
27078         Don't try to save articles in Gnus that have disappeared
27080         * lisp/gnus/gnus-sum.el (gnus-summary-save-article): Stop trying
27081         to save articles if the articles have disappeared (bug#35188).
27083 2019-07-09  Mattias Engdegård  <mattiase@acm.org>
27085         Rename font_driver member close -> close_font
27087         * src/alloc.c (cleanup_vector):
27088         * src/xftfont.c (xftfont_driver):
27089         * src/xfont.c (xfont_driver):
27090         * src/nsfont.m (nsfont_driver):
27091         * src/macfont.m (macfont_driver):
27092         * src/ftxfont.c (ftxfont_driver):
27093         * src/ftfont.c (ftfont_driver):
27094         * src/ftcrfont.c (ftcrfont_driver):
27095         * src/font.h (struct font_driver):
27096         * src/font.c (font_clear_cache, font_close_object):
27097         Rename `close' member to `close_font', to avoid clash with preprocessor
27098         define of `close' in nt/inc/ms-w32.h and for consistency with `open_font'.
27100 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
27102         Mention `call-process-region' in the `call-process' doc string
27104         * src/callproc.c (Fcall_process): Mention `call-process-region'
27105         (bug#35187).
27107 2019-07-09  Mattias Engdegård  <mattiase@acm.org>
27109         Rename font_driver member open -> open_font
27111         * src/xftfont.c (xftfont_driver):
27112         * src/xfont.c (xfont_driver):
27113         * src/nsfont.m (nsfont_driver):
27114         * src/macfont.m (macfont_driver):
27115         * src/ftxfont.c (ftxfont_driver):
27116         * src/ftfont.c (ftfont_driver):
27117         * src/ftcrfont.c (ftcrfont_driver):
27118         * src/font.h (struct font_driver):
27119         * src/font.c (font_open_entity):
27120         Rename `open' member to `open_font', to avoid clash with preprocessor
27121         define of `open' in lib/fcntl.h and nt/inc/ms-w32.h.  Remove earlier
27122         #undef hack.
27124 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
27126         Add a really simple nadvice example
27128         * doc/lispref/functions.texi (Advising Functions): Add a really
27129         trivial and simple example (bug#35250).
27131 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
27133         Make two variables for extended command suggestions mention each other
27135         * lisp/simple.el (suggest-key-bindings):
27136         (extended-command-suggest-shorter): Mention each other, because
27137         they are vaguely related (bug#35309).
27139 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
27141         Make the manual say what undo-auto-amalgamate does
27143         * doc/lispref/text.texi (Undo): Say what undo-auto-amalgamate does
27144         in addition to describing what amalgamation is (bug#35344).
27146 2019-07-09  Eli Zaretskii  <eliz@gnu.org>
27148         Unbreak the MS-Windows build
27150         * src/font.c (open): Don't undef on WINDOWSNT, as ms-w32.h
27151         redirects it to sys_open.
27153 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
27155         .har files are JSON files
27157         * lisp/files.el (auto-mode-alist): Map .har files to
27158         javascript-mode (bug#35407).
27160 2019-07-09  Ryan Brown  <ryan@derivita.com>
27162         Fix for lisp tagbody indentation
27164         * lisp/emacs-lisp/cl-indent.el (lisp-indent-259): Indent PROG
27165         better (bug#36552).
27167 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
27169         Add more quote-end characters to sentence-end-base
27171         * lisp/textmodes/paragraphs.el (sentence-end-base): Add › and »
27172         (bug#36359).
27174 2019-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
27176         * lisp/progmodes/verilog-mode.el: Update Version:
27178         Merge branch 'emacs-26' into trunk
27180 2019-07-09  Mattias Engdegård  <mattiase@acm.org>
27182         Repair macOS build
27184         Avoid macro redefinition of `open' in lib/fcntl.h to break use of it as
27185         a struct member in src/font.c.
27187         * src/font.c: #undef open
27189 2019-07-09  Glenn Morris  <rgm@gnu.org>
27191         Conditionalize result of a bytecomp test
27193         * test/lisp/emacs-lisp/bytecomp-tests.el
27194         (bytecomp-test--switch-duplicates):
27195         Apparently the result depends on byte-compile-cond-use-jump-table.
27197 2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
27199         Make delimit-columns-region say what it does
27201         * lisp/delim-col.el (delimit-columns-region): Make the doc string
27202         say a bit more about what it does (bug#35651).
27203         (delimit-columns-rectangle): Refer to the first function.
27205 2019-07-08  Katsumi Yamaoka  <yamaoka@jpl.org>
27207         Allow using @@ in @uref in texinfo
27209         * lisp/textmodes/texinfmt.el (texinfo-format-uref): Allow using @@
27210         in @uref (bug#36186) to allow things like
27211         @uref{mailto:foo@@example.com}.
27213 2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
27215         Tweak compilation face in the wheatgrass theme
27217         * etc/themes/wheatgrass-theme.el: The compilation info was too
27218         light to be readable (bug#36203).
27220 2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
27222         Don't set url-mime-charset-string from set-language-environment
27224         * lisp/url/url-vars.el (url-set-mime-charset-string): Make
27225         obsolete and don't add to set-language-environment-hook
27226         (bug#36268).  If you loaded url-vars before calling
27227         set-language-environment, you would suddenly get an unusable long
27228         url-mime-charset-string.
27230 2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
27232         Remove compat code in url-mime-charset-string
27234         * lisp/url/url-vars.el (url-mime-charset-string): Remove compat code.
27236 2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
27238         Tweak messaging in re-builder
27240         * lisp/emacs-lisp/re-builder.el (reb-copy): Say what we copied to
27241         the kill ring.
27243 2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
27245         Mention {la,}tex-run-command in the TeX Print info node
27247         * doc/emacs/text.texi (TeX Print): Mention {la,}tex-run-command,
27248         too.  Suggested by Sebastian Urban (bug#36400).
27250 2019-07-08  Paul Eggert  <eggert@cs.ucla.edu>
27252         Avoid some unnecessary stdio.h includes
27254         * src/atimer.c, src/callproc.c, src/coding.c, src/dired.c, src/eval.c:
27255         * src/fringe.c, src/ftcrfont.c, src/ftfont.c, src/ftxfont.c:
27256         * src/gfilenotify.c, src/indent.c, src/kqueue.c, src/menu.c:
27257         * src/scroll.c, src/terminal.c, src/unexcoff.c, src/window.c:
27258         * src/xfont.c, src/xftfont.c:
27259         Do not include stdio.h since it is unused.
27261 2019-07-08  Paul Eggert  <eggert@cs.ucla.edu>
27263         Use fewer locks when accessing stdio
27265         * src/alloc.c, src/bidi.c, src/emacs-module.c, src/pdumper.c:
27266         * src/regex-emacs.c, src/unexhp9k800.c, src/unexmacosx.c:
27267         * src/widget.c, src/xdisp.c, src/xselect.c, src/xterm.c:
27268         Include sysstdio.h instead of stdio.h, to avoid locking
27269         stdio streams in many cases.
27270         * src/alloc.c (test_setjmp):
27271         * src/bidi.c (bidi_dump_cached_states):
27272         * src/cm.c (calccost):
27273         * src/dispnew.c (init_display_interactive):
27274         * src/emacs.c (main):
27275         * src/image.c (convert_mono_to_color_image):
27276         * src/minibuf.c (read_minibuf_noninteractive):
27277         * src/nsfont.m (ns_descriptor_to_entity)
27278         (ns_dump_glyphstring):
27279         * src/nsterm.h (NSTRACE_MSG_NO_DASHES):
27280         * src/nsterm.m (ns_mouse_position)
27281         (sendEvent:, keyDown:, performDragOperation:):
27282         * src/pdumper.c (dump_fingerprint, print_paths_to_root_1):
27283         * src/print.c (debug_print):
27284         * src/regex-emacs.c (debug_putchar, print_fastmap)
27285         (print_partial_compiled_pattern, print_compiled_pattern)
27286         (print_double_string, regex_compile):
27287         * src/term.c (vfatal):
27288         * src/unexhp9k800.c (read_header):
27289         * src/unexmacosx.c (unexec_error):
27290         * src/widget.c (EmacsFrameInitialize):
27291         * src/xdisp.c (message_to_stderr, vmessage, dump_glyph_row)
27292         (Fdump_glyph_matrix, Fdump_frame_glyph_matrix, dump_glyph_string):
27293         * src/xfaces.c (Fdump_colors, Fdump_face):
27294         * src/xselect.c (x_clipboard_manager_error_2):
27295         * src/xterm.c (x_initialize):
27296         * src/xwidget.c (WEBKIT_FN_INIT):
27297         Prefer unlocked calls like fputs to locked calls like fprintf.
27298         * src/charset.c (read_hex):
27299         * src/cm.c (cmputc, cmcheckmagic):
27300         * src/dispnew.c (update_frame, update_frame_with_menu)
27301         (update_frame_1, Fsend_string_to_terminal, Fding)
27302         (bitch_at_user):
27303         * src/emacs.c (main, Fdump_emacs):
27304         * src/emacs-module.c (module_abort):
27305         * src/fileio.c (Fdo_auto_save):
27306         * src/image.c (slurp_file)
27307         (png_read_from_file, png_load_body, our_stdio_fill_input_buffer):
27308         * src/keyboard.c (record_char, kbd_buffer_get_event)
27309         (handle_interrupt):
27310         * src/lread.c (readbyte_from_stdio, read1):
27311         * src/minibuf.c (read_minibuf_noninteractive):
27312         * src/print.c (printchar_to_stream, strout)
27313         (Fredirect_debugging_output):
27314         * src/sysdep.c (reset_sys_modes, close_output_streams)
27315         (procfs_ttyname, procfs_get_total_memory):
27316         * src/term.c (tty_ring_bell, tty_send_additional_strings)
27317         (tty_set_terminal_modes, tty_reset_terminal_modes)
27318         (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
27319         (tty_write_glyphs_with_face, tty_insert_glyphs)
27320         (tty_menu_activate):
27321         * src/xfaces.c (Fx_load_color_file):
27322         Simplify by using ordinary calls like putc to explicitly-unlocked
27323         calls like putc_unlocked, since the ordinary calls are now
27324         unlocked anyway.
27325         * src/emacs.c (main, Fdump_emacs):
27326         * src/pdumper.c (Fdump_emacs_portable):
27327         Coalesce adjacent printfs.
27328         * src/nsterm.h: Include sysstdio.h as this file’s macros rely on it.
27329         * src/regex-emacs.c (print_compiled_pattern):
27330         Omit redundant fflush.
27331         * src/sysstdio.h: Include unlocked-io.h.
27332         (clearerr_unlocked, feof_unlocked, ferror_unlocked)
27333         (fflush_unlocked, fgets_unlocked, fputc_unlocked)
27334         (fputs_unlocked, fread_unlocked, fwrite_unlocked)
27335         (getc_unlocked, getchar_unlocked, putc_unlocked)
27336         (putchar_unlocked): Remove these macros; now done by unlocked-io.h.
27337         * src/xwidget.c: Include sysstdio.h.
27339 2019-07-08  Basil L. Contovounesios  <contovob@tcd.ie>
27341         Tidy up sieve.el text formatting
27343         * lisp/net/sieve.el (sieve-edit-script, sieve-upload): Do not pass
27344         arbitrary string as first argument to 'message' (bug#25764).
27345         (sieve-help): Split long string across multiple lines.
27346         (sieve-refresh-scriptlist): Use ngettext.  Fix grammar.
27348 2019-07-08  Stefan Kangas  <stefankangas@gmail.com>
27350         Delegate to rectangle version in delim-col when appropriate
27352         * lisp/delim-col.el (delimit-columns-region): Delegate to
27353         `delimit-columns-rectangle' when called with a rectangular
27354         region (bug#36453).
27356 2019-07-08  Ismail S  <ismail-s.no-reply@github.com>  (tiny change)
27358         Fix minor typo in org-capture-templates
27360         * lisp/org/org-capture.el (org-capture-templates): Fix typo in doc
27361         string (bug#36491).
27363 2019-07-08  Ken Brown  <kbrown@cornell.edu>
27365         Ensure that expand-file-name returns an absolute file name
27367         * src/fileio.c (Fexpand_file_name): Don't directly use the current
27368         buffer's default-directory if it is relative.  Instead replace it
27369         by its expansion relative to invocation-directory.  (Bug#36502)
27370         * test/src/fileio-tests.el
27371         (fileio-tests--relative-default-directory): New test.
27373 2019-07-08  Noam Postavsky  <npostavs@gmail.com>
27375         Turn off bytecode jumptables to avoid Bug#36447
27377         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table): Set
27378         to nil.  We can turn this back on again when Bug#36447 is solved and
27379         we handle dumped hash tables correctly.
27381 2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
27383         Remove mention of :group in define-minor-mode info
27385         * doc/lispref/modes.texi (Defining Minor Modes): The :group stuff
27386         in the example and documentation isn't correct since this is not a
27387         global mode and `hunger-mode' therefore isn't customizable
27388         (bug#36501).
27390 2019-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
27392         Improvements to sieve script usability
27394         * lisp/net/sieve-mode.el (sieve-mode-menu): Add
27395           `sieve-upload-and-kill' to the mode menu.
27397         * lisp/net/sieve.el (sieve-manage-mode-menu): Add `sieve-manage-quit'
27398           to the mode menu.
27399           (sieve-help): Mention quitting in mode help.
27400           (sieve-manage-mode): Directly derive from special-mode.
27401           (sieve-edit-script): Start off with unmodified buffer.
27402           (sieve-upload): Set buffer unmodified after successful upload.
27404         Changes are aimed at 1) increasing discoverability of commands and 2)
27405         using buffer modification to help users understand what's happening.
27407 2019-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
27409         Make sure gnus-group-set-info sets both the hashtable and alist
27411         * lisp/gnus/gnus-group.el (gnus-group-set-info): Apparently this
27412           method of updating the group info will only apply to the
27413           gnus-newsrc-hashtb, not gnus-newsrc-alist. Do the alist explicitly.
27415 2019-07-08  Michael Albinus  <michael.albinus@gmx.de>
27417         * doc/misc/tramp.texi (Remote processes): Fix a typo.
27419 2019-07-08  Alan Mackenzie  <acm@muc.de>
27421         Fix coding error in c-forward-decl-or-cast-1.  This fixes bug #36492.
27423         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): While testing for,
27424         e.g., foo(), check we've found the ( before trying to go to its position.
27426 2019-07-08  Michael Albinus  <michael.albinus@gmx.de>
27428         Allow chown/chgrp for remote directories on w32
27430         * lisp/dired-aux.el (dired-do-chgrp, dired-do-chown):
27431         Allow them for remote directories, even when run on w32.  See
27432         <https://emacs.stackexchange.com/questions/51477/chown-with-dired-over-tramp-from-windows-machine>.
27434 2019-07-08  Alan Mackenzie  <acm@muc.de>
27436         Fix bug #36474, such that CC Mode quotes work properly in electric-pair-mode
27438         Also finishes the fix for bug #36423.
27440         * lisp/progmodes/cc-mode.el (c-initialize-cc-mode): Add an `eval-after-load'
27441         to set electric-pair-inhibit-predicate for existing CC Mode buffers when
27442         elec-pair.elc gets loaded.
27443         (c-basic-common-init): Set electric-pair-inhibit-predicate when a CC Mode mode
27444         gets initialized.
27445         (c-electric-pair-inhibit-predicate): New function.
27447 2019-07-07  Paul Eggert  <eggert@cs.ucla.edu>
27449         * src/xselect.c: Fix comment.
27451         * src/dispnew.c (init_display_interactive): Fix comment to match code.
27453 2019-07-07  Juri Linkov  <juri@linkov.net>
27455         * lisp/vc/vc-dir.el (vc-dir-view-file): New command for consistency with dired
27457         * lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing):
27458         Remove interactive spec from non-command functions.  (Bug#12492)
27460 2019-07-07  Juri Linkov  <juri@linkov.net>
27462         Handle scroll-error-top-bottom in follow.el and view.el (bug#21893)
27464         * lisp/follow.el (follow-scroll-up-arg, follow-scroll-up-window):
27465         Use scroll-up-command instead of scroll-up.
27466         (follow-scroll-down-arg, follow-scroll-down-window):
27467         Use scroll-down-command instead of scroll-down.
27468         (follow-scroll-up, follow-scroll-down): Handle scroll-error-top-bottom.
27470         * lisp/view.el (view-scroll-lines): Use scroll-down-command
27471         instead of scroll-down and scroll-up-command instead of scroll-up.
27472         (view-really-at-end): Handle scroll-error-top-bottom.
27474 2019-07-07  Juri Linkov  <juri@linkov.net>
27476         * lisp/replace.el (perform-replace): Move save-match-data here
27478         from replace-highlight for isearch-lazy-highlight-new-loop (bug#36328).
27480 2019-07-07  Glenn Morris  <rgm@gnu.org>
27482         Avoid makeinfo error "@code expected braces"
27484         * doc/lispref/searching.texi (Rx Constructs): Fix for makeinfo 4.13.
27486 2019-07-07  Paul Eggert  <eggert@cs.ucla.edu>
27488         Fix typo in previous patch
27490         * src/editfns.c (styled_format): Fix stray ‘pMd’.
27492 2019-07-07  Paul Eggert  <eggert@cs.ucla.edu>
27494         Remove printmax_t etc.
27496         printmax_t etc. were needed only for platforms that lacked
27497         support for printing intmax_t.  These platforms are now so
27498         obsolete that they are no longer practical porting targets.
27499         * src/image.c (gs_load): Fix unlikely buffer overrun
27500         discovered while making these changes.  It was introduced in
27501         2011-07-17T00:34:43!eggert@cs.ucla.edu.
27502         * src/lisp.h (printmax_t, uprintmax_t, pMd, pMu, pMx):
27503         Remove.  All uses replaced by their standard counterparts
27504         intmax_t, uintmax_t, PRIdMAX, PRIuMAX, PRIxMAX.
27506 2019-07-07  Nick Drozd  <nicholasdrozd@gmail.com>
27508         Handle 'abbr' and 'acronym' tags in shr.el
27510         * lisp/net/shr.el (shr-tag-abbr, shr-tag-acronym): New functions
27511         handling 'abbr' and 'acronym' tags, respectively.
27512         * etc/NEWS: Announce change in shr behavior (bug#36475).
27514 2019-07-07  Mattias Engdegård  <mattiase@acm.org>
27516         Shorter `rx' doc string (bug#36496)
27518         * lisp/emacs-lisp/rx.el (rx): Replace long description with a condensed
27519         summary of the rx syntax, with reference to the manual section.
27521 2019-07-07  Mattias Engdegård  <mattiase@acm.org>
27523         Describe the rx notation in the elisp manual (bug#36496)
27525         The additions are excluded from the print version to avoid making it
27526         thicker.
27528         * doc/lispref/elisp.texi (Top): New menu entry.
27529         * doc/lispref/searching.texi (Regular Expressions): New menu entry.
27530         (Regexp Example): Add rx form of the example.
27531         (Rx Notation, Rx Constructs, Rx Functions): New nodes.
27532         * doc/lispref/control.texi (pcase Macro): Describe the rx pattern.
27534 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
27536         Don’t ignore stderr failure when ADDRESS_SANITIZER
27538         * src/emacs.c (close_output_streams): Move from here ...
27539         * src/sysdep.c: ... to here, where it really belongs anyway.
27540         When ADDRESS_SANITIZER, fflush stderr and check for ferror,
27541         to catch stderr output errors even in this case.
27543 2019-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
27545         * lisp/emacs-lisp/nadvice.el: Make it a package separate from `emacs`.
27547         * lisp/finder.el (finder-compile-keywords): Grab version from
27548         package--builtin-versions when available.
27550 2019-07-06  Glenn Morris  <rgm@gnu.org>
27552         Merge from origin/emacs-26
27554         1e6d8e0 (origin/emacs-26) ; * doc/emacs/killing.texi (Secondary Selec...
27555         e2344a7 * lisp/svg.el, lisp/progmodes/ada-mode.el: Fix bug#36360.
27556         ff738ab Minor copyedit of "Font Lock" in user manual
27557         faf99dc Improve description of image descriptors
27558         21351cc ; * src/lread.c (Fread): Make the comment wording more accurate.
27559         d176090 Improve documentation of secondary selections
27560         8910fe1 * src/fns.c (Fmapconcat): Doc fix.  (Bug#36418)
27562         # Conflicts:
27563         #       lisp/svg.el
27565 2019-07-06  Glenn Morris  <rgm@gnu.org>
27567         Merge from origin/emacs-26
27569         e97c043 Fix python.el docstring (Bug#36458)
27570         e660801 ; Add thing-at-point-looking-at test (Bug#35708)
27571         f5b4846 ; Fix typo, insure -> ensure in ChangeLogs
27572         cb8fb59 * lisp/hi-lock.el (hi-lock-line-face-buffer): Doc fix.  (Bug3...
27574 2019-07-06  Glenn Morris  <rgm@gnu.org>
27576         Merge from origin/emacs-26
27578         316f5a3 Fix typo in doc string of file-exists-p (bug#36408)
27579         bfc7c6e * test/lisp/url/url-file-tests.el (url-file): Fix for POSIX f...
27580         13b95e1 Fix typo in windows.texi
27581         8b775c3 Clarify & update (elisp) Writing Emacs Primitives
27582         7648c12 Clarify a subtle issue in the Internals chapter of lispref
27584 2019-07-06  Xu Chunyang  <mail@xuchunyang.me>
27586         * lisp/dom.el (dom-texts): Simplify (Bug#36441).
27588 2019-07-06  Noam Postavsky  <npostavs@users.sourceforge.net>
27590         Use buffer's name for help-mode bookmarks (Bug#24573)
27592         * lisp/help-mode.el (help-bookmark-make-record): Replace buffer
27593         objects with their names in help-args, otherwise the bookmark won't be
27594         readable from the bookmark save file.
27596 2019-07-06  Noam Postavsky  <npostavs@gmail.com>
27598         Add commentary about #$ in autoload files
27600         * lisp/emacs-lisp/autoload.el (autoload-rubric): Add commentary about
27601         `#$' trick.
27603 2019-07-06  Wilson Snyder  <wsnyder@wsnyder.org>
27605         Fix indentation of default clocking definitions.
27607         * lisp/progmodes/verilog-mode.el (verilog-default-clocking-re): Fix indentation of default
27608         clocking definitions, Verilog-Mode bug1457. Reported by Paul Donahue.
27610 2019-07-06  Wilson Snyder  <wsnyder@wsnyder.org>
27612         Backout replacing manually crafted hex regexes with [:xdigit:].
27614         * lisp/progmodes/verilog-mode.el (verilog-delay-re):
27615         (verilog-type-font-keywords, verilog-read-always-signals-recurse):
27616         (verilog-is-number): Backout replacing manually crafted hex regexes with
27617         [:xdigit:] (Bug#36167).  This repairs Verilog-mode regressions;
27618         Verilog-mode maintains back-compatibility with Emacsen before this syntax
27619         was supported.
27621 2019-07-06  Pip Cet  <pipcet@gmail.com>
27623         Update current buffer when changing text properties
27625         * src/textprop.c (add_text_properties_1, set_text_properties)
27626         (set_text_properties_1, Fremove_text_properties): Switch buffer if
27627         necessary.  (Bug#36190)
27629         * doc/lispref/text.texi (Examining Properties): Document performance
27630         FIXME.
27632 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
27634         Update from Gnulib
27636         This incorporates:
27637         2019-07-06 thread, lock, cond, tls: Remove support for Pth threads
27638         2019-07-02 verify: document ‘assume’ better
27639         2019-06-30 Include <stdlib.h> when needed
27640         2019-06-30 inet_ntop, inet_pton: Avoid conflict with native Windows
27641         * build-aux/config.sub, lib/faccessat.c, lib/fcntl.c, lib/fstatat.c:
27642         * lib/readlinkat.c, lib/verify.h, m4/pthread_sigmask.m4:
27643         * m4/sys_socket_h.m4: Copy from Gnulib.
27644         * lib/gnulib.mk.in: Regenerate.
27646 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
27648         Fix [[:xdigit:]] glitch on Solaris
27650         * admin/charsets/mapconv: Revert this [[:xdigit:]] change.
27651         Solaris 10 ‘sed’ does not support [[:xdigit:]].
27653 2019-07-06  Drew Adams  <drew.adams@oracle.com>
27655         Tweak point movement in view-echo-area-messages
27657         * lisp/help.el (view-echo-area-messages): Move the point to the
27658         end of the *Messages* buffer even if it's already displayed
27659         (bug#36343).
27661 2019-07-06  Stefan Kangas  <stefankangas@gmail.com>
27663         Remove outdated comment in uniquify.el
27665         * lisp/uniquify.el: Remove outdated comment regarding some ancient
27666         version of uniquify.el (bug#36384).
27668 2019-07-06  Stefan Kangas  <stefankangas@gmail.com>
27670         Improve an error message in bookmark.el
27672         * lisp/bookmark.el (bookmark-alist-from-buffer): Improve error
27673         message (bug#36391).
27675 2019-07-06  Basil L. Contovounesios  <contovob@tcd.ie>
27677         Improve Gnus ephemeral bug group browsing
27679         * doc/misc/gnus.texi (Foreign Groups): Update description of
27680         gnus-read-ephemeral-emacs-bug-group for multiple bug
27681         IDs (bug#11961).
27683         * lisp/gnus/gnus-group.el (gnus-bug-group-download-format-alist):
27684         Use HTTPS for Debian's bug tracker.
27685         (gnus-group--read-bug-ids): New function for reading multiple bug
27686         IDs in the minibuffer.  Improves on previous brittle approach of
27687         word-at-point -> read-string -> string-to-number by a) defaulting to
27688         the more accurate bug-reference-bug-regexp or number-at-point
27689         without using the intrusive INITIAL-INPUT argument, and b) not
27690         attempting to parse bug IDs.
27691         (gnus-read-ephemeral-bug-group): Use it.  Extend docstring and
27692         commentary.  Fix handling of multiple bug IDs as either numbers or
27693         strings.  Hoist some string consing out of inner loop.  Delete
27694         temporary file even on error.  Throw more informative error when
27695         url-insert-file-contents successfully returns an error (bug#36433).
27696         (gnus-read-ephemeral-debian-bug-group): Use gnus-group--read-bug-ids
27697         and fix docstring for multiple bug IDs.  Accept optional WINDOW-CONF
27698         like other ephemeral bug group commands.
27699         (gnus-read-ephemeral-emacs-bug-group): Use gnus-group--read-bug-ids
27700         and fix string/numeric ID conversions.  Try loading debbugs-gnu
27701         before testing for debbugs-gnu-summary-mode (bug#36433).
27703 2019-07-06  Stefan Kangas  <stefankangas@gmail.com>
27705         Add tests for text-property-search to check prop-match-value
27707         * test/lisp/emacs-lisp/text-property-search-tests.el
27708         (with-match-test): New macro.
27709         (text-property-search-forward-prop-match-match-face-nil-nil)
27710         (text-property-search-forward-prop-match-match-face-bold-t)
27711         (text-property-search-forward-prop-match-match-face-bold-nil)
27712         (text-property-search-backward-prop-match-match-face-nil-nil)
27713         (text-property-search-backward-prop-match-match-face-italic-t)
27714         (text-property-search-backward-prop-match-match-face-italic-nil):
27715         Add test cases to also verify the value of prop-match-value
27716         (bug#36486).
27718 2019-07-06  Eli Zaretskii  <eliz@gnu.org>
27720         Improve the default value of 'doc-view-ghostscript-program'
27722         * lisp/doc-view.el (doc-view-ghostscript-program): Make the
27723         default value dependent on the underlying OS.  (Bug#36357)
27725 2019-07-06  Stefan Kangas  <stefankangas@gmail.com>
27727         Make "M-x pdb" use "[:graph:]" to match file names
27729         * lisp/progmodes/gud.el (gud-pdb-marker-regexp): Use "[:graph:]" to
27730         match file name in prompt.  (Bug#34489)
27732 2019-07-06  Stefan Kangas  <stefankangas@gmail.com>
27734         * lisp/net/goto-addr.el: Remove leftover XEmacs compat code.  (Bug#36512)
27736         * lisp/bookmark.el (bookmark-set-internal): Doc fix. (Bug#25032)
27738 2019-07-06  Stefan Kangas  <stefankangas@gmail.com>
27740         * lisp/bookmark.el (bookmark-quit-flag): Mark unused variable obsolete.
27742         (Bug#36460)
27744 2019-07-06  Stefan Kangas  <stefankangas@gmail.com>
27746         Prefer progress-reporter to 'message' in bookmark.el
27748         * lisp/bookmark.el (bookmark-upgrade-file-format-from-0)
27749         (bookmark-bmenu-execute-deletions): Use progress-reporter.
27750         (Bug#36462)
27752 2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
27754         Replace manually crafted hex regexes with [:xdigit:]
27756         * admin/charsets/mapconv:
27757         * build-aux/gitlog-to-changelog (parse_amend_file, git_dir_option):
27758         * lisp/progmodes/verilog-mode.el (verilog-delay-re):
27759         (verilog-type-font-keywords, verilog-read-always-signals-recurse):
27760         (verilog-is-number):
27761         * lisp/progmodes/vera-mode.el (vera-font-lock-keywords):
27762         * test/src/emacs-module-tests.el (mod-test-sum-test):
27763         * lisp/xml.el: (xml--entity-replacement-text):
27764         * lisp/version.el (emacs-repository-version-git):
27765         * lisp/textmodes/sgml-mode.el (sgml-quote):
27766         * lisp/textmodes/css-mode.el (css-escapes-re)
27767         (css--colors-regexp):
27768         * lisp/progmodes/prolog.el (prolog-syntax-propertize-function):
27769         * lisp/progmodes/hideif.el (hif-token-regexp, hif-tokenize):
27770         * lisp/progmodes/ebnf-dtd.el: (ebnf-dtd-attlistdecl)
27771         (ebnf-dtd-entitydecl, ebnf-dtd-lex):
27772         * lisp/progmodes/ebnf-ebx.el (ebnf-ebx-hex-character):
27773         * lisp/progmodes/ebnf-abn.el (ebnf-abn-character):
27774         * lisp/progmodes/cperl-mode.el (cperl-highlight-charclass)
27775         (cperl-find-pods-heres):
27776         * lisp/progmodes/cc-mode.el (c-maybe-quoted-number-head)
27777         (c-maybe-quoted-number, c-parse-quotes-before-change)
27778         (c-parse-quotes-after-change, c-quoted-number-head-before-point)
27779         (c-quoted-number-straddling-point):
27780         * lisp/progmodes/ada-mode.el (featurep, ada-in-numeric-literal-p)
27781         (ada-font-lock-keywords):
27782         * lisp/org/org-mobile.el (org-mobile-copy-agenda-files)
27783         * lisp/org/org-table.el (org-table-number-regexp):
27784         (org-mobile-update-checksum-for-capture-file):
27785         * lisp/nxml/xsd-regexp.el (xsdre-gen-categories):
27786         * lisp/nxml/xmltok.el (let*):
27787         * lisp/nxml/rng-xsd.el (rng-xsd-convert-hex-binary)
27788         (rng-xsd-convert-any-uri):
27789         * lisp/nxml/rng-uri.el (rng-uri-file-name-1)
27790         (rng-uri-unescape-multibyte, rng-uri-unescape-unibyte)
27791         (rng-uri-unescape-unibyte-match)
27792         (rng-uri-unescape-unibyte-replace):
27793         * lisp/nxml/rng-cmpct.el (rng-c-process-escapes):
27794         * lisp/nxml/nxml-maint.el (nxml-insert-target-repertoire-glyph-set):
27795         * lisp/net/shr-color.el (shr-color->hexadecimal):
27796         * lisp/mail/rfc2231.el (rfc2231-decode-encoded-string):
27797         * lisp/international/mule-cmds.el (read-char-by-name):
27798         * lisp/htmlfontify.el (hfy-hex-regex):
27799         * lisp/gnus/nneething.el (nneething-decode-file-name):
27800         * lisp/gnus/mml-sec.el (mml-secure-find-usable-keys):
27801         * lisp/gnus/gnus-art.el (gnus-button-mid-or-mail-heuristic-alist):
27802         * lisp/faces.el (read-color):
27803         * lisp/epg.el (epg--status-ERRSIG, epg--status-VALIDSIG)
27804         (epg--status-SIG_CREATED, epg--decode-percent-escape)
27805         (epg--decode-hexstring, epg--decode-quotedstring)
27806         (epg-dn-from-string):
27807         * lisp/emulation/cua-rect.el (cua-incr-rectangle):
27808         * lisp/dnd.el (dnd-unescape-uri):
27809         * lisp/cedet/semantic/lex.el (semantic-lex-number-expression):
27810         * lisp/cedet/semantic/java.el (semantic-java-number-regexp):
27811         * lisp/calc/calc-lang.el (pascal):
27812         * lisp/calc/calc-ext.el (math-read-number-fancy):
27813         * lisp/calc/calc-aent.el (math-read-token):
27814         Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
27815         (Bug#36167)
27817 2019-07-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
27819         Add HarfBuzz fallbacks for libotf functions used in ftfont_list
27821         * src/ftfont.c [!HAVE_LIBOTF && HAVE_HARFBUZZ]: Include hb-ot.h.
27822         (OTF, OTF_tag) [!HAVE_LIBOTF && HAVE_HARFBUZZ]: New typedefs.
27823         (hbotf_open, hbotf_check_features) [!HAVE_LIBOTF && HAVE_HARFBUZZ]: New
27824         functions.
27825         (OTF_open, OTF_close, OTF_check_features) [!HAVE_LIBOTF && HAVE_HARFBUZZ]:
27826         New macros.
27827         (ftfont_list) [!HAVE_LIBOTF && HAVE_HARFBUZZ]: Use them.
27829 2019-07-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
27831         Avoid crash inside CFCharacterSetIsLongCharacterMember
27833         * src/macfont.m (macfont_supports_charset_and_languages_p)
27834         (macfont_has_char): Don't pass integers outside the Unicode codespace to
27835         CFCharacterSetIsLongCharacterMember.
27837 2019-07-05  Juri Linkov  <juri@linkov.net>
27839         * lisp/replace.el (replace-highlight): Add save-match-data (bug#36328)
27841         * lisp/term/tty-colors.el (tty-color-canonicalize):
27842         Replace string-match with string-match-p.
27844         Thanks to Jayden Navarro <jayden@yugabyte.com> and Alan Mackenzie <acm@muc.de>
27846 2019-07-04  Juri Linkov  <juri@linkov.net>
27848         * lisp/minibuffer.el (minibuffer-message-properties): New variable.
27850         (minibuffer-message): Use it to propertize message unless already
27851         propertized by the caller.
27853         * lisp/simple.el (minibuffer-error-function): Propertize the error.
27855         * lisp/isearch.el (isearch-message-properties): New variable.
27856         (isearch--momentary-message, isearch-message-prefix)
27857         (isearch-message-suffix): Use it.  (Bug#21112)
27859 2019-07-04  Juri Linkov  <juri@linkov.net>
27861         * lisp/char-fold.el (char-fold-to-regexp): Implement arg LAX (bug#36398).
27863         * test/lisp/char-fold-tests.el (char-fold--test-multi-lax): New test.
27865 2019-07-04  Mattias Engdegård  <mattiase@acm.org>
27867         Optimise more inputs to `regexp-opt' (bug#36444)
27869         Use a more precise test to determine whether the input to `regexp-opt'
27870         is safe to optimise when KEEP-ORDER is non-nil, permitting more inputs
27871         to be optimised than before.  For example, ("good" "goal" "go") is now
27872         accepted.
27874         * lisp/emacs-lisp/regexp-opt.el (regexp-opt):
27875         More precise test for whether the list is safe w.r.t. KEEP-ORDER.
27876         (regexp-opt--contains-prefix): Remove.
27878         * test/lisp/emacs-lisp/regexp-opt-tests.el: Use lexical-binding.
27879         (regexp-opt-test--permutation, regexp-opt-test--factorial)
27880         (regexp-opt-test--permutations, regexp-opt-test--match-all)
27881         (regexp-opt-test--check-perm, regexp-opt-test--explain-perm)
27882         (regexp-opt-keep-order): Test KEEP-ORDER.
27884 2019-07-04  Stefan Monnier  <monnier@iro.umontreal.ca>
27886         * src/coding.c (decode_coding): Improve doc.
27888 2019-07-04  Lars Ingebrigtsen  <larsi@gnus.org>
27890         In Message, respect Content-Type provided by the user
27892         * lisp/gnus/mml.el (mml-parse-1): Respect any Content-Type
27893         inserted by the user instead of insisting on text/plain.
27895 2019-07-04  Alan Mackenzie  <acm@muc.de>
27897         Fix an infinite loop in c-end-of-macro.  Should fix bug #36484
27899         Also fix two faulty regexps, save-match-data, and check c-major-mode-is
27900         'c++-mode where needed.
27902         * lisp/progmodes/cc-langs.el (c-last-c-comment-end-on-line-re)
27903         (c-last-open-c-comment-start-on-line-re): Handle repeated *s in regexp
27904         correctly.
27906         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Protect
27907         the match-data with save-match-data around regexp operations.
27908         (c-end-of-macro): In the loop handling multiline block comments, check a
27909         comment actually is multiline.
27911         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Only call
27912         c-depropertize-raw-strings-in-region in C++ Mode.
27914 2019-07-03  João Távora  <joaotavora@gmail.com>
27916         Fix Flymake's user-visible accessors of diagnostic positions
27918         Diagnostics are supported by overlays, and they can legitimately move
27919         around.  So flymake-diagnostic-beg and flymake-diagnostic-end must
27920         look up the overlay positions, not the immutable slots of the
27921         flymake--diag structure, which become stale.
27923         * lisp/progmodes/flymake.el (version): Bump to 1.0.8.
27924         (flymake-diagnostic-beg, flymake-diagnostic-end): Use diag's
27925         overlay.
27926         (flymake-show-diagnostic): Use flymake-diagnostic-end,
27927         flymake-diagnostic-beg.
27929 2019-07-03  João Távora  <joaotavora@gmail.com>
27931         Fix Flymake's treatment of region-specific reports
27933         We're supposed to delete intersecting diagnostics in that situation,
27934         but the intersection logic was way off.
27936         * lisp/progmodes/flymake.el (version): Bump to 1.0.7.
27937         (flymake--intersects-p): New helper.
27938         (flymake--handle-report): Fix handling of :region.
27940 2019-07-03  Eric Abrahamsen  <eric@ericabrahamsen.net>
27942         Small fix to writing Gnus dribble change-level entries
27944         * lisp/gnus/gnus-start.el (gnus-group-change-level): PREVIOUS needs to
27945           still be a string when the dribble entry is written, so don't
27946           convert it to an entry until after that's done. Also, we're not
27947           meant to write PREVIOUS itself, we're meant to write the group that
27948           comes _after_ it in the sort-order of gnus-group-list, so do that
27949           instead.
27951 2019-07-03  Stefan Kangas  <stefankangas@gmail.com>
27953         Add tests for bookmark.el (Bug#36452)
27955         * test/lisp/bookmark-resources/example.txt:
27956         * test/lisp/bookmark-resources/test.bmk:
27957         * test/lisp/bookmark-tests.el: New files.
27958         * lisp/bookmark.el: Minor cleanups.
27959         (bookmark-insert-annotation): Signal error on invalid bookmark.
27960         (bookmark-write-file): Add newline at end of file.
27962 2019-07-03  Eli Zaretskii  <eliz@gnu.org>
27964         Fix rotation validity test in image.c
27966         * src/image.c (compute_image_rotation): Fix the validity test
27967         for :rotation values.  This avoids logging error messages when
27968         no :rotation was provided in the image spec.
27970 2019-07-03  Eli Zaretskii  <eliz@gnu.org>
27972         Fix compiler warnings due to a recent commit
27974         * src/xdisp.c (expose_window, expose_frame): Avoid compilation
27975         warnings about printing unsigned values with %d.
27977 2019-07-03  Michael Albinus  <michael.albinus@gmx.de>
27979         Change expected result of a flymake test on emba
27981         * test/lisp/progmodes/flymake-tests.el (different-diagnostic-types):
27982         Test is now passing on emba.gnu.org, too.
27984 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
27986         Replace TRACE with redisplay_trace, etc.
27988         This simplifies callers and catches trace printf format errors
27989         even with typical (non-debugging) compiles.
27990         * src/dispextern.h (TRACE) [GLYPH_DEBUG]:
27991         Move definitions to xdisp.c if it’s used only there.
27992         * src/xdisp.c (redisplay_trace): New function, replacing TRACE macro.
27993         (move_trace): New function, replacing TRACE_MOVE macro.
27994         All uses changed.
27995         (dump_glyph): When tracing, don’t use %d to format ptrdiff_t,
27996         or %x to format a pointer.
27997         (expose_frame): Redo trace printfs to avoid interleaved output
27998         on GNU/Linux.
28000 2019-07-02  Glenn Morris  <rgm@gnu.org>
28002         Change expected result of a flymake test on hydra
28004         * test/lisp/progmodes/flymake-tests.el (different-diagnostic-types):
28005         Test is now passing on hydra.nixos.org, since today.
28007 2019-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
28009         * src/json.c (Fjson_insert): Don't temporarily insert invalid bytes in buffer
28011 2019-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
28013         (Finsert_file_contents): Keep buffer consistent in non-local exit
28015         * src/fileio.c (decide_coding_unwind): Delete function.
28016         (Finsert_file_contents): Don't let invalid multibyte byte sequences
28017         escape when we exit non-locally.
28019         * test/src/fileio-tests.el (fileio-tests--insert-file-interrupt): New test.
28021 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
28023         Fix printf formats when DEBUG_TRACE_MOVE
28025         Problem caught by gcc -DDEBUG_TRACE_MOVE -Wformat.
28026         * src/xdisp.c (move_it_in_display_line_to, move_it_to)
28027         (move_it_vertically) [DEBUG_TRACE_MOVE]: Fix printf format typos.
28029 2019-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
28031         * src/insdel.c (insert_from_gap_1): New fun, extracted from insert_from_gap.
28033         (insert_from_gap): Use it.
28034         * src/lisp.h (insert_from_gap_1): Declare it.
28035         * src/json.c (Fjson_insert):
28036         * src/fileio.c (Finsert_file_contents): Use it.
28038 2019-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
28040         * src/coding.c (decode_coding_gap): Remove `chars` argument.
28042         * src/json.c (Fjson_insert):
28043         * src/fileio.c (Finsert_file_contents):
28044         * src/coding.h (decode_coding_gap): Adjust accordingly.
28046 2019-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
28048         * test/src/editfns-tests.el (test-group-name): Accept nil group-name.
28050 2019-07-02  Andreas Schwab  <schwab@linux-m68k.org>
28052         Correct customize type for gnus-group-customize
28054         * lisp/gnus/gnus-cus.el (gnus-extra-group-parameters): Add more
28055         group parameters used by nnimap.
28057 2019-07-02  João Távora  <joaotavora@gmail.com>
28059         Correctly reindent previous line in electric-indent-mode
28061         (Bug#35254)
28063         Do this even when electric-indent-inhibit is t, except when the
28064         newline insertion is being performed by electric-layout-mode.
28066         * lisp/electric.el (electric-indent-post-self-insert-function):
28067         Reindent previous line unless operating under
28068         electric-layout-mode.
28069         (electric-layout-post-self-insert-function-1): Bind
28070         electric-indent-inhibit to 'electric-layout-mode.
28072         * test/lisp/electric-tests.el
28073         (electric-layout-control-reindentation): New test.
28075 2019-07-02  João Távora  <joaotavora@gmail.com>
28077         Protect Flymake from being corrupted by backends
28079         A backend building a diagnostic with a nil :type would cause Flymake
28080         to create a diagnostic without an overlay, confusing Flymake's
28081         accounting of overlays and diagnostics
28083         * lisp/progmodes/flymake.el (flymake--highlight-line): Return
28084         non-nil unconditionally.
28086 2019-07-02  João Távora  <joaotavora@gmail.com>
28088         More carefully cleanup Flymake C/C++ backend's temp buffers
28090         Sometimes the Flymake process dies by some means that doesn't involve
28091         a sentinel call for the "exit" status, so we clean up the temporary
28092         buffer as soon as we notice it's not process-alive-p anymore.
28094         * lisp/progmodes/flymake-cc.el (flymake-cc): Broaden cleanup
28095         conditions.
28097 2019-07-02  João Távora  <joaotavora@gmail.com>
28099         Don't create nil-severity diagnostics in the Flymake C/C++ backend
28101         * lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics): Use
28102         `:error` as a diagnostic severity.
28104 2019-07-02  João Távora  <joaotavora@gmail.com>
28106         Revert "Avoid occasional confusion of Flymake C/C++ backend"
28108         This reverts commit 67c3a3af1d9e2582193d5ea33b6c190e79ad56e6, which
28109         creates more problems than it solves.
28111 2019-07-02  Alan Mackenzie  <acm@muc.de>
28113         CC Mode: Improve handling of unbalanced strings
28115         * lisp/progmodes/cc-fonts.el (c-before-font-lock-functions): Add function
28116         c-after-change-escape-NL-in-string into value for most languages.
28118         * lisp/progmodes/cc-mode.el (c-after-change-escape-NL-in-string): New
28119         function.
28120         (c-before-change-check-unbalanced-strings): Handle the making and breaking of
28121         escaped newlines, by removal or addition of text.
28123 2019-07-02  Mattias Engdegård  <mattiase@acm.org>
28125         Better error message for C-h P RET
28127         Previously:
28128           package--incompatible-p: Wrong type argument: package-desc, nil
28129         Now:
28130           No package specified
28132         * lisp/emacs-lisp/package.el (describe-package): Don't use ## as input.
28134 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
28136         Fix performDragOperation: diagnostic typo
28138         * src/nsterm.m (performDragOperation:): Fix missing newline.
28140 2019-07-01  Paul Eggert  <eggert@cs.ucla.edu>
28142         Fix regex-emacs debug format glitches
28144         These patches affect behavior only if REGEX_EMACS_DEBUG.
28145         * src/regex-emacs.c (debug_putchar): Use unsigned for %x.
28146         (print_compiled_pattern, ENSURE_FAIL_STACK, PUSH_FAILURE_POINT)
28147         (POP_FAILURE_POINT): Use %td for ptrdiff_t.
28148         (print_compiled_pattern, regex_compile, re_match_2_internal):
28149         Put newlines at ends of lines, not at starts of next lines.
28150         Omit white space at line ends.
28152 2019-07-01  Michael Albinus  <michael.albinus@gmx.de>
28154         Minor changes in tramp.texi
28156         * doc/misc/tramp.texi (Obtaining Tramp): Mention file INSTALL.
28157         (Cleanup remote connections): The session timer is also deleted.
28159 2019-07-01  Eli Zaretskii  <eliz@gnu.org>
28161         More XFIXNUM fixes
28163         * src/hbfont.c (hbfont_shape): Don't assume LGLYPH_TO is
28164         always a fixnum.
28165         * src/fontset.c (fontset_find_font): A cleaner test for
28166         matching charset_id.
28168 2019-07-01  Eli Zaretskii  <eliz@gnu.org>
28170         Fix assertion violations in fontset_find_font
28172         * src/fontset.c (fontset_find_font): Don't assume REPERTORY
28173         must be a fixnum.
28175 2019-07-01  Eli Zaretskii  <eliz@gnu.org>
28177         Adjust return value of image-transforms-p
28179         * src/image.c (Fimage_transforms_p):
28180         * doc/lispref/display.texi (Image Descriptors):
28181         image-transforms-p now returns at most (scale rotate90), even
28182         if ImageMagick is available.
28184 2019-07-01  Sam Steingold  <sds@gnu.org>
28186         Extract gnus-collect-urls from gnus-summary-browse-url
28188         * lisp/gnus/gnus-sum.el (gnus-collect-urls): Extract from ...
28189         (gnus-summary-browse-url): Use it here.
28190         Extracting URLs from an article will be useful in BBDB interaction.
28192 2019-07-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
28194         Implement the otf_capability method for HarfBuzz
28196         * src/hbfont.c: Include hb-ot.h.
28197         [HAVE_NTGUI]: Add DEF_DLL_FN and #define for hb_tag_to_string,
28198         hb_font_get_face, hb_ot_layout_table_get_script_tags,
28199         hb_ot_layout_table_get_feature_tags, hb_ot_layout_script_get_language_tags,
28200         and hb_ot_layout_language_get_feature_tags.
28201         (hbfont_init_w32_funcs) [HAVE_NTGUI]: Add LOAD_DLL_FN for them.
28202         (hbfont_otf_features, hbfont_otf_capability): New functions.
28204         * src/font.h (hbfont_otf_capability) [HAVE_HARFBUZZ]: Add extern.
28206         * src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]:
28207         * src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]:
28208         * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper) [HAVE_HARFBUZZ]:
28209         * src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Populate
28210         otf_capability method with hbfont_otf_capability.
28212 2019-06-30  Paul Eggert  <eggert@cs.ucla.edu>
28214         Remove divide_double
28216         * src/image.c (divide_double): Remove.  All uses replaced
28217         with inline equivalents.  Suggested by Eli Zaretskii in:
28218         https://lists.gnu.org/r/emacs-devel/2019-06/msg01067.html
28220 2019-06-30  Alan Mackenzie  <acm@muc.de>
28222         C++ Mode: change the default doc comment style from nothing to gtkdoc
28224         Also amend a pertinent regular expression.  This fixes bug #11865.
28226         * lisp/progmodes/cc-vars.el (c-doc-comment-style): Insert an entry for
28227         c++-mode, namely gtkdoc.
28229         * lisp/progmodes/cc-fonts.el (gtkdoc-font-lock-keywords): Amend the regexp
28230         recognizing the introductory "/**" to allow subsequent characters on that
28231         line.
28233 2019-06-30  Michael Albinus  <michael.albinus@gmx.de>
28235         Release Tramp 2.4.2
28237         * lisp/net/tramp.el: Bump version.
28239         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
28240         Add `add-name-to-file' error message.
28241         (tramp--test-ignore-add-name-to-file-error): Make error handler
28242         more explicit about the error.
28244 2019-06-30  Andreas Schwab  <schwab@linux-m68k.org>
28246         Doc fix
28248         * doc/emacs/display.texi (Displaying Boundaries): Document
28249         display-fill-column-indicator-character, not
28250         display-fill-column-indicator-char.
28252 2019-06-30  Andreas Schwab  <schwab@linux-m68k.org>
28254         Fix use of undefined macro
28256         * src/xdisp.c (append_space_for_newline): Use FRAME_FONT only
28257         inside HAVE_WINDOW_SYSTEM.
28258         (extend_face_to_end_of_line): Likewise.
28259         (syms_of_xdisp): Doc fix.
28261 2019-06-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
28263         Fix negation in elements of OTF feature list
28265         * src/ftfont.c (ftfont_get_open_type_spec):
28266         * src/macfont.m (macfont_get_open_type_spec): Take bitwise or instead of and.
28268 2019-06-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
28270         Fix error in mouse-set-font on GTK 3 with Harfbuzz (Bug#36288)
28272         * src/gtkutil.c (xg_get_font) [HAVE_GTK3]: Remove type property from font
28273         spec.  This effectively undoes the fix for Bug#3228, but gives consistent
28274         results overall.
28276 2019-06-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
28278         * src/xfns.c (x_create_tip_frame): Support inhibit-double-buffering.
28280         * src/xfns.c (Fx_show_tip): Call flush_frame.  (Bug#34819)
28282 2019-06-29  Paul Eggert  <eggert@cs.ucla.edu>
28284         Pacify gcc and other image rotation tweaks
28286         * src/image.c: No need to include <float.h> as lisp.h does that.
28287         (matrix3x3_copy): Remove; no longer needed.
28288         (divide_double): New function, to avoid undefined behavior
28289         when dividing by zero on non-IEEE hosts.
28290         (image_set_transform): Simplify transformation computation
28291         by avoiding the need to copy a matrix.  Pacify
28292         gcc 9 -Wdouble-promotion and -Wmaybe-uninitialized.
28293         Avoid unnecessary assignment of width and height.
28294         Improve error reporting for unsupported native image rotation.
28296 2019-06-29  Ken Brown  <kbrown@cornell.edu>
28298         Simplify workaround for Cygwin O_PATH bug
28300         Suggested by Paul Eggert (Bug#36405#22).
28301         * configure.ac (HAVE_CYGWIN_O_PATH_BUG): New AC_DEFINE, for Cygwin
28302         versions 3.0.0 through 3.0.7.
28303         * src/dired.c (O_PATH) [__CYGWIN__]: Remove #undef.
28304         (file_attributes) [HAVE_CYGWIN_O_PATH_BUG]: Don't use O_PATH.
28306 2019-06-29  Eli Zaretskii  <eliz@gnu.org>
28308         Support native image transforms on MS-Windows
28310         This changeset also rearranges native image transform code
28311         for other platforms to make it cleaner, and also removes
28312         the support for native cropping.  For the discussions, see
28313         https://lists.gnu.org/archive/html/emacs-devel/2019-06/msg00242.html
28315         * src/w32term.c (w32_image_rotations_p, transform): New functions.
28316         (w32_draw_image_foreground): If image rotation is requested
28317         and supported, call PlgBlt to transform the image.
28318         (w32_initialize): Populate the PlgBlt function pointer if it
28319         is supported.
28320         * src/w32term.h (w32_image_rotations_p): Add prototype.
28321         * src/dispextern.h (struct image) [HAVE_NTGUI]: New member xform.
28322         * src/image.c (compute_image_rotation): Renamed from
28323         image_set_rotation.  Only compute and returns the rotation
28324         angle; leave the matrix calculation for later.  Log an error
28325         message if the :rotation parameter is not a number.
28326         (image_set_crop): Function deleted.  We no longer support
28327         native cropping, as one can display an image slice instead.
28328         (image_set_transform): Compute the transform matrix in its
28329         entirety here, in two variants: one for XRender and Cairo, the
28330         other for NS and MS-Windows.  call compute_image_size and
28331         compute_image_rotation internally.
28332         (lookup_image) [HAVE_NATIVE_TRANSFORMS]: Call only
28333         image_set_transform.  No need to pass the transform matrix to
28334         image_set_transform.
28335         (Fimage_transforms_p): Return a list of transform capabilities
28336         rather than a simple boolean.  Support TTY frames as well.
28337         * src/nsimage.m (setTransform:): Don't invert the matrix, as
28338         it is already inverted in image.c.
28340         * test/manual/image-transforms-tests.el (test-cropping): State
28341         in the text that only ImageMagick supports cropping.
28343         * doc/lispref/display.texi (Image Descriptors): Update the
28344         documentation of native image transforms.
28345         (ImageMagick Images): Move the description of ':crop' here.
28347         * etc/NEWS: Minor copyedits of the feature announcement.
28349 2019-06-29  Shuguang Sun  <shuguang79@qq.com>
28351         Fix recent change in Tramp
28353         * lisp/net/tramp-adb.el:
28354         * lisp/net/tramp-archive.el:
28355         * lisp/net/tramp-integration.el: Remove superfluous `progn' in
28356         `with-eval-after-load'.
28358 2019-06-29  Lars Ingebrigtsen  <larsi@gnus.org>
28360         Cosmetic fix-up of message-forward-included-headers
28362         * lisp/gnus/message.el (message-forward-included-headers): Use
28363         consistent capitalization in the regexps.
28365 2019-06-29  Eli Zaretskii  <eliz@gnu.org>
28367         Fix display of fringe bitmaps for tooltips in echo area
28369         * src/xdisp.c (display_line): Force redrawing of fringe
28370         bitmaps when redisplaying a minibuffer window with
28371         truncate-lines set to a non-nil value.  (Bug#36308)
28373 2019-06-29  Mattias Engdegård  <mattiase@acm.org>
28375         Allow empty argument to `regexp-opt-charset'
28377         * test/lisp/emacs-lisp/regexp-opt-tests.el (regexp-opt-charset):
28378         Handle nil argument, and use regexp-quote for singletons.
28379         * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Expand tests.
28381 2019-06-28  Paul Eggert  <eggert@cs.ucla.edu>
28383         Revert O_PATH change to fileio.c
28385         Ken Brown pointed out it wasn’t needed (Bug#36405#16):
28386         * src/fileio.c (O_PATH) [__CYGWIN__]: Remove #undef.
28388 2019-06-28  Andreas Schwab  <schwab@linux-m68k.org>
28390         * test/src/json-tests.el (json-serialize/object): Fix spacing.
28392 2019-06-28  Pip Cet  <pipcet@gmail.com>
28394         Fix json-serialize/object test failure
28396         * test/src/json-tests.el (json-serialize/object):
28397         Accept failure with different code.
28399 2019-06-28  Mattias Engdegård  <mattiase@acm.org>
28401         Strength-reduce `equal', `eql', `member' and `memql'
28403         When comparing against symbols, turn `equal' and `eql' into `eq',
28404         and `member' and `memql' into `memq'.
28406         * lisp/emacs-lisp/byte-opt.el (byte-optimize--constant-symbol-p)
28407         (byte-optimize-equal, byte-optimize-member): New.
28408         (member, memql, equal, eql): Use new byte-optimizers.
28410 2019-06-28  Stefan Kangas  <stefankangas@gmail.com>
28412         Document bookmark annotations in Emacs Manual (bug#36417)
28414         * doc/emacs/regs.texi (Bookmarks): Document annotations.
28415         * lisp/bookmark.el (bookmark-use-annotations): Clarify docstring.
28417 2019-06-28  Mattias Engdegård  <mattiase@acm.org>
28419         Correct regexp matching of raw bytes
28421         Make regexp matching of raw bytes work in all combination of unibyte
28422         and multibyte patterns and targets, as exact strings and in character
28423         alternatives (bug#3687).
28425         * src/regex-emacs.c (analyze_first):
28426         Include raw byte in fastmap when pattern is a multibyte exact string.
28427         Include leading byte in fastmap for raw bytes in character alternatives.
28428         (re_match_2_internal):
28429         Decrement the byte count by the number of bytes in the pattern character,
28430         not 1.
28431         * test/src/regex-emacs-tests.el (regexp-unibyte-unibyte)
28432         (regexp-multibyte-unibyte, regexp-unibyte-mutibyte)
28433         (regexp-multibyte-multibyte): New tests.
28435 2019-06-28  Michael Albinus  <michael.albinus@gmx.de>
28437         Tramp requires Emacs 24.4
28439         * doc/misc/tramp.texi (Frequently Asked Questions):
28440         Use `with-eval-after-load'. in example.
28442         * doc/misc/trampver.texi: Set variable emacsver.
28444         * lisp/net/tramp.el (tramp-send-string, tramp-call-process)
28445         (tramp-call-process-region, tramp-process-lines):
28446         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
28447         (tramp-adb-sh-fix-ls-output, tramp-adb-maybe-open-connection):
28448         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-directory-attributes)
28449         (tramp-gvfs-handle-file-notify-add-watch)
28450         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
28451         (tramp-do-copy-or-rename-file-out-of-band)
28452         (tramp-sh-handle-file-notify-add-watch, tramp-find-executable)
28453         (tramp-set-remote-path)
28454         (tramp-open-connection-setup-interactive-shell)
28455         (tramp-maybe-open-connection, tramp-send-command):
28456         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
28457         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
28458         (tramp-smb-handle-set-file-acl)
28459         (tramp-smb-handle-start-file-process)
28460         (tramp-smb-maybe-open-connection):
28461         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-acl):
28462         (tramp-sudoedit-send-command): Use `string-join' and `string-empty-p'.
28464         * lisp/net/tramp-adb.el:
28465         * lisp/net/tramp-archive.el:
28466         * lisp/net/tramp-integration.el:
28467         * lisp/net/tramp-ftp.el: Use `with-eval-after-load'.
28469         * lisp/net/tramp-cmds.el (tramp-cleanup-connection)
28470         (tramp-cleanup-all-connections): Cancel timer.
28472         * lisp/net/tramp-compat.el (subr-x): Require.
28473         (default-toplevel-value): Don't make it a defalias.
28475         * lisp/net/tramp-gvfs.el: Use `dbus-event-error-functions'.  Do
28476         not special handle `split-string'.
28478         * lisp/net/tramp.el: Require Emacs 24.4.
28479         (tramp-password-prompt-regexp): Use `password-word-equivalents'.
28480         (tramp-user-error): Use `user-error'.
28481         (tramp-replace-environment-variables): Use `substitute-env-vars'.
28482         (tramp-wait-for-regexp): Rearrange `with-current-buffer' call.
28483         (tramp-get-local-gid): Use `group-gid'.
28485         * lisp/net/trampver.el: Check for Emacs 24.4.
28487         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
28488         (tramp-test02-file-name-dissect-simplified)
28489         (tramp-test02-file-name-dissect-separate)
28490         (tramp-test03-file-name-host-rules)
28491         (tramp-test03-file-name-method-rules): Don't check for `user-error'.
28493 2019-06-28  Lars Ingebrigtsen  <larsi@gnus.org>
28495         Doc fix for Gnus "very wide" reply commands
28497         * lisp/gnus/gnus-msg.el (gnus-summary-very-wide-reply-with-original)
28498         (gnus-summary-very-wide-reply): Clarify what a "very wide reply" is.
28500 2019-06-28  Lars Ingebrigtsen  <larsi@gnus.org>
28502         Revert "Fontify _emphasis_ in info nodes"
28504         This reverts commit 72963b4e82eef5767e3172f28bd9bd97f487c98a.
28506         The change incorrectly fontified whole sentences as emphasis.
28508 2019-06-28  Lars Ingebrigtsen  <larsi@gnus.org>
28510         Include To and Cc headers when forwarding with Message
28512         * lisp/gnus/message.el (message-forward-included-headers): Include
28513         more of the important headers when forwarded: To and Cc.
28515 2019-06-28  Michael Albinus  <michael.albinus@gmx.de>
28517         * lisp/gnus/gnus-art.el (gnus-article-stop-animations):
28519         Use `cancel-function-timers'.
28521 2019-06-28  Mattias Engdegård  <mattiase@acm.org>
28523         More readable regexp debug output
28525         * src/regex-emacs.c (debug_putchar): New.
28526         (print_fastmap, print_partial_compiled_pattern, print_double_string)
28527         (regex_compile): Use debug_putchar.
28528         (re_match_2_internal): Add newline.
28530 2019-06-28  Mattias Engdegård  <mattiase@acm.org>
28532         Consistently use stderr for debug output in regexp code
28534         * src/regex-emacs.c (DEBUG_PRINT, print_fastmap, print_compiled_pattern)
28535         (print_double_string, regex_compile): Print to stderr instead of stdout.
28537 2019-06-28  Lars Ingebrigtsen  <larsi@gnus.org>
28539         Don't inhibit quit in Gnus when prefetching articles
28541         * lisp/gnus/gnus-async.el (gnus-async-prefetch-next): Don't
28542         inhibit quit when running `gnus-async-prefetch-article'.
28544 2019-06-27  Alex Branham  <alex.branham@gmail.com>
28546         * lisp/simple.el (undo): Make message less enthusiastic
28548 2019-06-27  Ola Nilsson  <ola.nilsson@gmail.com>
28550         Allow underscore in defun-prompt-regex names for sh-script
28552         * lisp/progmodes/sh-script.el (defun-prompt-regexp):
28553         Allow underscore in function names.
28555 2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>
28557         Improve ‘equal’ and array doc
28559         * doc/lispref/objects.texi (Array Type): Array sizes are
28560         nonnegative fixnums, not arbitrary integers.
28561         (Equality Predicates): Do not say that ‘eq’ equals ‘=’ on bignums.
28562         Do not imply that ‘equal’ must signal an error on circular lists.
28564 2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>
28566         * src/xfaces.c (resolve_face_name): Simplify.
28568 2019-06-27  Pip Cet  <pipcet@gmail.com>
28570         Remove unnecessary tortoise checks.
28572         * src/fns.c (Fplist_get, Fplist_put, Flax_plist_get)
28573         (Flax_plist_put, Fplist_member): Remove unnecessary check.
28574         * src/json.c (lisp_to_json_toplevel_1): Remove unnecessary check.
28576 2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>
28578         Work around Cygwin bug with O_PATH
28580         Problem reported by Ken Brown (Bug#36405).
28581         * src/dired.c, src/fileio.c (O_PATH) [__CYGWIN__]: Undef.
28583 2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>
28585         Omit a few minor unnecessary range checks
28587         Based on Pip Cet’s review (Bug#36370#19).
28588         * src/fileio.c (Fdo_auto_save):
28589         * src/image.c (lookup_image):
28590         * src/textprop.c (Fnext_single_char_property_change):
28591         Prefer XFIXNUM to XFIXNAT for clarity and consistency with
28592         neighboring code, and to avoid unnecessary range checks.
28593         * src/image.c (lookup_image): Omit unnecessary range checks.
28595 2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>
28597         Improve XFIXNUM cleanup a bit
28599         Based on Pip Cet’s review (Bug#36370#13).
28600         * src/ccl.c (Fccl_execute_on_string): Use clearer indexing.
28601         * src/dosfns.c (Fint86, Fdos_memput):
28602         Avoid runtime checks for negative fixnums when debugging.
28603         This restores the earlier machine code.
28604         * src/lisp.h (XFIXNUM, XUFIXNUM): Use eassert, not eassume.
28605         (XFIXNAT): At the start, merely eassert FIXNUMP rather
28606         than eassuming FIXNATP.  At the end, eassume that the
28607         result is nonnegative.  This restores help to the compiler
28608         that the previous patch mistakenly removed.
28610 2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>
28612         Clean up use of XFIXNUM etc.
28614         A few bits of the code were relying on the fact that XFIXNUM,
28615         XFIXNAT, and XUFIXNUM do something even with arguments that
28616         are not fixnums/fixnats.  Separate these rare uses out into
28617         XFIXNUM_RAW and XUFIXNUM_RAW.
28618         Problem and original patch reported by Pip Cet (Bug#36370).
28619         * src/ccl.c (Fccl_execute_on_string):
28620         * src/fileio.c (Finsert_file_contents, a_write)
28621         (Fdo_auto_save):
28622         * src/process.c (conv_lisp_to_sockaddr):
28623         * src/textprop.c (Fnext_single_char_property_change)
28624         (Fprevious_single_char_property_change)
28625         (Fnext_property_change, Fnext_single_property_change)
28626         (Fprevious_property_change)
28627         (Fprevious_single_property_change):
28628         Don’t assume fixnums are nonnegative.
28629         * src/ccl.c (Fccl_execute_on_string):
28630         Fix range-checking bug if AREF (status, i) is out of int range.
28631         * src/data.c (arith_driver): Use XFIXNUM_RAW as we want
28632         efficient garbage if the value is not a fixnum.
28633         * src/dosfns.c (Fint86, Fdos_memput):
28634         Check that args are nonnegative.
28635         * src/image.c (lookup_image): Check that args are in range.
28636         * src/lisp.h (lisp_h_XHASH): Use XUFIXNUM_RAW, since this
28637         is for hashing.
28638         (lisp_h_XFIXNAT, XFIXNAT) [USE_LSB_TAG]: Remove macros.
28639         (lisp_h_XFIXNUM_RAW, XFIXNUM_RAW) [USE_LSB_TAG]: New macros, with
28640         the semantics of the old macros without _RAW.
28641         (XFIXNUM_RAW, XUFIXNUM_RAW): New inline functions, with the
28642         semantics of the old functions without _RAW.
28643         (FIXNUMP): Move definition up to avoid forward use.
28644         (XFIXNUM, XFIXNAT, XUFIXNUM): Use eassume to add a runtime
28645         check (when debugging) that the argument has the proper form.
28646         (XFIXNUM, XFIXNAT): Now inline functions only, since they
28647         refer to their arguments more than once now that they use eassume.
28648         * src/textprop.c (Fprevious_single_char_property_change):
28649         Avoid fixnum overflow with invalid input.
28650         (set_text_properties): Fix unlikely failure
28651         to validate arguments, by using EQ instead of XFIXNAT.
28652         * src/w32term.c (w32_draw_glyph_string):
28653         * src/xterm.c (x_draw_glyph_string):
28654         Treat negative minimums as 0 rather than as garbage patterns.
28656 2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>
28658         Catch duplicate keywords in image specs
28660         * src/image.c (struct image_keyword.count): Now bool, not int,
28661         since it is either 0 or 1.
28662         (parse_image_spec, xpm_image_p): Use bool for boolean.
28663         (parse_image_spec): Fix a bug introduced in
28664         2011-09-21T17:41:20!eggert@cs.ucla.edu that reported only
28665         triplicate (or more) keywords, not duplicates.
28667 2019-06-27  Lars Ingebrigtsen  <larsi@gnus.org>
28669         Mention the new emacsclient -a/--eval behaviour
28671 2019-06-27  Lars Ingebrigtsen  <larsi@gnus.org>
28673         emacsclient: ignore --eval parameters when starting alternate editor
28675         * lib-src/emacsclient.c (fail): If the user said --eval, don't
28676         pass those arguments to the alternate editor as file names.
28677         Suggested by a patch from Scott Turner (bug#11474).
28679 2019-06-27  Vasilij Schneidermann  <v.schneidermann@gmail.com>
28681         Allow for retrieving profiler logs after stopping
28683         * lisp/profiler.el (profiler-cpu-log, profiler-memory-log): New
28684         variables.
28685         (profiler-cpu-profile): Work even if the profiler is no longer
28686         running (bug#22114).
28687         (profiler-memory-profile): Ditto.
28688         (profiler-stop): Save the data.
28689         (profiler-reset): Clear the saved data.
28690         (profiler-report-cpu, profiler-report-memory): Report on the saved
28691         data.
28692         (profiler-report): Save the data here, too.
28694 2019-06-27  Dan Nicolaescu  <dann@ics.uci.edu>
28696         Include the date in the bzr annotation buffer
28698         * lisp/vc/vc-bzr.el (vc-bzr-annotate-command)
28699         (vc-bzr-annotate-time)
28700         (vc-bzr-annotate-extract-revision-at-line): Include a date in the
28701         bzr annotation buffer (bug#5428).
28703 2019-06-27  Stefan Kangas  <stefankangas@gmail.com>
28705         Add new ispell-change-dictionary-hook (Bug#1110)
28707         * lisp/textmodes/ispell.el (ispell-change-dictionary-hook): New hook.
28708         (ispell-change-dictionary): Call new hook (bug#1110).
28710 2019-06-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
28712         Add a new regexp variable to control boring winner buffers
28714         * doc/emacs/windows.texi (Window Convenience): Mention it.
28716         * lisp/winner.el (winner-boring-buffers-regexp): New variable.
28718         * lisp/winner.el (winner-set): Use it (bug#11151).
28720 2019-06-27  Ken Brown  <kbrown@cornell.edu>
28722         Fix invoking Emacs via a symlink on Cygwin
28724         * src/emacs.c (load_pdump) [CYGWIN]: Strip ".exe" suffix.
28726 2019-06-27  Lennart Borgman  <lennart.borgman@gmail.com>
28728         Add more fontification to regexp builder mode
28730         * lisp/emacs-lisp/re-builder.el (reb-copy): Work in the presence
28731         of newlines in the regexps.
28732         (reb-change-syntax): Use a dedicated history variable.
28733         (reb-fontify-string-re): Fontify sub-matches.
28734         (reb-regexp-grouping-backslash, reb-regexp-grouping-construct):
28735         New faces.
28736         (reb-string-font-lock-keywords): New variable.
28737         (reb-mark-non-matching-parenthesis): Match parenthesis.
28738         (reb-restart-font-lock): New function.
28740         * lisp/emacs-lisp/re-builder.el (reb-mode-map): Add divider some
28741         dividers (bug#6347).
28743 2019-06-27  Lars Ingebrigtsen  <larsi@gnus.org>
28745         Rename displayor to displayer in CEDET
28747         * doc/misc/sem-user.texi (Idle Completions Mode): Rename
28748         displayor->displayer throughout.
28749         (Idle Completions Mode): Ditto.
28751         * lisp/cedet/semantic/complete.el: Rename displayor->displayer
28752         throughout and add aliases for all the methods that used that name.
28754 2019-06-27  Dmitry Gutov  <dgutov@yandex.ru>
28756         Use `default-indent-new-line' instead of `indent-new-comment-line'
28758         * lisp/simple.el (default-indent-new-line): Doc string fix.
28760         * lisp/textmodes/refill.el (refill-post-command-function): Make
28761         default-indent-new-line work as indent-new-comment-line.
28763         * lisp/textmodes/refill.el (refill-post-command-function): Bind
28764         `M-C-j' and `M-j' to default-indent-new-line instead of
28765         indent-new-comment-line to allow overriding via
28766         `comment-line-break-function' (bug#12413).
28768 2019-06-27  Lars Ingebrigtsen  <larsi@gnus.org>
28770         Revert "Apply font-lock in hexl-mode buffers"
28772         This reverts commit 573de396f03684efa89ead24a371b0f4c9bf8d5d.
28774         The change wasn't necessary -- the hexl-mode buffer is automatically fontified.
28776 2019-06-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
28778         Allow generating wiki and mediawiki tables
28780         * lisp/textmodes/table.el (table--generate-source-prologue)
28781         (table--generate-source-epilogue)
28782         (table--generate-source-scan-rows)
28783         (table--generate-source-cells-in-a-row): Insert the wiki/mediawiki
28784         separators.
28786         * lisp/textmodes/table.el (table-source-languages): Add support
28787         for wiki and mediawiki tables (bug#13287).
28789         2019-06-27  Lars Ingebrigtsen  <larsi@gnus.org>
28791                 * doc/emacs/text.texi (Table Misc): Mention the new wiki and
28792                 mediawiki formats.
28794 2019-06-27  Wilfred Hughes  <me@wilfred.me.uk>
28796         Apply font-lock in hexl-mode buffers
28798         * lisp/hexl.el (hexl-mode): After setting font-lock-defaults, we
28799         need to call `font-lock-ensure' to apply hexl-mode faces
28800         (bug#24645).
28802 2019-06-27  Juanma Barranquero  <lekktu@gmail.com>
28804         Add :local specifier to defcustom
28806         * lisp/custom.el (custom-declare-variable): Allow the new :local
28807         parameter (bug#14591).
28808         (defcustom): Document it.
28810 2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>
28812         Tweak ‘error’ and ‘user-error’ doc strings
28814         * lisp/net/tramp.el (tramp-user-error):
28815         * lisp/subr.el (user-error):
28816         Say that user errors are sometimes called pilot errors.
28817         * lisp/subr.el (error, user-error):
28818         Reorder wording to discuss mechanism first, then formatting advice,
28819         rather than going back and forth between the two topics.
28820         Tighten up the wording a bit.
28822 2019-06-27  Stefan Kangas  <stefankangas@gmail.com>
28824         Clarify error and user-error docstrings
28826         * lisp/subr.el (error, user-error)
28827         * lisp/net/tramp.el (tramp-user-error): Change "pilot error" to "user
28828         error" and improve documentation.
28830 2019-06-26  Basil L. Contovounesios  <contovob@tcd.ie>
28832         Remove gnus-bug from report-emacs-bug TODO entry
28834         For discussion, see the following thread:
28835         https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg01196.html
28836         https://lists.gnu.org/archive/html/emacs-devel/2019-06/msg00967.html
28838         * etc/TODO: Remove gnus-bug from list of obsolete bug-reporting
28839         commands now that it is implemented in terms of report-emacs-bug.
28841 2019-06-26  Mattias Engdegård  <mattiase@acm.org>
28843         Document bug in `replace-regexp-in-string'
28845         `replace-regexp-in-string' omits the first START characters of the
28846         input string in its return value.  This is a clear bug, but fixing it
28847         probably causes more trouble; document the behaviour instead (bug#36372).
28849         * doc/lispref/searching.texi (Search and Replace)
28850         * lisp/subr.el (replace-regexp-in-string):
28851         Document current behaviour.
28853 2019-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
28855         * lisp/textmodes/page-ext.el (sort-pages-buffer): Fix typo
28857         Reported by Marco Wahl <marcowahlsoft@gmail.com>.
28858         Update `Commentary:` to use the new command names.
28859         (pages--ctl-x-ctl-p-map): Fix `mark-page` binding.
28860         (pages-directory-mode-map): Update `add-new-page` => `pages-add-new-page`.
28862 2019-06-26  Eli Zaretskii  <eliz@gnu.org>
28864         Support invoking Emacs via a symlink on MS-Windows
28866         * src/w32.c (w32_my_exename): Resolve symlinks in the
28867         executable name, to support searching for the pdumper file
28868         when the executable is found via a symlink.
28869         * src/emacs.c (load_pdump): Add a comment about symlink
28870         resolution on Windows.
28872 2019-06-26  Andrzej P  <andrzej@morgangilbert.co.uk>  (tiny change)
28874         Fix redisplay of registers in gdb-mi
28876         * lisp/progmodes/gdb-mi.el (gdb-update): Call
28877         gdb-get-changed-registers before updating the GDB-MI buffers.
28878         (Bug#16366)
28880 2019-06-26  Lars Ingebrigtsen  <larsi@gnus.org>
28882         Restrict indirect lookups in Fdocumentation_property
28884         * src/doc.c (Fdocumentation_property): Only look up indirect
28885         variables if we've been asked for the variable documentation.
28887 2019-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
28889         Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk
28891 2019-06-26  Bruce Stephens  <bruce.stephens@isode.com>
28893         * lisp/calc/calc-ext.el (math-scalarp): Fix typo
28895 2019-06-26  Lars Ingebrigtsen  <larsi@gnus.org>
28897         Fdocumentation_property: Return doc string for indirect variables
28899         * src/doc.c (Fdocumentation_property): When dealing with indirect
28900         variables (i.e., aliases), also check the symbol being pointed to
28901         for the doc string (bug #17180).
28903 2019-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
28905         Revert "* lisp/calc/calc-ext.el (math-scalarp): Fix typo"
28907         This reverts commit 698ff554ac2699ec48fefc85a1307cbc4a183b0d.
28909 2019-06-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
28911         help-C-file-name shouldn't error out if we can't find the name
28913         * lisp/help-fns.el (help-C-file-name): Make help-C-file-name
28914         return nil instead of signaling an error if we can't find the
28915         file name (bug#17250).
28917 2019-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
28919         * test/lisp/calc/calc-tests.el (test-math-bignum, test-calc-23889): Disable
28921         Not applicable any more with native bignums.
28923 2019-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
28925         * lisp/calc/calc-ext.el (math-scalarp): Fix typo
28927 2019-06-26  Noam Postavsky  <npostavs@gmail.com>
28929         Fix (rx-to-string (and (literal STR) (regexp STR)) regression
28931         * lisp/emacs-lisp/rx.el (rx-regexp, rx-literal): Check the cadr of the
28932         form for stringness, not the form itself.
28933         * test/lisp/emacs-lisp/rx-tests.el (rx-to-string-lisp-forms): New test.
28935 2019-06-26  Mattias Engdegård  <mattiase@acm.org>
28937         Merge consecutive constant `concat' args (bug#14769)
28939         Suggested by Shigeru Fukaya <shigeru.fukaya@gmail.com>
28941         * lisp/emacs-lisp/byte-opt.el (byte-optimize-concat): New.
28942         (concat): Add byte-optimizer.
28944 2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
28946         * lisp/calc/calc.el: Take advantage of native bignums.
28948         Remove redundant :group args.
28950         (calc-trail-mode): Use inhibit-read-only.
28951         (math-bignum-digit-length, math-bignum-digit-size)
28952         (math-small-integer-size): Delete constants.
28953         (math-normalize): Use native bignums.
28954         (math-bignum, math-bignum-big): Delete functions.
28955         (math-make-float): The mantissa can't be a calc bignum any more.
28956         (math-neg, math-scale-left, math-scale-right, math-scale-rounding)
28957         (math-add, math-sub, math-mul, math-idivmod, math-quotient)
28958         (math-format-number, math-read-number, math-read-number-simple):
28959         Don't bother handling calc bignums.
28960         (math-div10-bignum, math-scale-left-bignum, math-scale-right-bignum)
28961         (math-add-bignum, math-sub-bignum, math-mul-bignum, math-mul-bignum-digit)
28962         (math-div-bignum, math-div-bignum-digit, math-div-bignum-big)
28963         (math-div-bignum-part, math-div-bignum-try, math-format-bignum)
28964         (math-format-bignum-decimal, math-read-bignum): Delete functions.
28965         (math-numdigs): Don't presume that native ints are small enough to use
28966         a slow algorithm.
28968         * lisp/calc/calc-aent.el (calc-do-quick-calc):
28969         * lisp/calc/calc-vec.el (calcFunc-vunpack):
28970         * lisp/calc/calc-alg.el (math-beforep): Don't bother handling calc bignums.
28972         * lisp/calc/calc-bin.el (math-bignum-logb-digit-size)
28973         (math-bignum-digit-power-of-two): Remove constants.
28974         (calcFunc-and, math-binary-arg, calcFunc-or, calcFunc-xor)
28975         (calcFunc-diff, calcFunc-not, math-clip, math-format-twos-complement):
28976         Use Emacs's builtin bignums.
28977         (math-and-bignum, math-or-bignum, math-xor-bignum, math-diff-bignum)
28978         (math-not-bignum, math-clip-bignum)
28979         (math-format-bignum-radix, math-format-bignum-binary)
28980         (math-format-bignum-octal, math-format-bignum-hex): Delete functions.
28981         (math-format-binary): Fix old copy&paste error.
28983         * lisp/calc/calc-comb.el (calc-prime-factors): Adjust for unused arg.
28984         (math-prime-test): math-fixnum is now the identity.
28986         * lisp/calc/calc-ext.el: Require cl-lib.
28987         (math-oddp): Use cl-oddp.  Don't bother with calc bignums.
28988         (math-integerp, math-natnump, math-ratp, math-realp, math-anglep)
28989         (math-numberp, math-scalarp, math-vectorp, math-objvecp, math-primp)
28990         (math-num-natnump, math-objectp, math-check-integer, math-compare):
28991         Don't bother handling calc bignums.
28992         (math-check-fixnum): Use fixnump.
28993         (math-fixnum, math-fixnum-big, math-bignum-test): Remove functions.
28994         (math--format-integer-fancy): Rename from math-format-bignum-fancy.
28995         Adjust for internal bignums.
28997         * lisp/calc/calc-funcs.el (calcFunc-besJ): Use cl-isqrt.
28999         * lisp/calc/calc-macs.el (Math-zerop, Math-integer-negp)
29000         (Math-integer-posp, Math-negp, Math-posp, Math-integerp)
29001         (Math-natnump, Math-ratp, Math-realp, Math-anglep, Math-numberp)
29002         (Math-scalarp, Math-vectorp, Math-objectp, Math-objvecp)
29003         (Math-integer-neg, Math-primp, Math-num-integerp):
29004         Don't bother handling calc bignums.
29005         (Math-bignum-test): Delete function.
29007         * lisp/calc/calc-math.el (math-use-emacs-fn): Remove unused `fx`.
29008         (math-isqrt, math-sqrt): Use cl-isqrt.  Don't bother handling calc bignums.
29009         (math-isqrt-bignum, math-isqrt-bignum-iter, math-isqrt-small):
29010         Delete function.
29012         * lisp/calc/calc-misc.el (math-fixnump, math-fixnatnump): Use fixnump.
29013         (math-evenp): Use cl-evenp.
29014         (math-zerop, math-negp, math-posp, math-div2): Don't bother handling
29015         calc bignums.
29016         (math-div2-bignum): Delete function.
29018 2019-06-25  Noam Postavsky  <npostavs@gmail.com>
29020         Merge from emacs-26
29022         e62ad04963 Fix sgml-mode handling of quotes within parens (Bug#36347)
29023         06b35b2f92 ; * lisp/frame.el: Enhance add-variable-watcher commentary.
29024         572e34bb6f Rename 'make-symbolic-link' argument NEWNAME to LINKNAME
29025         04477adedc Check that length of data returned by sysctl is non-zero
29026         81535eeadb * test/lisp/progmodes/python-tests.el (python-virt-bin): D...
29027         9d48979ca8 Fix Python tests depending on system-type
29028         fcf6cc3177 Fix problem with wdired test when symlinks cannot be created.
29029         4701e0663e Improve wording of documentation of click events
29031         # Conflicts:
29032         #       lisp/textmodes/sgml-mode.el
29033         #       test/lisp/textmodes/sgml-mode-tests.el
29035 2019-06-25  Noam Postavsky  <npostavs@gmail.com>
29037         Merge from emacs-26
29039         2b765c650a Remove outdated comment in winner.el (Bug#36185)
29041 2019-06-25  Noam Postavsky  <npostavs@gmail.com>
29043         Don't bind search-spaces-regexp around possible autoload (Bug#35802)
29045         * lisp/isearch.el (isearch-search-fun-default): Move possible autoload
29046         trigger outside let-binding of search-spaces-regexp.
29047         * lisp/char-fold.el (char-fold-make-table): Remove no longer needed
29048         workaround.
29050         * lisp/info.el (Info-search-whitespace-regexp):
29051         * lisp/isearch.el (search-whitespace-regexp):
29052         * src/search.c (syms_of_search) <search-spaces-regexp>: Add warning
29053         about adding capturing groups to the value.
29055         * test/lisp/char-fold-tests.el: Remove, binding search-spaces-regexp
29056         to a different should be considered a bug.
29058 2019-06-25  Noam Postavsky  <npostavs@gmail.com>
29060         Support (rx (and (regexp EXPR) (literal EXPR))) (Bug#36237)
29062         * lisp/emacs-lisp/rx.el (rx-regexp): Allow non-string forms.
29063         (rx-constituents): Add literal constituent, which is like a plain
29064         STRING form, but allows arbitrary lisp expressions.
29065         (rx-literal): New function.
29066         (rx-compile-to-lisp): New variable.
29067         (rx--subforms): New helper function for handling subforms, including
29068         non-constant case.
29069         (rx-group-if, rx-and, rx-or, rx-=, rx->=, rx-repeat, rx-submatch)
29070         (rx-submatch-n, rx-kleene, rx-atomic-p): Use it to handle non-constant
29071         subforms.
29072         (rx): Document new form, wrap non-constant forms with concat call.
29073         * test/lisp/emacs-lisp/rx-tests.el (rx-tests--match): New macro.
29074         (rx-nonstring-expr, rx-nonstring-expr-non-greedy): New tests.
29075         * etc/NEWS: Announce changes.
29077 2019-06-25  Juanma Barranquero  <lekktu@gmail.com>
29079         Fix PATH_MAX change to lib-src/emacsclient.c
29081         * lib-src/emacsclient.c (get_current_dir_name): Declare pwdlen.
29083 2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>
29085         Fix previous patch to dired-mark-if
29087         * lisp/dired.el (dired-mark-if): Don't use looking-at to check for
29088         characters.
29090 2019-06-25  Paul Eggert  <eggert@cs.ucla.edu>
29092         Prefer PATH_MAX to MAXPATHLEN
29094         PATH_MAX is standardized, MAXPATHLEN is not.
29095         Also, the Gnulib pathmax module fixes some rare bugs with PATH_MAX.
29096         So prefer PATH_MAX to MAXPATHLEN unless we know the latter is
29097         also correct (for some platform-specific code).
29098         * admin/merge-gnulib (GNULIB_MODULES): Add pathmax.
29099         This module was already present, as a dependency of canonicalize-lgpl,
29100         but now Emacs is using it directly.  Sort.
29101         * lib-src/emacsclient.c: Include stdint.h, pathmax.h.
29102         (get_current_dir_name): Sync to current src/sysdep.c.
29103         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
29104         * src/sysdep.c: Include pathmax.h.
29105         (get_current_dir_name_or_unreachable):
29106         Use PATH_MAX instead of MAXPATHLEN.
29108 2019-06-25  Dima Kogan  <dima@secretsauce.net>
29110         View-search-... now hit all the matches, regardless of window position
29112         * lisp/view.el (view-search): Jump to the next/prev occurrence of
29113         the search, even if it's displayed in the buffer (bug#18131).
29114         This seems more logical than the previous (undocumented) behaviour.
29116 2019-06-25  Paul Eggert  <eggert@cs.ucla.edu>
29118         Avoid some strlen work, primarily via strnlen
29120         * admin/merge-gnulib (GNULIB_MODULES): Add strnlen.
29121         * lib-src/etags.c (find_entries):
29122         * src/emacs.c (main):
29123         * src/nsmenu.m (parseKeyEquiv:):
29124         * src/nsterm.m (ns_xlfd_to_fontname):
29125         * src/term.c (vfatal):
29126         Prefer !*X to !strlen (X).
29127         * lib-src/etags.c (pfnote, add_regex):
29128         * lib-src/pop.c (pop_open):
29129         * lib-src/update-game-score.c (main):
29130         * lwlib/lwlib.c (lw_separator_p):
29131         * src/doprnt.c (doprnt):
29132         * src/emacs.c (main):
29133         * src/inotify.c (inotifyevent_to_event):
29134         * src/keyboard.c (menu_separator_name_p, parse_tool_bar_item):
29135         * src/sysdep.c (get_current_dir_name_or_unreachable):
29136         * src/xdisp.c (store_mode_line_string):
29137         Use strnlen to avoid unnecessary work with strlen.
29138         * lib-src/etags.c (Prolog_functions, prolog_pr)
29139         (Erlang_functions, erlang_func):
29140         Prefer ptrdiff_t to size_t when either will do.
29141         (prolog_pr, erlang_func): New arg LASTLEN, to avoid
29142         unnecessary strlen call. All callers changed.
29143         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
29144         * lib/strnlen.c, m4/strnlen.m4: New files, copied from Gnulib.
29145         * lwlib/lwlib.c (lw_separator_p):
29146         * src/json.c (json_has_prefix):
29147         Use strncmp to avoid unnecessary work with strlen + memcmp.
29148         * src/process.c (set_socket_option): Use SBYTES instead of strlen.
29150 2019-06-25  Emilio C. Lopes  <eclig@gmx.net>  (tiny change)
29152         Support opening a new connection when reverting a telnet buffer
29154         * lisp/net/telnet.el (telnet-connect-command): New variable.
29155         (telnet-revert-buffer): New function.
29156         (telnet-mode): Use `telnet-revert-buffer' as `revert-buffer-function'.
29157         (telnet, rsh): Set `telnet-connect-command' accordingly (bug#18312).
29159 2019-06-25  Arash Esbati  <arash@gnu.org>
29161         Suppress warning about unix-sync in nnmaildir.el
29163         * lisp/gnus/nnmaildir.el (nnmaildir-request-replace-article): Check if the
29164         function `unix-sync' is bound before running it.
29166 2019-06-25  Ivan Shmakov  <ivan@siamics.net>
29168         Check labels in smerge-mode
29170         * lisp/vc/diff.el (diff-check-labels): Separated out into its own
29171         function (bug#18850)...
29172         (diff-no-select): ... from here.
29174         * lisp/vc/smerge-mode.el (smerge-diff): Use diff-check-labels.
29176 2019-06-25  Basil L. Contovounesios  <contovob@tcd.ie>
29178         Avoid using subr-x.el function in files.el
29180         * lisp/files.el (file-size-human-readable): Open code string-empty-p
29181         call.  This was the single occurrence of a subr-x.el function in
29182         files.el, which does not (yet) load subr-x.el.
29184 2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
29186         * lisp/emacs-lisp/cl-extra.el (cl-isqrt): Speed up bignum case
29188 2019-06-25  Jonathan Shin Hayase  <pythonnut@gmail.com>
29190         Highlight zsh glob flags and qualifiers in sh-mode
29192         * lisp/progmodes/sh-script.el (sh-syntax-propertize-function):
29193         Add regexps to highlight zsh glob flags and alternate qualifiers
29194         without mistaking them for comments. (bug#19455).
29196 2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>
29198         Build fix for previous buffers.texi change
29200 2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
29202         * etc/NEWS: Fix vocabulary in last change
29204 2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
29206         * lisp/tar-mode.el: Use lexical-binding; remove redundant :groups.
29208         (tar-new-entry): Remove unused var `buffer`.
29210 2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>
29212         Move widen/narrow in tabulated lists to } and {
29214         * doc/emacs/buffers.texi (Several Buffers): Document it.
29216         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map):
29217         Move widen/narrow to `}' and `{'.
29219 2019-06-25  Glenn Morris  <rgm@gnu.org>
29221         * test/lisp/progmodes/flymake-tests.el (ruby-backend): Skip on hydra.
29223         Another unstable test.
29225 2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
29227         * lisp/net/tramp.el (tramp-file-name-handler): Use autoload-do-load
29229 2019-06-25  Ivan Shmakov  <ivan@siamics.net>
29231         Heed default directory in tar-untar-buffer
29233         * lisp/tar-mode.el (tar-untar-buffer): Fix use the value of
29234         default-directory local to the tar-mode buffer (bug#19865).
29236 2019-06-25  David Hull  <david.hull@openx.com>
29238         etags: Fix handling of quoted symbol names in Erlang
29240         * lib-src/etags.c (erlang_attribute): Fix handling of quoted
29241         symbol names in Erlang (bug#24960).
29243 2019-06-25  Paul Eggert  <eggert@cs.ucla.edu>
29245         Update from Gnulib
29247         This incorporates:
29248         2019-06-24 unistd: stddef.h and sys/types.h namespace cleanup
29249         * lib/gnulib.mk.in: Regenerate.
29250         * lib/unistd.in.h: Copy from gnulib.
29252 2019-06-25  Glenn Morris  <rgm@gnu.org>
29254         * lisp/info.el (info-emphasis): Fix doc, version.
29256 2019-06-25  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>
29258         Preserve header lines from derived modes in tabulated lists
29260         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
29261         Preserve header line set by derived modes (bug#21025).
29263 2019-06-25  Drew Adams  <drew.adams@oracle.com>
29265         Make dired commands report how many files they mark
29267         * lisp/dired.el (dired-mark-if): Report the number of files marked
29268         when called, not the total number of marked files (bug#22457).
29270 2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
29272         * lisp/simple.el (forward-visible-line, end-of-visible-line): Use invisible-p
29274 2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>
29276         Add a new command to report the number and size of the marked files
29278         2019-06-25  Constantino Calancha  <f92capac@gmail.com>
29280                 * lisp/dired.el (dired-mode-map): New keystroke and menu binding
29281                 (bug#22829).
29283         2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>
29285                 * doc/emacs/dired.texi (Marks vs Flags): Document it.
29287                 * lisp/dired.el (dired-number-of-marked-files): New command.
29289 2019-06-25  Phil Sainty  <psainty@orcon.net.nz>
29291         Fix `goto-address-url-regexp'
29293         * lisp/net/goto-addr.el (goto-address-uri-schemes-ignored): New
29294         variable.
29295         (goto-address-uri-schemes): Ditto.
29296         (goto-address-url-regexp): Use them to compose the final regexp.
29298         * lisp/net/goto-addr.el: The URI schemes to be recognised by
29299         `goto-address-mode' were not regexp-quoted (Bug#23343).
29301 2019-06-25  Tino Calancha  <f92capac@gmail.com>
29303         Make winner restore point in all windows that display a buffer
29305         * lisp/window.el (window--before-delete-windows): New defun.
29306         (delete-window, delete-other-windows): Use it.
29307         * lisp/winner.el (winner-set): Use marker in 'window-prev-buffers'
29308         when available and different than the value returned by
29309         'winner-get-point' (bug#23621).
29311 2019-06-25  Bastian Beischer  <bastian.beischer@gmail.com>  (tiny change)
29313         Use xref in cedet
29315         * lisp/cedet/semantic/complete.el (semantic-complete-jump-local)
29316         * lisp/cedet/semantic/analyze/refs.el
29317         (semantic-analyze-proto-impl-toggle): Use xref to handle jumping
29318         (bug#23793).
29320 2019-06-25  Drew Adams  <drew.adams@oracle.com>
29322         Fontify _emphasis_ in info nodes
29324         * lisp/info.el (Info-fontify-node): Fontify _emphasis_ (bug#23798).
29325         (info-emphasis): New face.
29327 2019-06-25  Robert Weiner  <rsw@gnu.org>
29329         Unlispify even more in custom-unlispify-menu-entry
29331         * lisp/cus-edit.el (custom-unlispify-menu-entry): Also allow : and
29332         / as separators in symbols when making the symbols look more
29333         human-readable (bug#23986).
29335 2019-06-25  Michael Shields  <shields@msrl.com>
29337         [PATCH 1/1] Pass frame-parameters to server-create-tty-frame
29339         * lisp/server.el: Pass frame-parameters when creating frames, even
29340         on a tty (bug#24147).
29342 2019-06-25  Basil L. Contovounesios  <contovob@tcd.ie>
29344         Fix recent tex-mode safe-local-variable changes
29346         * lisp/textmodes/tex-mode.el (tex-verbatim-environments): Replace
29347         (delq t ...) with more usual (memq nil ...).
29348         (latex-noindent-environments, latex-noindent-commands): Fix typos
29349         and thinkos in safe-local-variable logic.
29351 2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>
29353         Don't delete macuvs.h in extraclean
29355         * admin/unidata/Makefile.in (extraclean): Don't delete macuvs.h,
29356         because it's a checked-in file, and make targets altering
29357         checked-in files is confusing.
29359 2019-06-25  Fritz Stelzer  <brotzeitmacher@gmail.com>  (tiny change)
29361         Make xref-show-xrefs-function a defcustom
29363         * lisp/progmodes/xref.el (xref-show-xrefs-function): Make into a
29364         defcustome (bug#29206).
29366         * lisp/progmodes/xref.el (xref-show-definitions-function): Ditto.
29368 2019-06-25  Antoine Beaupré  <anarcat@orangeseeds.org>  (tiny change)
29370         Add imenu support to package-menu-mode
29372         * lisp/vc/vc-git.el (vc-git-grep-template): Include <C> in
29373         template to be more consistent with lgrep/rgrep (bug#35326).  This
29374         will introduce the --color and -i flags to the "git grep" command.
29376 2019-06-25  Alan Mackenzie  <acm@muc.de>
29378         Fix documentation of inhibit-modification-hooks in overlays + text properties
29380         This fixes bug #25111.
29382         * doc/lispref/display.texi (Overlay Properties): For the hook property
29383         modification-hooks, state that inhibit-modification-hooks is bound to non-nil
29384         when calling its functions.  This also applies to insert-in-front-hooks and
29385         insert-behind-hooks, which refer to modification-hooks.
29387         * doc/lispref/text.texi (Special Properties): For the hook property
29388         modification-hooks, state that inhibit-modification-hooks is NOT bound to
29389         non-nil when calling its functions.  For the hooks insert-in-fron-hooks and
29390         insert-behind-hooks, state that that variable does get bound to non-nil.
29392 2019-06-24  Hong Xu  <hong@topbug.net>
29394         Add imenu support to package-menu-mode
29396         * lisp/gnus/gnus-cite.el (gnus-message-citation-mode): Fontify if the major
29397         mode is derived from message-mode (not necessarily equal to
29398         message-mode) (bug#25124).
29400 2019-06-24  Damien Cassou  <damien@cassou.me>
29402         Add imenu support to package-menu-mode
29404         * lisp/emacs-lisp/package.el
29405         (package--imenu-prev-index-position-function
29406         package--imenu-extract-index-name-function): Add Imenu functions
29407         to package-menu-mode (bug#27134).
29409 2019-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
29411         * lisp/textmodes/tex-mode.el (latex-noindent-commands): New custom var
29413         (latex-find-indent): Obey it.
29414         (latex-noindent-environments): Make it into a defcustom as well.
29416 2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
29418         Make message_to_stderr do one single fwrite
29420         * src/xdisp.c (message_to_stderr): When running as a batch
29421         process, the output from `message' goes to stderr, and has a
29422         newline appended.  Rewrite the code so that only one fwrite is
29423         performed to enable messages that are shorter than PIPE_BUF
29424         (usually 4096 on modern operating systems) are written out as one
29425         chunk, as this will ensure that the messages are not interleaved
29426         with messages from other processes that are writing at the same
29427         time.  This does not affect other stderr outputs, just the ones
29428         from `message'.
29430 2019-06-24  Kaushal Modi  <kaushal.modi@gmail.com>
29432         Add example for enabling minor modes in .dir-local.el
29434         * doc/emacs/custom.texi (Directory Variables): Add an example that
29435         shows how a minor mode can be enabled in a .dir-local.el (Bug#27639).
29436         Clarify that indent-tabs-mode is not a minor mode.
29438 2019-06-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
29440         * configure.ac: Set HAVE_XFT to no for summary if HAVE_CAIRO is yes.
29442 2019-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
29444         * lisp/svg.el: Prepare for distribution via GNU ELPA
29446         Add a Version: and Package-Requires:.
29447         Don't require subr-x.
29448         Bring Commentary: from the GNU ELPA version of the package.
29449         (svg-remove): Don't use when-let*.
29451 2019-06-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
29453         Tweaks to html mode
29455         * lisp/textmodes/sgml-mode.el (sgml-attributes): Add the "class" and
29456           "id" attributes when needed.
29457           (html-mode-map): Add the `html-div' and `html-span' commands to the
29458           `html-quick-keys' map.
29459           (html-ordered-list, html-unordered-list, html-paragraph): Use the
29460           "\n" element properly.
29461           (html-div, html-span): New HTML skeletons.
29463 2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
29465         rectangle--pos-cols shouldn't move point
29467         * lisp/rect.el (rectangle--pos-cols): Don't move point while
29468         calculating the values (bug#25777).
29470 2019-06-24  Eli Zaretskii  <eliz@gnu.org>
29472         Fix MS-Windows build as followup to pdumper executable lookup
29474         * src/w32.c (w32_my_exename): New function.
29475         * src/w32.h (w32_my_exename): Add prototype.
29476         * src/emacs.c (load_pdump_find_executable) [WINDOWSNT]: Find
29477         the actual file name of the program without looking along
29478         PATH, by calling w32_my_exename.
29480         * nt/mingw-cfg.site (ac_cv_func_canonicalize_file_name)
29481         (ac_cv_func_realpath, gl_cv_func_realpath_works): Disable
29482         testing.
29483         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_canonicalize-lgpl): Set
29484         to true.
29486 2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
29488         Make C-l in iimage-mode call recenter-top-bottom
29490         * lisp/iimage.el (iimage-recenter): Call `recenter-top-bottom'
29491         instead of `recenter', since that's the default function for `C-l'
29492         (bug#27610).  Suggested by Arne Frederic Maria Döring.
29494 2019-06-24  Michael Albinus  <michael.albinus@gmx.de>
29496         Improve error handling in Tramp
29498         * lisp/net/tramp-compat.el (ls-lisp): Require.
29500         * lisp/net/tramp.el (ls-lisp-use-insert-directory-program):
29501         Don't declare.
29502         (tramp-current-connection): Adapt docstring.
29503         (tramp-debug-message): Adapt function names.
29504         (tramp-error, tramp-run-real-handler): Let-bind `signal-hook-function'.
29505         (tramp-signal-hook-function): New defun.
29506         (tramp-debug-on-error, tramp-condition-case-unless-debug): Remove.
29507         (tramp-file-name-handler): Handle `tramp-current-connection'.
29508         Let-bind `signal-hook-function'.  Use `unwind-protect' instead of
29509         `tramp-condition-case-unless-debug'.
29510         (tramp-handle-insert-directory): Don't require ls-lisp.
29511         (tramp-process-actions): Check, that
29512         `tramp-password-save-function' is non-nil.
29513         (tramp-equal-remote): Handle the case both files are local.
29515         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
29516         Do not bind `tramp-debug-on-error'.
29517         (tramp--test-ignore-make-symbolic-link-error): Make error handler
29518         more explicit about the error.
29520 2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
29522         Fix up key bindings in previous tabulated-list patch
29524         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map):
29525         Actually use `w'/`c' as described in previous patch.
29527 2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
29529         Add new commands to widen/narrow tabulated list columns
29531         * doc/emacs/buffers.texi: Document widen/contracting commands in
29532         tabulated list mode.
29533         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map): Add
29534         keystrokes.
29535         (tabulated-list-widen-current-column): New command.
29536         (tabulated-list-narrow-current-column): Ditto.  The code was
29537         written by Boruch Baum and then tweaked by Drew Adams (bug#32106)
29538         before some white-space changes before the commit.
29540 2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
29542         Remove -q from zstd invocation
29544         * lib-src/etags.c (compressors): -q isn't necessary since standard
29545         output goes to /dev/null.  From Michael Albinus (bug#33919).
29547 2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
29549         NEWS fix up for Zstandard patches
29551         * etc/NEWS: tramp-archive is a new feature, so no need to say that
29552         specific parts of it are new.  From Michael Albinus.
29554 2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
29556         Fix up Zstandard/tramp patch slightly
29558         * lisp/net/tramp-archive.el (tramp-archive-suffixes): Fix tzst
29559         suffix.  From Michael Albinus (bug#33919).
29561 2019-06-24  Alexander Gramiak  <agrambot@gmail.com>
29563         Add Zstandard compression support for Tramp
29565         * lisp/net/tramp-archive.el (tramp-archive-suffixes)
29566         (tramp-archive-compression-suffixes): Add zstd compression suffixes.
29567         * lisp/net/tramp-sh.el (tramp-inline-compress-commands): Add
29568         zstd (de)compression commands.
29570 2019-06-24  Alexander Gramiak  <agrambot@gmail.com>
29572         Add Zstandard compression support for dired
29574         * lisp/dired-aux.el (dired-compress-file-suffixes): Add suffixes for
29575         zstd compressed tarballs and other files.
29576         (dired-compress-file): Treat options found in
29577         `dired-compress-file-suffixes' as arguments instead of part of the
29578         program name.
29580 2019-06-24  Alexander Gramiak  <agrambot@gmail.com>
29582         Add Zstandard compression support for etags
29584         * lib-src/etags.c: (compressors): Add zstd support.
29585         (print_language_names): Report zstd support.
29586         * doc/man/etags.1: Update doc.
29588 2019-06-24  Daniel Colascione  <dancol@dancol.org>
29590         Fix pdumper executable-finding code
29592         * src/emacs.c:
29593         (load_pdump_find_executable): New function.
29594         (load_pdump): Use it.
29596 2019-06-24  Damien Cassou  <damien@cassou.me>
29598         * doc/misc/auth.texi (The Unix password store): Complete rewrite
29600         * etc/NEWS: Describe changes to auth-source-pass
29602         * lisp/auth-source-pass.el: Version 5.0.0
29604 2019-06-24  Damien Cassou  <damien@cassou.me>
29606         Refactoring of auth-source-pass
29608         * lisp/auth-source-pass.el (auth-source-pass--find-match): Refactor by
29609         moving some code to auth-source-pass--disambiguate.
29610         (auth-source-pass--disambiguate)
29611         (auth-source-pass--entries-matching-suffix): New function.
29612         (auth-source-pass--find-match-unambiguous)
29613         (auth-source-pass--select-from-entries)
29614         (auth-source-pass--entry-reducer): Refactor to simplify and improve
29615         logging.
29616         (auth-source-pass--matching-entries)
29617         (auth-source-pass--accumulate-matches): Remove.
29618         * test/lisp/auth-source-pass-tests.el: Complete rewrite to facilitate
29619         maintenance.
29620         (auth-source-pass--have-message-containing): Remove.
29621         (auth-source-pass--have-message-matching)
29622         (auth-source-pass--explain--have-message-matching)
29623         (auth-source-pass--explain-match-entry-p)
29624         (auth-source-pass--includes-sorted-entries)
29625         (auth-source-pass--explain-includes-sorted-entries)
29626         (auth-source-pass--explain-match-any-entry-p)
29627         (auth-source-pass--matching-entries)
29628         (auth-source-pass-match-entry-p)
29629         (auth-source-pass-match-any-entry-p): New function.
29631 2019-06-24  Keith Amidon  <camalot@picnicpark.org>
29633         * lisp/auth-source-pass.el: Add Keith Amidon to authors
29635 2019-06-24  Keith Amidon  <camalot@picnicpark.org>
29637         Minimize entry parsing in auth-source-pass
29639         Prior to this commit, while searching for the most applicable entry
29640         password-store entries were decrypted and parsed to ensure they were
29641         valid.  The entries were parsed in the order they were found on the
29642         filesystem and all applicable entries would be decrypted and parsed,
29643         which varied based on the contents of the password-store and the entry
29644         to be found.
29646         This is fine when the GPG key is cached and each entry can be
29647         decrypted without user interaction.  However, for security some people
29648         have their GPG on a hardware token like a Yubikey setup so that they
29649         have to touch a sensor on the toke for every cryptographic operation,
29650         in which case it becomes inconvenient as each attempt to find an entry
29651         requires a variable number of touches of the hardware token.
29653         The implementation already assumes that names which contain more of
29654         the information in the search key should be preferred so there is an
29655         ordering of preference of applicable entries.  If the decrypt and
29656         parsing is removed from the initial identification of applicable
29657         entries in the store then in most cases a single decrypt and parse of
29658         the most preferred entry will suffice, improving the experience for
29659         hardware token users that require interaction with the token.
29661         This commit implements that strategy.  It is in spirit a refactor of
29662         the existing code.
29664         * lisp/auth-source-pass.el (auth-source-pass--matching-entries): New
29665         function, generate an ordered list of regular expression matchers for
29666         all possible names that could be in the password-store for the entry
29667         to be found and then makes a pass over the password-store entry names
29668         accumulating the matching entries in a list after the regexp that
29669         matched.  This implementation ensures the password-store entry list
29670         still only has to be scanned once.
29671         (auth-source-pass--find-match-unambiguous): Use it to obtain candidate
29672         entries and then parse them one by one until an entry containing the
29673         desired information is located.  When complete, return the parsed data
29674         of the entry instead of the entry name so that the information can be
29675         used directly to construct the auth-source response.
29676         (auth-source-pass--build-result): Update accordingly.
29677         (auth-source-pass--find-match): Update docstring accordingly.
29678         (auth-source-pass--select-one-entry)
29679         (auth-source-pass--entry-valid-p)
29680         (auth-source-pass--find-all-by-entry-name)
29681         (auth-source-pass--find-one-by-entry-name): Remove.
29682         (auth-source-pass--select-from-entries)
29683         (auth-source-pass--accumulate-matches)
29684         (auth-source-pass--entry-reducer)
29685         (auth-source-pass--generate-entry-suffixes)
29686         (auth-source-pass--domains)
29687         (auth-source-pass--name-port-user-suffixes): New functions.
29689         * test/lisp/auth-source-pass-tests.el: One test case was added to the
29690         test suite to verify that only the minimal number of entries are
29691         parsed in common cases.  The
29692         auth-source-pass-only-return-entries-that-can-be-open test case had to
29693         be re-implemented because the function it was used eliminated as the
29694         functionality is provided elsewhere.  All the other fairly substantial
29695         changes to the test suite are the result of mechanical changes that
29696         were required to adapt to auth-source-pass--find-match returning the
29697         data from a parsed password-store entry instead of the entry name.
29699 2019-06-24  Keith Amidon  <camalot@picnicpark.org>
29701         Split out the attribute retrieval form auth-source-pass-get
29703         Eliminate the need to repeatedly retrieve and parse the data for the
29704         entry.  This is generally a good thing since it eliminates repetitions
29705         of the same crypto and parsing operations.  It is especially valuable
29706         when protecting an entry with a yubikey with touch required for crypto
29707         operations as it eliminates the need to touch the yubikey sensor for
29708         each attribute retrieved.
29710         * lisp/auth-source-pass.el (auth-source-pass-get): Extract some code to
29711         `auth-source-pass--get-attr'.
29712         (auth-source-pass--get-attr): New function to get a field value from a
29713         parsed entry.
29714         (auth-source-pass--build-result): Make use of
29715         `auth-source-pass--get-attr` to avoid repeated parsing.
29717 2019-06-24  Keith Amidon  <camalot@picnicpark.org>
29719         Fix auth-source-pass to search for hostname:port/username
29721         auth-source-pass supports entries with username either prefixed to the
29722         hostname with an @ as separator or in a subdirectory under the
29723         hostname.  This was true when there was no port or service included in
29724         the name, but got broken with the introduction of
29725         auth-source-pass-port-separator.
29727         * lisp/auth-source-pass.el (auth-source-pass--find-match-unambiguous): Fix
29728         to match hostname:port/username.
29729         * test/lisp/auth-source-pass-tests.el: Add corresponding tests.
29731 2019-06-24  Iku Iwasa  <iku.iwasa@gmail.com>
29733         Add auth-source-pass-port-separator option
29735         * lisp/auth-source-pass.el (auth-source-pass-port-separator): New
29736         option to specify separator between host and port, default to
29737         colon (":").
29738         (auth-source-pass--find-match-unambiguous): Adapt to make use of the
29739         new variable.
29740         * test/lisp/auth-source-pass-tests.el: Add corresponding tests.
29742 2019-06-24  galaunay  <gaby.launay@tutanota.com>
29744         Add auth-source-pass-filename option
29746         * lisp/auth-source-pass.el (auth-source-pass)
29747         (auth-source-pass-filename): Add option to specify a customized
29748         password-store path.
29749         (auth-source-pass--read-entry)
29750         (auth-source-pass-entries): Use the new option instead of hard-coded
29751         `~/.password-store'.
29753 2019-06-24  Damien Cassou  <damien@cassou.me>
29755         * lisp/auth-source-pass.el (auth-source-pass-get): Add autoload
29757         * lisp/auth-source-pass.el: Version 4.0.2
29759 2019-06-24  Magnus Henoch  <magnus.henoch@gmail.com>  (tiny change)
29761         Fix auth-source-pass to return nil if no entry found
29763         * lisp/auth-source-pass.el (auth-source-pass-search): If there is no
29764         matching entry, auth-source-pass-search should return nil, not (nil).
29765         This lets auth-source fall back to other backends in the auth-sources
29766         list.
29767         * test/lisp/auth-source-pass-tests.el: Add corresponding test.
29769 2019-06-23  Daniel Colascione  <dancol@dancol.org>
29771         Fix locating pdump by symlink
29773         * admin/merge-gnulib (GNULIB_MODULES): Add canonicalize-lgpl module
29774         * build-aux/config.guess, build-aux/gitlog-to-changelog,
29775         build-aux/update-copyright, lib/canonicalize-lgpl.c,
29776         lib/gnulib.mk.in, lib/malloca.c, lib/malloca.h, lib/pathmax.h,
29777         m4/canonicalize.m4, m4/double-slash-root.m4, m4/gnulib-comp.m4,
29778         m4/malloca.m4, m4/pathmax.m4: copy from GNUlib or regenerate from
29779         update
29780         * src/emacs.c: find dump by canonical path
29782 2019-06-23  Lars Ingebrigtsen  <larsi@gnus.org>
29784         Document syntax-ppss-context
29786         * doc/lispref/syntax.texi (Parser State): Document it.
29788         * lisp/emacs-lisp/syntax.el (syntax-ppss-context): Add a doc
29789         string (bug#32504).
29791 2019-06-23  Martin Kletzander  <nert.pinx@gmail.com>  (tiny change)
29793         Autojoin channels with same name on different servers in erc
29795         * lisp/erc/erc-join.el (erc-autojoin-channels): Join channels with
29796         the same name on different servers (bug#32723).
29798 2019-06-23  Alex Branham  <alex.branham@gmail.com>
29800         (if-let): Improve docstring by mentioning let*
29802         * lisp/emacs-lisp/subr-x.el (if-let): Clarify that if-let is like
29803         let*, not like let (bug#33550).
29805 2019-06-23  Carlos Pita  <carlosjosepita@gmail.com>
29807         Fix auto-revert resizing in image mode
29809         * lisp/image-mode.el (image-transform-properties): Get image
29810         parameters right after reverting; in particular, compute the
29811         correct max size (bug#33631).
29813 2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>
29815         Don’t line-buffer stderr
29817         * src/sysdep.c (init_standard_fds) [DOS_NT]: Don’t line-buffer stderr.
29818         This reverts 2019-06-20T07:32:17!eggert@cs.ucla.edu.  See:
29819         https://lists.gnu.org/r/emacs-devel/2019-06/msg00882.html
29821 2019-06-23  Mattias Engdegård  <mattiase@acm.org>
29823         Check validity of rx submatch-n number
29825         * lisp/emacs-lisp/rx.el (rx-submatch): Type and range check (Bug#34373).
29827 2019-06-23  Mattias Engdegård  <mattiase@acm.org>
29829         Optional space and unit in `file-size-human-readable' (bug#35756)
29831         To improve readability of strings produced by
29832         `file-size-human-readable', add two optional arguments:
29834         - SPACE, to provide a string (typically a space or non-breaking space)
29835         to put between the number and unit.  For compatibility, the default is
29836         an empty string.
29838         - UNIT, a string to use as unit.  For compatibility, the default is
29839         "B" in `iec' mode and the empty string otherwise.
29841         Also fix a glitch with small numbers in `iec' mode which caused a
29842         stray "i" in the result.
29844         * lisp/files.el (file-size-human-readable):
29845         Add optional SPACE and UNIT arguments and handle small numbers correctly.
29846         (files--ask-user-about-large-file, warn-maybe-out-of-memory):
29847         Call with `iec' and space.
29848         * test/lisp/files-tests.el (files-test-file-size-human-readable): New test.
29849         * lisp/url/url-http.el (url-http-simple-after-change-function)
29850         (url-http-content-length-after-change-function): Call with `iec' and space.
29851         * etc/NEWS (Lisp Changes): Mention the change.
29853 2019-06-23  Michael Brumlow  <m@brumlow.io>  (tiny change)
29855         (hfy-fontify-buffer): Inhibit read only
29857         * lisp/htmlfontify.el (hfy-fontify-buffer): Inhibit read only to
29858         enable the function to work with text that comes from buffers that
29859         put read-only text properties on things (bug#35025).
29861 2019-06-23  Mauro Aranda  <maurooaranda@gmail.com>
29863         Document Winner mode user options
29865         * doc/emacs/windows.texi (Window Convenience): Add documentation for
29866         the user options winner-dont-bind-my-keys, winner-ring-size and
29867         winner-boring-buffers (bug#35146).
29869 2019-06-23  Alexander Gramiak  <agrambot@gmail.com>
29871         src/bytecode.c (exec_byte_code) Unroll Blist3 and Blist4
29873         * src/bytecode.c (exec_byte_code): Unroll Blist3 and Blist4
29874         (bug#35321).
29876 2019-06-23  Eric Abrahamsen  <eric@ericabrahamsen.net>
29878         Add NEWS entry for new command gnus-summary-browse-url
29880         * etc/NEWS: It is documented in the manual.
29882 2019-06-23  Drew Adams  <drew.adams@oracle.com>
29884         Make ls-lisp--dired ape dired-noselect more closely
29886         * lisp/ls-lisp.el (ls-lisp--dired): Emulate the behaviour of
29887         non-ls-lisp.el dired better by defaulting to default-directory as
29888         dired-noselect does (bug#35390).
29890 2019-06-23  Van L  <van@scratch.space>
29892         Add a Code: tag to subr.el
29894         * lisp/subr.el: Add a Code: tag comment (bug#35595).
29896 2019-06-23  Lars Ingebrigtsen  <larsi@gnus.org>
29898         Remove outdate comment about an utf-8 cookie that was removed in 2015
29900 2019-06-23  Nick Drozd  <nicholasdrozd@gmail.com>
29902         Handle 'code' tag in shr.el
29904         * etc/NEWS: Announce change in shr behavior (bug#36247).
29905         * lisp/net/shr.el: Add 'code' tag handling.
29907 2019-06-23  Eric Abrahamsen  <eric@ericabrahamsen.net>
29909         New command gnus-summary-browse-url
29911         * lisp/gnus/gnus-sum.el (gnus-summary-browse-url): New command for
29912           browsing URLs from the article buffer from the summary buffer.
29913           (gnus-summary-mode-map): Bind to "w".
29914           (gnus-summary-article-map): And to "A w".
29915         * doc/misc/gnus.texi (Article Commands): Document.
29917 2019-06-23  Michael Albinus  <michael.albinus@gmx.de>
29919         Improve error handling in tramp-gvfs
29921         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-directory-attributes)
29922         (tramp-gvfs-get-root-attributes)
29923         (tramp-gvfs-handle-file-attributes): Don't ignore errors.
29924         (tramp-make-goa-name): New defun.
29925         (tramp-gvfs-get-remote-prefix): Use it.
29926         (tramp-gvfs-maybe-open-connection): Raise user errors in case of.
29927         Check also, that GOA accounts are proper.
29928         (tramp-get-goa-accounts): Cache connection property.
29930         * lisp/net/tramp.el (tramp-handle-file-equal-p)
29931         (tramp-handle-file-in-directory-p): Use `tramp-equal-remote'.
29933 2019-06-23  Lars Ingebrigtsen  <larsi@gnus.org>
29935         Document what the `t' value for HIST in `read-string' means
29937         * src/minibuf.c (syms_of_minibuf): Say that `t' means "no history"
29938         (bug#36324).
29939         (Fread_from_minibuffer): Say the same for HIST.
29941 2019-06-22  Simen Heggestøyl  <simenheg@gmail.com>
29943         Split up and add tests for two page.el functions
29945         * lisp/textmodes/page.el (page--count-lines-page): New function
29946         extracted from `count-lines-page'.
29947         (count-lines-page): Extract main logic into `page--count-lines-page'.
29948         (page--what-page); New function extracted from `what-page'.
29949         (what-page): Extract main logic into `page--what-page'.
29951         * test/lisp/textmodes/page-tests.el (page-tests-count-lines-page)
29952         (page-tests-what-page): New tests for `page--count-lines-page' and
29953         `page--what-page'.  (Bug#36009)
29955 2019-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
29957         (with-suppressed-warnings): Also suppress warnings when not byte-compiling
29959         * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): Bind
29960         byte-compile--suppressed-warnings when possible.
29962 2019-06-22  Allen Li  <darkfeline@felesatra.moe>
29964         Fix defining inverse abbrevs on previous words (Bug#36243)
29966         * lisp/abbrev.el (inverse-add-abbrev): Skip trailing nonword
29967         characters when defining abbrev.
29969         * test/lisp/abbrev-tests.el (abbrev-edit-save-to-file-test): Add
29970         regression tests.
29972 2019-06-22  Noam Postavsky  <npostavs@gmail.com>
29974         Fix python docstring auto-fill (Bug#36056)
29976         * lisp/progmodes/python.el (python-mode): Set
29977         fill-indent-according-to-mode locally to t.  This lets auto-fill do
29978         the right thing when auto-filling inside a docstring.  The default was
29979         to nil on 2001-11-25 "(fill-indent-according-to-mode): Default to nil"
29980         with the comment that it "screws up CC-mode's filling tricks".  But
29981         presumably it shouldn't be a problem for python-mode.
29982         * test/lisp/progmodes/python-tests.el (python-auto-fill-docstring):
29983         New test.
29985 2019-06-22  Noam Postavsky  <npostavs@gmail.com>
29987         Make rcirc parsing more RFC2812 compliant (Bug#36233)
29989         Do continue to allow multiple spaces between arguments, even though
29990         that is technically not allowed by the RFC.
29991         * lisp/net/rcirc.el (rcirc-process-server-response-1): Fix parsing of
29992         arguments which contain colons.
29993         * test/lisp/net/rcirc-tests.el: New test.
29995 2019-06-22  Noam Postavsky  <npostavs@gmail.com>
29997         * lisp/net/rcirc.el (rcirc-prompt-for-encryption): Simplify.
29999 2019-06-22  Paul Eggert  <eggert@cs.ucla.edu>
30001         Bring macuvs.h back under Git control
30003         * admin/unidata/Makefile.in (maintainer-clean):
30004         Instead of removing macuvs.h here ...
30005         (extraclean): ... Remove it here.
30006         * admin/unidata/uvs.el (uvs-print-table-ivd):
30007         Add to comment explaining why macuvs.h is in Git.
30008         * src/macuvs.h: Regenerate and re-add to Git.
30010 2019-06-22  Lars Ingebrigtsen  <larsi@gnus.org>
30012         Respect case-insensite DelSp flow-fill parameter
30014         * lisp/gnus/mm-view.el (mm-inline-text): The DelSp parameter is
30015         case-insentitive, so make it work then it's "Yes" (bug#26775).
30017 2019-06-22  Andreas Schwab  <schwab@linux-m68k.org>
30019         (nnir-notmuch-remove-prefix): Respect MAILDIR
30021         * lisp/gnus/nnir.el (nnir-notmuch-remove-prefix): Respect MAILDIR
30022         and regexp-quote the result (bug#34940).
30024 2019-06-22  Lars Ingebrigtsen  <larsi@gnus.org>
30026         Use plain report-emacs-bug instead of gnus-bug
30028         * doc/misc/gnus.texi (Compatibility): Remove mention of deprecated
30029         variable.
30030         * lisp/gnus/gnus-msg.el (gnus-bug): Just use `report-emacs-bug'.
30031         (gnus-bug-kill-buffer): Remove.
30032         (gnus-bug-create-help-buffer, gnus-bug-message): Remove.
30034 2019-06-22  Robert Pluim  <rpluim@gmail.com>
30036         Export Gnus calendar events to org even if they have no description
30038         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event->org-entry):
30039         Don't ignore events that have no description.
30041 2019-06-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30043         Make ftcr font backend driver more consistent with xft
30045         * src/ftcrfont.c: Include charset.h.
30046         (ftcrfont_has_char): Import font adstyle related code from ftfont_has_char.
30048 2019-06-22  Lars Ingebrigtsen  <larsi@gnus.org>
30050         Remove XEmacs compat code from savehist.el (reworked)
30052         * lisp/savehist.el (savehist-coding-system, savehist-install)
30053         (savehist-uninstall, savehist-save): Remove XEmacs compat code.
30054         (savehist-trim-history): Made obsolete.
30055         (savehist-minibuffer-hook): Update comment to reflect the t value
30056         of HISTORY in `read-string'.
30058 2019-06-22  Christophe Troestler  <Christophe.Troestler@umons.ac.be>  (tiny change)
30060         epg: Use unibyte string to decode percent escapes
30062         * lisp/epg.el (epg--status-USERID_HINT, epg--status-*SIG)
30063         (epg--status-IMPORTED): Call epg--decode-percent-escape-as-utf-8.
30064         (epg--decode-percent-escape): Convert STRING to unibyte.
30065         (epg--decode-percent-escape-as-utf-8): New function.  (Bug#36098)
30067 2019-06-22  Stefan Kangas  <stefankangas@gmail.com>
30069         Add tests for mail/flow-fill.el
30071         * test/lisp/mail/flow-fill-tests.el: New file.
30072         * lisp/mail/flow-fill.el (fill-flowed-encode-tests)
30073         (fill-flowed-test): Make obsolete.  (Bug#36174)
30075 2019-06-22  Stefan Kangas  <stefankangas@gmail.com>
30077         Make toolbar show keyboard equivalents in its tooltips
30079         * src/keyboard.c (parse_tool_bar_item): Add equivalent key binding to
30080         the tooltip string of toolbar buttons.
30081         * etc/NEWS: Announce it.
30082         * etc/TODO: Remove its entry.  (Bug#36156)
30084 2019-06-22  Teemu Likonen  <tlikonen@iki.fi>
30086         Update epg.el algorithm id-name association lists
30088         * lisp/epg.el (epg-pubkey-algorithm-alist)
30089         (epg-digest-algorithm-alist, epg-compress-algorithm-alist): Add
30090         new identifiers from openpgpdefs.h.
30092 2019-06-22  Stefan Kangas  <stefankangas@gmail.com>
30094         Move mantemp.el to obsolete/
30096         * lisp/progmodes/mantemp.el: Move to obsolete/. (bug#34789)
30097         * doc/emacs/ack.texi (Acknowledgments): Remove obsolete library
30098         mantemp.el.
30100 2019-06-22  Eli Zaretskii  <eliz@gnu.org>
30102         Fix an off-by-one error in assertion
30104         * src/fileio.c (Fexpand_file_name): Fix off-by-one error in an
30105         assertion.  This avoids assertion violations when the home
30106         directory is an empty string for some reason.  (Bug#36363)
30108 2019-06-22  Eli Zaretskii  <eliz@gnu.org>
30110         Correct and update the mapping of LaTeX encodings
30112         * lisp/international/latexenc.el
30113         (latex-inputenc-coding-alist): Fix the association of latin5.
30114         (Bug#36253) Uncomment latin10 and map it to iso-8859-16.
30116 2019-06-22  Eli Zaretskii  <eliz@gnu.org>
30118         Avoid using string-make-unibyte in select.el
30120         * lisp/select.el (selection-coding-system): Doc fix.
30121         (xselect--encode-string): For C_STRING, if the text is not
30122         already unibyte, use encode-coding-string instead of
30123         string-make-multibyte to make it unibyte.
30125 2019-06-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30127         Make ftcr font backend driver more consistent with xft
30129         * src/ftcrfont.c (ftcrfont_open): Use metrics of glyph ID 0 if there is no
30130         glyph for an ASCII printable.
30132 2019-06-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30134         * src/font.c (Ffont_xlfd_name): Don't use strcpy for overlapping strings.
30136 2019-06-21  Paul Eggert  <eggert@cs.ucla.edu>
30138         Fix default build-from-Git on macOS
30140         * configure.ac (NS_IMPL_COCOA): Do not default to "yes" if
30141         src/macuvs.h is absent, which is possible in a build from Git.
30143 2019-06-21  Paul Eggert  <eggert@cs.ucla.edu>
30145         Remove src/macuvs.h from Git repository
30147         It can be generated automatically and easily during a normal
30148         bootstrap, so there’s no need to keep it in the repository.
30149         * admin/unidata/Makefile.in (maintainer-clean):
30150         Behave like extraclean and remove macuvs.h etc.
30151         * src/macuvs.h: Remove.
30153 2019-06-21  Lars Ingebrigtsen  <larsi@gnus.org>
30155         Revert "Remove XEmacs compat code from savehist.el"
30157         This reverts commit a97ba6eb305c9db8641c0e65748907cd53dbfa5e.
30159         According to bug#36324, this broke savehist.el
30161 2019-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
30163         * lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic): Mark obsolete
30165         See bug#11649 for an example problem, and emacs-devel discussion
30166         «Prickliness of the "invalid byte code" stuff».
30168         * lisp/wid-edit.el, lisp/wdired.el, lisp/vc/pcvs-util.el:
30169         * lisp/progmodes/executable.el, lisp/mail/sendmail.el:
30170         * lisp/emacs-lisp/cl-seq.el, lisp/emacs-lisp/cl-macs.el:
30171         * lisp/emacs-lisp/cl-lib.el, lisp/emacs-lisp/cl-extra.el:
30172         * lisp/dired-x.el, lisp/dired-aux.el, lisp/calendar/calendar.el:
30173         Don't use byte-compile-dynamic any more.
30175 2019-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
30177         * lisp/vc/ediff-*.el: Use lexical-binding, plus misc cleanup
30179         Re-enable lexical-binding in ediff.  For that, change ediff-find-file
30180         so as not to rely on dynamic scoping in its calling convention.
30182         * lisp/vc/ediff-diff.el: Move `provide` to the end.
30183         Remove redundant :group.
30184         (ediff-exec-process): Disregard current directory.
30185         (ediff-forward-word-function): Use defvar-local.
30187         * lisp/vc/ediff-help.el (ediff-set-help-message): Use functionp.
30189         * lisp/vc/ediff-hook.el (menu-bar-ediff-misc-menu): Make a toggle, as
30190         in the XEmacs menu.
30192         * lisp/vc/ediff-init.el (ediff-defvar-local): Add `doc-string` prop.
30193         (ediff-check-version): Delete function, unused.
30195         * lisp/vc/ediff-mult.el: Move `provide` to the end.
30196         Remove redundant :groups.
30197         (ediff-dir-diffs-buffer-map):
30198         Move initialization into declaration.
30199         (ediff-meta-mode): Use define-derived-mode.
30200         (ediff-intersect-directories): Remove `comparison-func`, unused.
30201         (ediff-prepare-meta-buffer): Fix use of `startup-hooks`.
30203         * lisp/vc/ediff-ptch.el: Move `provide` to the end.
30205         * lisp/vc/ediff-util.el (ediff-add-to-history): Use add-to-history instead.
30207         * lisp/vc/ediff-vers.el (ediff-vc-internal, ediff-vc-merge-internal):
30208         Use push and closures.
30210         * lisp/vc/ediff-wind.el: Remove redundant :groups.
30212         * lisp/vc/ediff.el: Move `provide` to the end.
30213         Remove redundant :groups.
30214         (ediff--magic-file-name, ediff--startup-hook): New vars.
30215         (ediff-find-file): Change calling convention so as not to use
30216         symbols as value cells.
30217         (ediff--buffer-file-name): New function.
30218         (ediff-files-internal): Adjust to new calling convention of ediff-find-file.
30219         (ediff-directories-internal, ediff-directory-revisions-internal)
30220         (ediff-regions-internal): Use push and closures.
30222 2019-06-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30224         * src/xterm.c (x_update_end) [USE_CAIRO]: Flush non-double-buffered surface.
30226 2019-06-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30228         Fix blank tooltips on cairo (Bug#36298)
30230         * src/xterm.h (x_cr_update_surface_desired_size) [USE_CAIRO]: Add extern.
30231         * src/xterm.c (x_cr_update_surface_desired_size) [USE_CAIRO]: Make non-static.
30232         * src/xfns.c (Fx_show_tip) [USE_CAIRO]: Call x_cr_update_surface_desired_size.
30234 2019-06-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30236         Fix broken display by frame maximization on cairo (Bug#23925)
30238         * src/xterm.c (handle_one_xevent) [USE_CAIRO && USE_GTK]: Make calls to
30239         x_cr_update_surface_desired_size coincide with those to xg_frame_resized.
30241 2019-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
30243         * lisp/vc/vc-dir.el (vc-dir-search): Avoid `eval`.
30245 2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>
30247         Fix extraclean in a different way for info+lib/sys
30249         * Makefile.in (extraclean):
30250         * lib/Makefile.in (extraclean): Use rmdir but suppress any
30251         error indication.  That way, ‘make extraclean’ will remove the
30252         directory if it’s empty, and successfully do nothing otherwise.
30254 2019-06-20  Eli Zaretskii  <eliz@gnu.org>
30256         Fix aborts when the value of a display property causes redisplay
30258         * src/xdisp.c (handle_single_display_spec): Protect the bidi
30259         cache from evaluation that triggers redisplay.  (Bug#36312)
30261 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30263         Leave the empty info and lib/sys in extraclean
30265         * lib/Makefile.in: Ditto.
30267         * Makefile.in (extraclean): Don't use GNU-specific rmdir; just
30268         leave the empty directory be.
30270 2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>
30272         Simplify lib-src version printing
30274         * lib-src/Makefile.in (etags_cflags): Remove.
30275         All uses replaced by a simple ‘-o $@’.
30276         (ebrowse${EXEEXT}, emacsclient${EXEEXT}, emacsclientw${EXEEXT}):
30277         Omit -DVERSION= option.
30278         * lib-src/ebrowse.c (VERSION):
30279         * lib-src/emacsclient.c (VERSION):
30280         * lib-src/etags.c (EMACS_NAME, VERSION): Remove.
30281         All uses replaced by PACKAGE_NAME and PACKAGE_VERSION.
30282         * lib-src/ebrowse.c (version):
30283         * lib-src/etags.c (print_version):
30284         Use fputs to output the version info, since that’s fputs_unlocked.
30285         * lib-src/etags.c (PROGRAM_NAME): New macro.
30286         (print_version): Use it.
30288 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30290         Make extraclean return tree to pristine state by deleting more
30292         * src/Makefile.in (extraclean): Remove TAGS and config.in.
30294         * Makefile.in (extraclean): Remove info, configure and
30295         emacsver.texi in extraclean.
30296         * admin/unidata/Makefile.in (extraclean): Make it depend on
30297         distclean to remove .elc files.
30299         * leim/Makefile.in (extraclean): Depend on bootstrap-clean to
30300         remove generated .el files.
30302         * lib/Makefile.in (extraclean): Added target to remove sys
30303         directory and run distclean.
30305         * lisp/Makefile.in (extraclean): Also remove loaddefs*.el~ files.
30307 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30309         Add doc strings to the ielm * variables
30311         * lisp/ielm.el: (*, **, ***): Add doc strings.
30313 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30315         Don't define *, ** and ** in ielm as real variables
30317         * lisp/ielm.el: (*, **, ***): Change defvars into compiler
30318         directives instead of real variable definitions to avoid polluting
30319         the global Emacs namespace.
30320         (*1, *2, *3): Ditto.
30322 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30324         Fix compilation warning in esh-mode
30326         * lisp/eshell/esh-mode.el (eshell-mode): Remove special binding
30327         for M-. in eshell buffers: The comment indicates that this is
30328         outdated code.
30329         (eshell-find-tag): Make obsolete.
30331 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30333         Fix compilation warning in viper-exp involving tags
30335         * lisp/emulation/viper-ex.el (ex-tag): Use xref/next-error instead
30336         of the deprecated tags functions.
30338 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30340         Declare semantic-*overlay* aliases obsolete
30342         * lisp/cedet/semantic/fw.el: Declare all the semantic-*overlay*
30343         aliases obsolete.
30345 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30347         Throughout cedet, don't use semantic-overlay-* compat aliases
30349 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30351         Remove XEmacs compat code from cedet
30353         * lisp/cedet/srecode/mode.el (srecode-menu-bar):
30354         * lisp/cedet/semantic/wisent/comp.el (wisent-debug-flag)
30355         (wisent-print-results):
30356         * lisp/cedet/semantic/util-modes.el
30357         (semantic-stickyfunc-indent-string)
30358         (semantic-stickyfunc-header-line-format)
30359         (semantic-highlight-func-mode-map):
30360         * lisp/cedet/semantic/symref/list.el
30361         (semantic-symref-list-menu-entries):
30362         * lisp/cedet/semantic/idle.el ()
30363         (semantic-idle-breadcrumbs-popup-menu):
30364         * lisp/cedet/semantic/grammar.el (semantic-grammar-item-value)
30365         (semantic-grammar-create-package)
30366         (semantic-grammar-batch-build-packages)
30367         (semantic-grammar-setup-menu):
30368         * lisp/cedet/semantic/fw.el (semantic-overlay-live-p)
30369         (semantic-event-window, semantic-make-local-hook)
30370         (semantic-run-mode-hooks, semantic-subst-char-in-string)
30371         (semantic-menu-item, semantic-find-file-noselect):
30372         * lisp/cedet/semantic/format.el (semantic-format-face-alist)
30373         (semantic--format-colorize-merge-text):
30374         * lisp/cedet/semantic/decorate/include.el ()
30375         (semantic-decoration-on-include-menu)
30376         (semantic-decoration-on-unknown-include-menu)
30377         (semantic-decoration-on-fileless-include-menu)
30378         (semantic-decoration-on-unparsed-include-menu):
30379         * lisp/cedet/semantic/decorate.el (semantic-set-tag-read-only)
30380         (semantic-tag-read-only-p):
30381         * lisp/cedet/mode-local.el (activate-mode-local-bindings):
30382         * lisp/cedet/data-debug.el (data-debug-overlay-properties): Remove
30383         XEmacs compat code.
30385 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30387         Remove XEmacs compat code from gravatar.el
30389         * lisp/image/gravatar.el (gravatar-retrieve): Remove XEmacs compat code
30391 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30393         Remove XEmacs compat code from erc
30395         * lisp/erc/erc-button.el (button, erc-button-keymap)
30396         (erc-button-setup, erc-button-add-button): Remove XEmacs compat code.
30398         * lisp/erc/erc-compat.el (erc-replace-match-subexpression-in-string):
30400         * lisp/erc/erc-log.el (erc-log-file-coding-system):
30402         * lisp/erc/erc-menu.el (menu):
30404         * lisp/erc/erc-stamp.el (erc-timestamp-use-align-to):
30406         * lisp/erc/erc-track.el (erc-modified-channels-object, track)
30407         (erc-track-mouse-face):
30409         * lisp/erc/erc.el (erc-update-undo-list)
30410         (erc-quit-reason-various, erc-part-reason-various, erc-cmd-SV)
30411         (erc-input-message, erc-get-channel-mode-from-keypress)
30412         (erc-update-mode-line-buffer):
30414 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30416         Remove XEmacs compat code from table.el
30418         * lisp/textmodes/table.el:
30419         (table-disable-menu, null, table-recognize-cell)
30420         (table--make-cell-map, table--update-cell)
30421         (table--update-cell-widened, table--update-cell-heightened)
30422         (table--read-from-minibuffer, table--untabify)
30423         (table--update-cell-face, table--warn-incompatibility)
30424         (table--fill-region, table--set-timer): Remove XEmacs compat code.
30426 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30428         Remove XEmacs compat code from dns-mode.el
30430         * lisp/textmodes/dns-mode.el (dns-mode): Remove XEmacs compat code.
30432 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30434         Clean up eieio-custom slightly
30436         * lisp/emacs-lisp/eieio-custom.el: Remove commented out code.
30438 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30440         Remove XEmacs compat code from checkdoc.el
30442         * lisp/emacs-lisp/checkdoc.el (checkdoc-minor-mode-map): Remove
30443         XEmacs compat code.
30445 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30447         Clean up after previous viper patch
30449         * lisp/emulation/viper-ex.el (viper-get-ex-address-subr): Fix
30450         syntax error in last checkin.
30451         (viper-ex): Don't use now-obsolete function.
30453 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30455         Remove most of the XEmacs compat code from viper*.el
30457         * lisp/emulation/viper-cmd.el ()
30458         (viper-insert-state-post-command-sentinel)
30459         (viper-change-state-to-vi, viper-change-state-to-insert)
30460         (viper-change-state-to-emacs, viper-escape-to-state)
30461         (viper-special-read-and-insert-char, viper-toggle-key-action)
30462         (viper-prefix-arg-value, viper-prefix-arg-com)
30463         (viper-digit-argument, viper-command-argument, )
30464         (viper-exec-Yank, viper-repeat, viper-forward-char)
30465         (viper-backward-char, viper-forward-word, viper-forward-Word)
30466         (viper-end-of-word, viper-end-of-Word, viper-backward-word)
30467         (viper-backward-Word, viper-beginning-of-line)
30468         (viper-bol-and-skip-white, viper-goto-eol, viper-goto-col)
30469         (viper-next-line, viper-next-line-at-bol, viper-previous-line)
30470         (viper-previous-line-at-bol, viper-goto-line, )
30471         (viper-repeat-find, viper-repeat-find-opposite)
30472         (viper-window-top, viper-window-middle, viper-window-bottom)
30473         (viper-paren-match, viper-search, viper-buffer-search-enable)
30474         (viper-put-back, viper-Put-back, viper-mark-point)
30475         (viper-cycle-through-mark-ring, viper-goto-mark-subr)
30476         (viper-brac-function, viper-register-to-point)
30477         (viper-submit-report): Remove some XEmacs compat code.
30479         * lisp/emulation/viper-ex.el (viper-get-ex-address-subr)
30480         (viper-handle-!, ex-edit, ex-mark, ex-next-related-buffer)
30481         (ex-help, ex-write, ex-write-info, viper-info-on-file): Ditto.
30483         * lisp/emulation/viper-keym.el (viper-add-keymap): Ditto.
30485         * lisp/emulation/viper-macs.el (viper-record-kbd-macro): Remove
30486         XEmacs compat code.
30488         * lisp/emulation/viper-mous.el (viper-mouse-click-insert-word)
30489         (viper-mouse-click-search-word): Remove some XEmacs compat code.
30491         * lisp/emulation/viper-util.el (viper-overlay-p)
30492         (viper-color-defined-p, viper-iconify, viper-memq-char)
30493         (viper-char-equal, viper=, viper-color-display-p)
30494         (viper-get-cursor-color, viper-frame-value)
30495         (viper-change-cursor-color, viper-save-cursor-color)
30496         (viper-restore-cursor-color, viper-get-visible-buffer-window)
30497         (viper-file-checked-in-p, viper-put-on-search-overlay)
30498         (viper-flash-search-pattern, viper-hide-search-overlay)
30499         (viper-move-replace-overlay, viper-set-replace-overlay)
30500         (viper-set-replace-overlay-glyphs, viper-hide-replace-overlay)
30501         (viper-replace-start, viper-replace-end)
30502         (viper-set-minibuffer-overlay, viper-check-minibuffer-overlay)
30503         (viper-abbreviate-file-name, viper-mark-marker)
30504         (viper-set-mark-if-necessary, viper-leave-region-active)
30505         (viper-copy-event, viper-read-event-convert-to-char)
30506         (viper-event-key, viper-last-command-char)
30507         (viper-key-to-emacs-key, viper-eventify-list-xemacs)
30508         (viper-set-unread-command-events, viper-char-array-p)
30509         (viper-key-press-events-to-chars, viper-read-char-exclusive):
30510         Remove most of the XEmacs compat code.
30512         * lisp/emulation/viper.el (viper-go-away, viper-set-hooks)
30513         (viper-non-hook-settings): Remove some XEmacs compat code.
30515 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30517         Remove XEmacs compat code from viper-macs.el
30519         * lisp/emulation/viper-macs.el (viper-char-array-to-macro):
30520         Remove XEmacs compat code.
30522 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30524         Remove XEmacs compat code from viper-cmd.el
30526         * lisp/emulation/viper-cmd.el (viper-change-state)
30527         (viper-escape-to-state, viper-special-read-and-insert-char)
30528         (viper-prefix-arg-value, viper-prefix-arg-com)
30529         (viper-display-current-destructive-command)
30530         (viper-file-add-suffix, viper-adjust-window)
30531         (viper-set-searchstyle-toggling-macros)
30532         (viper-set-parsing-style-toggling-macro)
30533         (viper-set-emacs-state-searchstyle-macros): Remove XEmacs compat code.
30535 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30537         Remove XEmacs and old Emacs compat code from gamegrid.el
30539         * lisp/play/gamegrid.el (gamegrid-event-x, gamegrid-event-y)
30540         (gamegrid-make-glyph, image-size, gamegrid-initialize-display)
30541         (gamegrid-start-timer, gamegrid-set-timer)
30542         (gamegrid-kill-timer)
30543         (gamegrid-add-score-with-update-game-score-1)
30544         (gamegrid-add-score-insecure): Removed XEmacs compat code.
30545         (gamegrid-characterp, gamegrid-set-display-table): Removed functions.
30547 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30549         Remove XEmacs compat code from binhex.el
30551         * lisp/mail/binhex.el (binhex-insert-char): Remove XEmacs compat
30552         code and made into a function instead of a defalias.
30553         (binhex-decode-region-internal): Remove XEmacs compat code.
30555 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30557         Remove XEmacs compat code from uudecode.el
30559         * lisp/mail/uudecode.el (uudecode-decode-region-external)
30560         (uudecode-decode-region-internal): Remove XEmacs compat code.
30562 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30564         Remove XEmacs compat code from pascal.el
30566         * lisp/progmodes/pascal.el (pascal-mark-defun): Remove XEmacs compat.
30568 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
30570         Remove XEmacs support from cperl-mode
30572         * lisp/progmodes/cperl-mode.el (condition-case)
30573         (cperl-electric-parens-mark, cperl-del-back-ch)
30574         (cperl-do-not-fontify, cperl-mode, cperl-find-pods-heres)
30575         (cperl-write-tags, cperl-tags-hier-init, cperl-perldoc)
30576         (cperl-build-manpage): Remove XEmacs support.
30578         There's a lot of support code in here for older versions of Emacs that
30579         could be removed, too.
30581 2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>
30583         Simplify stdout buffering
30585         * src/sysdep.c (_sobuf): Remove; we no longer need this
30586         microoptimization.
30587         (init_sys_modes): Simplify by assuming setvbuf.
30589 2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>
30591         Remove no-longer-needed fflushes of stderr
30593         * src/gmalloc.c (mabort) [GC_MCHECK && !__GNU_LIBRARY__]:
30594         * src/term.c (vfatal): Remove fflush (stderr) when it is now a
30595         no-op because newline automatically flushes stderr.
30597 2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>
30599         Line-buffer stderr
30601         * src/sysdep.c (init_standard_fds) [!DOS_NT]:
30602         Use setvbuf to ensure stderr is line-buffered.
30604 2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>
30606         Fix arbitrary INT_MAX limit on referrer repr
30608         * src/pdumper.c (print_paths_to_root_1):
30609         Don’t assume strlen (repr) < INT_MAX.
30611 2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>
30613         Minor putc tweaks
30615         * src/emacs-module.c (module_abort):
30616         * src/xdisp.c (vmessage):
30617         Prefer fputc to putc, since speed isn’t crucial here.
30618         * src/region-cache.c (pp_cache) [ENABLE_CHECKING]: Simplify.
30620 2019-06-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30622         Change font_put_extra value for property removal from Qnil to Qunbound
30624         * src/font.c (font_put_extra): If VAL is Qunbound, delete the slot for PROP from
30625         the list of extra properties.  Previous value Qnil is valid as boolean.
30626         (font_clear_prop): Changed argument of font_put_extra for property removal.
30628 2019-06-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30630         Fix failure of setting default face attribute in init script (Bug#36284)
30632         * src/xsettings.c (apply_xft_settings): Undo replacing all #ifdef HAVE_XFT
30633         with #if defined USE_CAIRO || defined HAVE_XFT for this function.
30635 2019-06-19  Roland Winkler  <winkler@gnu.org>
30637         * lisp/bookmark.el (bookmark-set-internal): Fix format string.
30639 2019-06-19  Juri Linkov  <juri@linkov.net>
30641         Add file sorting options to find-dired and grep-find (bug#36110)
30643         * lisp/find-dired.el (find-ls-option-default-ls)
30644         (find-ls-option-default-exec, find-ls-option-default-xargs):
30645         New variables for values used for options of 'find-ls-option'.
30646         (find-ls-option): Use these variables for default values and options.
30647         (find-dired-refine-function): Refine :type.
30649         * lisp/progmodes/grep.el (grep-find-use-xargs): Use defcustom
30650         instead of defvar.  Add new value 'gnu-sort'.
30651         (grep-compute-defaults): Handle new 'gnu-sort' option of
30652         'grep-find-use-xargs'.
30654 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30656         Remove XEmacs and ancient Emacs compatibility from newst-backend.el
30658         * lisp/net/newst-backend.el: Remove compatibility with XEmacs and
30659         ancient Emacs versions.
30661 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30663         Doc string fix
30665         * lisp/calendar/timeclock.el (timeclock-completing-read): Fix doc
30666         string punctuation.
30668 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30670         Remove XEmacs compat code from timeclock.el
30672         * lisp/calendar/timeclock.el (timeclock-completing-read)
30673         (timeclock-ask-for-project, timeclock-ask-for-reason): Remove
30674         XEmacs compat code.
30676 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30678         Remove more XEmacs compat code from epa.el
30680         * lisp/epa.el (epa-key-mode, epa-key-list-mode): Remove XEmacs
30681         compat code.
30683 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30685         Remove XEmacs compat code from calc
30687         * lisp/calc/calc.el (calc-read-key-sequence)
30688         (calcDigit-start, calc-read-key, calc-unread-command)
30689         (calc-clear-unread-commands):
30690         * lisp/calc/calc-misc.el (calc-dispatch-help):
30691         * lisp/calc/calc-help.el (calc-help-for-help)
30692         (calc-describe-key):
30693         * lisp/calc/calc-ext.el (calc-fancy-prefix, calc-user-key-map):
30694         Remove XEmacs compat code.
30696 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30698         Remove XEmacs compat code from savehist.el
30700         * lisp/savehist.el:
30701         (savehist-install, savehist-uninstall, savehist-save)
30702         (savehist-trim-history, savehist-printable)
30703         (savehist-minibuffer-hook): Remove XEmacs compat code.
30705 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30707         Remove XEmacs compat code from ps-print
30709         * lisp/ps-print.el:
30710         (ps-print-color-p, ps-postscript-code-directory, ps-setup):
30711         * lisp/ps-def.el:
30712         (ps-mark-active-p, ps-face-foreground-name)
30713         (ps-face-background-name, ps-color-device, ps-color-values)
30714         (ps-face-bold-p, ps-face-italic-p, ps-face-strikeout-p)
30715         (ps-face-overline-p, ps-face-box-p)
30716         (ps-generate-postscript-with-faces1): Remove XEmacs compat code
30717         and some outdated Emacs compat code.
30719 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30721         Remove XEmacs compat code from epa.el
30723         * lisp/epa.el (epa-key-list-mode, epa-key-mode)
30724         (epa--find-coding-system-for-mime-charset): Remove XEmacs compat
30725         code and comments.
30727 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30729         Remove XEmacs compat code from dframe.el
30731         * lisp/dframe.el (dframe-update-speed, dframe-update-keymap)
30732         (dframe-frame-mode, dframe-detach, dframe-set-timer-internal)
30733         (dframe-popup-kludge, dframe-mouse-event-p)
30734         (dframe-track-mouse, dframe-help-echo, dframe-mouse-set-point)
30735         (dframe-double-click, dframe-temp-buffer-show-function)
30736         (dframe-hack-buffer-menu, dframe-mouse-hscroll): Remove XEmacs
30737         compat code (and some ancient Emacs compat code).
30739 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30741         Remove XEmacs compat code from ansi-color.el
30743         * lisp/ansi-color.el (ansi-color-apply-overlay-face)
30744         (ansi-color-make-face, ansi-color-make-extent)
30745         (ansi-color-set-extent-face): Remove XEmacs compat code.
30747 2019-06-19  Alan Mackenzie  <acm@muc.de>
30749         Update CC Mode's version number to 5.34
30751         * doc/misc/cc-mode.texi (top level, "Introduction"),
30752         lisp/progmodes/cc-defs.el (c-version): Update version number to 5.34.
30754 2019-06-19  Eli Zaretskii  <eliz@gnu.org>
30756         Update documentation of font backends on MS-Windows
30758         * doc/emacs/msdos.texi (Windows Fonts): Update the
30759         documentation of requesting specific font backends.
30761 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30763         Fix typo in previous erc.el change
30765         * lisp/erc/erc.el (erc-send-input): Fix typo in previous checkin.
30767 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30769         Use add/remove-hook on erc-pre-send-functions
30771         * lisp/erc/erc-goodies.el (noncommands): Ditto.
30773         * lisp/erc/erc-ring.el (ring): Use add/remove-hook.
30775 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30777         Move around defgeneric/defmethods in eieio
30779         * lisp/emacs-lisp/eieio.el (object-print):
30780         * lisp/emacs-lisp/eieio-base.el (eieio-object-set-name-string):
30781         Move the defgeneric before the defmethod, because that makes more
30782         sense.
30784 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30786         Fix previous change to erc (where commands like /me wouldn't be sent)
30788         * lisp/erc/erc-ring.el (erc-add-to-input-ring):
30789         * lisp/erc/erc-goodies.el (erc-send-distinguish-noncommands): Pass
30790         in a erc-input structure instead of a simple string.
30791         * lisp/erc/erc.el (erc-pre-send-functions): Document the new
30792         argument to the filter functions.
30793         (erc-send-input): Use the new structure to allow the filter
30794         functions to alter all three things: The string, whether to insert
30795         the string, and whether to send the string.
30797 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30799         Don't have erc-goodies and erc-ring register functions multiple times
30801         * lisp/erc/erc-goodies.el (noncommands): Don't register functions
30802         twice.
30804         * lisp/erc/erc-ring.el (ring): Ditto.
30806 2019-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
30808         (with-suppressed-warnings): Make it apply to macro-expansion as well
30810         * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
30811         Change with-suppressed-warnings so it also affects the macro-expansion of
30812         the body.
30814 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30816         Rename function in completion.el to use completion- prefixes
30818         * lisp/completion.el (locate-completion-entry)
30819         (completion-locate-entry, locate-completion-entry-retry)
30820         (completion-locate-entry-retry, locate-completion-db-error):
30821         Rename to use a completion- prefix and make the old names obsolete
30822         aliases.
30823         (add-completion-to-head, delete-completion): Use the new function
30824         names.
30826 2019-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
30828         * lisp/textmodes/page-ext.el: Further cleanup
30830         (pages--ctl-x-ctl-p-map): Rename from ctl-x-ctl-p-map.
30831         Move initialization into declaration.
30832         (pages-ctl-x-ctl-p-prefix): Rename from ctl-x-ctl-p-prefix.
30833         (sort-subr): Remove redundant autoload.
30834         (pages-set-delimiter): Use explicit `interactively` arg instead of
30835         `called-interactively`.  Use `setq-local`.
30836         (pages-directory-for-addresses): Use `setq-local`.
30838 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30840         Fix compilation warning in pcmpl-gnu.el
30842         * lisp/pcmpl-gnu.el (pcomplete/tar): Remove binding of
30843         pcomplete-suffix-list, because it's not consulted in any of the
30844         functions called here, and has had no effect since 2011.  If we
30845         want to support not inserting a space after the = sign, we have to
30846         implement that, but it's not currently done.
30848 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30850         Revert "Fix one of the tags/xref warnings in viper-ex.el"
30852         This reverts commit 4f2f95049738be97df8647705a8fc05a029ed244.
30854         We can't mix calls to find-tag and xref-find-definitions
30856 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30858         Fix up the function/variable names in page-ext.el
30860         * lisp/textmodes/page-ext.el (previous-page)
30861         (search-pages)
30862         (sort-pages-in-region)
30863         (sort-pages-buffer)
30864         (pages-sort-buffer)
30865         (pages-set-delimiter): Rename to have pages- prefixes and make the
30866         previous name into aliases for the new names.
30867         (ctl-x-ctl-p-map): Use the new command names.
30869 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30871         Touch up the OKURI-NASI progress reporting
30873         * lisp/international/ja-dic-cnv.el (skkdic-convert-okuri-ari)
30874         (skkdic-convert-postfix, skkdic-convert-prefix)
30875         (skkdic-collect-okuri-nasi): Use INFO progress reporting.
30876         (skkdic-set-okuri-nasi): Use the progress reporter instead of a
30877         per-1000 output.
30879 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30881         Tweak progress reporting in finder-compile-keywords
30883         * lisp/finder.el (finder-compile-keywords): Use progress reporter
30884         to report the processing.
30886 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30888         Allow specifying the expected number of shift/reduce conflicts
30890         * admin/grammars/grammar.wy: Add %expectedconflicts.
30892         * lisp/cedet/semantic/grammar-wy.el
30893         (semantic-grammar-wy--keyword-table): Ditto.
30895         * lisp/cedet/semantic/grammar.el
30896         (semantic-grammar-expected-conflicts): New function.
30897         (semantic-grammar-insert-defconst-with-eval): New function.
30898         (semantic-grammar-create-package): Output the number of expected
30899         shift/reduce conflicts.
30901         * lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts):
30902         Don't output the warning if the number of shift/reduce conflicts
30903         is expected.
30904         (wisent-expected-conflicts): Made obsolete.
30906 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
30908         Tweak progress reporting in update-directory-autoloads
30910         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Use
30911         progress reporter so say what percentage the progress is at.
30913 2019-06-19  Mattias Engdegård  <mattiase@acm.org>
30915         Compile any subsequence of `cond' clauses to switch (bug#36139)
30917         A single `cond' form can how be compiled to any number of switch ops,
30918         optionally interspersed with non-switch conditions.
30919         Previously, switch ops would only be used for whole `cond' forms
30920         containing no other tests.
30922         * lisp/emacs-lisp/bytecomp.el (byte-compile--cond-vars):
30923         Rename from `byte-compile-cond-vars'.
30924         (byte-compile--default-val): Remove.
30925         (byte-compile--cond-switch-prefix):
30926         Replace `byte-compile-cond-jump-table-info'; now also returns
30927         trailing non-switch clauses.
30928         (byte-compile-cond-jump-table): New arguments; no longer compiles
30929         the default case.
30930         (byte-compile-cond): Look for and compile switches at any place in the
30931         list of clauses.
30932         * test/lisp/emacs-lisp/bytecomp-tests.el (byte-opt-testsuite-arith-data):
30933         Add test expression.
30935 2019-06-19  Mattias Engdegård  <mattiase@acm.org>
30937         Compile cond with heterogeneous tests into switch (bug#36139)
30939         Allow any mixture of `eq', `eql' and `equal', `memq', `memql' and
30940         `member' in a switch-like `cond' to be compiled into a single switch.
30942         * lisp/emacs-lisp/bytecomp.el (byte-compile--common-test): New.
30943         (byte-compile-cond-jump-table-info): Use most specific common test.
30944         * test/lisp/emacs-lisp/bytecomp-tests.el (byte-opt-testsuite-arith-data):
30945         Add test cases for multi-value clause cond forms.
30947 2019-06-19  Mattias Engdegård  <mattiase@acm.org>
30949         Tighter pcase or-pattern member function selection (bug#36139)
30951         * lisp/emacs-lisp/pcase.el (pcase--u1):
30952         Use the most specific of `memq', `memql' and `member' in or-patterns
30953         with constant cases.  This improves performance and may help the byte-code
30954         compiler generate a switch.
30955         * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-member):
30956         Add mixed-type or-pattern test cases.
30958 2019-06-19  Mattias Engdegård  <mattiase@acm.org>
30960         Compile list member functions in cond to switch (bug#36139)
30962         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
30963         Expand `memq', `memql' and `member' to their corresponding
30964         equality tests.
30965         (byte-compile-cond-jump-table): Cases now have multiple values.
30966         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1)
30967         (byte-optimize-lapcode): Don't assume switch hash tables to be injective.
30969 2019-06-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30971         Fix oversights of "support X core font driver on cairo" change
30973         * src/Makefile.in (FONT_OBJ): Fix comment for USE_CAIRO.
30974         * src/xfns.c (x_create_tip_frame) [USE_CAIRO]: Register xfont_driver.
30976 2019-06-19  Paul Eggert  <eggert@cs.ucla.edu>
30978         --with-cairo is no longer experimental
30980         Suggested by YAMAMOTO Mitsuharu in:
30981         https://lists.gnu.org/r/emacs-devel/2019-06/msg00686.html
30982         * configure.ac: Do not say --with-cairo is experimental.
30983         * etc/NEWS: Say that --with-cairo is no longer experimental.
30985 2019-06-18  Glenn Morris  <rgm@gnu.org>
30987         Disable lexical-binding in ediff
30989         Since it breaks the thing (bug#36157, bug#36281).
30990         * lisp/vc/ediff-diff.el, lisp/vc/ediff-help.el, lisp/vc/ediff-hook.el:
30991         * lisp/vc/ediff-init.el, lisp/vc/ediff-merg.el, lisp/vc/ediff-mult.el:
30992         * lisp/vc/ediff-ptch.el, lisp/vc/ediff-vers.el, lisp/vc/ediff-wind.el:
30993         * lisp/vc/ediff.el: Set lexical-binding to nil.
30995 2019-06-18  Eli Zaretskii  <eliz@gnu.org>
30997         Fix the handling of font backend supersedence on MS-Windows
30999         * src/w32font.c (syms_of_w32font): Don't make the Uniscribe
31000         font backend "superceded" here, ...
31001         * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper):
31002         ... make it "superceded" here, only if the HarfBuzz DLL was
31003         successfully loaded.  This is because Emacs compiled with
31004         HarfBuzz support might run on a system without the DLL.
31005         * src/w32fns.c (Fx_create_frame, w32_create_tip_frame):
31006         Register the HarfBuzz font backend only if it is available.
31008 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
31010         Revert "Add a mechanism to specify expected shift/reduce .wy conflicts"
31012         This reverts commit f21ec24524c705e18674a2e9e4db37b11fa3ebab.
31014         *sigh*  Revert again because this created a bootstrap problem in a different part of the process.
31016 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
31018         Add a mechanism to specify expected shift/reduce .wy conflicts
31020         * admin/grammars/python.wy: Set the expected number of
31021         shift/reduce conflicts to four.
31023         * lisp/cedet/semantic/grammar.el
31024         (semantic-grammar-expected-conflicts): New function.
31026         * lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts): Use
31027         it to suppress warnings about the expected number of shift/reduce
31028         conflicts.
31030 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
31032         Revert "Add a mechanism to specify expected shift/reduce .wy conflicts"
31034         This reverts commit d715ae8788e16b22f7f68cb82b51a40ad95c78c2.
31036         This commit led to a build error, so revert for now.
31038 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
31040         Add a mechanism to specify expected shift/reduce .wy conflicts
31042         * admin/grammars/python.wy: Set the expected number of
31043         shift/reduce conflicts to four.
31045         * lisp/cedet/semantic/grammar.el
31046         (semantic-grammar-expected-conflicts): New function.
31047         * lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts): Use
31048         it to suppress warnings about the expected number of shift/reduce
31049         conflicts.
31051 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
31053         Rename symbols in ind-util.el to have indian- prefixes
31055         * lisp/language/ind-util.el (indian-ucs-to-is13194-regexp)
31056         (indian-ucs-to-iscii-region, indian-iscii-to-ucs-region): Rename
31057         unprefixed function to indian-*.
31059 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
31061         Report progress during custom-make-dependencies instead of file count
31063         * lisp/cus-dep.el (custom-make-dependencies): Rewrite to use
31064         reporter to report progress instead of how many files we've
31065         processed.
31067         * lisp/emacs-lisp/byte-run.el (byte-compile-info-string): New function.
31068         (byte-compile-info-message): Use it.
31070 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
31072         Make quail conversion output quieter
31074         * lisp/international/quail.el (quail-update-leim-list-file): Ditto.
31075         * lisp/international/titdic-cnv.el (tit-process-header)
31076         (tit-process-body, miscdic-convert, batch-titdic-convert): Reduce
31077         messaging.
31079 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
31081         Fix compilation warning in bookmark.el
31083         * lisp/bookmark.el (bookmarks-already-loaded): Move obsolete alias
31084         definition to before its referent.
31086         In toplevel form:
31087         bookmark.el:279:1:Warning: Alias for `bookmark-bookmarks-timestamp' should be
31088             declared before its referent
31090 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
31092         Output progress reports when scanning for finder/custom
31094         * lisp/cus-dep.el (custom-make-dependencies): Ditto.
31096         * lisp/finder.el (finder-compile-keywords): Instead of outputting
31097         the directories being scanned, output progress reports on the
31098         number of files being scanned.  This makes the output more similar
31099         to the autoload scraping.
31101 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
31103         Touch up the byte-compilation messaging in skkdic-set-okuri-nasi
31105         * lisp/international/ja-dic-cnv.el (skkdic-set-okuri-nasi): Use
31106         the "INFO" format for these informational messages, and be more
31107         explicit in saying what they're doing.
31109 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
31111         Add types to some no-type tokes in js.wy
31113         * admin/grammars/js.wy: Add types to the FALSE, TRUE and QUERY tokens.
31115         Without the types, you'd get the warning
31117         *Warning* default value of <<no-type>> tokens changed to QUERY, was NULL_TOKEN
31118         *Warning* default value of <<no-type>> tokens changed to TRUE, was QUERY
31119         *Warning* default value of <<no-type>> tokens changed to FALSE, was TRUE
31121         I think this should be harmless, and it doesn't seem to break handling
31122         .js files.
31124 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
31126         Comment out useless nonterminals from python.wy
31128 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
31130         Remove nonterminals that semantic claims are useless
31132         * admin/grammars/js.wy (VariableStatement): Remove useless
31133         nonterminals.
31135         Debug output from wisent:
31137         Useless nonterminals:
31139            StatementList
31140            BlockExpand
31142 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
31144         Silence spurious load message in latin-ltx.el
31146         * lisp/leim/quail/latin-ltx.el (latin-ltx--define-rules): Silence
31147         the `load' because it's not very informative.
31149 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
31151         Tweak implementation of byte-compile-info-message
31153         * lisp/emacs-lisp/byte-run.el (byte-compile-info-message): Clean
31154         up implementation.
31156 2019-06-17  Roland Winkler  <winkler@gnu.org>
31158         * lisp/bookmark.el: Watch bookmark file.  Use lexical binding.
31160         (bookmark-watch-bookmark-file): New user variable.
31161         (bookmark-alist): Fix docstring.
31162         (bookmark-bookmarks-timestamp): Renamed from bookmarks-already-loaded.
31163         (bookmark-maybe-load-default-file, bookmark-save, bookmark-load):
31164         Use bookmark-bookmarks-timestamp.
31165         (bookmark-bmenu-mode-map): Define menu bar menu.
31166         (bookmark-show-annotation, bookmark-show-all-annotations):
31167         Make bookmarks buffer read-only.
31168         (bookmark-bmenu-save): Use call-interactively.
31170 2019-06-17  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
31172         Support font driver supersession
31174         * src/font.c (font_update_drivers): If argument NEW_DRIVERS is t, then don't
31175         use superseded drivers.
31176         (syms_of_font) <Qfont_driver_superseded_by>: New DEFSYM.
31178         * src/ftfont.c (syms_of_ftfont) [HAVE_HARFBUZZ]:
31179         * src/ftcrfont.c (syms_of_ftcrfont) [HAVE_HARFBUZZ]:
31180         * src/w32font.c (syms_of_w32font) [HAVE_HARFBUZZ]:
31181         * src/xftfont.c (syms_of_xftfont) [HAVE_HARFBUZZ]: Make Harfbuzz variants
31182         supersede non-Harfbuzz ones.
31184         * src/w32fns.c (Fx_create_frame, w32_create_tip_frame): Remove font backend
31185         determination code.
31187 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31189         Output progress messages when scraping autoloads during bootstrap
31191         * lisp/emacs-lisp/byte-run.el (byte-compile-info-message): New
31192         function to output informational messages during byte compilation.
31194         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Use it
31195         to report progress when scraping autoloads during bootstrap (which
31196         may take half a minute).
31198 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31200         Silence message in latin-ltx about the normal situation
31202         * lisp/leim/quail/latin-ltx.el (latin-ltx--define-rules): Don't
31203         output the summary message unless there are conflicts.
31205 2019-06-17  Paul Eggert  <eggert@cs.ucla.edu>
31207         * src/image.c (image_set_rotation): Do negation at compile-time.
31209 2019-06-17  Alan Mackenzie  <acm@muc.de>
31211         Move defvars of c-doc-line-join-re + two others from cc-fonts.el to cc-mode.el
31213         This is because these variables are needed at runtime even when cc-fonts.el
31214         hasn't been loaded, as in XEmacs when font locking hasn't been enabled.
31216         * lisp/progmodes/cc-fonts.el (c-doc-line-join-re)
31217         (c-doc-bright-comment-start-re, c-doc-line-join-end-ch): Move definitions to
31218         cc-mode.el.
31220 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31222         Compilation work-around for obsolete eieio-object-set-name-string
31224         * lisp/emacs-lisp/eieio-base.el (eieio-object-set-name-string):
31225         Move the generic definition of this method to here from eieio.el
31226         and place it after the cl-method definition.  This avoids a
31227         warning about it being obsolete when doing macro expansion.
31229 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31231         Work around warning from macroexpanding obsolete method
31233         * lisp/emacs-lisp/eieio.el (object-print): Move method definition
31234         to before generic definition because the generic definition
31235         obsoletes the method, which will then output a warning from when
31236         macroexpanding.
31238 2019-06-17  Alex Branham  <alex.branham@gmail.com>
31240         Avoid a flyspell error if point is at beginning of buffer
31242         * lisp/textmodes/flyspell.el (flyspell-generic-progmode-verify): Check
31243         if point is at the beginning of the buffer.  This prevents an error
31244         when e.g. 'flyspell-auto-correct-word' gets called with point at the
31245         beginning of the buffer.
31247         Bug#35967
31249 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31251         Declare unknown slots to silence the compiler
31253         * lisp/cedet/ede/config.el (classpath): Declare slot.
31254         (ede-java-classpath): Revert previous hack.
31256         * lisp/cedet/srecode/srt-mode.el (key): Declare slot.
31257         (srecode-macro-help): Revert previous hack.
31258         (srecode-parse-this-macro): Ditto.
31260 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31262         Change the eieio-declare-slots function into a macro
31264         * lisp/emacs-lisp/eieio-core.el (eieio-declare-slots): Change into
31265         a compile-only macro.
31267 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31269         New function eieio-declare-slots
31271         * lisp/emacs-lisp/eieio-core.el (eieio-declare-slots): New
31272         function to suppress compiler warnings about unknown slots.
31274 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31276         Fix use of obsolete constructor in semantic/complete.el
31278         * lisp/cedet/semantic/complete.el (make-instance): Use
31279         make-instance instead of the obsolete constructor method...  which
31280         didn't work, anyway.  The following would bug out
31282 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31284         Fix compilation warning by having ede-target inherit from eieio-named
31286         * lisp/cedet/ede/base.el (ede-target): Inherit from eieio-named so
31287         that if you're customizing objects via eieio-object-value-get, you
31288         can set the name.
31290         * lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get): Don't
31291         use obsolete function `eieio-object-set-name-string'.
31293 2019-06-17  Alan Mackenzie  <acm@muc.de>
31295         Remove the now unneeded c-font-lock-flush from CC Mode.
31297         * lisp/progmodes/cc-defs.el (c-font-lock-flush): Delete this macro.
31299         * lisp/progmodes/cc-engine.el (c-propertize-raw-string-opener): Delete the
31300         call to the macro.
31302 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31304         Make calc-macs.el lexical
31306         * lisp/calc/calc-macs.el: Enable lexical binding.  This fixes a
31307         build warning in calc.el (which is lexical).
31309 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31311         Suppress warning in isearchb about iswitchb being obsolete
31313         * lisp/isearchb.el (obsolete): Suppress warning about package
31314         being obsolete.  Instead, this has been reported to the bug
31315         tracker, because it requires a rewrite of isearchb.
31317 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31319         Make do-after-load-evaluation check whether warnings are enabled.
31321         * lisp/subr.el (do-after-load-evaluation): Heed
31322         `byte-compile-warning-enabled-p', if defined.  This allows
31323         suppressing the warning about packages being obsolete.
31325 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31327         Suppress compilation warning in srt-mode
31329         * lisp/cedet/srecode/srt-mode.el (srecode-parse-this-macro): Check
31330         for the existence of `key' in the macro before using it, and
31331         suppress the warning.
31333 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31335         Suppress warning about out-of-tree Java class in cedet
31337         * lisp/cedet/ede/config.el (ede-java-classpath): Hack to suppress
31338         a compilation warning in glue code to out-of-tree code.
31340 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31342         Suppress warning about object-print in eieio.el
31344         * lisp/emacs-lisp/eieio.el (obsolete): Suppress warning about
31345         object-print being obsolete, because there are no in-tree
31346         definitions any more.
31348 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31350         Add check for enabled warning before issuing
31352         * lisp/emacs-lisp/bytecomp.el (byte-compile-function-warn): Check
31353         whether we want the `obsolete' warning before issuing it.
31355 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31357         Suppress warning about object-print in eieio.el
31359         * lisp/emacs-lisp/eieio.el (cl-print-object): Suppress the warning
31360         about object-print being obsolete, since there are no in-tree
31361         methods like that any more.
31363 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31365         Make with-suppressed-warnings work in cl-defmethod
31367         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Pass the symbol
31368         name on to `byte-compile-warning-enabled-p' to make
31369         with-suppressed-warnings work in cl-defmethods, too.
31371 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31373         Rewrite object-print methods in cedet to be cl-print-object methods
31375         * lisp/cedet/semantic/db-el.el (object-print): Ditto.
31376         (object-print): Ditto.
31378         * lisp/cedet/semantic/db-global.el (object-print): Ditto.
31380         * lisp/cedet/semantic/db.el (object-print): Remove; unused.
31381         * lisp/cedet/semantic/db.el (semanticdb-debug-info): New method.
31382         (object-print): Rewritten to be cl-print-object.
31384         * lisp/emacs-lisp/eieio.el (eieio-object-name): Allow the EXTRA
31385         argument to be a list of strings.
31387 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
31389         Add doc strings to the -at-point commands in vc-git
31391         * lisp/vc/vc-git.el (vc-git-stash-delete-at-point)
31392         (vc-git-stash-show-at-point, vc-git-stash-apply-at-point)
31393         (vc-git-stash-pop-at-point): Add doc strings to these commands.
31395 2019-06-16  Roland Winkler  <winkler@gnu.org>
31397         * lisp/find-dired.el (find-dired-refine-function): Fix defcustom.
31399 2019-06-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
31401         Prevent the Gnus registry from being loaded twice at startup
31403         * lisp/gnus/gnus-registry.el (gnus-registry-load): Check if the
31404           registry is already loaded, and don't load again unless new optional
31405           FORCE argument is non-nil.
31406           (gnus-registry-clear): New function to clear the registry, added as
31407           a Gnus shutdown. Now that loading doesn't unilaterally reset the
31408           registry, we need to make sure it is reloaded when Gnus is.
31410 2019-06-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
31412         Avoid rounding error in image rotation
31414         * src/image.c (image_set_rotation): Halve translations as double values.
31416 2019-06-16  Glenn Morris  <rgm@gnu.org>
31418         Tweak compilation mode used by byte-recompile-directory
31420         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-mode):
31421         Doc fix.
31422         (byte-recompile-directory): Use emacs-lisp-compilation-mode.
31424 2019-06-16  Glenn Morris  <rgm@gnu.org>
31426         Disable filling of warnings in a bytecomp test
31428         * test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression):
31429         Disable filling rather than working around it.
31431 2019-06-16  Glenn Morris  <rgm@gnu.org>
31433         Tweak how byte-compile-print-syms fills
31435         * lisp/emacs-lisp/bytecomp.el (byte-compile-print-syms):
31436         Use fill-column from the compile log buffer.
31438 2019-06-16  Glenn Morris  <rgm@gnu.org>
31440         Don't hard-code the fill-column for display-warning
31442         * lisp/emacs-lisp/warnings.el (warning-fill-column): New variable.
31443         (display-warning): Use warning-fill-column.
31444         * doc/lispref/display.texi (Warning Variables):
31445         Mention warning-fill-column.
31447 2019-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
31449         * lisp/emacs-lisp/cl-generic.el (gv-setter): Move declaration.
31451         Move it to those places where we know gv has been loaded.
31453 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
31455         Fix up the --no-print-directory changes in src/Makefile.in
31457         * src/Makefile.in (AM_V_NO_PD): New macro written by Andreas
31458         Schwab that can be either --no-print-directory or "".
31459         (%.elc): Use it instead if the if statement.
31461 2019-06-16  Juanma Barranquero  <lekktu@gmail.com>
31463         Bump up max_specpdl_size to 1500.  (Bug#36216)
31465         * src/eval.c (init_eval_once): Set max_specpdl_size to 1500.
31466         * doc/lispref/variables.texi (Local Variables): Document it.
31468 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
31470         Add comment to eieio-opt about why we're requiring cl-extra
31472         * lisp/emacs-lisp/eieio-opt.el (cl-extra): Add comment about why
31473         we're not requiring cl-lib.
31475 2019-06-16  Alan Third  <alan@idiocy.org>
31477         Revert "Simplify image transforms"
31479         This reverts commit cf3081d208814ea02fce33aac645abfc24f880a6.
31481 2019-06-16  Alan Third  <alan@idiocy.org>
31483         Simplify image transforms
31485         * src/image.c: (image_set_rotation, image_set_size,
31486         image_set_transform): Combine into image_set_transform.
31487         (image_set_crop): Remove function.
31488         (lookup_image): Remove calls to removed functions and remove
31489         transform_matrix.
31490         * test/manual/image-transforms-tests.el (test-cropping): Remove
31491         function.
31492         (test-transforms): Remove reference to test-cropping.
31494 2019-06-16  Alan Third  <alan@idiocy.org>
31496         Document image transforms
31498         * doc/lispref/display.texi (Image Descriptors): Document :crop and
31499         update :rotation.
31500         * src/image.c: Describe the image transform matrix layout.
31501         * test/manual/image-transforms-tests.el: New file.
31503 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
31505         Fix compilation warning about gv-setter in cl-generic
31507         * lisp/emacs-lisp/cl-generic.el (gv-setter): Declare to avoid a
31508         compilation warning.
31510 2019-06-16  Alan Mackenzie  <acm@muc.de>
31512         CC Mode: Remedy recent loss in performance
31514         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): call
31515         c-parse-state outside of the narrowing operation.
31517         * lisp/progmodes/cc-fonts.el (c-get-fontification-context)
31518         (c-font-lock-cut-off-declarators): Replace calls to c-determine-limit with
31519         crude position calculations for speed.
31521 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
31523         Fix compilation warning i eieio-base
31525         * lisp/emacs-lisp/eieio-base.el (clone): Use eieio-object-class
31526         instead of obsolete function class-of.
31528 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
31530         Fix compilation warning in ede.el
31532         * lisp/cedet/ede/auto.el (ede-project-autoload): Inherit from
31533         eieio-named, because we want to set the object name...
31535         * lisp/cedet/ede.el (ede-new): ... which we do here, and fix the
31536         compilation warning about the obsolete
31537         eieio-object-set-name-string function.
31539 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
31541         Revert "Fix compilation warning in ede.el"
31543         This reverts commit 7bbb56bc430465a6807a8129a322c704c89e3eba.
31545         The commit led to a bootstrap error.
31547 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
31549         Fix compilation warning in ede.el
31551         * lisp/cedet/ede.el (ede-new): ... which we do here, and fix the
31552         compilation warning about the obsolete
31553         eieio-object-set-name-string function.
31555         * lisp/cedet/ede/auto.el (ede-project-autoload): Inherit from
31556         eieio-named, because we want to set the object name...
31558 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
31560         Remove obsolete name arg from two constructors
31562         * lisp/cedet/semantic/grammar.el
31563         (semantic-analyze-current-context): Remove obsolete name arg.
31565         * lisp/cedet/srecode/insert.el (srecode--insert-into-buffer): Ditto.
31567 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
31569         Compilation fix for previous change to eieio-opt
31571         * lisp/emacs-lisp/eieio-opt.el (cl-extra): Require for
31572         cl--describe-class.
31574 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
31576         Fix compilation warning in eieio-opt
31578         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Don't
31579         use obsolete function eieio-help-class.
31581 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
31583         Avoid "unknown slot" compilation warning in eieio-custom
31585         * lisp/emacs-lisp/eieio-custom.el
31586         (eieio-read-customization-group): Slot `name' may not exist in all
31587         classes, so protect against that (and avoid a compilation warning
31588         about it).
31590 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
31592         Avoid a compilation warning in srt-mode.el
31594         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): Add hack to
31595         avoid compilation warning about slot that has to exist at this
31596         point.
31598 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
31600         Fix one of the tags/xref warnings in viper-ex.el
31602         * lisp/emulation/viper-ex.el (ex-tag): Avoid a compilation warning
31603         about find-tag-other-window.
31605 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
31607         Declare function in esh-mode before #'-ing it
31609         * lisp/eshell/esh-mode.el (ansi-color-apply-text-property-face):
31610         Declare to avoid a compilation warning.
31612 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
31614         Avoid obsolete function in reftex-global.el
31616         * lisp/textmodes/reftex-global.el (reftex-query-replace-document):
31617         Rewrite to use fileloop directly to avoid the obsolete function
31618         tags-query-replace.
31620 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
31622         Use fileloop directly in vc-dir to avoid obsolete function
31624         * lisp/vc/vc-dir.el (vc-dir-query-replace-regexp): Rewrite to use
31625         fileloop directly to avoid the obsolete function
31626         tags-query-replace.
31628 2019-06-16  Alan Mackenzie  <acm@muc.de>
31630         Maintain c-syntax-table-hwm when changing syntax-table text properties
31632         * lisp/progmodes/cc-defs.el: (c-syntax-table-hwm): Move the defvar to here
31633         from cc-mode.el, since the variable is needed at compile time in
31634         c-emacs-features.
31635         (c-min-property-position): New macro.
31636         (c-put-char-property, c-clear-char-property, c-clear-char-properties)
31637         (c-clear-char-property-with-value-function)
31638         (c-clear-char-property-with-value-on-char-function)
31639         (c-put-char-properties-on-char): Adjust c-syntax-table-hwm appropriately when
31640         syntax-table text properties are changed.
31642         * lisp/progmodes/cc-engine.el (c-truncate-lit-pos-cache): Remove the now
31643         unneeded setting of c-syntax-table-hwm, and the unneeded declaration of
31644         c-syntax-table-hwm.
31646 2019-06-16  Michael Albinus  <michael.albinus@gmx.de>
31648         Say how Tramp is packaged with Emacs
31650         * doc/misc/tramp.texi (Obtaining Tramp):
31651         Mention `customize-package-emacs-version-alist'.
31653 2019-06-15  Dmitry Gutov  <dgutov@yandex.ru>
31655         Fix regressions in xref-find-definitions and ...-other-window
31657         * lisp/progmodes/xref.el:
31658         (xref--display-buffer-in-other-window)
31659         (xref--display-buffer-in-window): New functions.
31660         (xref--show-pos-in-buf): Use them (bug#33870)
31662 2019-06-15  Stefan Kangas  <stefankangas@gmail.com>
31664         Add MESSAGE string to bookmark-errors (bug#23408)
31666         * lisp/bookmark.el (bookmark-errors): Add MESSAGE parameter string.
31668 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
31670         Always try to display tree-widget with images (Bug#36147)
31672         Checking the result of display-images-p doesn't make sense if the
31673         display capabilities when loading the file are different from the
31674         display used to actually look at the widget (which is easily possible
31675         now that Emacs supports both tty and graphic frames in the same
31676         instance).
31677         * lisp/tree-widget.el (tree-widget-image-enable): Default to t,
31678         always.  This still shows text on displays that can't show images.
31680 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
31682         Allow trailing whitespace in --eval argument (Bug#36219)
31684         * lisp/startup.el (command-line-1): Don't complain about trailing
31685         garbage if it's only space, tab, or newline characters.
31687 2019-06-15  Michael Albinus  <michael.albinus@gmx.de>
31689         * lisp/net/trampver.el (customize-package-emacs-version-alist):
31691         Adapt Tramp version integrated in Emacs 26.3.
31693 2019-06-15  Philipp Stephani  <phst@google.com>
31695         * src/xfaces.c (dump_realized_face): Fix incorrect format string.
31697         * src/xfaces.c (dump_realized_face): Fix format specifier.
31699         * src/nsterm.m (ns_row_rect): Remove unused variable ‘f.’
31701 2019-06-15  Glenn Morris  <rgm@gnu.org>
31703         Merge from origin/emacs-26
31705         7a8f22b * test/lisp/url/url-file-tests.el (url-file): Use file:///, n...
31706         0c5f6c6 Fix doc of srecompile-compile-split-code (Bug#36200)
31708 2019-06-15  Glenn Morris  <rgm@gnu.org>
31710         Merge from origin/emacs-26
31712         6242324 * lisp/net/sieve-manage.el (sieve-manage-parse-capability): D...
31714 2019-06-15  Glenn Morris  <rgm@gnu.org>
31716         Merge from origin/emacs-26
31718         f53ce87 ; ChangeLog.3 update
31719         eca2677 Fix description of 'display-buffer-in-previous-window' again ...
31720         7be50cd Consistently use @minus{} for negative arguments
31722         # Conflicts:
31723         #       ChangeLog.3
31725 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
31727         Update hash value in pdumper.c
31729         * src/pdumper.c (dump_fwd_buffer_obj) [CHECK_STRUCTS]: Update
31730         the hash in HASH_Lisp_Buffer_Objfwd.  (Bug#36225)
31732 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
31734         Improve error message when dmpstruct.h needs to be updated
31736         * src/pdumper.c (dump_cons, dump_interval_tree, dump_string)
31737         (dump_marker, dump_overlay, dump_finalizer)
31738         (dump_bignum, dump_float, dump_fwd_int, dump_fwd_bool)
31739         (dump_fwd_obj, dump_fwd_buffer_obj, dump_fwd_kboard_obj)
31740         (dump_fwd, dump_blv, dump_symbol, dump_vectorlike_generic)
31741         (dump_hash_table, dump_buffer, dump_bool_vector, dump_subr)
31742         (dump_vectorlike, dump_object, dump_charset) [CHECK_STRUCTS]:
31743         Make the error message more specific where to find the comment
31744         to CHECK_STRUCTS.
31746 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
31748         Probably fix the `helper' argument in feedmail.el
31750         * lisp/mail/feedmail.el (feedmail-queue-send-edit-prompt-inner):
31751         Return the helper function (instead of the symbol `helper') so
31752         that the caller can actually call it.
31754 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
31756         Fix compilation warning in esh-cmd.el
31758         * lisp/eshell/esh-cmd.el (pcomplete--here): Declare function to
31759         avoid byte compilation warning, which is what erc-notify.el also
31760         does in a similar situation.
31762 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
31764         Fix build warning in srecode/srt-mode
31766         * lisp/cedet/srecode/srt-mode.el (srecode-inserter-prin-example):
31767         Declare and require before use.
31769 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
31771         Silence warnings about obsolete functions in obsolete/vip.el
31773         * lisp/obsolete/vip.el (ex-tag): Silence warnings about obsolete
31774         functions because this is an obsolete file.
31776 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
31778         Suppress compilation warnings in obsolete/otodo-mode.el
31780         * lisp/obsolete/otodo-mode.el (lexical): Suppress warnings about
31781         non-prefixed variables because this file is obsolete.
31783 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
31785         Silence warning in obsolete/complete.el
31787         * lisp/obsolete/complete.el (PC-do-completion): Suppress warning
31788         about obsolete variable in obsolete function.
31790 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
31792         Make obsolete function zip-lists work again
31794         * lisp/obsolete/cl-compat.el (zip-lists): Use cl-mapcan instead of
31795         mapcan; mapcan now takes only two parameters.
31797 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
31799         Suppress compilation warning in supercite.el
31801         * lisp/mail/supercite.el (curline): Suppress warning about
31802         non-prefixed variable used by forms in the `sc-mail-glom-frame'
31803         variable.
31805 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
31807         Suppress warning in mailheader.el
31809         * lisp/mail/mailheader.el (headers): Suppress warning about
31810         non-prefixed variable part of the advertised interface.
31812 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
31814         Suppress warning about non-prefixed variable in mailalias.el
31816         * lisp/mail/mailalias.el (patters): Suppress warning about
31817         non-prefixed variable used by `mail-complete-alist'.
31819 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
31821         Fix byte compilation warning in bindat.el
31823         * lisp/emacs-lisp/bindat.el (bindat--unpack-item): Avoid a byte
31824         compilation warning by using unibyte-string instead of concat +
31825         string-make-unibyte.
31827 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
31829         Avoid printing entering/leaving messages in second stage bootstrap
31831         * src/Makefile.in (%.elc): Default to not printing the
31832         entering/leaving lines when compiling .el files in the second
31833         stage of bootstrapping Emacs.  V=1 will output them.
31835 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
31837         Also test unpacking
31839         Refactor for reuse
31841         New file to test bindat functions
31843 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
31845         Suppress warning about `entry' in calendar
31847         * lisp/calendar/cal-china.el (entry):
31848         * lisp/calendar/cal-hebrew.el (entry): Suppress warning about
31849         dynamically bound `entry', which has to be bound for
31850         diary-chinese-anniversary and diary-hebrew-birthday to work.
31851         These function can be used in the sexp part of users' diary files.
31853 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
31855         Suppress warning about prefixless date variable in calendar
31857         * lisp/calendar/lunar.el (date):
31858         * lisp/calendar/cal-persia.el (date):
31859         * lisp/calendar/cal-mayan.el (date):
31860         * lisp/calendar/cal-julian.el (date):
31861         * lisp/calendar/cal-iso.el (date):
31862         * lisp/calendar/cal-islam.el (date):
31863         * lisp/calendar/cal-hebrew.el (date):
31864         * lisp/calendar/cal-french.el (date):
31865         * lisp/calendar/cal-coptic.el (date):
31866         * lisp/calendar/cal-china.el (date):
31867         * lisp/calendar/cal-bahai.el (date): Suppress warning about this
31868         prefix-less dynamic variable, because it's part of the documented
31869         calling convention used in the sexp part of users' diary files.
31871 2019-06-15  Wilson Snyder  <wsnyder@wsnyder.org>
31873         Clean up verilog-mode.el documentation examples to match behavior.
31875         * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-auto-arg)
31876         (verilog-auto-ascii-enum, verilog-auto-inout)
31877         (verilog-auto-inout-comp, verilog-auto-inout-in)
31878         (verilog-auto-inout-modport, verilog-auto-inout-module)
31879         (verilog-auto-inout-param, verilog-auto-input)
31880         (verilog-auto-insert-lisp, verilog-auto-inst)
31881         (verilog-auto-inst-param, verilog-auto-inst-param-value)
31882         (verilog-auto-output, verilog-auto-output-every, verilog-auto-reg)
31883         (verilog-auto-reg-input, verilog-auto-reset, verilog-auto-sense)
31884         (verilog-auto-tieoff, verilog-auto-undef, verilog-auto-unused)
31885         (verilog-auto-wire, verilog-inject-auto, verilog-read-sub-decls):
31886         Clean up documentation examples to match behavior.
31888 2019-06-15  Michael Albinus  <michael.albinus@gmx.de>
31890         Make url-tramp more robust
31892         * lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
31893         (url-tramp-convert-tramp-to-url): Check, that obj is non-nil.
31895 2019-06-15  Stefan Kangas  <stefankangas@gmail.com>
31897         Remove another variable obsolete since Emacs 22
31899         * lisp/progmodes/cc-langs.el: Remove obsolete variable
31900         c-opt-op-identitier-prefix.
31901         * etc/NEWS: Announce it.  (Bug#36173)
31903 2019-06-15  Michael Albinus  <michael.albinus@gmx.de>
31905         Let tramp-archive unmount clean
31907         * lisp/net/tramp-archive.el (tramp-archive-cleanup-hash):
31908         Don't check for a proper method.
31910 2019-06-15  Michael Albinus  <michael.albinus@gmx.de>
31912         Make Tramp compatible to recent progress-reporter-update
31914         * lisp/net/tramp-compat.el (tramp-compat-progress-reporter-update):
31915         New defalias.
31917         * lisp/net/tramp.el (tramp-progress-reporter-update): Add optional SUFFIX.
31919 2019-06-15  Michael Albinus  <michael.albinus@gmx.de>
31921         Some changes in process output read of Tramp
31923         * lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
31924         Read pending output.
31926         * test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process):
31927         Use a timeout when reading process output.
31929 2019-06-15  Michael Albinus  <michael.albinus@gmx.de>
31931         Tag remote autorevert tests as unstable
31933         * test/lisp/autorevert-tests.el (auto-revert--timeout):
31934         Derive value from `auto-revert-interval'.
31935         (auto-revert--deftest-remote): Tag it as `:unstable'.
31936         (auto-revert-test05-global-notify, auto-revert-test06-write-file):
31937         Suppress final newline.  Use `auto-revert--timeout'.
31939 2019-06-15  Stefan Kangas  <stefankangas@gmail.com>
31941         Remove Lucid Emacs support from bookmark.el
31943         * lisp/bookmark.el: Remove Lucid Emacs support.
31944         (Bug#36179)
31946 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
31948         Improve documentation of hash-code functions
31950         * src/fns.c (Fsxhash_eq, Fsxhash_eql, Fsxhash_equal):
31951         * doc/lispref/hash.texi (Defining Hash): Warn against assuming
31952         that sxhash returns consistent results.
31954 2019-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
31956         * configure.ac: Lower required cairo version to 1.8.0.
31958 2019-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
31960         Remove non-Xdbe double-buffering code on cairo
31962         * src/xterm.c (x_begin_cr_clip, x_update_end) [USE_CAIRO]: Don't do
31963         handcrafted double-buffering with image surface.
31965 2019-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
31967         Rework x_scroll_run on cairo
31969         * src/xterm.c (x_scroll_run) [USE_CAIRO]: Use FRAME_CR_CONTEXT or surface type
31970         for conditions to call XCopyArea rather than FRAME_X_DOUBLE_BUFFERED_P.
31971         Set compositing operator to CAIRO_OPERATOR_SOURCE when copying image.
31973 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
31975         Revert "Silence okuri-nasi count-up messaging during compilation"
31977         This takes long enough on some systems that the messages are useful.
31979         This reverts commit 1d2e4d22c922f94d6f4b75a5ead18cbc679c5dfe.
31981 2019-06-14  Michael Albinus  <michael.albinus@gmx.de>
31983         Fix problem in remote file notification
31985         * lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter)
31986         (tramp-sh-gvfs-monitor-dir-process-filter)
31987         (tramp-sh-inotifywait-process-filter): Do not kill the process.
31988         Let `file-notify-rm-watch' do the job.
31990         * test/lisp/filenotify-tests.el (file-notify-test03-events)
31991         (file-notify-test05-file-validity)
31992         (file-notify-test09-watched-file-in-watched-dir): Do not
31993         special-case remote files.
31995 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
31997         Silence okuri-nasi count-up messaging during compilation
31999         * lisp/international/ja-dic-cnv.el (skkdic-set-okuri-nasi): Remove
32000         messaging while compilation to make compilation more regular.
32002 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32004         Revert "srecode/srt-mode compilation fix"
32006         This led to a recursive require.
32008         This reverts commit 9fac0e70e3f5b7d0b12b77cac50078e01f68ee70.
32010 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32012         Fix previous object-print/cl-print-object changes
32014         * lisp/cedet/srecode/insert.el
32015         (srecode-insert-variable-secondname-handler):
32016         * lisp/cedet/semantic/decorate/include.el
32017         (semantic-decoration-fileless-include-describe):
32018         (semantic-decoration-all-include-summary):
32019         * lisp/cedet/semantic/db-find.el (semanticdb-find-log-activity):
32020         * lisp/cedet/semantic/bovine/c.el
32021         (semantic-c-describe-environment):
32022         * lisp/cedet/semantic/analyze/debug.el
32023         (semantic-analyzer-debug-insert-include-summary): Fix previous
32024         object-print/cl-print-object changes that were nonsensical.
32026 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32028         Avoid using registerv-make in senator.el
32030         * lisp/cedet/semantic/senator.el (senator-register): New class.
32031         (register-val-jump-to, register-val-describe)
32032         (register-val-insert): New methods.
32033         (senator-copy-tag-to-register): Use this instead of the deprecated
32034         registerv-make function.
32036 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32038         analyze/debug compilation fix
32040         * lisp/cedet/semantic/analyze/debug.el (pulse): Require to avoid
32041         byte compilation warning.
32043 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32045         semantic/lex-spp compilation fix
32047         * lisp/cedet/semantic/lex-spp.el
32048         (semantic-lex-spp-analyzer-push-tokens-for-symbol): Use new name
32049         for `semantic-lex-spp-anlyzer-do-replace'.
32051 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32053         Use cl-typep instead of obsolete predicate functions throughout cedet
32055         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
32056         (srecode-dictionary-add-entries):
32057         (srecode-compound-toString):
32058         (srecode-dump):
32059         * lisp/cedet/srecode/compile.el (srecode-dump-code-list):
32060         * lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
32061         * lisp/cedet/semantic/db-typecache.el (semanticdb-typecache-length):
32062         * lisp/cedet/semantic/db-ref.el (semanticdb-check-references):
32063         * lisp/cedet/semantic/db-find.el
32064         (semanticdb-find-incomplete-cache-entries-p):
32065         (semanticdb-find-translate-path-includes-default):
32066         (semanticdb-find-results-p):
32067         (semanticdb-find-result-with-nil-p):
32068         * lisp/cedet/semantic/analyze/complete.el
32069         (semantic-analyze-possible-completions): Use cl-typep instead of
32070         functions like `srecode-dictionary-compound-value-child-p' etc.
32072 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32074         srecode/srt-mode compilation fix
32076         * lisp/cedet/srecode/srt-mode.el (srecode/insert): Require to
32077         avoid compilation warning about unknown slot.  Remove function
32078         declarations that point to that file.
32080 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32082         srecode/find compilation fix
32084         * lisp/cedet/srecode/find.el (srecode/compile): Require to
32085         avoid compilation warning about unknown slot.  Remove function
32086         declarations that point to that file.
32088 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32090         srecode/dictionary compilation warning fix
32092         * lisp/cedet/srecode/dictionary.el (srecode/fields): Require to
32093         avoid compilation warning about unknown slot.  Remove function
32094         declarations that point to that file.
32096 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32098         srecode/dictionary compilation fix
32100         * lisp/cedet/srecode/ctxt.el (srecode/dictionary): Require to
32101         avoid compilation warning about unknown slot.  Remove function
32102         declarations that point to that file.
32104 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32106         srecode-inserter-prin-example compilation fix
32108         * lisp/cedet/srecode/insert.el (srecode-inserter-prin-example):
32109         Move prin1 example to file that defines the structure it prints.
32111 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32113         Move functions from semantic.el to analyze.el to avoid warnings
32115         * lisp/cedet/semantic.el (semantic-analyze-completion-at-point-function)
32116         (semantic-analyze-notc-completion-at-point-function)
32117         (semantic-analyze-nolongprefix-completion-at-point-function): Add
32118         autoloads for the moved functions.
32120         * lisp/cedet/semantic/analyze.el
32121         (semantic-analyze-completion-at-point-function)
32122         (semantic-analyze-notc-completion-at-point-function)
32123         (semantic-analyze-nolongprefix-completion-at-point-function): Move
32124         here from semantic.el to avoid getting compilation warnings about
32125         unknown slot `bounds'.
32127 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32129         Adjust erc functions after previous erc-pre-send-function change
32131 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32133         Adjust erc functions after previous erc-pre-send-function change
32135         * lisp/erc/erc-goodies.el (noncommands): Use
32136         erc-pre-send-functions instead of the hook.
32137         (erc-send-distinguish-noncommands): Adjust function to new interface.
32139         * lisp/erc/erc-ring.el (ring): Ditto.
32140         (erc-add-to-input-ring): Ditto.
32142         * lisp/erc/erc.el (erc-send-this): Really make obsolete.
32143         (erc-pre-send-functions): Change to a list of functions to allow
32144         erc-goodies and erc-ring to work as before.
32146 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32148         Unobsolete string-to-multibyte
32150         * lisp/subr.el: Un-obsolete string-to-multibyte, because it's a
32151         useful function.  string-to-unibyte has already been un-obsoleted.
32153 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32155         Use CLOS-style accessors in oref/oset
32157         * lisp/cedet/srecode/texi.el (srecode-semantic-handle-:texitag):
32158         * lisp/cedet/srecode/table.el (srecode-mode-table-new):
32159         (srecode-dump):
32160         * lisp/cedet/srecode/srt-mode.el (srecode-parse-this-macro):
32161         (semantic-analyze-possible-completions):
32162         * lisp/cedet/srecode/semantic.el (srecode-compound-toString):
32163         (srecode-semantic-apply-tag-to-dict-default):
32164         * lisp/cedet/srecode/mode.el (srecode-minor-mode-templates-menu):
32165         (srecode-edit):
32166         * lisp/cedet/srecode/insert.el (srecode-insert-method):
32167         (srecode-inserter-apply-state):
32168         (srecode-insert-ask-default):
32169         (srecode-insert-method-ask):
32170         (srecode-insert-method-field):
32171         (srecode-insert-method-helper):
32172         (srecode-parse-input):
32173         (srecode-match-end):
32174         (srecode-insert-include-lookup):
32175         (srecode-insert-method):
32176         * lisp/cedet/srecode/find.el (srecode-template-table-in-project-p):
32177         (srecode-template-get-table):
32178         (srecode-template-get-table-for-binding):
32179         (srecode-all-template-hash):
32180         * lisp/cedet/srecode/extract.el (srecode-inserter-extract):
32181         (srecode-inserter-extract):
32182         * lisp/cedet/srecode/el.el (srecode-semantic-apply-tag-to-dict):
32183         * lisp/cedet/srecode/dictionary.el (initialize-instance):
32184         (srecode-dictionary-add-template-table):
32185         (srecode-compound-toString):
32186         * lisp/cedet/srecode/cpp.el (srecode-semantic-apply-tag-to-dict):
32187         * lisp/cedet/srecode/compile.el (srecode-compile-template-table):
32188         (srecode-dump):
32189         * lisp/cedet/srecode/args.el (srecode-semantic-handle-:project):
32190         * lisp/cedet/semantic/texi.el (semantic-analyze-possible-completions):
32191         * lisp/cedet/semantic/symref/list.el (semantic-symref-results-dump):
32192         (semantic-symref-list-create-macro-on-open-hit):
32193         (semantic-symref-list-rename-open-hits):
32194         (semantic-symref-list-map-open-hits):
32195         * lisp/cedet/semantic/symref/idutils.el
32196         (semantic-symref-perform-search):
32197         (semantic-symref-parse-tool-output-one-line):
32198         * lisp/cedet/semantic/symref/global.el (semantic-symref-perform-search):
32199         (semantic-symref-parse-tool-output-one-line):
32200         * lisp/cedet/semantic/symref/cscope.el (semantic-symref-perform-search):
32201         (semantic-symref-parse-tool-output-one-line):
32202         * lisp/cedet/semantic/mru-bookmark.el
32203         (semantic-mrub-ring-to-assoc-list):
32204         * lisp/cedet/semantic/grammar.el
32205         (semantic-analyze-possible-completions):
32206         * lisp/cedet/semantic/decorate/include.el
32207         (semantic-decoration-include-describe):
32208         * lisp/cedet/semantic/debug.el (semantic-debug-highlight-lexical-token):
32209         (semantic-debug-highlight-rule):
32210         * lisp/cedet/semantic/db-typecache.el
32211         (semanticdb-typecache-for-database):
32212         * lisp/cedet/semantic/complete.el
32213         (semantic-collector-calculate-completions-raw):
32214         * lisp/cedet/semantic/bovine/make.el
32215         (semantic-analyze-possible-completions):
32216         * lisp/cedet/semantic/analyze/refs.el (semantic-analyze-refs-impl):
32217         (semantic-analyze-refs-proto):
32218         * lisp/cedet/semantic/analyze/debug.el
32219         (semantic-analyzer-debug-describe-scope):
32220         * lisp/cedet/semantic/analyze.el (semantic-analyze-interesting-tag):
32221         (semantic-analyze-interesting-tag):
32222         (semantic-analyze-pulse):
32223         * lisp/cedet/ede/util.el (ede-update-version):
32224         * lisp/cedet/ede/shell.el (ede-shell-run-something):
32225         * lisp/cedet/ede/project-am.el (project-am-load-makefile):
32226         (project-rescan):
32227         (project-am-macro):
32228         (ede-buffer-mine):
32229         (project-compile-target-command):
32230         (project-am-package-info):
32231         * lisp/cedet/ede/files.el (ede--project-inode):
32232         (ede-directory-get-open-project):
32233         (ede-directory-get-toplevel-open-project):
32234         (ede-find-subproject-for-directory):
32235         (ede-toplevel-project):
32236         * lisp/cedet/ede/cpp-root.el (initialize-instance):
32237         (project-compile-project):
32238         (project-compile-target):
32239         * lisp/cedet/ede/config.el (ede-config-get-configuration):
32240         (project-debug-target):
32241         (project-run-target):
32242         (project-compile-project):
32243         (ede-preprocessor-map):
32244         (ede-java-classpath):
32245         * lisp/cedet/ede/base.el (ede-normalize-file/directory): Use
32246         CLOS-style oref/oset accessors instead of eieio-style :colon
32247         accessors.  This avoids compilation warnings and is allegedly
32248         faster.
32250 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32252         Obsolete erc-send-pre-hook and add new erc-pre-send-function
32254         * lisp/erc/erc.el (erc-send-pre-hook): Make obsolete.
32255         (erc-send-input): Ditto.
32256         (erc-pre-send-function): New function.
32257         (erc-send-input): Use the new function, and silence byte
32258         compilation warning about the dynamic variable `str' used by the
32259         now-obsolete hook.
32261 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32263         Fix compilation warning in rmailmm
32265         * lisp/mail/rmailmm.el (rmail-mime-insert-bulk): Remove apparently
32266         superfluous call to string-as-unibyte -- the buffer should be
32267         unibyte already at this point.
32269 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
32271         Avoid compilation warning in byte-run
32273         * lisp/emacs-lisp/byte-run.el (macro-declaration-function): Avoid
32274         compilation warning by not using `symbol-function'.
32276 2019-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>
32278         * lisp/gnus/message.el: Fix NNTP sending, broken by e51adfbdb7
32280         (message-check-news-header-syntax): `message--check-continuation-headers`
32281         signals an error instead of returning nil on error.
32283 2019-06-13  Glenn Morris  <rgm@gnu.org>
32285         Stop a tramp test leaving a file behind
32287         * test/lisp/net/tramp-tests.el
32288         (tramp-test10-write-region-file-precious-flag):
32289         Avoid leaving a backup file after we are done.
32291 2019-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>
32293         * lisp/widget.el (define-widget-keywords): Use `declare`.
32295         * lisp/progmodes/ps-mode.el (ps-mode-octal-region): Simplify.
32297 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
32299         Fix typo in object-print cleanup
32301         * lisp/cedet/srecode/insert.el
32302         (srecode-insert-variable-secondname-handler): Fix typo in
32303         object-print cleanup.
32305 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
32307         Remove outdated FIXME
32309         * lisp/emacs-lisp/eieio-core.el (eieio--slot-name-index): Remove
32310         comment about issuing a byte compilation warning about accessing
32311         slots via :initarg -- it was implemented a few months later.
32313 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
32315         semantic/senator.el byte compilation fix
32317         * lisp/cedet/semantic/senator.el (semantic/analyze): Require to
32318         avoid compilation warnings about unknown slots, and remove
32319         declare-function.
32321 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
32323         semantic/idle.el compilation warning fix
32325         * lisp/cedet/semantic/idle.el (semantic/analyze): Require to
32326         avoid compilation warnings about unknown slots, and remove
32327         declare-function.
32329 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
32331         semantic/grammar byte compilation fixes
32333         * lisp/cedet/semantic/grammar.el (semantic/analyze): Require to
32334         avoid compilation warnings about unknown slots, and remove
32335         declare-function.
32337 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
32339         semantic/chart.el compilation warning fixes
32341         * lisp/cedet/semantic/chart.el (semantic/db-typecache)
32342         (semantic/scope): Require to avoid byte compilation warnings about
32343         undefined slots.  Remove declare-functions from these packages.
32345 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
32347         Fix some cedet compilation warnings pertaining to semantic/db
32349         * lisp/cedet/ede/config.el (semantic/db)
32350         (ede-preprocessor-map): Ditto.
32352         * lisp/cedet/ede/cpp-root.el (semantic/db): Ditto.
32354         * lisp/cedet/ede/emacs.el (semantic/db): Ditto.
32356         * lisp/cedet/ede/linux.el (semantic/db): Require to avoid warnings
32357         about unknown slot lexical-table, and remove declare-functions
32358         from the now-required semantic/db.
32360 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
32362         project.el compilation warning fix
32364         * lisp/progmodes/project.el (xref--regexp-to-extended)
32365         (xref--convert-hits): Declare more xref functions to avoid
32366         compilation warnings.
32368 2019-06-13  Alan Mackenzie  <acm@muc.de>
32370         Depessimize bits of CC Mode for long C macros.
32372         * lisp/progmodes/cc-engine.el (c-end-of-macro): Check for being in a
32373         degenerate zero length "macro", when setting the macro cache.
32374         (c-determine-+ve-limit): Add in a missing goto-char form for when start-pos is
32375         non-nil.
32376         (c-back-over-member-initializers): Add a search limit parameter.
32378         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add a search limit
32379         to c-go-up-list-backward.
32380         (c-font-lock-cut-off-declarators): Add a search limit to
32381         c-back-over-member-initializers.
32383         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Don't
32384         set c-new-END to the end of logical line (which might be a long macro).
32385         (c-after-change-mark-abnormal-strings): Calculate end-hwm in place of the
32386         setting of c-new-END (above).  Use this as a search limit rather than
32387         c-new-END.
32389 2019-06-13  Stefan Kangas  <stefankangas@gmail.com>
32391         Remove XEmacs support from bookmark.el
32393         * lisp/bookmark.el (bookmark-store): Remove XEmacs compat code
32394         (bug#36189).
32396 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
32398         Use cl-print-object instead of object-print throughout cedet
32400         * lisp/cedet/semantic/db-find.el (semanticdb-find-log-activity):
32401         Ditto.
32403         * lisp/cedet/semantic/analyze/debug.el
32404         (semantic-analyzer-debug-insert-include-summary): Ditto.
32406         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment)
32407         (semantic-c-describe-environment)
32408         (semantic-c-describe-environment): Ditto.
32410         * lisp/cedet/semantic/decorate/include.el
32411         (semantic-decoration-fileless-include-describe): Ditto.
32412         (semantic-decoration-all-include-summary): Ditto.
32414         * lisp/cedet/srecode/insert.el
32415         (srecode-insert-variable-secondname-handler): Use cl-print-object
32416         instead of object-print.
32418 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
32420         erc-dcc.el minor clean-ups
32422         * lisp/erc/erc-dcc.el: Remove outdated comments.
32423         (erc-dcc-get-file): Remove XEmacs compat code.
32425 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
32427         Fix erc-dcc server-close code and fix compilation warning
32429         * lisp/erc/erc-dcc.el (erc-dcc-get-filter): We receive unibyte
32430         data, so no need to convert to unibyte.
32431         (erc-dcc-send-filter): Kill the process before killing the buffer
32432         so that we're not queried about killing the process.
32434 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
32436         Make erc-dcc-server work again by making synchronous
32438         * lisp/erc/erc-dcc.el (erc-dcc-server): :server and :nowait can't
32439         be mixed, so remove the :nowait.
32441 2019-06-13  Pip Cet  <pipcet@gmail.com>
32443         Escape newlines when printing functions in timer list
32445         * lisp/emacs-lisp/timer-list.el (list-timers): Bind
32446         `print-escape-newlines' to avoid newlines in printed
32447         representation (bug#36187).
32449 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
32451         Compilation fix for previous change
32453 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
32455         Compilation warning fix for disass.el
32457         * lisp/emacs-lisp/disass.el (disassemble-1): Remove a
32458         string-as-unibyte that probably doesn't do anything, because the
32459         string in question should be unibyte anyway.  If the assert fails,
32460         revert the patch.
32462 2019-06-13  Alan Mackenzie  <acm@muc.de>
32464         CC Mode: replace an erroneous re-search-forward with search-forward
32466         Move two declarations to a more suitable point in the cc-engine.el.
32468         * lisp/progmodes/cc-engine.el (c-after-change-unmark-raw-strings): Change an
32469         re-search-forward to search-forward.
32470         (c-semi-lit-near-cache, c-semi-near-cache-limit): Move the declarations.
32472 2019-06-13  Eli Zaretskii  <eliz@gnu.org>
32474         Fix display of Hebrew text with precomposed characters
32476         * lisp/language/hebrew.el (base): Include precomposed
32477         Hebrew characters from the Alphabetic Presentation Forms in
32478         the composition patterns.  (Bug#36171)
32480 2019-06-13  Eli Zaretskii  <eliz@gnu.org>
32482         Fix text shaping of precomposed characters with HarfBuzz
32484         * src/hbfont.c (hbfont_shape): Fix setting TO of lglyph for
32485         the case when Lisp shape-gstring function performed some
32486         compositions by itself.  This happens with hebrew.el.  See
32487         https://lists.freedesktop.org/archives/harfbuzz/2019-June/007396.html
32488         for the details of the problem this solves.
32490 2019-06-13  Alan Mackenzie  <acm@muc.de>
32492         Move declaration of c-syntax-table-hwm to avoid compiler warnings.
32494         This variable was declared after an invocation of a defsubst which used it,
32495         the defsubst being in another file.
32497         * lisp/progmodes/cc-mode.el (c-syntax-table-hwm): Move the declaration to earlier
32498         in the file.
32500 2019-06-12  Glenn Morris  <rgm@gnu.org>
32502         Allow for line breaks in a bytecomp test
32504         * test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression):
32505         Warnings from the byte compiler may be filled.
32507 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32509         Avoid string-make-multibyte in ps-mode.el
32511         * lisp/progmodes/ps-mode.el (ps-mode-octal-region): Avoid usage of
32512         string-make-multibyte, but work in both unibyte and multibyte buffers.
32514 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32516         Add more ps-mode octal tests
32518         * test/lisp/progmodes/ps-mode-tests.el
32519         (ps-mode-test-octal-region-multibyte): New test.
32521 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32523         Revert previous ps-mode.el change
32525         * lisp/progmodes/ps-mode.el (ps-mode-octal-region): Revert
32526         previous change because the `string-make-unibyte' insertion was
32527         the previous single change (in 2013) to this file, so it must have
32528         some subtle meaning or other.
32530 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32532         Add ps-mode-tests.el and remove a compilation warning
32534         * lisp/progmodes/ps-mode.el (ps-mode-octal-region): Remove a
32535         string-make-unibyte that apparently had no effect here.
32536         * test/lisp/progmodes/ps-mode-tests.el: New file.
32538 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32540         Suppress warnings in tildify.el
32542         * lisp/textmodes/tildify.el (tildify--deprecated-ignore-evironments):
32543         (tildify-tildify, tildify-mode): Suppress warnings about obsolete
32544         internal function `tildify--pick-alist-entry'.  Apparently these
32545         semi-deprecated functions rely on each other.
32547 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32549         Add comment to clarify the use of `str'
32551 2019-06-12  Glenn Morris  <rgm@gnu.org>
32553         Revert "Compilation warning fix for byte-run.el"
32555         * lisp/emacs-lisp/byte-run.el (macro-declaration-function):
32556         Revert change that causes a bootstrap failure.
32558 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32560         Fix compilation warnings in rfc2104
32562         * lisp/net/rfc2104.el (rfc2104-hash): Remove superfluous calls to
32563         string-make-unibyte and avoid two compilation warnings.
32565 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32567         New file rfc2104-tests.el
32569         * test/lisp/net/rfc2104-tests.el: New file to test rfc2104 hashes.
32571 2019-06-12  Glenn Morris  <rgm@gnu.org>
32573         Give more information in a bytecomp test failure
32575         * test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression):
32576         More informative failure messages.
32578 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32580         Fix compilation warning in qp.el
32582         * lisp/mail/qp.el (quoted-printable-encode-region): No need to
32583         convert the regexp to multibyte before searching.
32585 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32587         Fix warning about obsolete func calling obsolete func in etags.el
32589         * lisp/progmodes/etags.el (find-tag-other-frame): Don't give a
32590         warning about an obsolete function calling another obsolete function.
32592 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32594         Compilation warning fix in feedmail.el
32596         * lisp/mail/feedmail.el (feedmail-scroll-buffer): Remove XEmacs
32597         compat code (that gave a compilation warning).
32599 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32601         Remove XEmacs compat code from mml.el that gave a compilation warning
32603         * lisp/gnus/mml.el (mml-mode): Remove XEmacs compat code
32605 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32607         message.el byte compilation warning fix
32609         * lisp/gnus/message.el (message-inhibit-body-encoding): Move
32610         earlier to avoid compilation warning.
32612 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32614         Compilation warning fix for byte-run.el
32616         * lisp/emacs-lisp/byte-run.el (macro-declaration-function):
32617         Suppress warning about obsolete function used by obsolete variable.
32619 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32621         todo-mode.el compilation warning fix
32623         * lisp/calendar/todo-mode.el (hl-line-highlight): Declare to avoid
32624         compilation warning.
32626 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32628         Touch ups to the XEmacs deletion patch for idlw-shell.el
32630         * lisp/progmodes/idlw-shell.el (idlwave-xemacs-hack-mouse-track):
32631         Fix up previous obsoletion.
32633 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32635         Remove XEmacs support from idlw-shell.el
32637         * lisp/progmodes/idlw-shell.el (idlwave-shell-make-temp-file)
32638         (idlwave-shell-mouse-examine)
32639         (idlwave-xemacs-hack-mouse-track, idlwave-display-buffer)
32640         (idlwave-shell-debug-line-map)
32641         (idlwave-shell-make-new-bp-overlay, idlwave-shell-mode-map):
32642         Remove XEmacs support.
32644 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32646         Remove XEmacs support from ido.el
32648         * lisp/ido.el (ido-active, ido-completion-help)
32649         (ido-minibuffer-setup): Remove XEmacs support.
32651 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32653         Remove compat code for XEmacs and pre-Emacs 20 Emacs in pcomplete.el
32655         * lisp/pcomplete.el (pcomplete-event-matches-key-specifier-p)
32656         (pcomplete-read-event, pcomplete-show-completions): Remove XEmacs
32657         support and mark now-trivial defaliases as obsolete.
32659 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32661         Remove XEmacs support from dig.el
32663         * lisp/net/dig.el (dig-mode): Remove XEmacs support.
32665 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32667         Remove XEmacs support from goto-addr.el
32669         * lisp/net/goto-addr.el (goto-address-highlight-keymap): Remove
32670         XEmacs support.
32672 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32674         Remove XEmacs support from dns.el
32676         * lisp/net/dns.el (dns-read-string-name, dns-write, dns-read)
32677         (dns-make-network-process, dns-query): Remove XEmacs support.
32679 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32681         Remove XEmacs compat code from tempo.el
32683         * lisp/tempo.el (tempo-insert-template): Remove XEmacs compat code.
32685 2019-06-12  Alan Mackenzie  <acm@muc.de>
32687         CC Mode: Add a workaround for syntax-ppss ignoring syntax-table prop changes
32689         * lisp/progmodes/cc-engine.el (c-truncate-lit-pos-cache): Maintain the new
32690         variable c-syntax-table-hwm after buffer changes.
32692         * lisp/progmodes/cc-mode.el (c-syntax-table-hwm): New variable.
32693         (c-before-change): Set c-syntax-table-hwm to "infinity".
32694         (c-after-change): Call syntax-ppss-flush-cache, just before a font locking is
32695         due to take place.
32697 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32699         Restore image scaling support when there's no native image scaling
32701         * lisp/net/shr.el (shr--image-type): New function.
32702         (shr-rescale-image): Use it to allow image scaling on Emacsen with
32703         ImageMagick support that does not have native image scaling support.
32705 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32707         Rewrite the kmacro register function to avoid using obsolete functions
32709         * lisp/kmacro.el (kmacro-register): New struct to replace the
32710         general registerv struct.
32711         (register-val-jump-to, register-val-describe)
32712         (register-val-insert): New methods to implement the register
32713         interface.
32714         (kmacro-to-register): Use the kmacro-register struct.
32716 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32718         (beginning-of-defun-raw): Suppress warning about syntax-begin-function
32720         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw):
32721         font-lock-compile-keywords also suppresses warnings about the
32722         obsolete syntax-begin-function variable, so suppress the only
32723         other use not in syntax.el.
32725 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32727         Suppress warning about pi not having a prefix
32729         * lisp/emacs-lisp/float-sup.el (pi): Suppress warning about this
32730         obsolete variable not having a prefix.
32732 2019-06-12  Richard Copley  <rcopley@gmail.com>
32734         * doc/lispref/text.texi (Base 64): Fix typos.
32736 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32738         Suppress warning about obsolete function custom-show
32740         * lisp/cus-edit.el (custom-variable-value-create): Suppress
32741         warning about obsolete function custom-show.  The widget this
32742         supports has been obsolete since Emacs 24, but we should perhaps
32743         be very conservative about removing widget types, so suppress the
32744         warning instead of removing the widget type.
32746 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32748         Suppress warning in display-completion-list about itself
32750         * lisp/minibuffer.el (display-completion-list):
32751         `display-completion-list' calls itself with the old, obsolete
32752         callargs, so suppress this warning.
32754 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32756         Suppress interactive-only warnings in epa*.el
32758         * lisp/epa-mail.el (epa-mail-decrypt, epa-mail-verify)
32759         (epa-mail-sign, epa-mail-encrypt): Ditto.
32761         * lisp/epa.el (epa-verify-cleartext-in-region): Suppress warnings
32762         about calling interactive-only functions, because these are
32763         interactive-only thin wrappers around those functions.
32765 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32767         ehelp.el: Suppress warning
32769         * lisp/ehelp.el (electric-help-execute-extended): Suppress warning
32770         about `execute-extended-command' only being interactive, because
32771         we're still using it interactively, but via a wrapper.
32773 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
32775         Add the new macro with-suppressed-warnings
32777         * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): New macro.
32779         * doc/lispref/compile.texi (Compiler Errors): Document
32780         with-suppressed-warnings and deemphasise with-no-warnings
32781         slightly.
32783         * lisp/emacs-lisp/bytecomp.el (byte-compile--suppressed-warnings):
32784         New internal variable.
32785         (byte-compile-warning-enabled-p): Heed
32786         byte-compile--suppressed-warnings, bound via with-suppressed-warnings.
32787         (byte-compile-initial-macro-environment): Provide a macro
32788         expansion of with-suppressed-warnings.
32789         (byte-compile-file-form-with-suppressed-warnings): New byte hunk
32790         handler for the suppressed symbol machinery.
32791         (byte-compile-suppressed-warnings): Ditto for the byteop.
32792         (byte-compile-file-form-defmumble): Ditto.
32793         (byte-compile-form, byte-compile-normal-call)
32794         (byte-compile-normal-call, byte-compile-variable-ref)
32795         (byte-compile-set-default, byte-compile-variable-set)
32796         (byte-compile-function-form, byte-compile-set-default)
32797         (byte-compile-warn-obsolete, byte-compile--declare-var): Pass the
32798         symbol being warned in to byte-compile-warning-enabled-p.
32800         * test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression): New
32801         function.
32802         (bytecomp-test--with-suppressed-warnings): Tests.
32804 2019-06-11  Roland Winkler  <winkler@gnu.org>
32806         Fix to previous commit
32808         * lisp/find-dired.el (find-dired-sentinel): Check whether
32809         find-dired-refine-function is non-nil.
32811 2019-06-11  Roland Winkler  <winkler@gnu.org>
32813         Allow refining the *Find* buffer of find-dired. (Bug#29513)
32815         * lisp/find-dired.el (find-dired-refine-function): New user variable.
32816         (find-dired-sentinel): Use it.  Simplify.
32817         (find-dired-sort-by-filename): New function.
32819 2019-06-11  Mattias Engdegård  <mattiase@acm.org>
32821         Keep auto-revert-mode working when changing buffer file name (bug#36159)
32823         * lisp/autorevert.el (after-set-visited-file-name-hook):
32824         Add unconditionally.
32825         (global-auto-revert-mode): Don't use
32826         `after-set-visited-file-name-hook' here.
32827         (auto-revert-set-visited-file-name): Rename from
32828         `auto-revert--global-set-visited-file-name' and generalise.
32829         * test/lisp/autorevert-tests.el (auto-revert-test06-write-file): New.
32831 2019-06-11  Michael Albinus  <michael.albinus@gmx.de>
32833         Minor fixes on tramp-tests.el for w32
32835         * test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
32836         Ignore absence of tput.
32837         (tramp-test43-asynchronous-requests): Don't start watchdog on w32.
32839 2019-06-11  Glenn Morris  <rgm@gnu.org>
32841         Merge from origin/emacs-26
32843         5ca093d (origin/emacs-26) Fix doc of 'display-buffer-in-previous-wind...
32844         add2cac lisp/*.el: Minor docstring fixes
32846 2019-06-11  Glenn Morris  <rgm@gnu.org>
32848         Merge from origin/emacs-26
32850         758e9a8 Revert "Don't mark main_thread (Bug#36155)"
32851         1877b7b Don't mark main_thread (Bug#36155)
32852         4904fb3 More quotation fixes (Bug#35885)
32853         4cc4b5d ; * src/keyboard.c (tool_bar_items): Fix a typo.  (Bug#36143)
32854         b58ecaf Minor copyedits in efaq-w32
32855         48422af Tiny improvement of documentation of major mode conventions
32856         25d44d2 * nt/addpm.c (main): Fix buffer overflow
32858 2019-06-11  Pip Cet  <pipcet@gmail.com>
32860         Fix list-processes typo with thread-name
32862         * lisp/simple.el (list-processes--refresh):
32863         Don’t assume thread-name succeeds (Bug#36163).
32865 2019-06-11  Eli Zaretskii  <eliz@gnu.org>
32867         Fix shaping of Arabic test when the region is extended
32869         * src/xdisp.c (compute_stop_pos): Set the limit for searching
32870         for changes in text properties such that the limit is never in
32871         the middle of composable text.  (Bug#28312)
32873 2019-06-11  Philipp Stephani  <phst@google.com>
32875         Add missing indentation declaration to a few macros.
32877         * lisp/window.el (with-temp-buffer-window)
32878         (with-current-buffer-window, with-displayed-buffer-window):
32879         Add missing indentation declaration
32881 2019-06-11  Pip Cet  <pipcet@gmail.com>
32883         Fix mouse cursor movement in 'select-frame-set-input-focus' (Bug#36165)
32885         * lisp/frame.el (select-frame-set-input-focus): With
32886         'mouse-autoselect-window' use 'set-mouse-pixel-position' to
32887         avoid selecting another window manager window (Bug#36165).
32889 2019-06-10  Noam Postavsky  <npostavs@gmail.com>
32891         Don't keep warning about unescaped literals (Bug#36068)
32893         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Restore lost
32894         let-binding of lread--unescaped-character-literals, so that unescaped
32895         literals warning will only apply to the form just read.
32896         * test/lisp/emacs-lisp/bytecomp-tests.el
32897         (bytecomp-tests--unescaped-char-literals): Expand test to check that
32898         we don't keep warning about old unescaped literals.
32900 2019-06-10  Michael Albinus  <michael.albinus@gmx.de>
32902         Make tramp-test43-asynchronous-requests working, again
32904         * test/lisp/net/tramp-tests.el (tramp-list-tramp-buffers):
32905         Declare `tramp-list-tramp-buffers'.
32906         (tramp--test-ignore-make-symbolic-link-error)
32907         (tramp--test-ignore-add-name-to-file-error): Improve declaration.
32908         (tramp--test-with-proper-process-name-and-buffer): New macro.
32909         (tramp-test43-asynchronous-requests): Use the macro for timer,
32910         process filter and process sentinel.  Comment the remote file
32911         operation in the timer.  Remove further async events.  Accept
32912         output from all processes.
32914 2019-06-10  Michael Albinus  <michael.albinus@gmx.de>
32916         Fix quoting problem in Tramp on w32 systems
32918         * lisp/net/tramp-adb.el (tramp-adb-connection-local-default-profile):
32919         * lisp/net/tramp-integration.el (tramp-connection-local-default-profile):
32920         Revert patch from 2019-05-24.  It is fixed differently.
32922         * lisp/net/tramp.el (tramp-encoding-shell):
32923         (tramp-encoding-command-switch)
32924         (tramp-encoding-command-interactive, )
32925         (tramp-unquote-shell-quote-argument): Suppress `shell-file-name'.
32926         (tramp-set-file-uid-gid):
32927         * lisp/net/tramp-sh.el (tramp-find-inline-compress)
32928         (tramp-make-copy-program-file-name):
32929         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
32930         Use `tramp-unquote-shell-quote-argument'.
32932 2019-06-10  Mattias Engdegård  <mattiase@acm.org>
32934         Fix copy-paste error in autorevert-test
32936         * test/lisp/autorevert-tests.el: Use correct name to define a remote test.
32938 2019-06-09  Juanma Barranquero  <lekktu@gmail.com>
32940         * src/editfns.c (Fngettext): Fix typos in docstring.
32942 2019-06-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
32944         Avoid empty menu bar on Xaw with cairo
32946         * lwlib/lwlib-utils.c (crxft_font_open_name) [USE_CAIRO]: Return NULL if
32947         font extents are bogus.
32949 2019-06-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
32951         Document exporting/printing text with X core fonts to outline images on cairo
32953         * src/xfns.c (Fx_export_frames) [USE_CAIRO]:
32954         (Fx_print_frames_dialog) [USE_CAIRO && USE_GTK]: Add notes on x font backend.
32956 2019-06-09  Dmitry Gutov  <dgutov@yandex.ru>
32958         Omit the misplaced and unnecessary shyness qualifier
32960         * lisp/progmodes/ruby-mode.el (ruby-find-library-file):
32961         Omit the misplaced and unnecessary shyness qualifier.
32962         Suggested by Mattias Engdegård <mattiase@acm.org>.
32964 2019-06-09  Dmitry Gutov  <dgutov@yandex.ru>
32966         Unbreak saving xref--original-window, etc
32968         * lisp/progmodes/xref.el (xref--show-xref-buffer)
32969         (xref--show-defs-buffer-at-bottom): Move major mode calls earlier.
32970         So that local variable values are not lost.
32972 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
32974         Add tests for mail/uudecode.el
32976         * lisp/mail/uudecode.el: Remove redundant :group usage.
32977         * test/lisp/mail/uudecode-resources/uudecoded.txt,
32978         test/lisp/mail/uudecode-resources/uuencoded.txt,
32979         test/lisp/mail/uudecode-tests.el: New files.
32981 2019-06-09  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
32983         Fig grammar of count-lines-page
32985         * lisp/textmodes/page.el (count-lines-page):
32986         Say "Page has 1 line", not "Page has 1 lines" (Bug#35981).
32988 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
32990         Make bookmark-old-default-file variable obsolete
32992         * lisp/bookmark.el (bookmark-old-default-file):
32993         Redefine as obsolete variable alias for 'bookmark-default-file'.
32994         (bookmark-maybe-load-default-file): Don't try to rename file
32995         'bookmark-old-default-file' (~/.emacs-bkmrks) to new name (Bug#35940).
32997 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
32999         Make bookmark-maybe-message obsolete (Bug#35918)
33001         * lisp/bookmark.el (bookmark-maybe-message):
33002         Redefine as obsolete function alias for 'message'.
33003         (bookmark-write-file): Use a progress reporter.
33004         (bookmark-load-file): Use a progress reporter.
33006 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
33008         Make `bookmark-file' variable obsolete
33010         * lisp/bookmark.el (bookmark-file): Redefine as obsolete variable
33011         alias for `bookmark-default-file'.  (Bug#35917)
33013 2019-06-09  Glenn Morris  <rgm@gnu.org>
33015         * make-dist: Doc fix for --help re --snapshot (since 201612 change).
33017 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
33019         Remove interactive spec from bookmark-set-internal (bug#36121)
33021         * lisp/bookmark.el (bookmark-set-internal): Remove interactive spec.
33023 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
33025         Pacify compiler in paragraphs.el after lexical-binding
33027         * lisp/textmodes/paragraphs.el: Pacify byte compiler.
33029 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
33031         Use lexical-binding in password-cache.el and add tests
33033         * lisp/password-cache.el: Use lexical-binding.
33034         * test/lisp/password-cache-tests.el: New file.
33036 2019-06-09  Paul Eggert  <eggert@cs.ucla.edu>
33038         * src/fns.c (cmpfn_eql): Simplify.
33040 2019-06-09  Alex Branham  <alex.branham@gmail.com>
33042         Use lexical binding for ediff
33044         * lisp/vc/ediff-diff.el:
33045         * lisp/vc/ediff-help.el:
33046         * lisp/vc/ediff-hook.el:
33047         * lisp/vc/ediff-init.el:
33048         * lisp/vc/ediff-merg.el:
33049         * lisp/vc/ediff-vers.el:
33050         * lisp/vc/ediff-wind.el:
33051         * lisp/vc/ediff-mult.el:
33052         * lisp/vc/ediff-ptch.el:
33053         * lisp/vc/ediff.el: Use lexical binding.
33054         (ediff-version): Increase.
33055         (ediff-date): Remove.
33057 2019-06-09  Dmitry Gutov  <dgutov@yandex.ru>
33059         Rename xref--pop-to-location to xref-pop-to-location
33061         * lisp/progmodes/xref.el (xref-pop-to-location):
33062         Rename from xref-pop-to-location.  So that third-party
33063         xref-show-definitions-function implementations can use it safely
33064         (bug#36144).  Update all callers.
33066 2019-06-09  Dmitry Gutov  <dgutov@yandex.ru>
33068         Add a built-in alternative for xref-show-definitions-function
33070         * lisp/progmodes/xref.el (xref--transient-buffer-mode-map):
33071         New variable.
33072         (xref--transient-buffer-mode): New major mode.
33073         (xref--button-map): Remove the RET binding (it was unnecessary in
33074         the first place).
33075         (xref--show-common-initialize):
33076         Extract from xref--show-xref-buffer.
33077         (xref--show-defs-buffer-at-bottom): New function.
33079 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
33081         Fix TODO to convert defvar with leading '*' to defcustom
33083         * etc/TODO: Remove done TODO to remove '*' from defvar.
33084         * doc/misc/gnus.texi: Remove leading '*' from defvar example.
33085         * lisp/kermit.el (kermit-esc-char): Convert to defcustom.
33086         * lisp/desktop.el (desktop-header):
33087         * lisp/obsolete/cc-compat.el (c-indent-level)
33088         (c-brace-imaginary-offset, c-brace-offset, c-argdecl-indent)
33089         (c-label-offset, c-continued-statement-offset)
33090         (c-continued-brace-offset): Remove leading '*' from docstring.
33091         * lisp/progmodes/dcl-mode.el: Remove leading '*' from docstring in
33092         comment.
33093         * test/manual/cedet/tests/test.el: Add comment asking if example of
33094         defvar with leading '*' should be removed.
33095         (Bug#35994)  (The previous commit is also for the same bug.)
33097 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
33099         Fix TODO to remove leading '*' from defcustom
33101         * etc/TODO: Remove done TODO to remove leading '*' from defcustom
33102         doc-strings.
33103         * lisp/ibuffer.el (ibuffer-inline-columns): Remove leading '*' from
33104         doc-string.
33106 2019-06-08  Stefan Kangas  <stefankangas@gmail.com>
33108         Mark define-widget-keywords as obsolete
33110         * lisp/widget.el (define-widget-keywords): Mark as obsolete.
33111         (Bug#36065)
33113 2019-06-08  Stefan Kangas  <stefankangas@gmail.com>
33115         Use lexical-binding in underline.el and add tests
33117         * lisp/textmodes/underline.el: Use lexical-binding.
33118         * test/lisp/textmodes/underline-tests.el: New file.
33119         (Bug#36063)
33121 2019-06-08  Stefan Kangas  <stefankangas@gmail.com>
33123         Checkdoc fixes in lisp/bookmark.el
33125         * lisp/bookmark.el (bookmark-bmenu-inline-header-height)
33126         (bookmark-bmenu-marks-width, bookmark-map, bookmark-quit-flag)
33127         (bookmark-name-from-full-record, bookmark-set-internal)
33128         (bookmark-insert-annotation, bookmark--jump-via)
33129         (bookmark-bmenu-set-header, bookmark-show-annotation)
33130         (bookmark-bmenu-other-window-with-mouse, bookmark-bmenu-relocate):
33131         Checkdoc docstring fixes.  (Bug#35916)
33133 2019-06-08  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
33135         Fix int overflow bug in ‘equal’
33137         * src/fns.c (internal_equal):
33138         Fix bug when vector lengths exceed INT_MAX.
33140 2019-06-08  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
33142         Tune base64 decoding
33144         This improves performance of base64-decode-region by about 7.5% on
33145         my platform, and gets rid of some macros.
33146         * src/fns.c (IS_ASCII, IS_BASE64, IS_BASE64_IGNORABLE)
33147         (READ_QUADRUPLET_BYTE): Remove.
33148         (base64_value_to_char, base64_char_to_value):
33149         Now an array of two arrays.  All uses changed.
33150         (base64url_value_to_char, base64url_char_to_value):
33151         Remove.  All uses changed to the other array.
33152         (base64_char_to_value): Entries are now of type signed char, not
33153         short, since we can assume C99.  Use C99 initializers; this is
33154         clearer and caters to the (theoretical) possibility of systems
33155         that do not use ASCII or do not have 8-bit bytes.  Allow any index
33156         in the range 0..UCHAR_MAX instead of limiting it to 0..127, so
33157         that uses need not check for in-range indexes.  Also record
33158         padding chars.  All uses changed.
33159         (base64_decode_1): Always store number of chars in *NCHARS_RETURN,
33160         for simplicity.  All callers changed.  Speed up the byte-fetching.
33162 2019-06-08  Paul Eggert  <eggert@cs.ucla.edu>
33164         Fix out-of-source make-dist problems
33166         Problem with jisx2131-filter reported by Phillip Lord in:
33167         https://lists.gnu.org/r/emacs-devel/2019-06/msg00147.html
33168         * admin/charsets/Makefile.in (SED_SCRIPT):
33169         Put it in $(srcdir), which is not necessarily the working directory.
33170         ($(SED_SCRIPT)): Rename from jisx2131-filter.  All uses changed.
33171         (clean): Do not remove SED_SCRIPT.
33172         (extraclean): Remove it here instead.
33173         * make-dist (possibly_non_vc_files): Remove src/emacs-module.h.
33174         Although it is portable and could be distributed in the tarball,
33175         it's too much hassle to do that, so let each builder make it.
33177 2019-06-08  Bernhard Rotter  <bernhard.rotter@gmail.com>
33179         Fix path for current directory in eshell on MS-Windows
33181         On MS-Windows, PATH implicitly includes the current directory.
33182         Do it right for Eshell by adding "./" instead of ".", to
33183         avoid finding .FOO instead of ./FOO.
33184         * lisp/eshell/esh-util.el (eshell-get-path): New function.
33185         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list):
33186         * lisp/eshell/esh-ext.el (eshell-search-path): Use eshell-get-path.
33188 2019-06-08  Eli Zaretskii  <eliz@gnu.org>
33190         Minor fixes for the last commits
33192         * src/fns.c (Fbase64url_encode_region)
33193         (Fbase64url_encode_string, Fbase64_decode_region)
33194         (Fbase64_decode_string): Fix doc strings.
33195         (base64_decode_1): Minor stylistic code changes.
33197         * doc/lispref/text.texi (Base 64): Fix typos and improve
33198         wording of the last committed text.
33200 2019-06-08  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
33202         Add support for base64url variant of base-64 encoding/decoding
33204         Implement the RFC4648 variant of base64 encoding used by URLs.
33205         * doc/lispref/text.texi (base64url-encode-region,
33206         base64url-encode-string): Document new functions.
33207         (base64-decode-region, base64-decode-string): Document new optional
33208         parameter 'base64url' used to use url variant when decoding data.
33210         * src/fns.c (base64url-encode-region, base64url-encode-region): New
33211         functions to manage url variant.
33212         (base64-decode-region, base64-decode-string): Add optional
33213         parameter to indicate use of url-variant.
33214         (base64_encode_region_1, base64_encode_string_1): Internal functions
33215         with extracted code from 'base64_encode_region' and
33216         'base64_encode_string' and optional parameters to manage padding and
33217         url variant.
33218         (base64-encode-region, base64-encode-string) : Use
33219         base64_encode_region_1 and base64_encode_string_1.
33220         (base64-encode-1): Add parameters to manage padding and url variant.
33221         (base64-decode-1): Add parameter to manage url variant.
33223         * test/src/fns-tests.el (fns-tests--with-region): New helper macro to
33224         test region variant of base64 encode / decode functions.
33225         (fns-tests--string-repeat): Helper function used in base64 tests.
33226         (fns-tests-base64-encode-region, fns-tests-base64-encode-string):
33227         Tests for standard base64 function.
33228         (fns-test-base64url-encode-region,
33229         fns-test-base64url-encode-string): Tests for url variant.
33230         (fns-tests-base64-decode-string): Tests for decoding part.
33232 2019-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
33234         Support X core font driver on cairo (Bug#28236)
33236         * configure.ac (HAVE_X_WINDOWS): Add xfont.o to FONT_OBJ if HAVE_CAIRO.
33238         * doc/lispref/frames.texi (Font and Color Parameters): Mention X core font
33239         driver with Cairo drawing.
33241         * src/font.c (syms_of_font) [HAVE_X_WINDOWS && USE_CAIRO]: Call syms_of_xfont.
33243         * src/xfns.c (x_create_tip_frame) [USE_CAIRO]: Register xfont_driver.
33245         * src/xterm.c (x_cr_gc_clip) [USE_CAIRO]: New function extracted from
33246         x_begin_cr_clip.
33247         (x_begin_cr_clip) [USE_CAIRO]: Use it.
33248         (xlib_surface_key, saved_drawable_key) [USE_CAIRO]: New variables.
33249         (x_cr_destroy_xlib_surface, x_try_cr_xlib_drawable)
33250         (x_end_cr_xlib_drawable) [USE_CAIRO]: New functions.
33251         (x_draw_composite_glyph_string_foreground)
33252         (x_draw_glyph_string_foreground) [USE_CAIRO]: Get Xlib surface when drawing
33253         text with X core fonts into bitmap surfaces.  Add fallback code for drawing
33254         into outline surfaces.
33256 2019-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
33258         Implement native image rotation and cropping on cairo
33260         * src/dispextern.h (struct image) [USE_CAIRO]:
33261         * src/image.c (free_image, image_clear_image_1)
33262         (image_set_crop, image_set_size, image_set_rotation)
33263         (image_create_x_image_and_pixmap) [USE_CAIRO]: #ifdef out HAVE_XRENDER part.
33265         * src/image.c (cr_create_surface_from_pix_containers) [USE_CAIRO]: Rename
33266         from cr_create_surface_from_pix_containers.  Change arguments to pair of
33267         Emacs_Pix_Container:s.  Move block_input and unblock_input to caller.
33268         (cr_put_image_to_cr_data) [USE_CAIRO]: New function.
33269         (prepare_image_for_display) [USE_CAIRO]: Use it.
33270         (image_set_transform) [USE_CAIRO]: Create dummy solid color pattern equipped
33271         with transformation matrix and set it to img->cr_data.
33273         * src/xterm.c (fringe_bmp) [USE_CAIRO]: Change type to cairo_pattern_t **.
33274         (x_cr_define_fringe_bitmap, x_cr_destroy_fringe_bitmap) [USE_CAIRO]: Create
33275         or destroy cairo pattern.
33276         (x_cr_draw_image) [USE_CAIRO]: Remove arguments image_width and image_height.
33277         Change type of image to cairo pattern.  All callers changed.
33279         * src/gtkutil.c (xg_get_image_for_pixmap) [USE_CAIRO]: Get cairo surface
33280         from img->cr_data, which is of cairo pattern now.
33282 2019-06-07  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
33284         Make icalendar-import-buffer not show diary file buffer
33286         * lisp/calendar/diary-lib.el (diary-make-entry): Add
33287         omit-trailing-space parameter.  Add do-not-show parameter to
33288         allow not showing diary file buffer.
33289         * lisp/calendar/icalendar.el (icalendar--add-diary-entry): Remove
33290         workaround to omit trailing space in diary entry.  Have
33291         diary-make-entry not display the diary file buffer.  (Bug#35645)
33293 2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>
33295         Fix commentary about fixnums and hashes.
33297 2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>
33299         Fix minor ssize_t / ptrdiff_t confusion
33301         * src/fileio.c (Fcopy_file): This limit is because of ssize_t,
33302         so use TYPE_MAXIMUM (ssize_t) not PTRDIFF_MAX.
33304 2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>
33306         Use machine pointer width for face hashes
33308         * src/dispextern.h (struct face):
33309         * src/xfaces.c (hash_string_case_insensitive, lface_hash)
33310         (cache_face, lookup_face): Use uintptr_t for face hashes
33311         instead of discarding the upper pointer bits on 64-bit machines.
33313 2019-06-07  Stefan Monnier  <monnier@iro.umontreal.ca>
33315         * lisp/gnus: Further reduce assumptions about gnus-data format
33317         * lisp/gnus/gnus-registry.el (gnus-registry-fetch-message-id-fast)
33318         (gnus-registry-fetch-simplified-message-subject-fast)
33319         (gnus-registry-fetch-sender-fast, gnus-registry-fetch-recipients-fast)
33320         (gnus-registry--set/remove-mark): Don't hardcode assoc for gnus-data-find-in.
33322         * lisp/gnus/gnus-sum.el (gnus-data-update-list): Don't hardcode `nth 2`
33323         for gnus-data-pos.
33324         (gnus-summary-insert-old-articles, gnus-summary-insert-new-articles)
33325         (gnus-summary-first-article-p): Don't hardcode `car` for `gnus-data-number`.
33326         (gnus-summary-move-article, gnus-summary-expire-articles)
33327         (gnus-summary-delete-article): Don't hardcode assoc for gnus-data-find-in.
33329         * lisp/gnus/spam.el (spam-fetch-article-header): Don't hardcode `nth 3`
33330         for gnus-data-header.
33332 2019-06-07  Eli Zaretskii  <eliz@gnu.org>
33334         Support text shaping with HarfBuzz
33336         The code to support HarfBuzz was written by these individuals:
33338           Khaled Hosny <dr.khaled.hosny@gmail.com>
33339           YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
33340           Eli Zaretskii <eliz@gnu.org>
33342         * src/xftfont.c (xftfont_list): Call ftfont_list2.
33343         (xftfont_match): Call ftfont_match2.
33344         (xftfont_open) [HAVE_HARFBUZZ]: Set the font driver to
33345         xfthbfont_driver as required.  Reset xftfont_info->hb_font to
33346         NULL.
33347         (xftfont_close) [HAVE_HARFBUZZ]: Dispose of the hb_font object.
33348         (xftfont_shape): Accept an additional argument DIRECTION and
33349         pass it to ftfont_shape.
33350         (xfthbfont_list, xfthbfont_match, xfthbfont_begin_hb_font)
33351         (xfthbfont_end_hb_font) [HAVE_HARFBUZZ]: New functions.
33352         (syms_of_xftfont): New DEFSYM 'xfthb'.
33353         (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Initialize
33354         xfthbfont_driver.
33356         * src/xfns.c (Fx_create_frame, x_create_tip_frame)
33357         [HAVE_HARFBUZZ]: Register the HarfBuzz font driver.
33359         * src/w32uniscribe.c (bswap_32) [HAVE_HARFBUZZ]: Define to use
33360         the builtin for GCC 4.3.9 and newer; else use byteswap.h from
33361         Gnulib.
33362         (struct uniscribe_font_info): New member 'scale'.  The member
33363         'cache' is now used both by Uniscribe and HarfBuzz backends.
33364         (uniscribe_open): Set the font backend as required by the font
33365         entity's font_type field.
33366         (uniscribe_close) [HAVE_HARFBUZZ]: Dispose of the hb_font
33367         object.
33368         (uniscribe_shape): Accept an additional argument DIRECTION.
33369         (w32hb_list, w32hb_match, free_cb, w32hb_get_font_table)
33370         (w32hb_get_font, w32hb_encode_char, w32hb_begin_font)
33371         (w32hb_get_variation_glyphs, load_harfbuzz_funcs)
33372         [HAVE_HARFBUZZ]: New functions.
33373         (syms_of_w32uniscribe_for_pdumper): Initialize
33374         harfbuzz_font_driver if loading the requisite functions from
33375         the HarfBuzz DLL succeeded.
33377         * src/w32font.c (syms_of_w32font): New DEFSYM 'harfbuzz'.
33379         * src/w32fns.c (Fx_create_frame, w32_create_tip_frame):
33380         Determine whether we should register the HarfBuzz backend, or
33381         Uniscribe backend, or both for the new frame.
33383         * src/w32common.h (hbfont_init_w32_funcs) [HAVE_HARFBUZZ]: Add
33384         prototype.
33386         * src/macfont.m (lgstring_direction): New enumeration.
33387         (mac_font_shape_1, mac_screen_font_shape, macfont_shape):
33388         Accept an additional argument DIRECTION; all callers changed.
33390         * src/lisp.h (get_unicode_property): Add prototype.
33392         * src/hbfont.c: New file.
33394         * src/ftxfont.c (ftxfont_list): Call ftfont_list2.
33395         (ftxfont_match): Call ftfont_match2.
33397         * src/ftfont.h [HAVE_HARFBUZZ]: Include hb.h and hb-ft.h.
33398         (struct font_info): New member hb_font.
33400         * src/ftfont.c (ftfont_list2, ftfont_list_family): New functions.
33401         (ftfont_open) [HAVE_HARFBUZZ]: Reset ftfont_info->hb_font to
33402         NULL.  Set the font backend to fthbfont_driver when required.
33403         (ftfont_close) [HAVE_HARFBUZZ]: Dispose of ftfont_info->hb_font.
33404         (ftfont_glyph_metrics): New function.
33405         (ftfont_text_extents): Call ftfont_glyph_metrics instead of
33406         FT_Load_Glyph.
33407         (ftfont_shape): Accept an additional argument DIRECTION.
33408         (ftfont_variation_glyphs) [!HAVE_OTF_GET_VARIATION_GLYPHS]:
33409         Support for variation glyphs without FLT.
33410         (fthbfont_begin_hb_font) [HAVE_HARFBUZZ]: New function.
33411         (syms_of_ftfont): New DEFSYM freetypehb.
33412         (syms_of_ftfont_for_pdumper): Initialize fthbfont_driver.
33414         * src/ftcrfont.c (ftcrfont_list): Call ftfont_list2.
33415         (ftcrfont_match): Call ftfont_match2.
33416         (ftcrfont_open) [HAVE_HARFBUZZ]: Set the font backend to
33417         ftcrhbfont_driver as required.  Reset ftcrfont_info->hb_font
33418         to NULL.
33419         (ftcrfont_close) [HAVE_HARFBUZZ]: Discard of
33420         ftcrfont_info->hb_font.
33421         (ftcrfont_shape): Pass DIRECTION to ftfont_shape.
33422         (ftcrhbfont_list, ftcrhbfont_match)
33423         (ftcrhbfont_begin_hb_font, ftcrhbfont_end_hb_font)
33424         [HAVE_HARFBUZZ]: New functions.
33425         (syms_of_ftcrfont): New DEFSYM ftcrhb.
33426         (syms_of_ftcrfont_for_pdumper): Initialize ftcrhbfont_driver.
33428         * src/font.h [HAVE_HARFBUZZ]: Include hb.h.
33429         (struct font_driver): Update comments and function signatures
33430         to reflect the new argument DIRECTION accepted by the 'shape'
33431         method.  New methods 'begin_hb_font' and 'end_hb_font'.
33432         (hbfont_shape, hbfont_combining_capability)
33433         (fthbfont_begin_hb_font) [HAVE_HARFBUZZ]: Add prototypes.
33435         * src/font.c (Ffont_shape_gstring): Accept an additional
33436         argument DIRECTION, and pass it to the font driver's 'shape'
33437         method.
33438         (Ffont_variation_glyphs): Doc fix.
33439         (syms_of_font): New DEFSYMS L2R and R2L.
33441         * src/composite.h (composition_reseat_it): Adjust prototype.
33443         * src/composite.c (autocmp_chars): Accept additional argument
33444         DIRECTION, and pass it to auto-composition-function.  All
33445         callers changed.
33446         (composition_reseat_it): Accept additional argument
33447         BIDI_LEVEL, and use it to determine the DIRECTION argument to
33448         be passed to autocmp_chars.  All callers changed.
33449         (syms_of_composite) <auto-composition-function>: Improve the
33450         doc string; document the meaning of the new argument
33451         DIRECTION.
33453         * src/chartab.c (get_unicode_property): New function,
33454         refactored from the body of get-unicode-property-internal.
33455         (Fget_unicode_property_internal): Call get_unicode_property
33456         after validating the input arguments.
33458         * src/Makefile.in (HARFBUZZ_CFLAGS, HARFBUZZ_LIBS): New macros.
33459         (EMACS_CFLAGS): Use HARFBUZZ_CFLAGS.
33460         (SOME_MACHINE_OBJECTS): Add hbfont.o
33461         (LIBES): Add HARFBUZZ_LIBS.
33463         * lisp/language/tv-util.el (tai-viet-composition-function):
33464         * lisp/language/thai-util.el (thai-composition-function):
33465         * lisp/language/misc-lang.el (arabic-shape-gstring):
33466         * lisp/language/lao-util.el (lao-composition-function):
33467         * lisp/language/japanese.el (compose-gstring-for-variation-glyph):
33468         * lisp/language/hebrew.el (hebrew-shape-gstring):
33469         * lisp/language/ethio-util.el (ethio-composition-function):
33470         * lisp/composite.el (compose-chars-after)
33471         (compose-gstring-for-graphic)
33472         (compose-gstring-for-dotted-circle)
33473         (compose-gstring-for-terminal, auto-compose-chars): All
33474         composition functions that call shapers now accept an
33475         additional argument DIRECTION, either L2R or R2L.
33477         * etc/NEWS: Document the HarfBuzz support.
33479         * etc/HELLO: Add diacritics to Hebrew greetings.
33481         * doc/lispref/frames.texi (Font and Color Parameters):
33482         * doc/emacs/msdos.texi (Windows Fonts): Describe the
33483         'harfbuzz' font backend on MS-Windows and how it is preferred
33484         to 'uniscribe'.
33486         * configure.ac (--wthout-harfbuzz): New option.
33487         (HAVE_HARFBUZZ): New tests.
33488         (FONT_OBJ) [HAVE_HARFBUZZ]: Add hbfont.o
33489         (emacs_config_features): Add HARFBUZZ.
33491         * admin/nt/dist-build/build-dep-zips.py: Add HarfBuzz dependency.
33493 2019-06-07  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
33495         Make mouse-wheel-scroll-amount consistent among platforms
33497         * lisp/term/ns-win.el (mouse-wheel-scroll-amount): Do not put any
33498         values on mouse-wheel-scroll-amount on ns.
33500 2019-06-07  Glenn Morris  <rgm@gnu.org>
33502         Merge from origin/emacs-26
33504         9254885 (origin/emacs-26) Resurrect display-line-number-mode in clien...
33505         aecbbd5 * src/fns.c (Fmapconcat): Doc fix.  (Bug#35710)
33506         8e5fc38 Fix typo
33507         ee21b40 * lisp/term/w32-win.el ([noname]): Bind to 'ignore'.  (Bug#36...
33508         f68b33f Fix styling of Unicode codepoints in manuals
33509         ff7ec6f Fix a few uses of quotes in user manual
33510         b67042b More minor copyedits in the Emacs manual
33511         9734b5c Fix minor issues in the Emacs manual
33512         c153250 Try to improve text on atomic windows in Elisp manual
33513         fb314ba Don't recommend insert-before-markers in process filters
33515 2019-06-07  Glenn Morris  <rgm@gnu.org>
33517         Merge from origin/emacs-26
33519         2860285 Allow macros autoloaded as functions during bytecomp (Bug#36022)
33521 2019-06-07  Eli Zaretskii  <eliz@gnu.org>
33523         Fix failures of term-tests on MS-Widows
33525         * test/lisp/term-tests.el (term-simple-lines)
33526         (term-carriage-return, term-line-wrap, term-cursor-movement)
33527         (term-scrolling-region, term-set-directory)
33528         (term-line-wrapping-then-motion, term-to-margin): Skip tests
33529         on MS-Windows and MS-DOS.
33531 2019-06-07  John Shahid  <jvshahid@gmail.com>
33533         Consider line spacing and font height when deriving proc window size
33535         * lisp/window.el (window-adjust-process-window-size): Use
33536           window-screen-lines instead of window-body-height.
33537         * lisp/term.el (term-mode): Use window-screen-lines to set the initial
33538           window height.
33540 2019-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
33542         Fix image_set_crop yet again
33544         * src/image.c (image_set_crop) [HAVE_NATIVE_TRANSFORMS]: Don't call
33545         compute_image_size, as it is already called from image_set_size.
33546         (image_set_size, image_set_crop) [HAVE_NATIVE_TRANSFORMS]: Use harmless
33547         matrix transformation code also for USE_CAIRO and HAVE_NTGUI cases,
33548         though image_set_transform is not yet implemented on them.
33550 2019-06-07  Eli Zaretskii  <eliz@gnu.org>
33552         Avoid compiler warning in copy-file-range.c on MS-Windows
33554         * nt/mingw-cfg.site (gl_cv_func_copy_file_range): Set to "yes",
33555         to avoid compiling lib/copy-file-range.c on MS-Windows.
33557 2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>
33559         Fix recently-introduced image_set_crop typo
33561         * src/image.c (image_set_crop) [!HAVE_NATIVE_TRANSFORMS]:
33562         Don’t call compute_image_size, as it does not exist and its
33563         result is not needed.
33565 2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>
33567         Use copy_file_range to copy files
33569         The copy_file_range syscall (introduced in Linux kernel
33570         version 4.5) can copy files more efficiently via server-side
33571         copy etc.
33572         * admin/merge-gnulib (GNULIB_MODULES): Add copy-file-range.
33573         * lib/copy-file-range.c, m4/copy-file-range.m4:
33574         New files, copied from Gnulib.
33575         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
33576         * src/fileio.c (Fcopy_file): Try copy_file_range first,
33577         falling back on read+write only if copy_file_range failed or
33578         if the input is empty and so could be a /proc file.
33580 2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>
33582         Update from Gnulib
33584         This incorporates:
33585         2019-06-04 copy-file-range: new module
33586         2019-05-28 binaty-io: O_BINARY on consoles no longer fails
33587         * doc/misc/texinfo.tex, lib/binary-io.c, lib/binary-io.h:
33588         * lib/unistd.in.h, m4/unistd_h.m4: Copy from Gnulib.
33589         * lib/gnulib.mk.in: Regenerate.
33591 2019-06-06  Noam Postavsky  <npostavs@gmail.com>
33593         Add "pin" to password-word-equivalents (Bug#35523)
33595         * lisp/international/mule-conf.el (password-word-equivalents): Add "pin".
33596         * test/lisp/comint-tests.el (comint-testsuite-password-strings): Add
33597         test case.
33599 2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>
33601         Fix overflow issues in image rotation
33603         Also, do some refactoring to simplify code.
33604         * src/dispextern.h (INIT_MATRIX, COPY_MATRIX, MULT_MATRICES): Remove.
33605         * src/image.c (matrix3x3): New type, replacing all uses of 3x3 double.
33606         (matrix3x3_copy, matrix3x3_mult): New functions, replacing
33607         COPY_MATRIX, MULT_MATRICES.  Replace INIT_MATRIX by C initializers.
33608         (image_set_rotation): Use Fmod to avoid undefined behavior on
33609         double-to-int conversion and to reduce bignum rotations correctly.
33610         (image_set_crop): Finish up previous correction, by not re-setting
33611         width and height if compute_image_size has set them.
33612         Prefer shifting right by 1 to dividing by 2 if either will do.
33614 2019-06-06  Eli Zaretskii  <eliz@gnu.org>
33616         Fix redisplay glitches with RTL composed text
33618         * src/xdisp.c (init_to_row_end): Fail if the first visible
33619         position on the line following ROW is bidi-reordered and could
33620         be composed.  (Bug#35811)
33622 2019-06-06  Oleh Krehel  <ohwoeowho@gmail.com>
33624         lisp/gnus/message.el (message--send-mail-maybe-partially): Extract
33626         lisp/gnus/message.el (message--check-continuation-headers): Extract
33628         lisp/gnus/message.el (message--fold-long-headers): Add docstring
33630 2019-06-06  Mark A. Hershberger  <mah@nichework.com>
33632         Restore height and with from that were accidentally removed
33634         See 610fb73ab6d7a22b722f523d6ebc4aa8fa1db7c9
33635         USE_CARIO needs these.
33637 2019-06-05  Steve Scott  <steve@stevescott.ca>  (tiny change)
33639         Check rcirc-server for auto authentication (Bug#10162)
33641         Since the hostname returned by irc.freenode.net can be something other
33642         than irc.freenode.net, e.g. niven.freenode.net, the entries for
33643         rcirc-authinfo and rcirc-server-alist will not match.
33644         * lisp/net/rcirc.el (rcirc-handler-001): Check rcirc-server (the
33645         hostname connected to) instead of rcirc-server-name (the hostname
33646         returned), this corresponds with what rcirc-authenticate does.
33647         Moreover, if rcirc-auto-authenticate-flag is set, check the
33648         corresponding rcirc-authinfo, regardless of whether the
33649         rcirc-authenticate-before-join must happen.
33651 2019-06-05  Noam Postavsky  <npostavs@gmail.com>
33653         Keep nxml prolog updated via syntax-propertize
33655         Instead of using after-change-functions.  Also, stop consulting
33656         nxml-prolog-regions during syntax-propertize.  It turns out the
33657         problems fixed by using prolog information are actually due to using
33658         the wrong syntax table during propertizing.  This was fixed in
33659         2019-06-04 "* lisp/emacs-lisp/syntax.el: Use syntax-ppss-table for
33660         syntax-propertize." so consulting the prolog data is no longer needed.
33661         * lisp/nxml/nxml-rap.el (nxml-maybe-rescan-prolog): Remove.
33662         * lisp/nxml/nxml-mode.el (nxml-mode): Stop using it.
33663         (nxml-syntax-propertize): Don't use nxml-prolog-regions, just call
33664         nxml-scan-prolog if needed before delegating to
33665         sgml-syntax-propertize.
33666         * test/lisp/nxml/nxml-mode-tests.el (nxml-mode-edit-prolog): New test.
33668 2019-06-05  Alan Third  <alan@idiocy.org>
33670         Add native image rotation and cropping
33672         * lisp/image.el (image--get-imagemagick-and-warn): Only fallback to
33673         ImageMagick if native transforms aren't available.
33674         * src/dispextern.h (INIT_MATRIX, COPY_MATRIX, MULT_MATRICES): New
33675         macros for matrix manipulation.
33676         (HAVE_NATIVE_SCALING, HAVE_NATIVE_TRANSFORMS): Rename and change all
33677         relevant locations.
33678         * src/image.c (x_set_image_rotation):
33679         (x_set_transform): New functions.
33680         (x_set_image_size): Use transform matrix for resizing under X and NS.
33681         (x_set_image_crop): New function.
33682         (lookup_image): Use the new transform functions.
33683         (Fimage_scaling_p, Fimage_transforms_p): Rename and update all
33684         callers.
33685         * src/nsimage.m (ns_load_image): Remove rotation code.
33686         (ns_image_set_transform): New function.
33687         ([EmacsImage dealloc]): Release the saved transform.
33688         ([EmacsImage rotate:]): Remove unneeded method.
33689         ([EmacsImage setTransform:]): New method.
33690         * src/nsterm.h (EmacsImage): Add transform property and update method
33691         definitions.
33692         * src/nsterm.m (ns_dumpglyphs_image): Use the transform to draw the
33693         image correctly.
33694         * src/xterm.c (x_composite_image): Use PictOpSrc as we don't care
33695         about alpha values here.
33696         * doc/lispref/display.texi (Image Descriptors): Add :rotation.
33697         (ImageMagick Images): Remove :rotation.
33699 2019-06-05  Phillip Lord  <phillip.lord@russet.org.uk>
33701         No longer add debug symbols to release build
33703         * admin/nt/dist-build/build-zips.sh: Remove -g3 from release build and
33704           install with install-strip
33706 2019-06-05  Juri Linkov  <juri@linkov.net>
33708         * lisp/wid-edit.el (widget-choose): Use display-buffer-in-direction
33710         to display buffer in bottom direction with fit-window-to-buffer.
33712         * lisp/proced.el (proced-with-processes-buffer): Idem.  (Bug#35592)
33714 2019-06-05  Michael Albinus  <michael.albinus@gmx.de>
33716         * doc/misc/tramp.texi (Obtaining Tramp): Explain version scheme.
33718         (Traces and Profiles): Add `tramp-verbose' to @vindex.
33720 2019-06-05  Dario Gjorgjevski  <dario.gjorgjevski+git@gmail.com>
33722         Do not use syntax-ppss-table in syntax-propertize when nil (Bug#36095)
33724         * lisp/emacs-lisp/syntax.el (syntax-propertize): Use (syntax-table)
33725         instead of syntax-ppss-table when the latter is nil.
33727 2019-06-04  Stefan Monnier  <monnier@iro.umontreal.ca>
33729         * lisp/emacs-lisp/syntax.el: Use syntax-ppss-table for syntax-propertize.
33731         `syntax-ppss` uses `syntax-ppss-table` while parsing the buffer as well
33732         as when it calls `syntax-propertize`, but `syntax-propertize` can also
33733         be called directly rather than via `syntax-ppss` so it needs to explicitly
33734         use `syntax-ppss-table` as well in order to avoid using sometimes one
33735         table and sometimes another.
33737         (syntax-ppss-table): Move before new use.
33738         (syntax-propertize): Use it.
33740 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
33742         Remove retired maintainers from comments
33744         * lisp/international/quail.el, lisp/language/ind-util.el:
33745         * lisp/language/indian.el, lisp/mail/smtpmail.el, lisp/mwheel.el:
33746         * lisp/obsolete/longlines.el, lisp/progmodes/idlw-complete-structtag.el:
33747         * lisp/progmodes/idlw-help.el, lisp/progmodes/idlw-shell.el:
33748         * lisp/progmodes/idlw-toolbar.el, lisp/progmodes/idlwave.el:
33749         * lisp/progmodes/simula.el, lisp/ps-print.el, lisp/ps-samp.el:
33750         Remove Maintainer: lines for maintainers who have retired.
33752 2019-06-04  Stefan Monnier  <monnier@iro.umontreal.ca>
33754         * lisp/emacs-lisp/thunk.el (thunk-delay): Fix memory leak
33756         Get rid of references to the free variables of `body` once the thunk has
33757         been forced (bug#30626).
33759 2019-06-04  Stefan Monnier  <monnier@iro.umontreal.ca>
33761         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): More verbose comments
33763 2019-06-04  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
33765         Specify the matching chars for JSX open/close parenthesis
33767         * lisp/progmodes/js.el (js-jsx--syntax-propertize-tag): Indicate the
33768         matching parenthesis character (since JSX’s < and > aren’t typical
33769         parenthesis) for the sake of packages like rainbow-delimiters which
33770         need that information.
33772 2019-06-04  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
33774         Revert "Add extra text property to fix issue with js2-mode integration"
33776         This reverts commit 382a508ed21e4f12ace9f8871818e25235e8f05e.
33778         We ended up deciding against using this in js2-mode.  Instead,
33779         js2-mode may eventually use js-mode’s syntax-propertize-function to
33780         set syntax-table text properties.
33782 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
33784         Update lispref spellfile
33786         * doc/lispref/spellfile: Omit words no longer in the manual.
33787         How is this spellfile used?  Does anybody use it any more?
33789 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
33791         Adjust comments/debug to match C bignum code
33793         * doc/lispintro/emacs-lisp-intro.texi (Digression into C):
33794         Adjust to match current C code.
33795         * lisp/emacs-lisp/ert.el (ert--force-message-log-buffer-truncation):
33796         Simplify.
33797         * src/.gdbinit (Lisp_Object_Printer.to_string): Return
33798         a string that says "make_fixnum", not "make_number".
33800 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
33802         Always allow at least double-precision bignums
33804         Without this fix, Emacs can get into a tight loop reporting
33805         a range error when calculating timestamps.
33806         * doc/lispref/numbers.texi (Integer Basics):
33807         * src/alloc.c (syms_of_alloc): Document this.
33808         * src/bignum.c (make_bignum_bits): Always allow bignums
33809         of at least twice the width of (u)intmax_t.
33811 2019-06-04  Stefan Monnier  <monnier@iro.umontreal.ca>
33813         * lisp/gnus/message.el (message-send-mail): Tweak last commit
33815 2019-06-04  Noam Postavsky  <npostavs@gmail.com>
33817         Keep nxml-prolog-end up to date (Bug#18871)
33819         The change on 2016-01-16 "lisp/nxml: Use syntax-tables for comments"
33820         removed the update of nxml-prolog-end, although it already failed to
33821         work correctly after 2013-10-07 "* lisp/nxml/nxml-mode.el: Use
33822         lexical-binding and syntax-propertize."
33823         * lisp/nxml/nxml-rap.el: New function.
33824         * lisp/nxml/nxml-mode.el (nxml-mode): Add it to
33825         after-change-functions.
33827 2019-06-04  Noam Postavsky  <npostavs@gmail.com>
33829         Don't sgml-syntax-propertize-inside XML prolog (Bug#32823)
33831         * lisp/nxml/nxml-mode.el (nxml-syntax-propertize): New function.
33832         (nxml-mode): Use it as the syntax-propertize-function.
33833         * test/lisp/nxml/nxml-mode-tests.el (nxml-mode-doctype-and-quote-syntax)
33834         (nxml-mode-prolog-comment): New tests.
33836 2019-06-04  Noam Postavsky  <npostavs@gmail.com>
33838         Don't fontify text outside of SGML/XML tags (Bug#33887)
33840         * lisp/textmodes/sgml-mode.el (sgml-font-lock-syntactic-face): New
33841         function.
33842         (sgml-mode):
33843         * lisp/nxml/nxml-mode.el (nxml-mode): Use it as
33844         font-lock-syntactic-face-function value.
33846 2019-06-04  Noam Postavsky  <npostavs@gmail.com>
33848         Fix some SGML syntax edge cases (Bug#33887)
33850         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): Handle
33851         single and double quotes symmetrically.  Don't skip quoted comment
33852         enders.
33853         * test/lisp/textmodes/sgml-mode-tests.el (sgml-tests--quotes-syntax):
33854         Add more test cases.
33855         (sgml-mode-quote-in-long-text): New test.
33857 2019-06-04  Michael Albinus  <michael.albinus@gmx.de>
33859         Stronger check for Tramp method
33861         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
33862         * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
33863         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
33864         Use `tramp-get-connection-name'.
33866         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
33867         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
33868         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-symbolic-link):
33869         Don't check remote TARGET.
33871         * lisp/net/tramp.el (tramp-dissect-file-name): Check for proper method.
33872         (tramp-file-name-for-operation): Take only 2nd argument into
33873         account for file name handler.
33874         (tramp-file-name-handler): Suppress checks for `file-remote-p'.
33876         * test/lisp/net/tramp-archive-tests.el
33877         (tramp-archive-test02-file-name-dissect): Suppress check for wrong
33878         method.
33880         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
33881         Dump *all* Tramp buffers.
33882         (tramp-test02-file-name-dissect)
33883         (tramp-test02-file-name-dissect-simplified)
33884         (tramp-test02-file-name-dissect-separate): Check also wrong method.
33885         (tramp-test03-file-name-defaults): Check, that the respective
33886         Tramp package is loaded.
33887         (tramp-test04-substitute-in-file-name)
33888         (tramp-test05-expand-file-name)
33889         (tramp-test06-directory-file-name, tramp-test44-auto-load):
33890         Suppress check for wrong method.
33891         (tramp-test30-make-process): Remove instrumentation code.
33892         (tramp-test31-interrupt-process, tramp-test36-vc-registered):
33893         Guarantee that connection is established prior starting process.
33895 2019-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
33897         * src/xterm.c (x_scroll_run) [USE_CAIRO]: Dirty only destination rectangle.
33899         * src/image.c (cr_create_cr_surface_from_image): Add const to variable `key'.
33901 2019-06-03  Noam Postavsky  <npostavs@gmail.com>
33903         Let untarring (and hence package installation) go faster (Bug#35909)
33905         * lisp/subr.el (progress-reporter-update)
33906         (progress-reporter-force-update, progress-reporter-do-update): Accept
33907         new optional argument, SUFFIX.
33908         * doc/lispref/display.texi (Progress): Document it.
33909         * etc/NEWS: Announce it.
33910         * lisp/tar-mode.el (tar-untar-buffer): Use a progress reporter instead
33911         of calling message.  Suppress message from write-region.  Let-bind
33912         write-region-inhibit-fsync to t.
33914 2019-06-03  Phillip Lord  <phillip.lord@russet.org.uk>
33916         Update dependencies
33918         * admin/nt/dist-build/build-dep-zips.py: Add harfbuzz as dependency
33920 2019-06-03  Juri Linkov  <juri@linkov.net>
33922         User-friendly display of error messages at the end of minibuffer
33924         * lisp/simple.el (minibuffer-setup-hook): Add minibuffer-error-initialize.
33925         (minibuffer-error-initialize, minibuffer-error-function): New functions.
33926         (Bug#34939)
33928 2019-06-03  Juri Linkov  <juri@linkov.net>
33930         * lisp/char-fold.el (char-fold-make-table): New function
33932         with body extracted from INITVALUE of defconst (bug#35689).
33933         Bind search-spaces-regexp to nil (bug#35802).
33935         * test/lisp/char-fold-tests.el: Relocate helpers to file beginning.
33936         (char-fold--test-bug-35802): New test.
33938 2019-06-03  Stefan Monnier  <monnier@iro.umontreal.ca>
33940         * lisp/gnus/gnus-async.el: Use lexical-binding
33942         Remove redundant :group args.
33943         (gnus-async-post-fetch-function): Make it always be a function.
33944         (gnus-make-async-article-function, gnus-async-prefetch-headers):
33945         Use a closure rather than `(lambda ...)
33947 2019-06-03  Oleh Krehel  <ohwoeowho@gmail.com>
33949         lisp/gnus/message.el (message-send-mail): Don't wrongly assert on Unicode msg
33951         Using this setting:
33953             (setq message-send-mail-function 'message-send-mail-with-sendmail)
33954             (setq sendmail-program "msmtp")
33956         the message seding is handled by an external program, so no Unicode
33957         encoding is performed in Emacs. Thus Emacs must not assert that the
33958         Unicode encoding was performed.
33960 2019-06-02  Juanma Barranquero  <lekktu@gmail.com>
33962         * lisp/help-fns.el (help-fns--first-release): Do not fail if no release is found.
33964 2019-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
33966         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-async.el: Eliminate assumptions about gnus-data format
33968         * lisp/gnus/gnus-async.el (gnus-async-with-semaphore): Use `declare`.
33969         (gnus-async-prefetch-next): Don't assume gnus-data-number == car.
33971         * lisp/gnus/gnus-sum.el (gnus-data-find-in): New function.
33972         (gnus-data-find, gnus-data-find-list): Use it.
33973         (gnus-summary-article-subject): Make it a function.
33974         (gnus--dummy-data-list): New const.
33975         (gnus-update-summary-mark-positions): Use it.
33977 2019-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
33979         * lisp/gnus/gnus.el: Fix cycle in eager macroexpansion
33981         * lisp/gnus/gnus-sum.el (gnus-data): Use cl-defstruct.
33982         (gnus-data-set-pos, gnus-data-set-header, gnus-data-set-mark)
33983         (gnus-data-set-number): Delete macros; use `setf` instead.
33984         (gnus-data-unread-p, gnus-data-read-p, gnus-data-pseudo-p, gnus-data-find)
33985         (gnus-summary-skip-intangible, gnus-summary-article-number):
33986         Redefine as inlinable functions rather than macros.
33988         * lisp/gnus/gnus.el: Adjust autoloads for the macros turned functions.
33990 2019-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
33992         * lisp/help-fns.el: Make hyperlink for the "first release" info
33994         * lisp/help-fns.el (help-fns--first-release): Return a "button".
33995         (help-fns--mention-first-release): Preserve the string's text-properties.
33997         * lisp/help-mode.el (help-news): New button type.
33999 2019-06-02  Alan Mackenzie  <acm@muc.de>
34001         Change default offset of CC Mode syntactic symbol inlambda to 0
34003         It's previous default was c-lineup-inexpr-block.  This change is mainly to
34004         prevent excessive indentation of the innards of C++ lambda functions.
34006         * lisp/progmodes/cc-vars.el (c-offsets-alist): Amend the offset for inlambda
34007         to 0.
34009         * doc/misc/cc-mode.texi (FAQ): Amend the answer to the question about this
34010         matter.
34012 2019-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
34014         Implement the get_variation_glyphs method for FreeType >= 2.3.6
34016         * configure.ac: Check availability of FT_Face_GetCharVariantIndex.
34018         * src/ftfont.c (ftfont_variation_glyphs) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
34019         Add function implementation.
34021         * src/ftcrfont.c (ftcrfont_variation_glyphs)
34022         [HAVE_FT_FACE_GETCHARVARIANTINDEX]: Use function implementation for
34023         HAVE_OTF_GET_VARIATION_GLYPHS.
34025         * src/ftfont.c (ftfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
34026         * src/xftfont.c (xftfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
34027         * src/ftxfont.c (ftxfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
34028         * src/ftcrfont.c (ftcrfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
34029         Populate the get_variation_glyphs method.
34031 2019-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
34033         Revert previous commit
34035         This reverts commit 1ab69630dcb8c7a1b1b4171211a7c8ebf11b0d1c.
34036         It has a wrong commit message.
34038 2019-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
34040         Make fthbfont and derivatives use common HarfBuzz code in hbfont.c
34042         * src/font.h (fthbfont_shape, fthbfont_combining_capability)
34043         [HAVE_HARFBUZZ]: Remove prototypes.
34045         * src/ftfont.c: Don't include math.h.
34046         (uni_combining, uni_general, uni_mirroring, get_hb_unicode_funcs)
34047         (fthbfont_shape_by_hb, fthbfont_combining_capability, fthbfont_shape)
34048         [HAVE_HARFBUZZ]: Remove functions.
34050         * src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]:
34051         * src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]:
34052         * src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]: Use
34053         hbfont_shape and hbfont_combining_capability for fthbfont_shape and
34054         fthbfont_combining_capability, respectively.
34056 2019-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
34058         Make fthbfont and derivatives use common HarfBuzz code in hbfont.c
34060         * src/font.h (fthbfont_shape, fthbfont_combining_capability)
34061         [HAVE_HARFBUZZ]: Remove prototypes.
34063         * src/ftfont.c: Don't include math.h.
34064         (uni_combining, uni_general, uni_mirroring, get_hb_unicode_funcs)
34065         (fthbfont_shape_by_hb, fthbfont_combining_capability, fthbfont_shape)
34066         [HAVE_HARFBUZZ]: Remove functions.
34068         * src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]:
34069         * src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]:
34070         * src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]: Use
34071         hbfont_shape and hbfont_combining_capability instead of fthbfont_shape
34072         and fthbfont_combining_capability, respectively.
34074 2019-06-01  Glenn Morris  <rgm@gnu.org>
34076         Skip some flymake tests on hydra.nixos.org
34078         * test/lisp/progmodes/flymake-tests.el (perl-backend)
34079         (included-c-header-files, recurrent-backend):
34080         Skip on hydra.nixos due to frequent intermittent failures.  (Bug#32764)
34082 2019-06-01  Stefan Kangas  <stefankangas@gmail.com>
34084         Use lexical-binding in morse.el and studly.el and add tests
34086         * lisp/play/morse.el: Use lexical-binding.
34087         * lisp/play/studly.el: Use lexical-binding.
34088         * test/lisp/play/morse-tests.el: New file.
34089         * test/lisp/play/studly-tests.el: New file.
34091 2019-06-01  Stefan Kangas  <stefankangas@gmail.com>
34093         Use lexical-binding in paragraphs.el and add tests
34095         * lisp/textmodes/paragraphs.el: Use lexical-binding.
34096         (repunctuate-sentences): Make it work non-interactively.
34097         * test/lisp/textmodes/paragraphs-tests.el: New file.
34099 2019-06-01  Paul Eggert  <eggert@cs.ucla.edu>
34101         Fix .gitignore spec for personal customizations
34103         Problem reported by Mauro Aranda (Bug#35945).
34104         * .gitignore: Replace .dir-locals?.el with .dir-locals-2.el.
34106 2019-06-01  Paul Eggert  <eggert@cs.ucla.edu>
34108         Tune cl-assoc
34110         * lisp/emacs-lisp/cl-seq.el (cl-assoc): Use assq for fixnums.
34112 2019-06-01  Mattias Engdegård  <mattiase@acm.org>
34114         Fix `cl-member' and `cl-assoc' for bignums
34116         * lisp/emacs-lisp/cl-seq.el (cl-member, cl-assoc): Work with bignums.
34117         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-bignum-eql): New.
34119 2019-06-01  Daniel Ralston  <wubbulous@gmail.com>  (tiny change)
34121         Make rcirc PART and QUIT reasons customizable (Bug#12857)
34123         * lisp/net/rcirc.el: (rcirc-default-part-reason, rcirc-default-quit-reason):
34124         New customizable vars.
34125         (rcirc-cmd-quit, rcirc-cmd-part): Consult them.
34127 2019-06-01  Noam Postavsky  <npostavs@gmail.com>
34129         Handle argument to rcirc /part properly (Bug#11157)
34131         * lisp/net/rcirc.el (part): Split out channel name and part reason.
34132         * doc/misc/rcirc.texi (rcirc commands): Clarify that channel name may
34133         be provided to /part.
34135 2019-06-01  Noam Postavsky  <npostavs@gmail.com>
34137         * lisp/net/rcirc.el: Remove redundant :group usage
34139         ... and empty Todo comment section.
34141 2019-06-01  Alan Mackenzie  <acm@muc.de>
34143         Debug and disentangle the literal caching in CC Mode
34145         (Final Commit)
34147         * lisp/progmodes/cc-engine.el (c-semi-trim-near-cache): Correct a comparison
34148         with the wrong ...-limit variable.
34149         (c-semi-pp-to-literal): Remove a wrong setting of c-lit-pos-cache-limit.
34150         (c-full-get-near-cache-entry): Eliminate extravagant and unneeded coding.
34151         (c-state-cache-init, c-record-parse-state-state): No longer manipulate
34152         c-lit-pos-cache, which is no longer regarded as part of c-parse-state.
34154         * lisp/progmodes/cc-mode.el (c-basic-common-init): Call
34155         c-truncate-lit-pos-cache to initialize the literal cache.
34157 2019-06-01  Alan Mackenzie  <acm@muc.de>
34159         * lisp/progmodes/cc-engine.el: Permute certain literal caching functions
34161 2019-06-01  Alan Mackenzie  <acm@muc.de>
34163         Tidy up the literal caching in CC Mode, optimizing c-full-pp-to-literal
34165         (Intermediate commit)
34167         * lisp/progmodes/cc-engine.el, lisp/progmodes/cc-fonts.el
34168         * lisp/progmodes/cc-mode.el : Rename:
34169         c-state-semi-nonlit-pos-cache -> c-lit-pos-cache,
34170         c-state-semi-nonlit-pos-cache-limit -> c-lit-pos-cache-limit,
34171         c-state-semi-nonlit-near-cache -> c-semi-lit-near-cache,
34172         c-truncate-semi-nonlit-pos-cache -> c-truncate-lit-pos-cache,
34173         c-state-semi-trim-near-cache -> c-semi-trim-near-cache,
34174         c-state-semi-get-near-cache-entry -> c-semi-get-near-cache-entry,
34175         c-state-semi-put-near-cache-entry -> c-semi-put-near-cache-entry,
34176         c-state-semi-pp-to-literal -> c-semi-pp-to-literal,
34177         c-state-full-pp-to-literal -> c-full-pp-to-literal,
34178         c-state-semi-trim-cache -> c-trim-lit-pos-cache.
34180         * lisp/progmodes/cc-engine.el (c-semi-near-cache-limit): New variable.
34181         (c-truncate-lit-pos-cache): This now truncates the cache variables for all
34182         three lit- sub-caches.
34183         (c-semi-put-near-cache-entry): Increase c-semi-near-cache-limit to the
34184         position of the new entry.
34185         (c-full-near-cache-limit, c-full-lit-near-cache): New variables.
34186         (c-full-trim-near-cache, c-full-get-near-cache-entry)
34187         (c-full-put-near-cache-entry): New functions.
34188         (c-full-pp-to-literal): Amend to use the new functions, and to optimize the
34189         use of the available caches, similarly to c-semi-pp-to-literal.
34191 2019-06-01  Paul Eggert  <eggert@cs.ucla.edu>
34193         Port hbfont.c to GCC 9 with --enable-gcc-warnings
34195         * src/hbfont.c (hbfont_shape): Use ptrdiff_t, not int,
34196         for indexes that in theory might overflow int.
34197         Add UNINIT to pacify GCC 9 and omit an unnecessary initialization.
34199 2019-06-01  Glenn Morris  <rgm@gnu.org>
34201         Merge from origin/emacs-26
34203         008b263 (origin/emacs-26, emacs-26) * lisp/gnus/gnus.el: Mark autoloa...
34204         daf32f1 Speed up redisplay of HELLO
34205         d8a6d82 Improve documentation of 'safe-local-variable' property
34207         # Conflicts:
34208         #       etc/HELLO
34210 2019-06-01  Glenn Morris  <rgm@gnu.org>
34212         Merge from origin/emacs-26
34214         134edc1 Warn about wrong number of args for subrs (Bug#35767)
34215         5f01af6 Use plain symbols for eieio type descriptors (Bug#29220)
34216         4b24b01 Pacify GCC 9 -Wredundant-decls
34218 2019-06-01  Glenn Morris  <rgm@gnu.org>
34220         Merge from origin/emacs-26
34222         b2e44b4 Pacify GCC when compiling unexelf.c on Fedora 30
34224 2019-06-01  Glenn Morris  <rgm@gnu.org>
34226         Merge from origin/emacs-26
34228         1b2f83b Fix docstring of bookmark-get-bookmark
34230 2019-06-01  Glenn Morris  <rgm@gnu.org>
34232         Merge from origin/emacs-26
34234         2168165 ; * doc/lispref/nonascii.texi (Explicit Encoding): Fix typo.
34235         8f18d12 Improve documentation of decoding into a unibyte buffer
34236         7681a57 Remove redundants "See" before @xref or @pxref (Bug#35793)
34237         9bee762 ; * src/coding.c: Improve commentary.  (Bug#34765)
34238         e61349c Fix customization type of recentf-max-saved-items
34240         # Conflicts:
34241         #       src/coding.c
34243 2019-06-01  Eli Zaretskii  <eliz@gnu.org>
34245         Implement the get_variation_glyphs method for HarfBuzz on MS-Windows
34247         * src/w32uniscribe.c [HAVE_HARFBUZZ]: DEF_DLL_FN
34248         hb_font_get_variation_glyph.
34249         (hb_font_get_variation_glyph): New redirection macro.
34250         (w32hb_get_variation_glyphs): New function.
34251         (load_harfbuzz_funcs): Load hb_font_get_variation_glyph.
34252         (syms_of_w32uniscribe_for_pdumper): Populate the
34253         get_variation_glyphs method of harfbuzz_font_driver.
34255 2019-06-01  Simen Heggestøyl  <simenheg@gmail.com>
34257         Use lexical-binding in page.el and add tests
34259         * lisp/textmodes/page.el: Use lexical-binding.
34260         (forward-page): Replace `(if x nil y)' with `(unless x y)'.
34262         * test/lisp/textmodes/page-tests.el: New file with tests for page.el.
34264 2019-06-01  Eli Zaretskii  <eliz@gnu.org>
34266         Update the documentation due to changes in loading font backends
34268         * doc/emacs/msdos.texi (Windows Fonts): Reflect the fact that
34269         Uniscribe is not enabled by default.
34271 2019-06-01  Eli Zaretskii  <eliz@gnu.org>
34273         Prefer HarfBuzz to Uniscribe on MS-Windows
34275         * src/w32fns.c (Fx_create_frame, w32_create_tip_frame):
34276         Register the Uniscribe font backend only if HarfBuzz is not
34277         available, or if explicitly requested via frame parameters
34278         or resources.
34280 2019-06-01  Eli Zaretskii  <eliz@gnu.org>
34282         Move common HarfBuzz code to a common file hbfont.c
34284         * src/hbfont.c: New file, with code moved from w32uniscribe.c
34285         and renamed/modified as appropriate.
34286         * src/w32uniscribe.c: Move to hbfont.c DEF_DLL_FN and macro
34287         definitions for HarfBuzz functions used in hbfont.c
34288         (load_harfbuzz_funcs): Move loading of HarfBuzz functions used
34289         by hbfont.c to hbfont.c:hbfont_init_w32_funcs, and call that
34290         function from here.
34291         (syms_of_w32uniscribe_for_pdumper): Fill the 'shape' and
34292         'combining_capability' members with hbfont.c function names.
34293         * src/w32common.h (hbfont_init_w32_funcs) [HAVE_HARFBUZZ]: Add
34294         prototype.
34295         * src/font.h (hbfont_shape, hbfont_combining_capability)
34296         [HAVE_HARFBUZZ]: Add prototypes.
34297         * src/Makefile.in (SOME_MACHINE_OBJECTS): Add hbfont.o.
34299         * configure.ac (FONT_OBJ): Add hbfont.o if HAVE_HARFBUZZ.
34301 2019-06-01  Stefan Kangas  <stefankangas@gmail.com>
34303         Use lexical-binding in timezone.el and add tests
34305         * lisp/timezone.el: Use lexical-binding.
34306         * test/lisp/timezone-tests.el: New file.
34308 2019-05-31  Simen Heggestøyl  <simenheg@gmail.com>
34310         Use lexical-binding in autoinsert.el and add tests
34312         * lisp/autoinsert.el: Use lexical-binding.
34313         Remove redundant :group args.
34314         (auto-insert): Simplify.
34316         * test/lisp/autoinsert-tests.el: New file with tests for
34317         autoinsert.el.
34319 2019-05-31  Eli Zaretskii  <eliz@gnu.org>
34321         Unbreak MinGW64 build with pthreads.h installed
34323         * nt/mingw-cfg.site (gl_cv_func_pthread_sigmask_macro): Set to
34324         "no", to avoid compiling Gnulib's pthread_sigmask.c.
34325         Reported by Richard Copley <rcopley@gmail.com>.
34327 2019-05-31  Eli Zaretskii  <eliz@gnu.org>
34329         Enhance Hebrew display in HELLO
34331         * etc/HELLO: Show off display of Hebrew with diacriticals
34332         (a.k.a. "nikkud").
34334 2019-05-31  Eli Zaretskii  <eliz@gnu.org>
34336         Fix handling of -xrm on MS-Windows broken by recent commits
34338         * src/w32reg.c (w32_get_string_resource): The argument V_RDB
34339         is a 'char **', not a 'char *'.  This fixes -xrm handling on
34340         MS-Windows, broken by conversion of x_get_string_resource to
34341         terminal-specific hook.
34343         (cherry picked from commit 833097cbc4856001ae77b33365faf09c1b3c30e3)
34345 2019-05-31  Eli Zaretskii  <eliz@gnu.org>
34347         Unbreak display of characters on MS-Windows
34349         * src/w32font.c (w32font_draw): Convert the glyph_string's
34350         char2b array to 16-bit WCHAR data that ExtTextOutW needs.
34352         (cherry picked from commit 38564f8a664347c42f7614d9c91e0d49e4a073e8)
34354 2019-05-31  Eli Zaretskii  <eliz@gnu.org>
34356         Add HarfBuzz font backend for MS-Windows
34358         * src/w32uniscribe.c [HAVE_HARFBUZZ]: Include math.h and
34359         hb.h.
34360         (bswap_32): Define for GCC 4.3.0 and later; else include
34361         <byteswap.h> from Gnulib.
34362         (struct uniscribe_font_info): Extend for HarfBuzz; 'cache' is
34363         now a 'void *' (all users changed).
34364         [HAVE_HARFBUZZ]: Define typedefs for HarfBuzz functions to be
34365         loaded dynamically from the HarfBuzz DLL.  Define macros to
34366         call those functions via function pointers.
34367         (uniscribe_open) [HAVE_HARFBUZZ]: Use the HarfBuzz font driver
34368         if the type of the font entity is 'harfbuzz'.
34369         (uniscribe_close) [HAVE_HARFBUZZ]: For fonts using the
34370         HarfBuzz backend, call hb_font_destroy to free memory used for
34371         the cached hb_font data.
34372         (uniscribe_shape): Fix assignment of character codepoints to
34373         glyphs from a single cluster.
34374         (w32hb_list, w32hb_match, free_cb, w32hb_get_font_table)
34375         (w32hb_get_font, w32hb_encode_char, w32hb_begin_font)
34376         (w32uni_combining, w32uni_general, w32uni_mirroring)
34377         (get_hb_unicode_funcs, w32hb_shape)
34378         (w32hb_combining_capability, load_harfbuzz_funcs)
34379         [HAVE_HARFBUZZ]: New functions.
34380         (syms_of_w32uniscribe_for_pdumper) [HAVE_HARFBUZZ]: Load the
34381         HarfBuzz DLL and register the HarfBuzz backend with its
34382         functions.
34383         * src/w32font.c (syms_of_w32font) <Qharfbuzz>: New DEFSYM.
34384         * src/w32fns.c (Fx_create_frame, w32_create_tip_frame)
34385         [HAVE_HARFBUZZ]: Register the harfbuzz font backend.
34386         * src/lisp.h (get_unicode_property): Declare prototype.
34387         * src/font.h (harfbuzz_font_driver) [HAVE_NTGUI]: Declare.
34388         * src/chartab.c (get_unicode_property): New function, body
34389         taken from get-unicode-property-internal.
34390         (Fget_unicode_property_internal): Call get_unicode_property
34391         after validating input.
34393         * doc/lispref/frames.texi (Font and Color Parameters):
34394         * doc/emacs/msdos.texi (Windows Fonts): Document support for
34395         HarfBuzz text shaping on MS-Windows.
34397         * configure.ac (HAVE_HARFBUZZ): Move out of the X-specific
34398         part, and consider HarfBuzz also for HAVE_W32 systems.
34399         Require HarfBuzz v1.2.3 for w32.
34401 2019-05-30  Paul Eggert  <eggert@cs.ucla.edu>
34403         Improve eq1/memql performance
34405         * src/fns.c (Fmemql, Feql): Inline to tweak performance.
34407 2019-05-30  Mattias Engdegård  <mattiase@acm.org>
34409         Fix `memql' for bignums
34411         * src/fns.c (Fmemql): Make `memql' work for bignums.
34412         * test/src/fns-tests.el (test-bignum-eql): Also test `memql'.
34414 2019-05-30  Alan Mackenzie  <acm@muc.de>
34416         Optimize one of CC Mode's syntax caches for long comments and strings.
34418         * lisp/progmodes/cc-langs.el (c-block-comment-awkward-chars): New lang
34419         constant and variable.
34421         * lisp/progmodes/cc-engine.el (c-state-semi-nonlit-pos-cache): Enhance the
34422         doc comment.
34423         (c-state-semi-get-near-cache-entry, c-state-semi-pp-to-literal): Reuse entry
34424         if the sought position is in a literal, and lies between the literal start and
34425         the entry's position.
34426         (c-cache-to-parse-ps-state, c-parse-ps-state-below): Amend such that instead
34427         of caching a state for a position after a backslash or first character of a
34428         2-character comment delimiter, this is done for the previous character
34429         position.
34431 2019-05-30  Dmitry Gutov  <dgutov@yandex.ru>
34433         Fix a void-function error
34435         * lisp/dired-aux.el (dired-do-find-regexp):
34436         Require 'xref' (bug#35352).
34438 2019-05-30  Dmitry Gutov  <dgutov@yandex.ru>
34440         Rename xref-refresh-results to xref-revert-buffer
34442         * lisp/progmodes/xref.el (xref-revert-buffer): Rename from
34443         'xref-refresh-results' (https://debbugs.gnu.org/35737#40).
34445 2019-05-30  Dmitry Gutov  <dgutov@yandex.ru>
34447         New command ruby-find-library-file
34449         * lisp/progmodes/ruby-mode.el (ruby-find-library-file):
34450         New command.
34451         (ruby-mode-map): Add binding for it.
34453 2019-05-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
34455         Add stipple support on cairo
34457         * src/xterm.h (struct x_bitmap_record) [USE_CAIRO]: Remove unused member img.
34458         Add member stipple.
34459         (x_bitmap_stipple) [USE_CAIRO]: Add extern.
34461         * src/image.c (x_bitmap_stipple) [HAVE_X_WINDOWS && USE_CAIRO]: New function.
34462         (image_create_bitmap_from_data, image_create_bitmap_from_file)
34463         (x_create_bitmap_from_xpm_data) [HAVE_X_WINDOWS && USE_CAIRO]: Initialize
34464         stipple member of struct x_bitmap_record.
34465         (free_bitmap_record) [HAVE_X_WINDOWS && USE_CAIRO]: Destroy stipple member.
34467         * src/xterm.c (x_fill_rectangle) [USE_CAIRO]: Inspect gc and draw stipple if
34468         necessary.  Use x_bitmap_stipple.
34470 2019-05-29  Basil L. Contovounesios  <contovob@tcd.ie>
34472         Simplify Gnus buffer liveness checking and killing
34474         * lisp/gnus/gnus-agent.el (gnus-agent-synchronize-group-flags):
34475         Fix indentation.
34476         * lisp/gnus/gnus-util.el (gnus-buffer-exists-p): Define as obsolete
34477         alias of gnus-buffer-live-p.
34478         (gnus-buffer-live-p): If the given argument is or names a live
34479         buffer, return the corresponding buffer object instead of a boolean.
34480         * lisp/gnus/gnus-win.el (gnus-delete-windows-in-gnusey-frames)
34481         (gnus-remove-some-windows): Simplify.
34482         * lisp/gnus/gnus.el (gnus-prune-buffers): Redefine as alias of
34483         gnus-buffers.
34484         (gnus-kill-buffer, gnus-buffers, gnus-group-find-parameter):
34485         * lisp/gnus/gnus-art.el (gnus-kill-sticky-article-buffers)
34486         (gnus-request-article-this-buffer):
34487         * lisp/gnus/gnus-bcklg.el (gnus-backlog-shutdown):
34488         * lisp/gnus/gnus-cus.el (gnus-group-customize)
34489         (gnus-agent-customize-category):
34490         * lisp/gnus/gnus-draft.el (gnus-draft-edit-message):
34491         * lisp/gnus/gnus-group.el (gnus-group-set-mode-line)
34492         (gnus--abort-on-unsaved-message-buffers, gnus-group-compact-group):
34493         * lisp/gnus/gnus-msg.el (gnus-inews-add-send-actions)
34494         (gnus-summary-supersede-article, gnus-copy-article-buffer):
34495         * lisp/gnus/gnus-score.el (gnus-score-edit-current-scores)
34496         (gnus-score-edit-file):
34497         * lisp/gnus/gnus-spec.el (gnus-update-format-specifications):
34498         * lisp/gnus/gnus-srvr.el (gnus-server-compact-server):
34499         * lisp/gnus/gnus-start.el (gnus-clear-system, gnus-dribble-enter)
34500         (gnus-dribble-save, gnus-dribble-clear, gnus-save-newsrc-file):
34501         * lisp/gnus/gnus-sum.el (gnus-summary-setup-buffer)
34502         (gnus-update-summary-mark-positions, gnus-summary-exit)
34503         (gnus-deaden-summary, gnus-kill-or-deaden-summary)
34504         (gnus-summary-next-group):
34505         * lisp/gnus/gnus-win.el (gnus-configure-frame):
34506         * lisp/gnus/mail-source.el (mail-source-movemail):
34507         * lisp/gnus/message.el (message-with-reply-buffer)
34508         (message-with-reply, message-send-and-exit)
34509         (message-send-mail-with-sendmail, message-pop-to-buffer)
34510         (message-do-send-housekeeping, message-forward-make-body-plain)
34511         (message-forward-make-body-mml):
34512         * lisp/gnus/mm-decode.el (mm-display-external, mm-remove-part):
34513         * lisp/gnus/nnbabyl.el (nnbabyl-server-opened)
34514         (nnbabyl-possibly-change-newsgroup, nnbabyl-read-mbox)
34515         (nnbabyl-check-mbox):
34516         * lisp/gnus/nndiary.el (nndiary-save-nov):
34517         * lisp/gnus/nndoc.el (nndoc-close-group)
34518         (nndoc-possibly-change-buffer):
34519         * lisp/gnus/nnfolder.el (nnfolder-close-group, nnfolder-save-nov):
34520         * lisp/gnus/nnimap.el (nnimap-make-process-buffer, nnimap-keepalive)
34521         (nnimap-find-connection):
34522         * lisp/gnus/nnmail.el (nnmail-cache-open, nnmail-cache-close):
34523         * lisp/gnus/nnmbox.el (nnmbox-close-server, nnmbox-server-opened)
34524         (nnmbox-possibly-change-newsgroup, nnmbox-read-mbox):
34525         * lisp/gnus/nnml.el (nnml-save-incremental-nov, nnml-open-nov)
34526         (nnml-save-nov):
34527         * lisp/gnus/nnoo.el (nnoo-server-opened):
34528         * lisp/gnus/nntp.el (nntp-kill-buffer, nntp-make-process-buffer)
34529         (nntp-open-connection, nntp-async-trigger):
34530         * lisp/net/mairix.el (mairix-gnus-fetch-field): Simplify buffer
34531         liveness checking and killing, replacing buffer-name with
34532         buffer-live-p and gnus-buffer-exists-p with gnus-buffer-live-p or
34533         equivalent where applicable.
34535 2019-05-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
34537         Fix breakage of native image scaling on XRENDER by previous change
34539         * src/image.c (image_create_x_image_and_pixmap_1) [HAVE_XRENDER]: Get depth if
34540         it is unspecified.
34542 2019-05-29  Paul Eggert  <eggert@cs.ucla.edu>
34544         Update from Gnulib
34546         This incorporates:
34547         2019-05-24 flexmember: update comments
34548         2019-05-18 pthread_sigmask: fix --enable-threads=windows compilation
34549         2019-05-14 close-stream, closein, closeout: simplify
34550         2019-05-09 verify: remove verify_true
34551         2019-05-09 verify: support C2X and C++17 static_assert
34552         * build-aux/config.guess, build-aux/config.sub:
34553         * doc/misc/texinfo.tex, lib/flexmember.h, lib/verify.h:
34554         * m4/flexmember.m4, m4/pthread_sigmask.m4:
34555         Copy from Gnulib
34556         * m4/gnulib-comp.m4: Regenerate.
34558         2019-05-26  Paul Eggert  <eggert@cs.ucla.edu>
34560         Update author/maintainer info
34561         This mostly updates email addresses and fixes spellings of
34562         author and maintainer names.
34564 2019-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
34566         * lisp/subr.el (add-hook): Turn `append` into `depth` (bug#35508)
34568         Make it possible to control the relative ordering of functions on hooks by
34569         specifying `depth` in the same was as was possible with `add-function`.
34571         * lisp/electric.el (electric--sort-post-self-insertion-hook):
34572         Delete function.
34573         (electric-indent-mode, electric-layout-mode, electric-quote-mode):
34574         * lisp/elec-pair.el (electric-pair-mode): Use new `depth` arg instead of
34575         electric--sort-post-self-insertion-hook.
34577         * lisp/emacs-lisp/syntax.el (syntax-propertize, syntax-ppss):
34578         Use new `depth` arg to make sure noone accidentally gets added
34579         after syntax-ppss-flush-cache.
34581         * doc/lispref/modes.texi (Setting Hooks): Document new `depth` arg.
34583         * test/lisp/subr-tests.el (subr-tests-add-hook-depth): New test.
34585 2019-05-29  Simen Heggestøyl  <simenheg@gmail.com>
34587         Use lexical-binding in makesum.el and add tests
34589         * lisp/makesum.el: Use lexical-binding.
34590         (make-command-summary): Replace `if..progn' with `when'.
34591         (double-column): Add docstring and apply trivial simplifications.
34593         * test/lisp/makesum-tests.el: New file with tests for makesum.el.
34595 2019-05-29  Basil L. Contovounesios  <contovob@tcd.ie>
34597         Simplify gnus-or and gnus-and
34599         * lisp/gnus/gnus-art.el: Make implicit seq.el dependency explicit.
34600         (gnus-treat-predicate): Use seq-some in place of mapcar + gnus-or
34601         and evaluate lambda predicate.
34602         * lisp/gnus/gnus-util.el (gnus-or, gnus-and): Simplify.
34604 2019-05-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
34606         Rework cairo image support to improve consistency (Bug#35871)
34608         * src/dispextern.h (Emacs_Pix_Container) [USE_CAIRO]: New struct.  Also used
34609         as aliases of Emacs_Pixmap and Emacs_Pix_Context.
34610         (x_kill_gs_process) [USE_CAIRO]: #ifdef out extern.
34611         (RGB_PIXEL_COLOR) [USE_CAIRO]: Define as unsigned long.
34613         * src/image.c: Include stdint.h.  On cairo, remove existing image support
34614         code, use non-X11-specific code for XBM/XPM, and remove POSTSCRIPT support.
34615         (PUT_PIXEL): New macro.  Use it instead of XPutPixel when not specific to X11.
34616         (GET_PIXEL, NO_PIXMAP, PIX_MASK_RETAIN, PIX_MASK_DRAW)
34617         (RGB_TO_ULONG, ARGB_TO_ULONG, RED_FROM_ULONG)
34618         (GREEN_FROM_ULONG, BLUE_FROM_ULONG, RED16_FROM_ULONG)
34619         (GREEN16_FROM_ULONG, BLUE16_FROM_ULONG) [USE_CAIRO]: New macros.
34620         (image_create_pix_container, image_pix_container_put_pixel)
34621         (image_pix_context_get_pixel, image_pix_container_create_from_bitmap_data)
34622         (cr_create_cr_surface_from_image) [USE_CAIRO]: New functions.
34623         (image_create_x_image_and_pixmap_1, image_destroy_x_image)
34624         (image_check_image_size): Extract X11-specific code from here ...
34625         (x_create_x_image_and_pixmap, x_destroy_x_image)
34626         (x_check_image_size) [HAVE_X_WINDOWS]: ... to here.
34627         (x_create_bitmap_mask) [HAVE_X_WINDOWS]: Use them.  Inline specialized version
34628         of four_corners_best.
34629         (prepare_image_for_display, image_clear_image_1, image_destroy_x_image)
34630         (gui_put_x_image, image_put_x_image, image_get_x_image, image_unget_x_image)
34631         (Create_Pixmap_From_Bitmap_Data, lookup_rgb_color)
34632         (image_to_emacs_colors) [USE_CAIRO]: Add cairo support.
34633         (image_background, png_load_body) [USE_CAIRO]: Use image_alloc_image_color for
34634         img->background.
34635         (image_sync_to_pixmaps) [USE_CAIRO]: #ifdef out function.
34636         (Create_Pixmap_From_Bitmap_Data) [HAVE_X_WINDOWS]: Move image_check_image_size
34637         call from here ...
34638         (xbm_load_image): ... to here.
34639         (xpm_load_image):
34640         (image_build_heuristic_mask, pbm_load, gif_load) [USE_CAIRO]: Use
34641         lookup_rgb_color for argument of PUT_PIXEL.
34642         (image_pixmap_draw_cross) [HAVE_X_WINDOWS || USE_CAIRO]: New function.
34643         (image_disable_image) [HAVE_X_WINDOWS || USE_CAIRO]: Use it.
34644         (CrossForeground) [!HAVE_NTGUI && !HAVE_NS]: New macro.
34645         (image_disable_image) [!HAVE_NTGUI && !HAVE_NS]: Use it.
34647         * src/xterm.c (handle_one_xevent) <ClientMessage> [USE_CAIRO]: #ifdef out
34648         x_kill_gs_process call.
34649         (x_free_pixmap) [USE_CAIRO]: Free Emacs_Pix_Container and data it contains.
34651 2019-05-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
34653         Improve previous change for tool bar image support on GTK+2 with cairo
34655         * src/gtkutil.c (xg_get_pixbuf_from_surface) [USE_CAIRO && !HAVE_GTK3]: Remove
34656         unused argument f.  All callers changed.  Handle general alpha value.
34658 2019-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
34660         * lisp/international/mule-cmds.el (encoded-string-description): Require unibyte string as input
34662 2019-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
34664         * lisp/international/mule-cmds.el (encode-coding-char): Fix ASCII case
34666         Don't bother with string-as-multibyte since `string` already returns
34667         multibyte when needed.  Don't forget to encode when the string is
34668         ASCII, e.g. for ebcdic case and to make sure we always return
34669         a unibyte string.
34671         * test/lisp/international/mule-tests.el (mule-cmds-tests--encode-ebcdic):
34672         New test.
34674 2019-05-28  Michael Heerdegen  <michael_heerdegen@web.de>
34676         * doc/misc/cl.texi (Macro Bindings): Add a detail
34678         Say that calls of 'cl-macrolet' bound macros are expanded in the
34679         global environment.
34681 2019-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
34683         * lisp/gnus/gnus-art.el: Use mail-header-p
34685         (gnus-summary-save-in-pipe, gnus-article-prepare)
34686         (gnus-request-article-this-buffer): Use mail-header-p instead of vectorp.
34687         (gnus-request-article-this-buffer): Use insert-buffer-substring since
34688         it doesn't behave like string-make-multibyte any more.
34690 2019-05-28  Eli Zaretskii  <eliz@gnu.org>
34692         Fix handling of -xrm on MS-Windows broken by recent commits
34694         * src/w32reg.c (w32_get_string_resource): The argument V_RDB
34695         is a 'char **', not a 'char *'.  This fixes -xrm handling on
34696         MS-Windows, broken by conversion of x_get_string_resource to
34697         terminal-specific hook.
34699 2019-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
34701         * lisp/frameset.el: Stop using obsolete registerv objects
34703         (frameset-register): New type.
34704         (register-val-jump-to): Define on this new type, replacing
34705         frameset--jump-to-register.
34706         (register-val-describe): Define on this new type, replacing
34707         frameset--print-register.
34708         (frameset-to-register): Use new frameset-make-register.
34709         (frameset--reuse-frame): η-reduce.
34711 2019-05-28  Stefan Kangas  <stefankangas@gmail.com>
34713         Cleanup of TODO to prefer report-emacs-bug
34715         * etc/TODO: Remove already completed removal of `report-calc-bug'.
34716         * lisp/calc/calc.el: Remove any mention of `report-calc-bug'.
34717         * lisp/epg-config.el: Redefine `epg-bug-report-address' as obsolete
34718         variable alias for `report-emacs-bug-address'.
34719         * lisp/expand.el: Remove any mention of `expand-submit-report'.
34720         * lisp/obsolete/fast-lock.el: Remove commented out code for
34721         `fast-lock-submit-bug-report'.
34723 2019-05-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
34725         Support tool bar icon image also on GTK+2 with cairo
34727         * src/gtkutil.c (xg_get_pixbuf_from_surface) [USE_CAIRO && !HAVE_GTK3]: New
34728         function.
34729         (xg_get_image_for_pixmap) [USE_CAIRO && !HAVE_GTK3]: Use it.
34730         (xg_tool_item_stale_p, update_frame_tool_bar) [USE_CAIRO && !HAVE_GTK3]: Use
34731         cairo code also on GTK+2.
34733 2019-05-27  Glenn Morris  <rgm@gnu.org>
34735         * test/lisp/autorevert-tests.el: Give on on remote hydra.nixos tests.
34737         (auto-revert--test-enabled-remote): Disable on hydra.nixos.
34739 2019-05-27  Glenn Morris  <rgm@gnu.org>
34741         * test/lisp/autorevert-tests.el: Try to fix remote hydra.nixos tests.
34743 2019-05-27  Simen Heggestøyl  <simenheg@gmail.com>
34745         Remap `complete-symbol' in CSS mode
34747         * lisp/textmodes/css-mode.el (css-mode-map): Remap `complete-symbol'
34748         to `completion-at-point'.
34749         (css-mode): Update docstring to produce the right key binding.
34751 2019-05-27  Mattias Engdegård  <mattiase@acm.org>
34753         Correctly eliminate duplicate cases in switch compilation
34755         Fix code mistakes that prevented the correct elimination of duplicated
34756         cases when compiling a `cond' form to a switch bytecode, as in
34758           (cond ((eq x 'a) 1)
34759                 ((eq x 'b) 2)
34760                 ((eq x 'a) 3)   ; should be elided
34761                 ((eq x 'c) 4))
34763         Sometimes, this caused the bytecode to use the wrong branch (bug#35770).
34765         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Return obj2 eval'ed.
34766         (byte-compile-cond-jump-table-info):
34767         Discard redundant condition.  Use `obj2' as evaluated.
34768         Discard duplicated cases instead of failing the table generation.
34769         * test/lisp/emacs-lisp/bytecomp-tests.el (toplevel): Require subr-x.
34770         (byte-opt-testsuite-arith-data, bytecomp-test--switch-duplicates): Test.
34772 2019-05-27  Michael Albinus  <michael.albinus@gmx.de>
34774         Another attempt to fix Bug#35769
34776         * lisp/net/tramp.el (tramp-call-process, tramp-call-process-region)
34777         (tramp-process-lines): Suppress `process-environment' entries
34778         dedicated for remote processes.  (Bug#35769)
34780 2019-05-26  Simen Heggestøyl  <simenheg@gmail.com>
34782         Add a menu bar menu for CSS mode
34784         * lisp/textmodes/css-mode.el (css-mode-map): Add menu bar menu.
34786 2019-05-26  Michael Albinus  <michael.albinus@gmx.de>
34788         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Revert fix for Bug#35769
34790 2019-05-26  Noam Postavsky  <npostavs@gmail.com>
34792         Avoid infloop in read-multiple-choice (Bug#32257)
34794         * lisp/emacs-lisp/rmc.el (read-multiple-choice): Use `read-event'
34795         which won't get stuck (return the same event over and over again) for
34796         non-character events, unlike `read-char'.
34798 2019-05-26  Basil L. Contovounesios  <contovob@tcd.ie>
34800         Tweak recent additions in tabify-tests.el
34802         * test/lisp/tabify-tests.el (tabify-tests--test-changes): Rename
34803         third argument to avoid "lexical argument shadows dynamic variable"
34804         warnings.  Use mapconcat in place of mapcar+concat.
34805         (tabify-tests-untabify, tabify-tests-tabify): Quote function symbols
34806         as such.
34808 2019-05-26  Simen Heggestøyl  <simenheg@gmail.com>
34810         Use lexical-binding in paren.el and add tests
34812         * lisp/paren.el: Use lexical-binding.
34813         (show-paren--default): Use imperative form in doc-string.
34815         * test/lisp/paren-tests.el: New file with tests for paren.el.
34817 2019-05-26  Paul Eggert  <eggert@cs.ucla.edu>
34819         Update author/maintainer info
34821         Update email addresses and fix spellings of some author and
34822         maintainer names.
34824 2019-05-26  Paul Eggert  <eggert@cs.ucla.edu>
34826         Remove Maintainer: when it duplicates Author:
34828         The convention is that a file with Author: but not Maintainer:
34829         means the author is a maintainer, which makes it confusing
34830         when a file lists the same person as author and maintainer.
34831         Avoid the confusion by removing the duplicate Maintainer: line.
34833 2019-05-25  Stefan Kangas  <stefankangas@gmail.com>
34835         Use lexical-binding in tabify.el and add tests
34837         * lisp/tabify.el: Use lexical-binding.
34838         * test/lisp/tabify-tests.el: New file.
34840 2019-05-25  Paul Eggert  <eggert@cs.ucla.edu>
34842         * CONTRIBUTE: Split git configuration from fetch-and-build
34844 2019-05-25  Paul Eggert  <eggert@cs.ucla.edu>
34846         Document ‘Maintainer: emacs-devel@gnu.org’
34848         * doc/lispref/tips.texi (Library Headers): Document that the
34849         Maintainer: line now says ‘emacs-devel@gnu.org’ rather than ‘FSF’.
34851 2019-05-25  Paul Eggert  <eggert@cs.ucla.edu>
34853         Go back to "Maintainer: emacs-devel@gnu.org"
34855         Restore lines saying "Maintainer: emacs-devel@gnu.org" when there is
34856         no special maintainer for a file.  Although this wasn't documented
34857         it was common practice and removing the lines didn't have consensus.
34859 2019-05-25  Dmitry Gutov  <dgutov@yandex.ru>
34861         Expand some xref documentation
34863         * lisp/progmodes/xref.el (xref-show-xrefs-function)
34864         (xref-show-definitions-function, xref--create-fetcher):
34865         Add or extend the docstring.
34867 2019-05-25  Eric S. Raymond  <esr@thyrsus.com>
34869         Implement and document XDG-style startup files under ~/.config.
34871         * lisp/startup.el (command-line): Allow XDG-style as well as old
34872          style init paths.
34873         * doc/emacs/custom.texi: Document the above change.
34875 2019-05-25  Mauro Aranda  <maurooaranda@gmail.com>
34877         Remove redundants "See" before @xref or @pxref (Bug#35793)
34879         * doc/misc/gnus.texi (Group Parameters): Remove redundant "See" before
34880         cross reference, add comma after it.
34882 2019-05-25  Michael Albinus  <michael.albinus@gmx.de>
34884         * doc/misc/tramp.texi (Obtaining Tramp): Tramp is available via GNU ELPA.
34886 2019-05-24  Dmitry Gutov  <dgutov@yandex.ru>
34888         Rename xref--revert-xref-buffer to xref-refresh-results
34890         * lisp/progmodes/xref.el (xref-refresh-results):
34891         Rename from xref--revert-xref-buffer (bug#35702).
34893 2019-05-24  Dmitry Gutov  <dgutov@yandex.ru>
34895         Support reverting in xref-find-definitions results as well
34897         * lisp/progmodes/xref.el (xref--show-xref-buffer): Expect the
34898         first argument to always be a function (bug#35702).  Handle a
34899         FETCHED-XREFS entry in ALIST.
34900         (xref--show-defs-buffer): Update accordingly.
34901         (xref--create-fetcher): Extract from xref--find-xrefs.
34902         (xref--find-definitions): Use it.
34904 2019-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
34906         * lisp/emacs-lisp/package.el (package-install-from-archive): Fix last change
34908         Don't place the unibyte content of of the downloaded file into
34909         a multibyte buffer.
34911 2019-05-24  Michael Albinus  <michael.albinus@gmx.de>
34913         Fix Bug#35769
34915         * lisp/net/tramp-adb.el (tramp-adb-connection-local-default-profile):
34916         * lisp/net/tramp-integration.el (tramp-connection-local-default-profile):
34917         Do not set it on w32 systems.  (Bug#35769)
34919 2019-05-24  Matthew Bauer  <mjbauer95@gmail.com>
34921         Add "Enter Auth" prompt handling for OpenVPN (Bug#35724)
34923         * lisp/comint.el (comint-password-prompt-regexp): Allow "Enter Auth"
34924         at the beginning.
34926 2019-05-23  Dmitry Gutov  <dgutov@yandex.ru>
34928         Support "reverting" Xref buffers (bug#35702)
34930         * lisp/progmodes/xref.el (xref--fetcher): New variable.
34931         (xref--xref-buffer-mode-map): Add binding for 'g'.
34932         (xref--revert-xref-buffer): New command.
34933         (xref--show-xref-buffer): Accept a function as the first argument.
34934         (xref--show-xrefs): Same.
34935         (xref--find-xrefs): Pass the above a fetcher function.
34937         * lisp/progmodes/project.el (project-find-regexp)
34938         (project-or-external-find-regexp): Same.
34940         * lisp/dired-aux.el (dired-do-find-regexp): Same.
34942 2019-05-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
34944         Undo use of Emacs_Pixmap over Pixmap for x_kill_gs_process
34946         * src/dispextern.h (x_kill_gs_process):
34947         * src/image.c (x_kill_gs_process): Undo use of Emacs_Pixmap over Pixmap.
34948         * src/dispextern.h (x_kill_gs_process): Move extern inside HAVE_X_WINDOWS.
34950 2019-05-23  Michael Heerdegen  <michael_heerdegen@web.de>
34952         Improve documentation of the 'function' special form
34954         Point out that 'function' quoting is beneficial also for symbols.
34956         * src/eval.c (function): Enhance docstring.
34957         * doc/lispref/functions.texi (Anonymous Functions): Improve
34958         documentation.
34960 2019-05-23  Michael Heerdegen  <michael_heerdegen@web.de>
34962         * lisp/emacs-lisp/cl-macs.el (cl-callf): Tweak in docstring
34964         Say that lambdas are also allowed as FUNC argument.
34966 2019-05-22  Paul Eggert  <eggert@cs.ucla.edu>
34968         Avoid backslash-newline-newline in source code
34970         * etc/refcards/Makefile (PDF_FRENCH):
34971         * lib-src/etags.c (LOOP_ON_INPUT_LINES):
34972         * lisp/dabbrev.el (dabbrev-check-other-buffers):
34973         * lisp/org/org-id.el (org-id-link-to-org-use-id):
34974         * lisp/org/org.el (org-support-shift-select, org-file-apps):
34975         * src/alloc.c (CHECK_ALLOCATED_AND_LIVE)
34976         (CHECK_ALLOCATED_AND_LIVE_SYMBOL):
34977         * src/frame.h (FRAME_PIXEL_WIDTH_TO_TEXT_COLS):
34978         * src/regex-emacs.c (PREFETCH_NOLIMIT):
34979         * src/window.h (WINDOW_BUFFER):
34980         Remove backslash-newline that immediately precedes another
34981         newline, as this is not the usual style and is confusing.
34983 2019-05-22  Eli Zaretskii  <eliz@gnu.org>
34985         Unbreak display of characters on MS-Windows
34987         * src/w32font.c (w32font_draw): Convert the glyph_string's
34988         char2b array to 16-bit WCHAR data that ExtTextOutW needs.
34990 2019-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
34992         * lisp/cedet/srecode/insert.el: Use lexical-binding
34994         (srecode-insert-method): No need for lexical-let any more.
34996 2019-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
34998         * lisp/allout.el, lisp/allout-widgets.el: Use cl-lib and pcase
35000 2019-05-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
35002         Merge branch 'master' into harfbuzz
35004 2019-05-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
35006         Make Cairo build obey hint-style font setting (Bug#35781)
35008         * src/ftfont.h (ftfont_open2): Remove extern.
35009         (ftfont_fix_match, ftfont_add_rendering_parameters)
35010         (ftfont_entity_pattern): Add externs.
35011         (struct font_info): Remove member bitmap_strike_index.
35012         (struct font_info) [USE_CAIRO]: Remove member ft_size_draw.  All uses removed.
35013         Add member bitmap_position_unit.
35015         * src/xftfont.c (xftfont_fix_match, xftfont_add_rendering_parameters): Move
35016         functions from here ...
35017         * src/ftfont.c (ftfont_fix_match, ftfont_add_rendering_parameters): ... to
35018         here.  All uses changed.
35019         * src/xftfont.c (xftfont_open): Extract FcPattern creation from font entity
35020         from here ...
35021         * src/ftfont.c (ftfont_entity_pattern): ... to here.
35022         * src/xftfont.c (syms_of_xftfont): Move DEFSYMs for Fontconfig's rendering
35023         parameters from here ...
35024         * src/ftfont.c (syms_of_ftfont): ... to here.
35026         * src/ftfont.c (ftfont_open, ftfont_open2): Undo introduction of
35027         bitmap_strike_index.  Merge functions into ftfont_open.
35029         * src/ftcrfont.c (ftcrfont_open): Align code with xftfont_open rather than
35030         ftfont_open.
35031         (ftcrfont_close): Likewise.
35032         (ftcrfont_has_char, ftcrfont_encode_char):
35033         (ftcrfont_otf_capability) [HAVE_LIBOTF]:
35034         (ftcrfont_variation_glyphs) [HAVE_OTF_GET_VARIATION_GLYPHS]: New functions.
35035         (ftcrfont_driver): Register them.
35036         (ftcrfont_get_bitmap, ftcrfont_anchor_point):
35037         (ftcrfont_shape) [HAVE_M17N_FLT && HAVE_LIBOTF]: Use bitmap_position_unit
35038         instead of bitmap_strike_index to screen bitmap fonts.
35039         (ftcrfont_get_bitmap, ftcrfont_anchor_point):
35040         (ftcrfont_otf_capability) [HAVE_LIBOTF]:
35041         (ftcrfont_shape) [HAVE_M17N_FLT && HAVE_LIBOTF]:
35042         (ftcrfont_variation_glyphs) [HAVE_OTF_GET_VARIATION_GLYPHS]: Temporarily
35043         assign ftcrfont_info->ft_size and call corresponding ftfont functions.
35044         (ftcrfont_draw): Don't flush cairo surface when exporting.
35046 2019-05-22  Basil L. Contovounesios  <contovob@tcd.ie>
35048         Fix url-copy-file argument handling
35050         For discussion, see the following thread:
35051         https://lists.gnu.org/archive/html/emacs-devel/2019-05/msg00500.html
35052         * lisp/url/url-handlers.el: Update autoloaded docstrings.
35053         Quote function symbols as such.
35054         (url-handler-regexp): Make grouping construct shy.
35055         (url-file-handler, url-insert-buffer-contents)
35056         (url-handlers-create-wrapper, url-handlers-set-buffer-mode):
35057         Simplify.
35058         (url-file-handler-identity): Clarify calling convention.
35059         (file-name-absolute-p, url-file-local-copy): Mark ignored arguments
35060         as such.
35061         (url-handler-directory-file-name): Prefer string comparison over
35062         regexp match where either will do.
35063         (url-copy-file): Handle integer as third argument as per copy-file.
35065 2019-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
35067         * lisp/textmodes/sgml-mode.el: Fix lone `>` in sgml text
35069         (sgml--syntax-propertize-ppss):New variable and function.
35070         (sgml-syntax-propertize-rules): Use it.
35071         Don't ignore quotes not followed by a matching quote or a '>' or '<'.
35072         (sgml-syntax-propertize): Set up sgml--syntax-propertize-ppss.
35074         * test/lisp/textmodes/sgml-mode-tests.el (sgml-tests--quotes-syntax):
35075         Add test for lone '>'.
35077 2019-05-22  Dmitry Gutov  <dgutov@yandex.ru>
35079         Make xref-find-definitions more customizable
35081         * lisp/progmodes/xref.el (xref--show-defs-buffer): New function.
35082         Move a bit of logic from xref--show-defs to make it more
35083         customizable.
35084         (xref--push-markers): New function, extracted from
35085         xref--show-xrefs.
35086         (xref-show-definitions-function): Set to the new function.
35088 2019-05-22  Dmitry Gutov  <dgutov@yandex.ru>
35090         Separate xref-find-definitions' behavior from other commands
35092         * lisp/progmodes/xref.el (xref-show-definitions-function):
35093         New variable.
35094         (xref--show-defs): Split off from xref--show-xrefs.
35095         (xref--find-definitions): Use it.
35096         (xref--not-found-error): New function.
35097         (xref--show-xrefs): Simplify.  Show the list buffer even when
35098         there is just one item in the list.  Remove the last argument.
35100         * lisp/dired-aux.el (dired-do-find-regexp): Update accordingly.
35102 2019-05-22  Paul Eggert  <eggert@cs.ucla.edu>
35104         Remove fixnum restriction on some display vars
35106         This is a minor patch to remove some fixnum restrictions.
35107         Many more such patches are needed, but one thing at a time.
35108         * doc/emacs/custom.texi (Examining): Update fill-column example.
35109         * src/buffer.c (fill-column, left-margin, tab-width)
35110         (buffer-saved-size, left-margin-width, right-margin-width)
35111         (left-fringe-width, right-fringe-width, scroll-bar-width)
35112         (scroll-bar-height, buffer-display-count):
35113         Allow any integer; do not restrict to fixnums.
35114         * src/character.h (SANE_TAB_WIDTH): Do not assume tab_width
35115         is a nonnegative fixnum.
35116         (sanitize_tab_width): Take a Lisp_Object integer, not an
35117         EMACS_INT.  Only use changed.
35118         * src/data.c (store_symval_forwarding): Remove unnecessary
35119         SYMBOLP since the predicate (e.g., Qintegerp) is always a
35120         symbol (leave the test in as an eassert).  Avoid assignments
35121         inside if-conditions.
35122         * src/fileio.c (Fdo_auto_save): Do not assume
35123         buffer-saved-size is a fixnum.  Avoid undefined behavior
35124         on EMACS_INT overflow by multiplying a fixnum by at most 4,
35125         not by at most 13.
35126         * src/window.c (set_window_buffer): When buffer-display-count
35127         is too large for a fixnum, make it a bignum.
35128         * src/xdisp.c (FILL_COLUMN_INDICATOR_NEEDED): Remove macro, ...
35129         (fill_column_indicator_column): ... replacing with this new function.
35130         All uses changed.  The function is a bit pickier, to prevent
35131         problems with non-character fixnums and columns out of range
35132         for int, and to remove the assumption that integers are in
35133         fixnum range.
35134         (append_space_for_newline, extend_face_to_end_of_line):
35135         Avoid undefined behavior with signed integer overflow.
35136         Simplify.
35138 2019-05-22  Glenn Morris  <rgm@gnu.org>
35140         Merge from origin/emacs-26
35142         b0da915 (origin/emacs-26, emacs-26) Fix a typo in ELisp manual
35143         400907b Add option to disable help completion autoloading (Bug#28607)
35144         122ba16 Don't segfault on force-window-update of deleted window
35145         015b12e Fix typo in ELisp manual
35146         eadf044 Remove repeated function call in picture.el
35147         1228a90 ; Fix mm-destroy-parts docstring typo
35148         6cfd68d Fix Hideshow key binding typo in Emacs manual
35150 2019-05-22  Glenn Morris  <rgm@gnu.org>
35152         Merge from origin/emacs-26
35154         5d24af8 Remove from docs references to obsolete MULE variables
35155         2bdc419 Do potentially destructive operations in prepare-commit-msg
35157         # Conflicts:
35158         #       src/search.c
35160 2019-05-21  Alexander Gramiak  <agrambot@gmail.com>
35162         * src/xfont.c (xfont_draw): Allocate the XChar2b array (Bug#35814)
35164 2019-05-21  Alan Third  <alan@idiocy.org>
35166         Fix some deprecation notices on macOS 10.14
35168         * src/nsimage.m ([EmacsImage setXBMColor:]): Replace colorSpaceName
35169         code.
35170         * src/nsmenu.m ([EmacsDialogPanel initWithContentRect:styleMask:]):
35171         Remove reference to oneShot.
35172         * src/nsterm.h (ns_enable_screen_updates): Remove function prototype.
35173         (NSPasteboardTypeString):
35174         (NSPasteboardTypeTabularText):
35175         (NSControlStateValueOn):
35176         (NSControlStateValueOff):
35177         (NSBezelStyleRounded):
35178         (NSPasteboardTypeURL): Define new names and replace all callers.
35179         * src/nsterm.m ([EmacsColor colorUsingDefaultColorSpace]): Replace
35180         calls to colorUsingColorSpaceName on macOS > 10.7.
35181         ([EmacsView performDragOperation:]): Add FIXME about deprecation.
35182         (ns_disable_screen_updates):
35183         (ns_enable_screen_updates): Remove functions and all callers.
35184         (disable_screen_updates_count): Remove variable.
35185         * src/macfont.m (macfont_draw): Use CGContext instead of graphicsPort
35186         on macOS >= 10.10
35188 2019-05-21  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
35190         Pacify libpng on interlaced images (Bug#35843)
35192         * src/image.c (png_set_interlace_handling) [WINDOWSNT]:
35193         New function to link.
35194         (init_png_functions): Link it.
35195         (png_load_body): Call it before calling png_read_update_info.
35197 2019-05-21  Paul Eggert  <eggert@cs.ucla.edu>
35199         Remove time-date debugging scaffolding
35201         Problem reported by Lars Ingebrigtsen in:
35202         https://lists.gnu.org/r/emacs-devel/2019-05/msg00721.html
35203         * lisp/calendar/time-date.el (date-to-time):
35204         Use plain condition-case, not condition-case-unless-debug.
35206 2019-05-21  Federico Tedin  <federicotedin@gmail.com>
35208         Use lexical-binding in tempo.el and add tests
35210         For discussion, see the following thread:
35211         https://lists.gnu.org/archive/html/emacs-devel/2019-05/msg00395.html
35212         * lisp/tempo.el: Use lexical-binding.
35213         (tempo-define-template): Expand documentation to mention
35214         `tempo-user-elements'.
35215         (tempo-local-tags, tempo-collection, tempo-dirty-collection)
35216         (tempo-marks, tempo-match-finder): Define with defvar-local.
35217         (tempo-named-insertions, tempo-region-start, tempo-region-stop): Make
35218         them automatically buffer-local.
35219         * test/lisp/tempo-tests.el: Add tests for tempo.el.
35221 2019-05-21  Alan Mackenzie  <acm@muc.de>
35223         C Mode: Fix indentation of DEFUN's function's argument list.
35225         Formally, when DEFUNs still used knr argument lists, these were indented by
35226         the syntactic context knr-argdecl-intro (5 columns).  Since this is no longer
35227         the case, we now just use c-basic-offset (2 columns in "gnu" style).
35229         * lisp/progmodes/cc-align.el (c-indent-gnu-DEFUN-intro-cont): Modernize the
35230         indentation.  Amend the doc string accordingly.
35232 2019-05-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
35234         * src/ftcrfont.c (ftcrfont_open): Skip zero glyph index.
35236 2019-05-20  Stephen Leake  <stephen_leake@stephe-leake.org>
35238         Revert recent project-find-file change
35240         * lisp/progmodes/project.el (project-find-file): Delete recently added
35241         'filename' arg; just use project-find-file-in.
35243 2019-05-20  Mattias Engdegård  <mattiase@acm.org>
35245         Allow zero-argument rx `or' and `seq' forms
35247         Make the rx `or' and `seq' forms accept zero arguments to produce a
35248         never-matching regexp and an empty string, respectively.
35250         * lisp/emacs-lisp/rx.el: Require cl-extra.
35251         (rx-constituents, rx-or): Permit zero args.
35252         (rx): Amend doc string for `or' and `seq'.
35253         * test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-seq): Test the change.
35254         * etc/NEWS (Changes in Specialized Modes and Packages): Mention the change.
35256 2019-05-20  Mattias Engdegård  <mattiase@acm.org>
35258         Revert "Allow zero-argument rx `or' and `seq' forms"
35260         This reverts commit b552fc05c231ca6800330a318d3a74ddd0f5a13c.
35261         It caused a bootstrapping failure which I have yet to resolve - sorry.
35263 2019-05-20  Basil L. Contovounesios  <contovob@tcd.ie>
35265         Improve C and Elisp Git diff hunk headers
35267         For discussion, see the following threads:
35268         https://lists.gnu.org/archive/html/emacs-devel/2019-03/msg00457.html
35269         https://lists.gnu.org/archive/html/emacs-devel/2019-05/msg00369.html
35271         * autogen.sh: Extend the built-in Git xfuncname pattern 'cpp' to
35272         match preprocessor and DEFUN macros, and the 'elisp' pattern to
35273         match cl-lib and other top-level defuns.
35275 2019-05-20  Stefan Kangas  <stefankangas@gmail.com>
35277         Use lexical-binding in delim-col.el and add tests
35279         Thanks to Basil L. Contovounesios for additional cleanups.
35280         For discussion, see the following thread:
35281         https://lists.gnu.org/archive/html/emacs-devel/2019-05/msg00177.html
35283         * lisp/delim-col.el: Use lexical-binding.
35285         * test/lisp/delim-col-tests.el: New file.
35286         (delim-col-tests-delimit-colummns-before-after)
35287         (delim-col-tests-delimit-columns)
35288         (delim-col-tests-delimit-columns-format/nil)
35289         (delim-col-tests-delimit-columns-format/padding)
35290         (delim-col-tests-delimit-columns-format/separator)
35291         (delim-col-tests-delimit-columns-separator)
35292         (delim-col-tests-delimit-columns-str-before-after)
35293         (delim-col-tests-delimit-columns-str-separator)
35294         (delim-col-tests-delimit-rectangle): New unit tests.
35296 2019-05-20  Alan Mackenzie  <acm@muc.de>
35298         CC Mode: Remove unused code from c-maybe-re-mark-raw-string
35300         Acknowledge that when the function is called, it is always at the start of a
35301         string, never in the middle or at the end of one.
35303         * lisp/progmodes/cc-engine.el (c-maybe-re-mark-raw-string): Reformulate the
35304         cond form into a `when' form, with all but the first arm of the cond
35305         discarded.
35307 2019-05-20  Lars Ingebrigtsen  <larsi@gnus.org>
35309         w32--os-description: Fix previous change
35311         * lisp/w32-fns.el (w32--os-description): Fix inadvertent "o" added
35312         to the end of the function name in the previous patch (bug#35807).
35314 2019-05-20  Lars Ingebrigtsen  <larsi@gnus.org>
35316         Mark nnheader-cancel-timer as obsolete and adjust callers
35318         * lisp/gnus/nnheader.el (nnheader-cancel-timer)
35319         (nnheader-cancel-function-timers): Mark as obsolete.
35321         * lisp/gnus/nntp.el (nntp-with-open-group-function)
35322         (nntp-async-stop): Adjust caller.
35324         * lisp/gnus/gnus-art.el (gnus-stop-date-timer): Ditto.
35326         * lisp/gnus/gnus-async.el (gnus-async-prefetch-next): Ditto.
35328         * lisp/gnus/gnus-demon.el (gnus-demon-run-callback)
35329         (gnus-demon-cancel): Ditto.
35331         * lisp/gnus/mail-source.el (mail-source-report-new-mail): Ditto.
35333         * lisp/gnus/nnmaildir.el (nnmaildir-request-accept-article): Ditto.
35335 2019-05-20  Mattias Engdegård  <mattiase@acm.org>
35337         Allow zero-argument rx `or' and `seq' forms
35339         Make the rx `or' and `seq' forms accept zero arguments to produce a
35340         never-matching regexp and an empty string, respectively.
35342         * lisp/emacs-lisp/rx.el (rx-constituents, rx-or): Permit zero args.
35343         (rx): Amend doc string for `or' and `seq'.
35344         * test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-seq): Test the change.
35345         * etc/NEWS (Changes in Specialized Modes and Packages): Mention the change.
35347 2019-05-20  Mattias Engdegård  <mattiase@acm.org>
35349         Avoid polling in global-auto-revert-mode (bug#35418)
35351         Make `auto-revert-avoid-polling' have effect in global-auto-revert-mode.
35352         Buffers actually handled by that mode are marked with a non-nil value
35353         of `auto-revert--global-mode'.  When global-auto-revert-mode is
35354         entered, eligible buffers are marked in that way, and hooks are set up
35355         to mark new buffers and take care of buffers whose file names change.
35356         This way the existing poll-avoidance logic can be used, since the
35357         entire set of buffers in auto-revert is known.
35359         A new hook, `after-set-visited-file-name-hook', was added to handle
35360         the case when the file name of a tracked buffer changes.
35362         * lisp/autorevert.el (auto-revert-avoid-polling): Amend doc string.
35363         (auto-revert--global-mode): New buffer-local variable.
35364         (global-auto-revert-mode): Mark existing buffers and set up hooks when
35365         mode is entered; do the opposite when exited.
35366         (auto-revert--global-add-current-buffer)
35367         (auto-revert--global-adopt-current-buffer)
35368         (auto-revert--set-visited-file-name-advice): New functions.
35369         (auto-revert--polled-buffers, auto-revert--need-polling-p)
35370         (auto-revert-notify-handler)
35371         (auto-revert-active-p): Modify logic to cover global-auto-revert-mode.
35372         * lisp/files.el (after-set-visited-file-name-hook): New hook.
35373         (set-visited-file-name-hook): Call new hook.
35374         * test/lisp/autorevert-tests.el (top):  Use lexical-binding.
35375         (auto-revert-test--write-file, auto-revert-test--buffer-string)
35376         (auto-revert-test--wait-for, auto-revert-test--wait-for-buffer-text)
35377         (auto-revert-test05-global-notify): New test.
35378         * doc/lispref/hooks.texi (Standard Hooks):
35379         Mention new hook (in a comment, since it's unclear whether it should
35380         actually be documented here)
35381         * etc/NEWS (Changes in Specialized Modes and Packages): Update entry.
35383 2019-05-20  Michael Albinus  <michael.albinus@gmx.de>
35385         Fix problems in autorevert-tests
35387         * test/lisp/autorevert-tests.el (auto-revert--deftest-remote):
35388         Fix typo.
35389         (auto-revert-test02-auto-revert-deleted-file): On emba, there are
35390         no stopped events.
35392 2019-05-19  Paul Eggert  <eggert@cs.ucla.edu>
35394         Fixes for "Maintainer:" and related lines
35396         Mostly, this just removes "Maintainer: emacs-devel@gnu.org" lines,
35397         which are not that useful.  It also cleans up and regularizes a
35398         few similar lines.
35400 2019-05-19  Alexander Gramiak  <agrambot@gmail.com>
35402         Use HAVE_WINDOW_SYSTEM over HAVE_X11 || HAVE_NTGUI || HAVE_NS
35404         * src/keyboard.c (kbd_buffer_get_event, make_lispy_event): Use
35405         HAVE_WINDOW_SYSTEM.
35407 2019-05-19  Alexander Gramiak  <agrambot@gmail.com>
35409         Introduce Emacs_Pix_Container and Emacs_Pix_Context typedefs
35411         Emacs_Pix_Container is a pointer to a struct representing pixmap data
35412         on the backend.  Emacs_Pix_Context is the context for the
35413         bitmap/pixmap on the backend.  Only w32 currently makes this
35414         distinction; they are otherwise the same type.
35416         * src/dispextern.h: Remove XImagePtr in favor of
35417         using XImage* directly. Rename XImagePtr_or_DC to Emacs_Pix_Context.
35418         [HAVE_X_WINDOWS] Alias Emacs_Pix_Container and
35419         Emacs_Pix_Context to XImage*.
35420         [HAVE_NS] Alias Emacs_Pix_Container and Emacs_Pix_Context to trivial
35421         Emacs_Pixmap definition.
35422         [HAVE_NTGUI]: Alias Emacs_Pix_Container to XImage* and
35423         Emacs_Pix_Context to HDC.
35425         * src/dispextern.h:
35426         * src/image.c: Use Emacs_Pix_Container over XImagePtr and
35427         Emacs_Pix_Context over XImagePtr_or_DC.
35429 2019-05-19  Alexander Gramiak  <agrambot@gmail.com>
35431         Replace XChar2b with unsigned in all font backends
35433         The xfont backend using XChar2b in its API doesn't mean that we should
35434         use it everywhere else.
35436         * src/dispextern.h (glyph_string):
35437         * src/ftcrfont.c (ftcrfont_draw):
35438         * src/ftxfont.c (ftxfont_draw):
35439         * src/w32term.c (w32_draw_glyphless_glyph_string_foreground):
35440         * src/xdisp.c (init_glyph_string, get_char_face_and_encoding)
35441         (get_glyph_face_and_encoding, get_char_glyph_code)
35442         (fill_gstring_glyph_string, fill_stretch_glyph_string)
35443         (normal_char_ascent_descent, gui_get_glyph_overhangs)
35444         (compute_overhangs_and_x, gui_produce_glyphs):
35445         * src/xfont.c (xfont_get_pcm, xfont_chars_supported, xfont_open)
35446         (xfont_encode_char, xfont_text_extents, xfont_draw)
35447         * src/xftfont.c (xftfont_draw):
35448         * src/xterm.c (x_compute_glyph_string_overhangs)
35449         (x_draw_glyphless_glyph_string_foreground): Use unsigned over XChar2b.
35451         * src/nsgui.h:
35452         * src/w32gui.h:
35453         * src/xterm.h: Remove XChar2b, STORE_XCHAR2B, XCHAR2B_BYTE1, and
35454         XCHAR2B_BYTE2 typedefs and macros.
35456         * src/font.h (font_driver):
35457         (ftfont_text_extents)
35458         * src/ftcrfont.c (ftcrfont_text_extents):
35459         * src/ftfont.c (ftfont_text_extents):
35460         * src/macfont.m (macfont_text_extents):
35461         * src/nsfont.m (nsfont_text_extents):
35462         * src/w32font.h (w32_font_text_extents):
35463         * src/font.c (xfont_text_extents):
35464         * src/xftfont.c (xftfont_text_extents): Make code parameter const.
35466 2019-05-19  Alexander Gramiak  <agrambot@gmail.com>
35468         Introduce Emacs_GC struct and typedef
35470         * src/dispextern.h [HAVE_X_WINDOWS]: Alias Emacs_GC to XGCValues.
35471         [!HAVE_X_WINDOWS]: Define Emacs_GC, GCForeground, and GCBackground.
35473         * src/nsgui.h:
35474         * src/w32gui.h:Remove obsolete XGCValues, GC, GCForeground,
35475         GCBackground, and GCFont definitions.
35477         * src/w32fns.c (w32_make_gc): Do not set unused font field.
35479         * src/w32term.c: Use Emacs_GC over XGCValues. Do not set unused font
35480         field.
35482         * src/xfaces.c: Use Emacs_GC over XGCValues and GC.
35484 2019-05-19  Alexander Gramiak  <agrambot@gmail.com>
35486         Introduce Emacs_Rectangle struct and typedef
35488         * src/dispextern.h [HAVE_X_WINDOWS]: Alias Emacs_Rectangle to
35489         XRectangle.
35490         [!HAVE_X_WINDOWS]: Define Emacs_Rectangle struct.
35491         Use Emacs_Rectangle over XRectangle.
35493         * src/frame.h (MonitorInfo):
35494         * src/msdos.h:
35495         * src/w32term.c:
35496         * src/xdisp.c: Use Emacs_Rectangle over XRectangle.
35498         * src/nsgui.h:
35499         * src/w32gui.h: Remove old XRectangle structs.
35501         * src/xdisp.c:
35502         * src/nsgui.h:
35503         * src/w32gui.h: Rename CONVERT_FROM_XRECT and CONVERT_TO_XRECT to
35504         CONVERT_FROM_EMACS_RECT and CONVERT_TO_EMACS_RECT respectively.
35506 2019-05-19  Alexander Gramiak  <agrambot@gmail.com>
35508         Introduce Emacs_Pixmap typedef
35510         * src/dispextern.h [HAVE_X_WINDOWS]: Alias Emacs_Pixmap to Pixmap.
35511         (image, x_kill_gs_process): Use Emacs_Pixmap over Pixmap.
35513         * src/image.c:
35515         * src/nsgui.h:
35516         * src/nsterm.m:
35517         * src/termhooks.h:
35518         * src/w32gui.h:
35519         * src/w32term.c:
35520         * src/w32term.h:
35521         * src/xterm.c (x_free_pixmap): Use Emacs_Pixmap over Pixmap.
35523         * src/w32gui.h: Remove unused typedef Bitmap.
35525 2019-05-19  Alexander Gramiak  <agrambot@gmail.com>
35527         Introduce Emacs_Cursor typedef
35529         * src/dispextern.h [HAVE_X_WINDOWS]: Define Emacs_Cursor alias. Move
35530         the No_Cursor definition from xterm.h.
35531         (redisplay_interface): Use Emacs_Cursor over Cursor.
35533         * src/nsgui.h:
35534         * src/nsterm.h:
35535         * src/nsterm.m:
35536         * src/w32gui.h:
35537         * src/w32term.c:
35538         * src/xdisp.c:
35539         * src/xterm.c (x_define_frame_cursor): Use Emacs_Cursor over Cursor.
35541 2019-05-19  Alexander Gramiak  <agrambot@gmail.com>
35543         Introduce Emacs_Color struct and typedef
35545         This avoids clashing with the XColor struct from X.
35547         * src/dispextern.h [HAVE_X_WINDOWS]: Define Emacs_Color alias.
35548         [!HAVE_X_WINDOWS]: Rename XColor compatibility struct to
35549         Emacs_Color. Remove unused fields.
35551         * src/gtkutil.c:
35552         * src/gtkutil.h:
35553         * src/image.c:
35554         * src/nsterm.h:
35555         * src/nsterm.m:
35556         * src/termhooks.h:
35557         * src/w32fns.c:
35558         * src/w32term.c:
35559         * src/w32term.h:
35560         * src/xfaces.c:
35561         * src/xfns.c:
35562         * src/xterm.h: Use Emacs_Color over XColor outside of X-specific
35563         sections.
35565 2019-05-19  Mattias Engdegård  <mattiase@acm.org>
35567         Comment out inexplicable condition in filenotify
35569         * lisp/filenotify.el (file-notify-callback):
35570         Comment out condition that does not seem to make any sense. All it
35571         seems to do is allowing notifications for files on the form DIR/X/X
35572         when we really just are watching DIR/X/Y.
35574 2019-05-19  Juri Linkov  <juri@linkov.net>
35576         * lisp/vc/vc-dispatcher.el (vc-do-command): Let-bind inhibit-message to t
35578         in active minibuffer.  (Bug#34939)
35580 2019-05-19  Juri Linkov  <juri@linkov.net>
35582         Publicize behavior of log-view-diff at beginning/end of active region
35584         * lisp/vc/log-view.el (log-view-diff, log-view-diff-changeset):
35585         * doc/emacs/maintaining.texi (VC Change Log): Document behavior of
35586         log-view-diff at the beginning and the end of the log buffer
35587         when the region is active.  (Bug#35624)
35589         * lisp/vc/vc-git.el (vc-git-print-log): Insert newline at the
35590         beginning to enable the feature of diffing with the working revision.
35592 2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>
35594         cus-edit.el: Remove XEmacs compat code
35596         * lisp/cus-edit.el (custom-browse-insert-prefix): Remove XEmacs
35597         compat code and make obsolete.
35598         (custom-group-value-create): Use `insert' directly.
35600         * lisp/emacs-lisp/elint.el (elint-check-conditional-form): Don't
35601         refer to function that doesn't have an if any more.
35603 2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>
35605         bs.el: Remove XEmacs compat code
35607         * lisp/bs.el (bs-mode-font-lock-keywords): Remove XEmacs compat code.
35608         (bs-mode-map): Ditto.
35610 2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>
35612         arc-mode.el: Remove XEmacs compat code
35614         * lisp/arc-mode.el (archive-mode-map): Remove XEmacs compat code.
35615         (archive-summarize-files): Ditto.
35617 2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>
35619         rfc2104.el: Remove XEmacs compat code.
35621         * lisp/net/rfc2104.el (rfc2104-string-make-unibyte): Remove XEmacs
35622           compat code.
35624 2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>
35626         (mml-generate-mime-1): Remove XEmacs compat code
35628         * lisp/gnus/mml.el (mml-generate-mime-1): Remove XEmacs compat code.
35630 2019-05-19  Stephen Leake  <stephen_leake@stephe-leake.org>
35632         Minor updates to project.el
35634         * lisp/progmodes/project.el (project-find-file): Add optional 'filename' arg.
35635         (project--completing-read-strict): Ignore 'default' set to empty string.
35637 2019-05-19  Eric Abrahamsen  <eric@ericabrahamsen.net>
35639         Fix Gnus group sorting to use gnus-group-list
35641         * lisp/gnus/gnus-group.el (gnus-group-sort-flat): As
35642           gnus-newsrc-hashtb is now a real (unsorted) hash table, use
35643           gnus-group-list to maintain group sort order.
35644           (gnus-group-sort-selected-flat): Ditto.
35645         * lisp/gnus/gnus-start.el (gnus-subscribe-alphabetically): Simplify
35646           function using seq-find.
35647           (gnus-subscribe-killed, gnus-subscribe-zombies): Use cl-pushnew to
35648           avoid adding duplicates (can happen when un/subscribing multiple
35649           times to one group).
35651 2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>
35653         Remove usage of string-to-multibyte from arc-mode.el
35655         * lisp/arc-mode.el (arc-insert-unibyte): Rename from
35656         insert-unibyte, make into a function, and remove the superfluous
35657         string-to-multibyte.  Change callers throughout the file.
35659 2019-05-19  Paul Eggert  <eggert@cs.ucla.edu>
35661         * doc/lispintro/emacs-lisp-intro.texi: Remove euphemism.
35663 2019-05-19  Noam Postavsky  <npostavs@gmail.com>
35665         Fix dired-omit-files regexp (Bug#35668)
35667         * lisp/dired-x.el (dired-omit-files): Match beginning and end of
35668         string, rather than beginning and end of line.
35670 2019-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
35672         * lisp/progmodes/hideshow.el: Simplify mouse binding; Use lexical-binding
35674         (hs-set-up-overlay, hs-adjust-block-beginning): Use non-nil default for
35675         function variables, so `add-function` can be used on them.
35676         (hs-toggle-hiding): Make it work for mouse bindings as well.
35677         (hs-minor-mode-map): Use it for the mouse binding.
35678         (hs-grok-mode-type): Use bound-and-true-p.
35679         (hs-life-goes-on): Use `declare` for the debug spec.
35680         (hs-mouse-toggle-hiding): Make it an obsolete alias.
35682 2019-05-19  Michael Albinus  <michael.albinus@gmx.de>
35684         * test/lisp/autorevert-tests.el (auto-revert--deftest-remote):
35686         Do not handle errors.
35688 2019-05-19  Martin Rudalics  <rudalics@gmx.at>
35690         New buffer display action function 'display-buffer-in-direction'
35692         * lisp/window.el (windows-sharing-edge)
35693         (window--try-to-split-window-in-direction)
35694         (display-buffer-in-direction): New functions.
35695         * doc/lispref/windows.texi (Buffer Display Action Functions):
35696         Describe new action function 'display-buffer-in-direction'.
35697         (Buffer Display Action Alists): Describe new entry 'direction'.
35698         Amend description of 'window' entry.
35699         * etc/NEWS: Mention 'display-buffer-in-direction' and 'direction'
35700         and 'window' action alist entries.
35702 2019-05-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
35704         Avoid triple buffering with Xdbe in cairo
35706         * src/xterm.h (struct x_output): Remove member cr_surface.
35707         Add members cr_surface_desired_width and cr_surface_desired_height.
35708         (x_cr_destroy_frame_context) [USE_CAIRO]: Add extern.
35710         * src/xterm.c (x_free_cr_resources): Remove function.
35711         (FRAME_CR_SURFACE) [USE_CAIRO]: Remove macro.
35712         (FRAME_CR_SURFACE_DESIRED_WIDTH, FRAME_CR_SURFACE_DESIRED_HEIGHT) [USE_CAIRO]:
35713         New macros.
35714         (x_cr_destroy_frame_context) [USE_CAIRO]: Rename from x_cr_destroy_surface.
35715         All Uses changed.  Don't use FRAME_CR_SURFACE.  Make non-static.
35716         (x_cr_update_surface_desired_size) [USE_CAIRO]: New function.
35717         (x_begin_cr_clip) [USE_CAIRO]: Create Xlib surface if Xdbe is in use.
35718         Use FRAME_CR_SURFACE_DESIRED_WIDTH and FRAME_CR_SURFACE_DESIRED_HEIGHT.
35719         (x_end_cr_clip) [USE_CAIRO]: Call x_mark_frame_dirty if Xdbe is in use.
35720         (x_cr_draw_frame, x_cr_export_frames) [USE_CAIRO]: Save and restore cairo
35721         context instead of freeing and clearing it.
35722         (x_update_begin) [USE_CAIRO]: Don't create cairo surface here.
35723         (show_back_buffer) [USE_CAIRO]: Call cairo_surface_flush before swapping.
35724         (x_update_end) [USE_CAIRO]: Don't copy image surface if Xdbe is in use.
35725         Get image surface by cairo_get_target instead of FRAME_CR_SURFACE.
35726         (x_scroll_run) [USE_CAIRO]: Use XCopyArea if Xdbe is in use.
35727         (handle_one_xevent) [USE_CAIRO] <ConfigureNotify>: Call
35728         x_cr_update_surface_desired_size instead of x_cr_destroy_surface.
35729         (x_free_frame_resources) [USE_CAIRO]: Call x_cr_destroy_frame_context instead
35730         of x_free_cr_resources.
35732         * src/xfns.c (set_up_x_back_buffer, tear_down_x_back_buffer) [USE_CAIRO]:
35733         Call x_cr_destroy_frame_context.
35735 2019-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>
35737         * lisp/emacs-lisp/package.el: Fix decoding of downloaded files
35739         This is a different fix for bug#34909, which should also fix bug#35739.
35741         Our downloading code used to automatically decode the result according
35742         to the usual heuristics for files.  This caused problems when we later
35743         needed to save the data in a file that needed to be byte-for-byte
35744         equal to the original in order to pass the signature verification,
35745         especially because we didn't keep track of which coding-system was
35746         used to decode the data.
35748         (package--unless-error): New macro extracted from
35749         package--with-response-buffer-1, so that we can specify edebug and
35750         indent specs.
35751         (package--with-response-buffer-1): Use it.  More importantly, change
35752         code so it runs `body` in a unibyte buffer with undecoded data.
35753         (package--download-one-archive): Don't encode with utf-8 since the data
35754         is not decoded yet.
35755         (describe-package-1): Explicitly decode the readem.txt files here.
35757         * lisp/url/url-handlers.el (url-insert-file-contents): Use it.
35758         (url-insert): Don't decode if buffer is unibyte.
35760         * lisp/url/url-http.el (url-http--insert-file-helper): New function,
35761         extracted from url-insert-file-contents.
35763 2019-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>
35765         * lisp/emacs-lisp/package.el: Reduce macrology in ...with-response-buffer
35767         (package--with-response-buffer-1): New function, extracted from
35768         package--with-response-buffer.
35769         (package--with-response-buffer): Use it.
35771 2019-05-18  Mattias Engdegård  <mattiase@acm.org>
35773         Fix broken logic in file-notify
35775         * lisp/filenotify.el (file-notify-callback):
35776         Repair warped condition that didn't match rename-to/from events correctly.
35778 2019-05-18  Paul Eggert  <eggert@cs.ucla.edu>
35780         * lisp/textmodes/texinfmt.el: Chassell is no longer maintainer.
35782 2019-05-18  Jean-Christophe Helary  <brandelune@gmail.com>
35784         Bob Chassell passed away
35786         * doc/lispintro/emacs-lisp-intro.texi (About the Author): Update.
35788 2019-05-18  Paul Eggert  <eggert@cs.ucla.edu>
35790         Fix recent Tramp typo that broke the build
35792         ‘make bootstrap’ without this patch should reproduce the problem.
35793         * lisp/net/tramp-gvfs.el (tramp-gvfs-enabled):
35794         Autoload zeroconf-init.
35796 2019-05-18  Basil L. Contovounesios  <contovob@tcd.ie>
35798         Remove XEmacs audio checks from mm-decode.el
35800         For discussion, see the following threads:
35801         https://lists.gnu.org/archive/html/emacs-devel/2019-03/msg01087.html
35802         https://lists.gnu.org/archive/html/emacs-devel/2019-05/msg00584.html
35803         * lisp/gnus/mm-decode.el (mm-inline-media-tests): Remove no-op media
35804         tests for XEmacs features.
35806 2019-05-18  Paul Eggert  <eggert@cs.ucla.edu>
35808         For SVG, 8192 is the new 256
35810         Prefer librsvg for display of splash.svg
35811         When both librsvg and Imagemagick are available, Emacs should
35812         prefer librsvg to render SVG images.  However, Emacs was using
35813         Imagemagick to render its own splash.svg file because
35814         image-type-from-file-header returned nil for that file.
35815         * lisp/image.el (image-type-from-buffer)
35816         (image-type-from-file-header): Look at the first 8192 bytes of
35817         the image, not just the first 256.  For Emacs’s own splash.svg
35818         file, image-type-header-regexps needs to look at 939 bytes.
35819         8192 bytes is a reasonable number nowadays given typical file
35820         system design.
35821         * test/lisp/image-tests.el (image-tests--emacs-images-directory):
35822         New contant.
35823         (image-type-from-file-header-test): New test.
35825 2019-05-18  Michael Albinus  <michael.albinus@gmx.de>
35827         Bug#35769
35829         * lisp/net/tramp-sh.el: (tramp-maybe-open-connection):
35830         Arrange `process-environment' that it doesn't work for local
35831         processes.  (Bug#35769)
35833 2019-05-18  Alan Mackenzie  <acm@muc.de>
35835         CC Mode: Handle several consecutive noise macros in declaration contexts.
35837         In the bug scenario, the second and subsequent noise macros with parentheses
35838         were getting font-lock-type-face.
35840         * lisp/progmodes/cc-engine.el (c-end-of-token)
35841         (c-forward-noise-clause-not-macro-decl): New functions.
35842         (c-find-decl-prefix-search): Handle noise macros by skipping over them.
35843         (c-forward-decl-or-cast-1): In the loop checking for types, skip over all
35844         consecutive noise macros with parens, not just one.
35846 2019-05-18  Bastien  <bzg@gnu.org>
35848         Fix missing declaration in gnus-sum.el
35850         * lisp/gnus/gnus-sum.el (gnus-tmp-name): Declare var.
35852 2019-05-18  Eli Zaretskii  <eliz@gnu.org>
35854         Fix display of images on MS-Windows broken by a recent commit
35856         * src/image.c (initialize_image_type): Test if the type is in
35857         Vlibrary_cache up front, and return true without calling the
35858         'init' method if the type was already initialized.
35860 2019-05-18  Michael Albinus  <michael.albinus@gmx.de>
35862         Suppress compiler warnings for older Emacsen in tramp-tests.el
35864         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
35865         Add error name to test.
35866         (tramp-test30-make-process, tramp-test45-unload):
35867         Suppress compiler warnings from older Emacsen.
35869 2019-05-18  Michael Albinus  <michael.albinus@gmx.de>
35871         Require less packages in Tramp
35873         * lisp/net/tramp-compat.el (format-spec): Do not require advice, cl-lib,
35874         custom, password-cache, timer and ucs-normalize.
35876         * lisp/net/tramp-gvfs.el: Do not require zeroconf.  Declare
35877         zeroconf-* functions.
35878         (tramp-gvfs-enabled): Autoload `zeroconf-init'.
35880         * lisp/net/tramp-sh.el: Do not require dired.
35882         * lisp/net/tramp.el (tramp-get-debug-buffer): Do not require outline.
35883         (tramp-file-name-for-operation): Extend docstring.
35884         (tramp-parse-netrc): Do not require netrc.  Autoload `netrc-parse'.
35886 2019-05-18  Mattias Engdegård  <mattiase@acm.org>
35888         Don't use file notification on non-file buffers
35890         Allow non-file buffers to declare that notification on their
35891         default-directory is sufficient to know when auto-revert updates are
35892         required by setting the new variable `buffer-auto-revert-by-notification'
35893         to non-nil.  If nil, the default, then auto-revert will poll
35894         those buffers instead. (bug#35418).
35895         Currently, only Dired sets that variable.
35897         * lisp/autorevert.el (auto-revert-buffers):
35898         Modify condition for using notification.
35899         * lisp/files.el (buffer-auto-revert-by-notification): New variable.
35900         * lisp/dired.el (dired-mode): Set buffer-auto-revert-by-notification.
35901         * doc/emacs/arevert-xtra.texi (Non-File Buffers): Document new variable.
35902         * etc/NEWS (Changes in Specialized Modes and Packages): Describe new variable.
35904 2019-05-18  Lars Ingebrigtsen  <larsi@gnus.org>
35906         (epa-file-decode-and-insert): Byte compilation warning fix
35908         * lisp/epa-file.el (epa-file-decode-and-insert): Remove
35909         superfluous call to `string-to-multibyte string'.
35911 2019-05-18  Michael Albinus  <michael.albinus@gmx.de>
35913         * lisp/net/tramp.el (tramp-interrupt-process): Return proper value.
35915 2019-05-18  Eli Zaretskii  <eliz@gnu.org>
35917         Remove usage of string-as-unibyte in arc-mode
35919         * lisp/arc-mode.el (archive-l-e): Encode with utf-8-emacs-unix
35920         instead of using string-as-unibyte.
35922 2019-05-18  Eli Zaretskii  <eliz@gnu.org>
35924         Fix visiting and saving UTF-16 encoded XML files
35926         * lisp/international/mule.el (sgml-xml-auto-coding-function):
35927         When the 'enncoding' tag specifies a UTF-16 encoding, enforce
35928         saving the buffer with BOM, per the XML spec.
35929         (xml-find-file-coding-system): Recognize UTF-16 encodings with
35930         BOM.  (Bug#35766)  (Bug#8282)
35931         * lisp/international/mule-cmds.el (select-safe-coding-system):
35932         Don't consider UTF-16 encodings with and without BOM as
35933         "different", so as not to annoy users with redundant questions
35934         about mismatch between the XML/SGML header and the selected
35935         explicit encoding.
35937 2019-05-17  Lars Ingebrigtsen  <larsi@gnus.org>
35939         Mitigate byte-compile warning in arc-mode
35941         * lisp/arc-mode.el (byte-after): Remove defsubst.
35942         Replace all calls to byte-after with get-byte throughout the file,
35943         because byte-after gave compilation warnings.
35945 2019-05-17  Eli Zaretskii  <eliz@gnu.org>
35947         (hexl-insert-multibyte-char): Avoid using `string-as-unibyte'
35949         * lisp/hexl.el (hexl-insert-multibyte-char): Avoid using
35950         `string-as-unibyte' in the fallback case.
35952 2019-05-17  Lars Ingebrigtsen  <larsi@gnus.org>
35954         (dirtrack-toggle, dirtrackp): Remove obsolete aliases
35956         * lisp/dirtrack.el (dirtrack-toggle, dirtrackp): Remove
35957         function/variable aliases declared obsolete in Emacs 23.1 (and
35958         that issued a byte-compile warning).
35960 2019-05-17  Paul Eggert  <eggert@cs.ucla.edu>
35962         Clean up and simplify image-type setup
35964         This also fixes an unlikely hang involving a circular image
35965         description.
35966         * src/dispextern.h (struct image.type): Now pointer-to-const.
35967         * src/image.c (struct image_type.init) [!WINDOWSNT]: Omit.
35968         (IMAGE_TYPE_INIT): New macro.
35969         (image_types): Now a small array-of-const, not a pointer.
35970         (CACHE_IMAGE_TYPE): Remove; the code’s simpler without it.
35971         (ADD_IMAGE_TYPE): Remove this macro, replacing with ...
35972         (add_image_type): ... this equivalent function.  All uses changed.
35973         (define_image_type): Remove.  All uses removed.
35974         (valid_image_p): Use FOR_EACH_TAIL_SAFE to avoid Emacs hanging
35975         if the user creates a circular description of an image.
35976         (xbm_type, xpm_type, pbm_type, png_type, jpeg_type, tiff_type)
35977         (gif_type, imagemagick_type, svg_type, gs_type):
35978         Remove; now done by image_types.
35979         (init_imagemagick_functions): Remove decl of nonexistent function.
35980         (gs_clear_image): Remove; all uses replaced by image_clear_image.
35981         (initialize_image_type): New function, which captures a lot
35982         of the previously-scattered WINDOWSNT ifdefs.
35983         (lookup_image_type): Use it.
35984         (reset_image_types): Remove.  All uses removed.
35985         (syms_of_image): Don’t worry about ignoring image_types for
35986         pdumper, since it’s a constant now.
35988 2019-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
35990         * lisp/gnus/gnus-sum.el (gnus-tmp-thread): New var
35992         The recent change to use lexical-binding introduced a bug because
35993         gnus-summary-line-format-alist refers to variable `thread` which is now
35994         lexical and hence not available there any more.  Replace it with
35995         a dynamically scoped var `gnus-tmp-thread` as was already done with
35996         all other vars.
35998         (gnus-summary-line-format-alist): Use it instead of `thread`.
35999         (gnus-summary-prepare-threads): Bind it around call to (eval
36000         gnus-summary-line-format-spec).
36002 2019-05-17  Lars Ingebrigtsen  <larsi@gnus.org>
36004         Move Info-edit-* commands from info.el to obsolete/info-edit.el
36006         * lisp/info.el: Move Info-edit-* commands to obsolete/info-edit.el.
36008         * lisp/obsolete/info-edit.el: New file.
36010 2019-05-17  Lars Ingebrigtsen  <larsi@gnus.org>
36012         Use cl-assert instead of assert in ps-print.el
36014         * lisp/ps-print.el (ps-begin-job): Use cl-assert instead of assert
36015         and require cl-lib.
36017 2019-05-17  Lars Ingebrigtsen  <larsi@gnus.org>
36019         (ps-begin-job): Remove two unneeded string-as-unibyte calls
36021         * lisp/ps-print.el (ps-begin-job): Remove two unneeded
36022         string-as-unibyte calls to avoid byte compilation warnings.
36024 2019-05-17  Eli Zaretskii  <eliz@gnu.org>
36026         Fix a recent commit in select.el
36028         * lisp/select.el (gui-get-selection): Revert a recent
36029         incorrect change.  Add a comment explaining what we are trying
36030         to do with C_STRING and why.
36031         (xselect--encode-string): Add a comment explaining what we are
36032         trying to do with C_STRING and why.
36034 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
36036         Remove obsolete example functions from imenu.el
36038         * lisp/imenu.el (imenu-example--create-c-index)
36039         (imenu-example--function-name-regexp-c)
36040         (imenu-example--create-lisp-index)
36041         (imenu-example--lisp-extract-index-name): Remove functions (and
36042         internal variables used by those functions) declared obsolete in
36043         Emacs 23.2.  The functions gave compilation warnings.
36045 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
36047         Remove unused internal function completion-pcm--optimize-pattern
36049         * lisp/minibuffer.el (completion-pcm--optimize-pattern): Remove
36050         unused internal function (that signaled a compilation warning).
36052 2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
36054         * lisp/gnus: Remove assumptions about mail-header being a vector
36056         Use `mail-header-p` and `make-full-mail-header` instead of `vectorp` and
36057         `vector`, respectively.
36059         * lisp/gnus/message.el (message-cite-original-1, message-reply)
36060         (message-followup):
36061         * lisp/gnus/gnus-sum.el (gnus-get-newsgroup-headers):
36062         Use make-full-mail-header instead of `vector`.
36063         (gnus--dummy-mail-header): New const, using make-full-mail-header.
36064         (gnus-update-summary-mark-positions): Use it instead of
36065         an immediate vector.
36066         (gnus-set-mode-line, gnus-summary-article-pseudo-p)
36067         (gnus-summary-article-subject, gnus-summary-insert-subject)
36068         (gnus-summary-find-subject, gnus-summary-goto-subject)
36069         (gnus-summary-limit-to-age, gnus-summary-find-matching)
36070         (gnus-summary-mark-article-as-unread, gnus-summary-mark-article)
36071         (gnus-summary-save-article):
36072         * lisp/gnus/gnus.el (gnus-news-group-p): Use mail-header-p instead
36073         of vectorp.
36075 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
36077         Declare fileloop-continue in dired-aux to avoid warning
36079         * lisp/dired-aux.el (fileloop-continue): Declare to avoid
36080         compilation warning.  `fileloop-initialize-search' (used before
36081         -continue) will load fileloop.el.
36083 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
36085         Avoind string-as-multibyte in ps-output-string-prim
36087         * lisp/ps-print.el (ps-output-string-prim): Avoid
36088         `string-as-multibyte', and encode as utf-8 instead if multibyte.
36090 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
36092         (gui-get-selection): Avoid using `string-to-multibyte'
36094         * lisp/select.el (gui-get-selection): Avoid using
36095         `string-to-multibyte' -- instead encode as `eight-bit' if the
36096         string is unibyte.
36098 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
36100         Declare two w32 functions to avoid byte compilation warnings
36102         * lisp/w32-fns.el (w32-version, w32-read-registry): Declare these
36103         functions to avoid byte compilation warnings.  The functions
36104         should be loaded when `w32--os-description' is called, as far as I
36105         can tell.
36107 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
36109         Remove obsolete epg functions
36111         * lisp/epg.el (epg-start-sign-keys, epg-sign-keys): Remove
36112         functions declared obsolete since Emacs 23.1.
36114 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
36116         Declare rectangle functions in mouse.el to avoid warnings
36118         * lisp/mouse.el (rectangle-dimensions)
36119         (rectangle-position-as-coordinates, rectangle-intersect-p):
36120         Declare these functions from rect.el to avoid compilation warnings.
36122 2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
36124         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix docstring of accessors.
36126 2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
36128         * lisp/gnus/nnheader.el (mail-header-*): Define via cl-defstruct
36130         This also has the side effect that the accessors are now defined as proper
36131         functions rather than as macros, so they can be passed to `mapcar` etc..
36133         * lisp/gnus/nnheader.el (mail-header-number, mail-header-subject)
36134         (mail-header-from, mail-header-date, mail-header-id)
36135         (mail-header-references, mail-header-chars, mail-header-lines)
36136         (mail-header-xref, mail-header-extra): Define via cl-defstruct.
36137         (mail-header-set-number, mail-header-set-subject)
36138         (mail-header-set-from, mail-header-set-date, mail-header-set-id)
36139         (mail-header-set-message-id, mail-header-set-references)
36140         (mail-header-set-chars, mail-header-set-lines, mail-header-set-xref)
36141         (mail-header-set-extra): Remove, use `setf` instead.  All callers adjusted.
36143         * lisp/gnus/gnus-sum.el (gnus-select-newsgroup)
36144         (gnus-summary-pop-limit, gnus-summary-limit-mark-excluded-as-read)
36145         (gnus-summary-find-matching, gnus-find-matching-articles):
36146         * lisp/gnus/gnus-kill.el (gnus-apply-kill-file-internal, gnus-execute):
36147         * lisp/gnus/gnus-score.el (gnus-score-adaptive):
36148         Eta-reduce, now that mail-header-FIELD are functions.
36150 2019-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
36152         Fix ffap behavior in the Gnus group buffer (bug#35693)
36154         * lisp/ffap.el (ffap-file-exists-string, ffap-file-at-point):
36155         Don't recognize "" as a path or a file name (bug#35693).
36157 2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
36159         * lisp/international/mule.el (set-buffer-file-coding-system): Don't burp on iso-2022-7bit
36161 2019-05-16  Paul Pogonyshev  <pogonyshev@gmail.com>
36163         Make `package' not "uninhibit" messages (Bug#34037)
36165         * lisp/emacs-lisp/package.el: Don't let-bind inhibit-message to a
36166         different value if it was non-nil.
36168 2019-05-16  Basil L. Contovounesios  <contovob@tcd.ie>
36170         Fix gnus-summary-expand-window placement of point
36172         * lisp/gnus/gnus-win.el (gnus-configure-frame): Replace
36173         switch-to-buffer with pop-to-buffer-same-window to avoid messing
36174         with point. (bug#35613)
36176 2019-05-16  Basil L. Contovounesios  <contovob@tcd.ie>
36178         Add docstring to project--read-file-cpd-relative
36180         For discussion, see thread starting at:
36181         https://lists.gnu.org/archive/html/emacs-devel/2019-05/msg00460.html
36182         * lisp/progmodes/project.el (project--read-file-cpd-relative):
36183         Describe arglist as promised by user option
36184         project-read-file-name-function.
36186 2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
36188         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-test--symbol-macrolet): New test
36190 2019-05-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
36192         Fix stray call to make-vector
36194         * lisp/gnus/gnus-agent.el (gnus-agent-fetch-group-1): This is meant to
36195           be a hash table.
36197 2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
36199         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand) <setq>: Rewrite
36201         The previous code had 2 problems:
36202         - It converted `setq` to `setf` in unrelated cases such as
36203           (cl-symbol-macrolet ((x 1)) (setq (car foo) bar))
36204         - It macroexpanded places before `setf` had a chance to see if they
36205           have a gv-expander.
36207 2019-05-16  Paul Eggert  <eggert@cs.ucla.edu>
36209         Distribute test cases in tarballs by default
36211         * INSTALL, INSTALL.REPO, admin/make-tarball.txt:
36212         Mention ‘make check’.
36213         * configure.ac: Update comment.
36214         * etc/NEWS: Say that tarballs have a test directory.
36215         * make-dist (with_tests): Default to "yes".
36216         Add an option --no-tests to make it "no".
36218 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
36220         Make shr-rescale-image respect get-buffer-window again
36222         * lisp/net/shr.el (shr-rescale-image): Partially revert previous
36223         change -- ressurrect the check for `get-buffer-window'.
36225 2019-05-16  Ivan Shmakov  <ivan@siamics.net>
36227         Improve user convenience of the rcirc debug buffer
36229         * lisp/net/rcirc.el (rcirc-debug): Ignore rcirc-debug-buffer read-only
36230         status.  Restore point after insertion unless it was at the end.
36231         Ensure a newline before each [lead].  Replace %Y-%m-%d with the
36232         equivalent %F in format-time-string; remove useless concat.  (Bug#32470)
36234 2019-05-16  Noam Postavsky  <npostavs@gmail.com>
36236         Accept NO-PROPERTIES in thing-at-point aliases (Bug#35491)
36238         * lisp/thingatpt.el (word-at-point, sentence-at-point): Accept and
36239         pass NO-PROPERTIES to thing-at-point.
36240         * etc/NEWS: Announce change.
36242 2019-05-15  Michael Albinus  <michael.albinus@gmx.de>
36244         * lisp/net/tramp.el (tramp-yesno-prompt-regexp): Extend.
36246 2019-05-15  Stefan Monnier  <monnier@iro.umontreal.ca>
36248         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): Fix typo
36250         * test/lisp/textmodes/sgml-mode-tests.el (sgml-tests--quotes-syntax):
36251         New corresponding test.
36253 2019-05-15  Noam Postavsky  <npostavs@gmail.com>
36255         Fix merge of sgml-syntax-propertize-rules
36257         During the merge of emacs-26, the sgml-syntax-propertize-rules part of
36258         2019-01-17 "* lisp/textmodes/sgml-mode.el: Try and fix bug#33887." got
36259         lost in the conflict against 2019-05-09 "Recognize single quote
36260         attribute values in nxml and sgml (Bug#35381)".
36261         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): Reapply
36262         the 2019-01-17 change to speed up sgml-syntax-propertize-rules, taking
36263         into account the 2019-05-09 which means we have to handle single
36264         quotes as well.
36266 2019-05-15  Anders Lindgren  <andlind@gmail.com>
36268         Fix diff-mode face problem when used in terminals (Bug#35695)
36270         In a terminal supporting 256 colors, both diff-added and diff-removed
36271         was mapped to the same greyish color.
36273         * lisp/vc/diff-mode.el: Modify the colors of diff-removed,
36274           diff-added, diff-refine-removed, and diff-refine-added when
36275           used in a 256 color environment.
36277 2019-05-15  Stefan Monnier  <monnier@iro.umontreal.ca>
36279         * lisp/gnus/gnus-sum.el: Use lexical-binding
36281         (gnus-summary-make-menu-bar, gnus-summary-display-make-predicate)
36282         (gnus-summary-refer-thread, gnus-summary-find-matching)
36283         (gnus-summary-edit-article, gnus-summary-sort):
36284         Replace backquoted lambda with closure.
36285         (gnus-summary-article-header): Use define-inline rather than defmacro,
36286         so it's also a function.
36287         (gnus-save-hidden-threads, gnus-summary-iterate, gnus-with-article):
36288         Use `declare`.
36289         (gnus-thread-sort-by-random): Simplify.
36290         (gnus-summary-display-article, gnus-summary-limit-to-address):
36291         Hoist common code outside of `if`.
36293 2019-05-15  Paul Eggert  <eggert@cs.ucla.edu>
36295         Tune reading of radix integers
36297         This improves the performance of (read "%xFF") by about 25%
36298         on my platform.
36299         * src/lread.c: Include <vla.h>, so that we can better document
36300         buffer sizes of arguments.
36301         (invalid_radix_integer_format, stackbufsize): New constants.
36302         (free_contents): Remove.  All uses removed.
36303         (invalid_radix_integer): New function.
36304         (read_integer): New arg STACKBUF.  Assume radix is in range.
36305         All uses changed.  Use STACKBUF to avoid calling malloc in the
36306         usual case.  Use grow_read_buffer to simplify.
36307         (read1): Tune.  Improve quality of diagnostic when
36308         MOST_POSITIVE_FIXNUM < radix <= EMACS_INT_MAX.
36310 2019-05-15  Stefan Monnier  <monnier@iro.umontreal.ca>
36312         * lisp/mail/footnote.el (footnote-prefix): Docstring typo.
36314 2019-05-15  Mattias Engdegård  <mattiase@acm.org>
36316         Add standard unmatchable regexp
36318         Add `regexp-unmatchable' as a standard unmatchable regexp, defined as
36319         "\\`a\\`".  Use it where such a regexp is needed, replacing slower
36320         expressions in several places.
36321         From a suggestion by Philippe Schnoebelen.
36323         * lisp/subr.el (regexp-unmatchable): New defconst.
36324         * etc/NEWS (Lisp Changes): Mention `regexp-unmatchable'.
36325         * doc/lispref/searching.texi (Regexp Functions): Document it.
36326         * lisp/emacs-lisp/regexp-opt.el (regexp-opt)
36327         * lisp/progmodes/cc-defs.el (cc-conditional-require-after-load)
36328         (c-make-keywords-re)
36329         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1)
36330         (c-forward-<>-arglist-recur, c-forward-decl-or-cast-1)
36331         (c-looking-at-decl-block)
36332         * lisp/progmodes/cc-fonts.el (c-doc-line-join-re)
36333         (c-doc-bright-comment-start-re)
36334         * lisp/progmodes/cc-langs.el (c-populate-syntax-table)
36335         (c-assignment-op-regexp)
36336         (c-block-comment-ender-regexp, c-font-lock-comment-end-skip)
36337         (c-block-comment-start-regexp, c-line-comment-start-regexp)
36338         (c-doc-comment-start-regexp, c-decl-start-colon-kwd-re)
36339         (c-type-decl-prefix-key, c-type-decl-operator-prefix-key)
36340         (c-pre-id-bracelist-key, c-enum-clause-introduction-re)
36341         (c-nonlabel-token-2-key)
36342         * lisp/progmodes/cc-mode.el (c-doc-fl-decl-start, c-doc-fl-decl-end)
36343         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
36344         (c-noise-macro-name-re, c-make-noise-macro-regexps)
36345         * lisp/progmodes/octave.el (octave-help-mode)
36346         * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode, vc-bzr-revision-completion-table)
36347         * lisp/vc/vc-git.el (vc-git-log-view-mode)
36348         * lisp/vc/vc-hg.el (vc-hg-log-view-mode)
36349         * lisp/vc/vc-mtn.el (vc-mtn-log-view-mode):
36350         Use `regexp-unmatchable'.
36351         * lisp/textmodes/ispell.el (ispell-non-empty-string):
36352         Use `regexp-unmatchable', fixing a broken never-match regexp.
36354 2019-05-15  John Shahid  <jvshahid@gmail.com>
36356         Avoid infinitely looping in tramp-interrupt-process (bug#35506)
36358         * lisp/net/tramp.el (tramp-interrupt-process): Remove with-timeout.
36359         Instead pass a timeout to tramp-accept-process-output.
36360         tramp-accept-process-output stops timers from running which makes the
36361         with-timeout ineffective.
36363 2019-05-15  Alan Mackenzie  <acm@muc.de>
36365         CC Mode: fix indentation in switch statement after "case a(1):".
36367         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): Enhance the
36368         analysis of case labels to handle parenthesised expressions (e.g. macros).
36370         * lisp/progmodes/cc-langs.el (c-nonlabel-nonparen-token-key): New lang const
36371         and lang var.
36373 2019-05-15  Lars Ingebrigtsen  <larsi@gnus.org>
36375         Describe error data in url-retrieve better
36377         * lisp/url/url.el (url-retrieve): Describe the error data more in
36378         depth (bug#25735).
36380 2019-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
36382         Don't have url-basic-auth bug out when called with an URL string
36384         * lisp/url/url-auth.el (url-basic-auth): Pass the parsed URL
36385         object to the prompting function instead of the parameter that's
36386         possibly a string (bug#26708).  Passing url-basic-auth with a
36387         string parameter would fail if passed a non-parsed URL.
36389 2019-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
36391         Fix obscure HTTP chunked parsing problem
36393         * lisp/url/url-http.el
36394         (url-http-chunked-encoding-after-change-function): Ensure that we
36395         parse the entire initial chunked header as the length (bug#35658).
36397 2019-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
36399         Indent url-http-chunked-encoding-after-change-function
36401 2019-05-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
36403         Fix url-auth prompts when realm is empty
36405         * lisp/url/url-auth.el (url-get-authentication): When realm is
36406         empty, use the entire URL in the prompt (bug#35688).
36408 2019-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
36410         Make image scaling work without imagemagick support in eww
36412         * lisp/net/shr.el (shr-rescale-image): Emacs has native image
36413         scaling now, so images can be rescaled without imagemagick
36414         support.
36416 2019-05-14  Glenn Morris  <rgm@gnu.org>
36418         Merge from origin/emacs-26
36420         02bee78 Let dir locals for more specific modes override those from less
36421         b1235f9 Improve documentation of Hexl mode
36422         32d1813 Fix description of (move-to-column <n> t) when column <n> is ...
36423         0397b7c ; Fix smtpmail-stream-type docstring
36424         7dab3ee Recognize single quote attribute values in nxml and sgml (Bug...
36425         e4cde42 Disable extra display of &#10; in nxml-mode (Bug#32897)
36426         ca14dd1 Fix nxml-get-inside (Bug#32003)
36427         e7ab351 Fix positioning client buffer as instructed by emacsclient
36429         # Conflicts:
36430         #       lisp/files.el
36431         #       lisp/textmodes/sgml-mode.el
36433 2019-05-14  Juri Linkov  <juri@linkov.net>
36435         * lisp/progmodes/project.el (project-read-file-name-function): Fix type.
36437 2019-05-14  Stefan Monnier  <monnier@iro.umontreal.ca>
36439         * lisp/savehist.el: Use lexical-binding
36441         Remove redundant :group args.
36442         (savehist-no-conversion): Remove constant.
36443         (savehist-save): Use savehist-coding-system instead since it's no slower.
36445 2019-05-13  Paul Eggert  <eggert@cs.ucla.edu>
36447         Default to disabling ImageMagick (Bug#33587)
36449         ImageMagick has continuing stability and security problems, suggesting
36450         that 'configure' should disable it by default.  See Glenn Morris's notes
36451         at: https://lists.gnu.org/r/emacs-devel/2018-12/msg00036.html
36452         * INSTALL, etc/NEWS, nt/INSTALL.W64: Mention this.
36453         * configure.ac (imagemagick): Default to off.
36455 2019-05-13  Dmitry Gutov  <dgutov@yandex.ru>
36457         Allow customizing the display of project file names when reading
36459         To hopefully resolve a long-running discussion
36460         (https://lists.gnu.org/archive/html/emacs-devel/2019-05/msg00162.html).
36462         * lisp/progmodes/project.el (project-read-file-name-function):
36463         New variable.
36464         (project--read-file-absolute, project--read-file-cpd-relative):
36465         New functions, possible values for the above.
36466         (project-find-file-in): Use the introduced variable.
36467         (project--completing-read-strict): Retain just the logic that fits
36468         the name.
36470 2019-05-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
36472         Avoid artifacts in ftx and ftcr font backend drivers
36474         * src/ftcrfont.c (ftcrfont_open):
36475         * src/ftfont.c (ftfont_open2): Make font->height equal to sum of font->ascent
36476         and font->descent.  Respect :minspace property.
36477         (ftfont_open2): Remove redundant assignment.
36478         (syms_of_ftfont) <QCminspace>: New DEFSYM.
36480 2019-05-13  Basil L. Contovounesios  <contovob@tcd.ie>
36482         Fix mail-header-separator font lock in message.el
36484         * lisp/gnus/message.el (message-font-lock-keywords): Dynamically
36485         font lock mail-header-separator, in case it changes. (bug#34898)
36487 2019-05-13  Kévin Le Gouguec  <kevin.legouguec@gmail.com>
36489         Extract common code for adding text properties
36491         * lisp/font-lock.el (font-lock--add-text-property):
36492         New function.
36493         (font-lock-prepend-text-property)
36494         (font-lock-append-text-property): Use it.
36496         (Bug#35476)
36498 2019-05-13  Kévin Le Gouguec  <kevin.legouguec@gmail.com>
36500         Stop splicing anonymous faces in font-lock-append-text-property
36502         This is the same fix as 2019-04-29 "Refrain from splicing anonymous
36503         faces in text properties", which was only applied to
36504         font-lock-prepend-text-property.
36506         * lisp/font-lock.el (font-lock-append-text-property): Distinguish list
36507         of faces from property list.
36508         * test/lisp/font-lock-tests.el: New test suite.
36510         (Bug#35476)
36512 2019-05-13  Basil L. Contovounesios  <contovob@tcd.ie>
36514         Do not hard-code message-mode keys in docstring
36516         * lisp/gnus/message.el (message-mode): Replace hard-coded bindings
36517         in docstring with summary of message-mode-map. (bug#31388)
36519 2019-05-13  Basil L. Contovounesios  <contovob@tcd.ie>
36521         Fix last change to message-signature :type
36523         * lisp/gnus/message.el (message-signature): List more specific :type
36524         alternatives before more general ones, as per "(elisp) Composite
36525         Types".
36527 2019-05-13  Robert Pluim  <rpluim@gmail.com>
36529         Document nil value of message-signature and mail-signature
36531         * lisp/gnus/message.el (message-signature): Allow nil as a
36532         customizable value, and describe its effect.
36533         * lisp/mail/sendmail.el (mail-signature): Describe effect of nil
36534         value (bug#32680).
36536 2019-05-13  Juri Linkov  <juri@linkov.net>
36538         * lisp/vc/log-view.el (log-view-diff-common): Use the previous revision
36540         only when the end of the region is on a line after the last entry.
36541         (Bug#35624)
36543 2019-05-13  Alexandre Garreau  <galex-713@galex-713.eu>
36545         [PATCH 1/1] Adds variable 'eww-accept-content-types'
36547         * lisp/gnus/message.el (message-simplify-subject): Decouple
36548         simplification from "Re:" adding (bug#33200).
36549         (message-reply): Add the "Re:"'s here.
36550         (message-followup): And here.
36552 2019-05-13  Lars Ingebrigtsen  <larsi@gnus.org>
36554         Make mml respect the "recipient-filename" parameter
36556         * lisp/gnus/mml.el (mml-insert-mime-headers): Implement the
36557         already-documented "recipient-filename" parameter (bug#34654).
36559 2019-05-13  Lars Ingebrigtsen  <larsi@gnus.org>
36561         Make eww understand #fragment URLs at point interactively
36563         * lisp/net/eww.el (eww-suggest-uris): Use
36564         thing-at-point-url-at-point instead of url-get-url-at-point
36565         (bug#31927) because it's much better at guessing what the URL
36566         actually is (especially with #fragments).
36568 2019-05-13  Paul Eggert  <eggert@cs.ucla.edu>
36570         Fix broken build on m68k
36572         The GCC + valgrind fix caused the m68k build to fail (Bug#35711).
36573         Simplify string allocation a bit to make similar problems less
36574         likely in the future.
36575         * src/alloc.c (sdata, SDATA_NBYTES, SDATA_DATA) [GC_CHECK_STRING_BYTES]:
36576         Use the same implementation as with !GC_CHECK_STRING_BYTES,
36577         as the special case is no longer needed.
36578         (SDATA_ALIGN): New constant.
36579         (SDATA_SIZE): Remove this macro, replacing with ...
36580         (sdata_size): ... this new function.  All uses changed.
36581         Properly account for sizes and alignments even in the m68k case,
36582         and even if GC_CHECK_STRING_BYTES is not defined.
36584 2019-05-13  Lars Ingebrigtsen  <larsi@gnus.org>
36586         Add a comment about the previous shr change
36588 2019-05-13  Lars Ingebrigtsen  <larsi@gnus.org>
36590         Fix problems in shr when indenting tables
36592         * lisp/net/shr.el (shr-mark-fill, shr-insert-table): Fix problems
36593         when block-quoting/<li>-ing a table -- the indentation/prefix was
36594         inserted twice (bug#32277).
36596 2019-05-13  Federico Tedin  <federicotedin@gmail.com>  (tiny change)
36598         Use a more specific Accepts header in eww
36600         * lisp/net/eww.el (eww-accept-content-types): New variable.
36601         (eww): Use it.
36602         (eww-reload): Use it. (bug#33002).
36604 2019-05-12  Xu Chunyang  <mail@xuchunyang.me>
36606         (eww-follow-link): Record the location properly when following #links
36608         * lisp/net/eww.el (eww-follow-link): Record the location properly
36609         when following #links (bug#35445).
36611 2019-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
36613         * lisp/emacs-lisp/package.el: Add `all` to package-check-signature
36615         (package-check-signature): Add `all` option.
36616         (package--check-signature-content): Adjust accordingly.
36618 2019-05-12  Noam Postavsky  <npostavs@gmail.com>
36620         Improve printing for named keyboard macros (Bug#35486)
36622         * lisp/macros.el (macros--insert-vector-macro): New function,
36623         extracted from insert-kbd-macro.
36624         (insert-kbd-macro): Use it and kmacro-extract-lambda to produce nicer
36625         expressions for macros produced by kmacro-lambda-form.
36627 2019-05-12  Noam Postavsky  <npostavs@gmail.com>
36629         Use remapping in ffap-bindings (Bug#35577)
36631         * lisp/ffap.el (ffap-bindings): Bind to the [remap COMMAND] instead of
36632         hardcoding the default keybindings.  This better adapts better if
36633         non-default are used.  And lets the original keybindings be
36634         remembered, so that, e.g., \[find-file] in docstrings will still be
36635         substituted with C-x C-f (even though that binding has been remapped
36636         to find-file-at-point.
36638 2019-05-12  Basil L. Contovounesios  <contovob@tcd.ie>
36640         Fix Gnus summary widget navigation across frames
36642         * lisp/gnus/gnus-sum.el (gnus-summary-widget-forward)
36643         (gnus-summary-widget-backward): Signal more informative error if
36644         article window is not found.  Consider other frames displaying
36645         article buffer, and raise its frame before navigating its
36646         widgets. (bug#35565)
36647         * lisp/gnus/gnus-win.el (gnus-get-buffer-window): Simplify and add
36648         docstring.
36650 2019-05-12  Basil L. Contovounesios  <contovob@tcd.ie>
36652         Make application/x-patch inlinable in mm-decode.el
36654         * lisp/gnus/mm-decode.el (mm-inline-media-tests, mm-inlined-types):
36655         Include application/x-patch as a synonym of text/x-patch and
36656         text/x-diff. (bug#35236)
36658 2019-05-12  Basil L. Contovounesios  <contovob@tcd.ie>
36660         Fix some gnus-msg.el variables (bug#35239)
36662         * lisp/gnus/gnus-msg.el (gnus-gcc-externalize-attachments):
36663         Fix custom :type.
36664         (gnus-debug-files, gnus-debug-exclude-variables): Mark variables
36665         that have been unused since Emacs 24.1 as obsolete.
36666         (gnus-check-before-posting): Remove unused variable.
36668 2019-05-11  Mauro Aranda  <maurooaranda@gmail.com>
36670         Use characters, not symbols for table-cell-bindings
36672         * lisp/textmodes/table.el (table-cell-bindings): Add missing '?', to
36673         avoid confusion between symbols and characters in bindings.  (Bug#35533)
36675 2019-05-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
36677         Document font backends for Cairo and/or HarfBuzz
36679         * doc/lispref/frames.texi (Font and Color Parameters): Mention xfthb, ftcr,
36680         and ftcrhb font backends.
36682 2019-05-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
36684         * src/xfns.c (x_create_tip_frame): Register font drivers as in normal frames.
36686 2019-05-10  Mark Oteiza  <mvoteiza@udel.edu>
36688         Generate some repetitive WordStar code with macros
36690         * lisp/obsolete/ws-mode.el (ws-set-marker-0, ws-set-marker-1):
36691         (ws-set-marker-2, ws-set-marker-3, ws-set-marker-4, ws-set-marker-5):
36692         (ws-set-marker-6, ws-set-marker-7, ws-set-marker-8, ws-set-marker-9):
36693         (ws-find-marker-0, ws-find-marker-1, ws-find-marker-2, ws-find-marker-3):
36694         (ws-find-marker-4, ws-find-marker-5, ws-find-marker-6, ws-find-marker-7):
36695         (ws-find-marker-8, ws-find-marker-9): Remove.
36696         (ws-set-marker, ws-find-marker): New macros.  Use them.
36698 2019-05-10  Alexander Gramiak  <agrambot@gmail.com>
36700         Convert Free_Pixmap macro into terminal hook
36702         * src/termhooks.h (terminal) [HAVE_WINDOW_SYSTEM]: New terminal hook
36703         free_pixmap.
36705         * src/image.c: Replace Free_Pixmap with free_pixmap.
36707         * src/msdos.h (FRAME_X_DISPLAY):
36708         * src/nsgui.h (Display):
36709         * src/nsterm.h (FRAME_NS_DISPLAY, FRAME_X_DISPLAY, FRAME_X_SCREEN)
36710         (FRAME_X_VISUAL):
36711         * src/w32term.h (FRAME_X_DISPLAY): Remove unused X-compatibility
36712         macros and typedefs.
36714         * src/nsterm.m:
36715         * src/w32term.c:
36716         * src/xterm.c: Implement and set free_pixmap hook.
36718 2019-05-10  Alexander Gramiak  <agrambot@gmail.com>
36720         Remove display member of glyph_string
36722         This member has little value even on X, and it leaks internal backend
36723         details to the glyph_string struct.
36725         * src/dispextern.h (glyph_string): Remove X display member.
36727         * src/xdisp.c (init_glyph_string): Remove initialization of display.
36729         * src/xfont.c (xfont_draw):
36730         * src/xterm.c: Use FRAME_X_DISPLAY (s->f) instead of display member.
36732 2019-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
36734         * lisp/help.el (help--read-key-sequence): Handle `switch-frame' events
36736         If you do `C-h k ... mouse-1 in other frame` (at least if you have a focus
36737         that follows the mouse), then additionally to the down-mouse-1 and mouse-1
36738         events, a `switch-frame` event (and `select-window` event as well sometimes)
36739         is generated.  When `read-key-sequence` is called with nil for
36740         `can-return-switch-frame`, this event is not returned but kept for later,
36741         which causes a subsequent `sit-for` to return nil immediately.
36742         This interfered without our "wait for double-click" which in turn prevented
36743         us from stopping after the mouse-1 click, getting stuck waiting for something
36744         else instead.
36746         (help--read-key-sequence): Pass a non-nil `can-return-switch-frame`, so the
36747         subsequent `sit-for` returns more trustworthy information.
36749 2019-05-10  Michael Albinus  <michael.albinus@gmx.de>
36751         Handle subdomains in Tramp ad-hoc proxies
36753         * lisp/net/tramp-sh.el (tramp-compute-multi-hops): Add proper
36754         regexps to `tramp-default-proxies-alist'.
36756 2019-05-10  Noam Postavsky  <npostavs@gmail.com>
36758         Stop using message-default-charset (Bug#35370)
36760         In 2016-02-14 "Remove compat code for older Emacsen",
36761         message-default-charset was obsoleted, and a couple of uses were
36762         removed, but others were left behind.
36763         * lisp/gnus/message.el (message-send-mail)
36764         (message-send-news, message-do-fcc)
36765         (message-encode-message-body):
36766         * lisp/gnus/mml.el (mml-to-mime): Stop using message-default-charset.
36768 2019-05-10  Alan Mackenzie  <acm@muc.de>
36770         Optimize CC Mode a bit for repetitive insertion and replace-regexp
36772         This is mainly by enhancing a parse-partial-sexp cache to retain recently
36773         calculated values.  Also, there are several miscellaneous optimizations and
36774         bug fixes.
36776         * lisp/progmodes/cc-engine.el (c-state-semi-nonlit-near-cache): New buffer
36777         local variable.
36778         (c-state-semi-trim-near-cache, c-state-semi-get-near-cache-entry)
36779         (c-state-semi-put-near-cache-entry, c-state-semi-trim-cache): New functions.
36780         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal): Use the new "near"
36781         cache.
36782         (c-parse-ps-state-below): Use the new function c-state-semi-trim-cache.
36783         (c-before-change-check-<>-operators): Check simply for < or > in the
36784         neighbourhood before doing more expensive processing.
36785         (c-maybe-re-mark-raw-string): Give a backward search limit to an operation
36786         which was needlessly lacking one.
36788         * lisp/progmodes/cc-mode.el (c-doc-fl-decl-start, c-doc-fl-decl-end): Check a
36789         certain regexp is valid before performing the (somewhat expensive) actions of
36790         these functions.
36791         (c-fl-decl-start): In the search for a C++ lambda capture list, replace (slow)
36792         calculation of c-parse-state by a (less slow) c-go-up-list-backward.
36794 2019-05-10  Alan Mackenzie  <acm@muc.de>
36796         Make uncomment-region remove obtrusive spaces before tabs.
36798         These spaces were typically inserted earlier by comment-region.  This patch
36799         makes these two complementary functions closer to inverses.
36801         * lisp/newcomment.el (uncomment-region-default-1): Remove spaces before a tab
36802         where the comment opener has just been removed.
36804 2019-05-09  Michael Heerdegen  <michael_heerdegen@web.de>
36806         Fix alist-get gv setter not returning VAL
36808         This fixes Bug#35546.
36810         * lisp/emacs-lisp/gv.el (alist-get): Make setter return the set value
36811         to preserve 'setf' semantics.
36813 2019-05-09  Stefan Monnier  <monnier@iro.umontreal.ca>
36815         * lisp/mail/footnote.el: Avoid regexp-opt-charset, which is not autoloaded.
36817         (footnote-hebrew-numeric-regex): Use rx-to-string instead.
36819 2019-05-09  Michael Albinus  <michael.albinus@gmx.de>
36821         Fix an error in tramp-vc-file-name-handler
36823         * lisp/net/tramp.el (tramp-accept-process-output, tramp-send-string):
36824         * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
36825         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
36826         (tramp-sh-handle-make-process):
36827         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
36828         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
36829         (tramp-smb-handle-set-file-acl)
36830         (tramp-smb-handle-start-file-process): Do not suppress timers.
36832         * lisp/net/tramp-sh.el (tramp-vc-file-name-handler): Check, that
36833         `tramp-file-name-for-operation' returns a proper Tramp file.
36835 2019-05-09  Michael Albinus  <michael.albinus@gmx.de>
36837         * test/lisp/net/tramp-tests.el (cl-lib): Require instead of cl-seq.
36839 2019-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
36841         * lisp/emacs-lisp/syntax.el (syntax-propertize): `ignore` is like nil
36843         (syntax-ppss-after-change-function): Mark it as obsolete.
36844         * lisp/font-lock.el (font-lock-apply-syntactic-highlight):
36845         Use syntax-ppss-flush-cache instead.
36847 2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>
36849         Port LIBRSVG_CHECK_VERSION fix to picky cpp
36851         * src/image.c (LIBRSVG_CHECK_VERSION): Define to yield false
36852         if it isn’t already defined.
36853         (svg_load_image): Port to C preprocessors that check the
36854         syntax of the entire preprocessing expression before
36855         evaluating any of it.
36857 2019-05-08  Glenn Morris  <rgm@gnu.org>
36859         Merge from origin/emacs-26
36861         1c6484e (origin/emacs-26) Fix incorrect cloning of eieio-instance-inh...
36862         37436fe Fix cloning of eieio-named objects (Bug#22840)
36863         fb65a36 Fix ibuffer-unmark-backward synopsis (bug#35572)
36864         f77bd2b ; * src/lisp.h (DEFSYM): Fix inaccurate comment.
36865         3b86e0b Clarify handling of long options (Bug#24949)
36866         04340a8 Improve documentation of the daemon and emacsclient
36867         3e29de2 * etc/NEWS.24: Belatedly announce delete-consecutive-dups.
36869 2019-05-08  Glenn Morris  <rgm@gnu.org>
36871         Merge from origin/emacs-26
36873         ec02c73 Update process filter example (Bug#35044)
36875 2019-05-08  Eli Zaretskii  <eliz@gnu.org>
36877         Fix compilation with old versions of librsvg
36879         * src/image.c (svg_load_image): Use LIBRSVG_CHECK_VERSION only
36880         if it's defined; it isn't in old versions of librsvg.
36882 2019-05-08  Michael Albinus  <michael.albinus@gmx.de>
36884         Skip tramp-test10-write-region-file-precious-flag for Emacs < 27
36886         * test/lisp/net/tramp-tests.el
36887         (tramp-test10-write-region-file-precious-flag): Skip for Emacs < 27.
36889 2019-05-08  Jonathan Tomer  <jktomer@google.com>
36891         Don't rewrite buffer contents after saving by rename (Bug#35497)
36893         * lisp/files.el (basic-save-buffer-2): Don't rewrite file contents
36894         after saving-by-renaming.  (Bug#35497)
36896         * test/lisp/files-tests.el (files-tests-dont-rewrite-precious-files):
36897         * test/lisp/net/tramp-tests.el
36898         (tramp-test10-write-region-file-precious-flag): Regression tests
36899         for this change.
36901 2019-05-07  Eli Zaretskii  <eliz@gnu.org>
36903         Add an assertion to xdisp.c
36905         * src/xdisp.c (display_mode_element): Add an assertion where
36906         we assume that 'string' returned by decode_mode_spec is always
36907         either a Lisp string or nil.
36909 2019-05-07  Juri Linkov  <juri@linkov.net>
36911         * lisp/progmodes/flymake.el: Obsolete variable flymake-start-on-newline
36913         (flymake-start-syntax-check-on-newline): Mark it obsolete.
36914         (flymake-after-change-function): Remove obsolete variable
36915         flymake-start-syntax-check-on-newline (temporarily renamed to
36916         flymake-start-on-newline).  (Bug#34294)
36918         * doc/misc/flymake.texi: Remove obsolete variable.
36920 2019-05-07  Paul Eggert  <eggert@cs.ucla.edu>
36922         Pacify GCC 9.1
36924         * src/intervals.c (set_intervals_multibyte_1): Omit unused temps.
36925         * src/xdisp.c (display_mode_element): Use !NILP instead of
36926         STRINGP.  This convinces GCC we’re not dereferencing a
36927         possibly-null pointer, and should be a bit faster anyway.
36929 2019-05-07  John Shahid  <jvshahid@gmail.com>
36931         Fix setting and resetting of scroll-with-delete
36933         The start and end lines of the scroll region must to be in the range
36934         [0,term-height).  There are few placees that incorrectly set the end
36935         line of the scroll region to term-height which is outside the valid
36936         range.  Combined with another off-by-one error in
36937         term-set-scroll-region's clamping logic, this would cause
36938         term-scroll-with-delete to be unnecessarily turned on.
36940         * lisp/term.el (term-scroll-start,term-scroll-end): Use defvar-local
36941         to define the variables and document the valid range of values that
36942         the variables can take.
36943         (term--last-line): New function to calculate the 0-based index of the
36944         last line.
36945         (term--reset-scroll-region): New function to reset the scroll region
36946         to the full height of the terminal.
36947         (term-mode,term-reset-size,term-reset-terminal): Call
36948         term--reset-scroll-region to reset the scroll region.
36949         (term-set-scroll-region): Fix the off-by-one error in the clamping
36950         logic which allowed term-scroll-end to have values outside the valid
36951         range [0,term-height).
36953 2019-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
36955         * src/marker.c (buf_bytepos_to_charpos): Re-add the CHAR_HEAD_P assertion
36957         This assertion was removed in 1c349c62305d432abf0fa2b6e3f5d754fe4cab79
36958         because the assumption was invalid during set_intervals_multibyte_1.
36959         So we change set_intervals_multibyte_1 to solve the problem in the same
36960         way as in the rest of Fset_buffer_multibyte, which actually simplifies
36961         the code.
36963         * src/buffer.c (advance_to_char_boundary): Not static any more.
36964         * src/buffer.h (advance_to_char_boundary): Add prototype.
36965         * src/intervals.c (set_intervals_multibyte_1): Use it.
36967 2019-05-07  Glenn Morris  <rgm@gnu.org>
36969         * doc/emacs/text.texi (Fill Commands): Use pxref in parentheses.
36971         * doc/emacs/files.texi (Auto Revert): Fix makeinfo-4.13 compilation.
36973 2019-05-07  Basil L. Contovounesios  <contovob@tcd.ie>
36975         Clarify what constitutes an event (bug#35238)
36977         * doc/lispref/commands.texi (Input Events): Specify that events are
36978         non-nil and remove vestiges of bug#10190.
36979         * doc/lispref/os.texi (Recording Input): Document optional argument
36980         of recent-keys.
36981         * lisp/subr.el (eventp): Check that the car of conses is non-nil.
36982         * etc/NEWS: Announce it as an incompatible change.
36983         * src/keyboard.c (Frecent_keys): Clarify that returned "events" are
36984         not real events.
36986 2019-05-07  Eli Zaretskii  <eliz@gnu.org>
36988         Fix 'load-average' on MS-Windows
36990         * src/w32.c (getloadavg): Always return at least one element
36991         of the array.
36993 2019-05-06  Wilson Snyder  <wsnyder@wsnyder.org>
36995         Fix verilog-mode module backticks; whitespace from prev commits.
36997         * lisp/progmodes/verilog-mode.el (verilog-read-inst-module-matcher):
36998         Work when point is near backtick. Reported by Mattias Engdegard.
37000 2019-05-06  Juri Linkov  <juri@linkov.net>
37002         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Turn defvar into defcustom.
37004         Revert to old default value.  (Bug#35480)
37006 2019-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
37008         Make combine-after-change-calls work in the common case again
37010         * src/insdel.c (signal_after_change): Allow combine_after_change_calls
37011         even when syntax-ppss-flush-cache is on before-change-functions.
37013 2019-05-06  John Shahid  <jvshahid@gmail.com>
37015         Prevent accidental edits in the ansi-term buffer from breaking resizing
37017         * lisp/term.el (term-unwrap-line, term-emulate-terminal): Prevent the
37018           `term-line-wrap` property of newlines from spreading accidentally
37019           when inserting text next to it.
37021 2019-05-06  Alan Mackenzie  <acm@muc.de>
37023         c-beginning-of-statement-1: Handle syntactic WS macros properly.
37025         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): The variable
37026         before-sws-pos should record the position of a closing paren/brace/bracket
37027         before moving backwards over a sexp.  When there is a syntactic WS macro
37028         between the starting point and the closing p/b/b, setq before-sws-pos again
37029         after moving backward over the macro.
37031 2019-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
37033         * lisp/custom.el: Avoid adding vars to load-history multiple times
37035         Avoid the abuse of (eval `(defvar ...)) which tends to end up
37036         adding redundant entries in `load-history`, as discussed in
37037         https://lists.gnu.org/r/help-gnu-emacs/2019-03/msg00237.html
37039         (custom-initialize-default): Don't add to load-history.
37040         (custom-declare-variable): Use internal--define-uninitialized-variable
37041         and only add the var to load-history once.  Do it before calling
37042         `initialize` so the special-variable-p flag is set.
37044         * src/eval.c (Finternal__define_uninitialized_variable): New function.
37045         (Fdefvar, Fdefconst): Use it.
37046         (syms_of_eval): Defsubr' it.
37048 2019-05-06  Michael Albinus  <michael.albinus@gmx.de>
37050         Use lambda in tramp-compat-* functions
37052         * lisp/net/tramp-compat.el (tramp-handle-temporary-file-directory):
37053         Declare.
37054         (tramp-compat-temporary-file-directory-function): Use function symbol.
37055         (tramp-compat-file-attribute-type)
37056         (tramp-compat-file-attribute-link-number)
37057         (tramp-compat-file-attribute-user-id)
37058         (tramp-compat-file-attribute-group-id)
37059         (tramp-compat-file-attribute-modification-time)
37060         (tramp-compat-file-attribute-size)
37061         (tramp-compat-file-attribute-modes)
37062         (tramp-compat-directory-name-p, tramp-compat-file-local-name)
37063         (tramp-compat-file-name-quoted-p, tramp-compat-file-name-quote)
37064         (tramp-compat-file-name-unquote, tramp-compat-exec-path)
37065         (tramp-compat-time-equal-p, tramp-compat-flatten-tree):
37066         Make them lambdas.
37068 2019-05-05  Paul Eggert  <eggert@cs.ucla.edu>
37070         Use simpler way to print function pointers
37072         The module code can’t possibly work on weird platforms where
37073         function pointers are wider than data pointers, so there’s no need
37074         to bother with the stackoverflow-like approach that is intended
37075         only for portability to such platforms.  Besides, the
37076         stackoverflow-like approach does not work well on weird platforms
37077         where CHAR_BIT is not a multiple of 4.
37078         * src/lisp.h (pMx): New macro.
37079         * src/print.c (data_from_funcptr) [HAVE_MODULES]: New function.
37080         (print_vectorlike) [HAVE_MODULES]: Use it.
37081         (print_object): Make sure buf is big enough for this.
37083 2019-05-05  Juri Linkov  <juri@linkov.net>
37085         * lisp/progmodes/flymake.el (flymake-start): Check for flymake-mode.
37087         Check for the value of flymake-mode after hooks are finished (bug#34294)
37089 2019-05-05  Juri Linkov  <juri@linkov.net>
37091         * lisp/progmodes/flymake.el: Rename flymake-start-on-newline (bug#34294)
37093         * lisp/progmodes/flymake.el (flymake-start-on-newline): Rename from
37094         flymake-start-syntax-check-on-newline.
37095         (flymake-start-syntax-check-on-newline): Define obsolete alias.
37096         (flymake-no-changes-timeout): Add customization option nil.
37098         * doc/misc/flymake.texi (Using Flymake): Rename variable.
37100 2019-05-05  Juri Linkov  <juri@linkov.net>
37102         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map): Remove Git prefixes.
37104         Strip possible source/destination prefixes such as a/ and b/
37105         from directory names.   (Bug#35420)
37106         (ediff-fixup-patch-map, ediff-dispatch-file-patching-job)
37107         (ediff-patch-file-internal): Replace string-match with string-match-p.
37109 2019-05-05  Juri Linkov  <juri@linkov.net>
37111         Use ngettext instead of dired-plural-s in Dired (bug#35287)
37113         * lisp/dired-aux.el (dired-map-over-marks-check): Use ngettext
37114         instead of dired-plural-s.
37115         (dired-create-files): Also add colon after operation name.
37116         (dired-compare-directories): Use ngettext and format-message.
37117         (dired-do-compress-to): Use ngettext.
37119         * lisp/dired.el (dired-internal-do-deletions)
37120         (dired-clean-up-after-deletion): Use ngettext instead of dired-plural-s.
37122 2019-05-05  Juri Linkov  <juri@linkov.net>
37124         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Precompute default value.
37126         Use unicode-property-table-internal with 'paired-bracket to append
37127         pairs of open/close characters to the default value (bug#35480).
37129 2019-05-05  Juri Linkov  <juri@linkov.net>
37131         Rename shell-command-width to async-shell-command-width (bug#35055)
37133         * lisp/simple.el (async-shell-command-width):
37134         * lisp/net/tramp.el (tramp-handle-shell-command):
37135         * test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
37136         * doc/misc/tramp.texi (Remote processes): Rename this variable.
37138         * doc/emacs/misc.texi (Single Shell): Add async-shell-command-width.
37140 2019-05-05  Paul Eggert  <eggert@cs.ucla.edu>
37142         Port mod-test to --enable-gcc-warnings
37144         * test/data/emacs-module/mod-test.c (NDEBUG): Undef, to prevent
37145         GCC from complaining “error: unused variable ‘dummy’” and failing
37146         to build the test, if --enable-gcc-warnings.
37148 2019-05-05  Eli Zaretskii  <eliz@gnu.org>
37150         Fix compilation of mod-test.c on MinGW
37152         * test/data/emacs-module/mod-test.c (Fmod_test_nanoseconds)
37153         [__MINGW32__]: Use _Static_assert, not static_assert, as the
37154         latter is not available in mingw.org's MinGW's assert.h.
37156 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
37158         Fixed fill-column-indicator face removing background.
37160         *lisp/faces.el: Removed background in default fill-column-indicator
37161          face.
37162         *src/xdisp.c: fill-column-indicator face merged with saved face.
37164 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
37166         ;Corrected display-fill-column-indicator mode.
37168         Small corrections in the documentation and code format to merge into master.
37170 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
37172         *src/xdisp.c: Fixed fill column indicator position in terminal mode.
37174 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
37176         display-fill-column-indicator interface corrections
37178         *lisp/display-fill-column-indicator.el: Fixed character selection for
37179         the indicator based in the current faces. Extended condition to set
37180         display-fill-column-indicator-character in graphical displays.
37182         *src/xdisp.c: Fixed some long lines.
37184 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
37186         ;Small changes in the documentation
37188         *src/xdisp.c: Fixed docstring for display-fill-column-indicator-column
37189         *etc/NEWS: Concordance fix in the display-fill-column-indicator part.
37190         *doc/emacs/display.texi: Name mismatch fix.
37192 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
37194         Added correction in the texinfo manual.
37196         *doc/emacs/text.texi: Added a reference to the
37197         display-fill-column-indicator section.
37199 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
37201         Added fill-column-indicator manual documentation
37203         *etc/NEWS: reduced the comments about fill-column-indicator
37204         *doc/emacs/display.texi: Added documentation for fill-column-indicator
37205          in this section in the manual
37207 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
37209         Fixed fill-column-indicator for continuation lines
37211         *src/xdisp.c: Grouped the test conditions for
37212         display-fill-column-indicator mode in a macro to simplify future
37213         modifications.
37215 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
37217         Display-fill-column-indicator NEWS info.
37219         *etc/NEWS: Added information about the fill-column-indicator mode.
37220         *lisp/faces.el: Added a face for the display fill column indicator.
37222 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
37224         Start display-fill-column-indicator-mode.
37226 2019-05-05  Michael Albinus  <michael.albinus@gmx.de>
37228         Describe, how to adapt shell command output width in Tramp
37230         * doc/misc/tramp.texi (Quick Start Guide, GVFS based methods):
37231         Fix @cindex.
37232         (Remote processes): Add some @vindex.  Describe shell command
37233         output width.
37235 2019-05-05  Eli Zaretskii  <eliz@gnu.org>
37237         Avoid compiler warning in print.c
37239         * src/print.c (print_vectorlike): Don't use %hh, as that is
37240         not portable enough; we don't yet assume a C99-compliant
37241         library.
37243 2019-05-05  Eli Zaretskii  <eliz@gnu.org>
37245         Avoid crashes in read_integer
37247         * src/lread.c (read_integer): Always allocate a buffer, since
37248         we need to use it even when the radix is invalid.  (Bug#35576)
37250 2019-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
37252         * lisp/files.el (hack-local-variables): Don't burp when files-x isn't loaded
37254 2019-05-05  Michael Albinus  <michael.albinus@gmx.de>
37256         Adapt tests for recent file-notification changes in Tramp
37258         * lisp/net/tramp.el (tramp-file-notify-process-sentinel):
37259         Pacify byte compiler.
37261         * test/lisp/autorevert-tests.el
37262         (auto-revert-test02-auto-revert-deleted-file):
37263         * test/lisp/filenotify-tests.el (file-notify-test03-events)
37264         (file-notify-test05-file-validity)
37265         (file-notify-test09-watched-file-in-watched-dir): Adapt for remote
37266         files.
37268 2019-05-05  Mattias Engdegård  <mattiase@acm.org>
37270         Reorganise (auto-)revert nodes in the manual
37272         Put all information about auto-revert into a section of its own, and
37273         organise the text in a more logical way.  Previously it was mainly
37274         described in the section about reverting (bug#35418).
37276         * doc/emacs/files.texi (Files): Adjust menu.
37277         (Reverting, Auto Revert, Autorevert): Add node `Auto Revert' and move
37278         text on that topic from `Reverting', rearranged.  Turn the old
37279         `Autorevert' node into a subsection under `Auto Revert'.
37280         * doc/emacs/arevert-xtra.texi (Autorevert): Rename and turn into
37281         subsubsection.
37282         * doc/emacs/buffers.texi (Several Buffers): Adjust references.
37283         * doc/emacs/emacs.texi (Top): Adjust menu.
37284         * doc/emacs/emacs-xtra.texi (Top): Adjust menu.
37285         (Non-File Buffers): Add node and section lines.
37287 2019-05-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
37289         Fix last changes in src/ftfont.c
37291         * src/ftfont.c (ftfont_shape): Add missing argument direction.
37292         (fthbfont_shape) [HAVE_HARFBUZZ]: Remove unused variable ftfont_info.
37293         (fthbfont_driver) [HAVE_HARFBUZZ]: Remove redundant redeclaration.
37295 2019-05-04  Philipp Stephani  <phst@google.com>
37297         Avoid suppressing -Wcast-function-type warning.
37299         GCC special-cases the type ‘void (*)(void)’ to not emit warnings when
37300         cast, see
37301         https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wcast-function-type.
37302         Make use of this to remove a warning suppression.
37304         * src/dynlib.h: Use void (*)(void) as generic function pointer type.
37306         * src/emacs-module.c: Remove warning suppression.
37308 2019-05-04  Philipp Stephani  <phst@google.com>
37310         Fix compilation of test module.
37312         Because all other objects are compiled without -fPIC, we can’t use
37313         them when linking the test module.  Instead, use the source files
37314         directly.
37316         * test/Makefile.in (HYBRID_MALLOC, LIBEGNU_ARCHIVE): Remove.
37317         ($(test_module)): Use source files instead of objects and archives.
37319 2019-05-04  Philipp Stephani  <phst@google.com>
37321         Use extract_time in test module.
37323         * test/data/emacs-module/mod-test.c (Fmod_test_sleep_until): Use
37324         extract_time for time argument.
37325         (signal_wrong_type_argument): Remove unused function.
37327         * test/src/emacs-module-tests.el (mod-test-sleep-until): Remove
37328         unnecessary ‘float-time’.
37330 2019-05-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
37332         Add new font backend drivers for text shaping by HarfBuzz
37334         * etc/NEWS: Mention new font backend drivers xfthb and ftcrhb.
37336         * src/font.h [HAVE_HARFBUZZ]: Include hb.h.
37337         (struct font_driver) [HAVE_HARFBUZZ]: New members begin_hb_font and
37338         end_hb_font.
37339         (ftfont_match, ftfont_list): Remove externs.
37340         (ftfont_match2, ftfont_list2):
37341         (fthbfont_combining_capability, fthbfont_begin_hb_font)
37342         (fthbfont_shape) [HAVE_HARFBUZZ]:
37343         (xfthbfont_driver) [HAVE_XFT && HAVE_HARFBUZZ]:
37344         (ftcrhbfont_driver) [USE_CAIRO && HAVE_HARFBUZZ]: Add externs.
37346         * src/ftcrfont.c (ftcrfont_list): Use ftfont_list2.
37347         (ftcrfont_match): Use ftfont_match2.
37348         (ftcrfont_open): Get font type from entity.
37349         (ftcrfont_open) [HAVE_HARFBUZZ]: Use HarfBuzz version of driver if specified.
37350         (ftcrfont_shape) [HAVE_HARFBUZZ]: Make shaping fail.
37351         (ftcrhbfont_list, ftcrhbfont_match)
37352         (ftcrhbfont_begin_hb_font) [HAVE_HARFBUZZ]: New functions.
37353         (ftcrhbfont_driver) [HAVE_HARFBUZZ]: New variable.
37354         (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]: Initialize and register it.
37355         (syms_of_ftcrfont) [HAVE_HARFBUZZ]: New symbol Qftcrhb.
37357         * src/ftfont.c: Include math.h for lround.
37358         (fthbfont_driver) [HAVE_HARFBUZZ]: New variable.
37359         (ftfont_get_hb_font) [HAVE_HARFBUZZ]: Remove function.
37360         (ftfont_list, ftfont_match): Make static.
37361         (ftfont_list2, ftfont_match2): New functions.
37362         (ftfont_open2) [HAVE_HARFBUZZ]: Use HarfBuzz version of driver if specified.
37363         (ftfont_open): Get font type from entity.
37364         (ftfont_shape, ftfont_combining_capability, ftfont_driver) [HAVE_HARFBUZZ]:
37365         Move HarfBuzz specific part from here ...
37366         (fthbfont_shape, fthbfont_combining_capability)
37367         (fthbfont_driver) [HAVE_HARFBUZZ]: ... to here.   New functions and variable.
37368         (fthbfont_begin_hb_font) [HAVE_HARFBUZZ]: New function.
37369         (fthbfont_shape_by_hb) [HAVE_HARFBUZZ]: Rename from ftfont_shape_by_hb.
37370         Don't take FreeType specific arguments ft_face and matrix.  Use begin_hb_font
37371         and end_hb_font font driver functions.  Use text_extents font driver functions
37372         instead of ftfont_glyph_metrics.
37373         (syms_of_ftfont) [HAVE_HARFBUZZ]: New symbol Qfreetypehb.
37374         (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]: Initialize and register
37375         fthbfont_drivert.
37377         * src/ftxfont.c (ftxfont_list): Use ftfont_list2.
37378         (ftxfont_match): Use ftfont_match2.
37379         (ftxfont_driver) [HAVE_HARFBUZZ]: Don't initialize shape member explicitly.
37381         * src/xfns.c (Fx_create_frame) [USE_CAIRO && HAVE_HARFBUZZ]:
37382         (Fx_create_frame) [HAVE_XFT && HAVE_HARFBUZZ]: Register HarfBuzz versions of
37383         font drivers.
37385         * src/xftfont.c (xftfont_list): Use ftfont_list2.
37386         (xftfont_match): Use ftfont_match2.
37387         (xftfont_open): Get font type from entity.
37388         (xftfont_open) [HAVE_HARFBUZZ]: Use HarfBuzz version of driver if specified.
37389         (xftfont_shape) [HAVE_HARFBUZZ]: Make shaping fail.
37390         (xfthbfont_list, xfthbfont_match, xfthbfont_begin_hb_font)
37391         (xfthbfont_end_hb_font) [HAVE_HARFBUZZ]: New functions.
37392         (xftfont_driver) [HAVE_HARFBUZZ]: Don't initialize shape member explicitly.
37393         (xfthbfont_driver) [HAVE_HARFBUZZ]: New variable.
37394         (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Initialize and register it.
37395         (syms_of_xftfont) [HAVE_HARFBUZZ]: New symbol Qxfthb.
37397 2019-05-04  Philipp Stephani  <phst@google.com>
37399         * test/Makefile.in (src/emacs-module-tests.elc): Require test module
37401 2019-05-04  Philipp Stephani  <phst@google.com>
37403         Refactoring: Factor out a function to set an mpz_t from a Lisp int.
37405         * src/bignum.h (mpz_set_integer): New function.
37407         * src/emacs-module.c (module_make_big_integer): Use it.
37409 2019-05-04  Philipp Stephani  <phst@google.com>
37411         Avoid undefined behavior when printing function pointers.
37413         * src/print.c (print_vectorlike): Don’t pass a function pointer to
37414         ‘snprintf’, as that is undefined behavior.  Instead, print the
37415         individual bytes making up the function pointer.
37417 2019-05-04  Michael Albinus  <michael.albinus@gmx.de>
37419         Notify broken file notification from Tramp
37421         * lisp/net/tramp.el (tramp-file-notify-process-sentinel): New defun.
37423         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
37424         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
37425         Set process sentinel.
37427 2019-05-04  Paul Eggert  <eggert@cs.ucla.edu>
37429         Port new fingerprinting scheme to clang + LTO
37431         * lib-src/make-fingerprint.c (main): Don't consider multiple
37432         instances of the fingerprint to be an error, as this can
37433         happen with clang and -flto.  Instead, replace all instances
37434         of the fingerprint.  There is a tiny chance that this will
37435         silently corrupt the Emacs executable.
37437         This patch suggests that we should go back to fingerprinting
37438         the inputs to the linker instead of its output, as the new
37439         fingerprinting scheme is unnecessarily complicated and this
37440         complexity reduces reliability. The old scheme (i.e., before
37441         commit 2019-05-14T23:31:24Z!eggert@cs.ucla.edu) was simpler
37442         and more portable and good enough, and it's looking like it
37443         would be less trouble in practice than the new scheme.
37445 2019-05-04  Noam Postavsky  <npostavs@gmail.com>
37447         Avoid slow overlay ansi coloring in eshell (Bug#29854)
37449         * lisp/ansi-color.el (ansi-color-apply-on-region): Reset temporary
37450         markers after finishing with them.
37451         (ansi-color-apply-text-property-face): New function.
37452         * lisp/eshell/esh-mode.el (eshell-handle-ansi-color):
37453         * lisp/man.el (Man-fontify-manpage): Use it as the
37454         `ansi-color-apply-face-function' while calling
37455         `ansi-color-apply-on-region'.  Use `font-lock-face' to propertize
37456         instead of `face'.
37458 2019-05-04  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
37460         Fix bytecode optimization typo
37462         Problem reported by Simon Frankau (Bug#35562).
37463         * src/bytecode.c (exec_byte_code): Fix typo when optimizing varset.
37465 2019-05-04  John Shahid  <jvshahid@gmail.com>
37467         Fix Bug#35506
37469         * lisp/net/tramp.el (tramp-interrupt-process): Kill the entire
37470         process group.  (Bug#35506)
37472 2019-05-04  Eli Zaretskii  <eliz@gnu.org>
37474         Minor fix in .gdbinit
37476         * src/.gdbinit (xprintsym): Don't attempt to print the
37477         symbol's name if it is not yet set.  This happens with
37478         built-in symbols at the beginning of 'main'.
37480 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
37482         Skip tests if test subdir is missing
37484         Problem reported by Jeffrey Walton in:
37485         https://lists.gnu.org/r/emacs-devel/2019-05/msg00041.html
37486         * Makefile.in (CHECK_TARGETS): New macro; use it
37487         to simplify 'check' and similar rules.
37488         ($(CHECK_TARGETS)): If tests are missing, do not fail
37489         after issuing a diagnostic.  Just skip the tests.
37491 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
37493         Modernize INSTALL a bit
37495         * INSTALL: Omit filesystem space estimates.  These estimates
37496         were (1) wrong and (2) no longer important nowadays, as people
37497         have plenty of space.  Instead, start with how to get and
37498         unpack an Emacs tarball.  Don’t say "disk" as it’s often not
37499         disk nowadays.  Update URLs.
37501 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
37503         Simplify use of NDEBUG in etags.c
37505         * lib-src/etags.c [!DEBUG]: Do not define NDEBUG,
37506         as that’s conf_post.h’s job now.
37507         [NDEBUG]: Do not redefine ‘assert’, as that works around
37508         ancient bugs (e.g., sunos4 pcc) that don’t matter any more,
37509         as can be seen that other Emacs source files that successfully
37510         use assert.h without this workaround.
37512 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
37514         Pacify librsvg 2.45.1 and later
37516         * src/image.c (svg_load_image): Pacify librsvg 2.45.1 and later,
37517         and add a FIXME comment about the deprecated librsvg functions.
37519 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
37521         Simplify xd_signature to pacify GCC 9
37523         * src/dbusbind.c (xd_signature): Use simpler way to set up
37524         the subsignature.  This also pacifies GCC 9 on Fedora 30 x86-64.
37526 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
37528         Update from Gnulib
37530         This incorporates:
37531         2019-05-03 Port manywarnings to GCC 9
37532         * m4/manywarnings.m4: Copy from Gnulib.
37534 2019-05-03  Michael Albinus  <michael.albinus@gmx.de>
37536         Add tests for remote files in auto-revert-tests
37538         * lisp/autorevert.el (auto-revert-debug): New defvar.
37539         (auto-revert-notify-handler): Write traces.
37541         * lisp/filenotify.el (file-notify-debug): New defvar.
37542         (file-notify-handle-event, file-notify-callback): Write traces.
37544         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered):
37545         Handle nil `vc-handled-backends'.
37547         * test/lisp/autorevert-tests.el
37548         (auto-revert-test-remote-temporary-file-directory): New defconst.
37549         Handle also $REMOTE_FILE_NOTIFY_LIBRARY.
37550         (auto-revert--test-enabled-remote-checked): New defvar.
37551         (auto-revert--test-enabled-remote): New defun.
37552         (auto-revert--wait-for-revert): Rewrite without timeout.
37553         (auto-revert--deftest-remote): New defmacro.
37554         (auto-revert-test01-auto-revert-several-files):
37555         (auto-revert-test02-auto-revert-deleted-file): Adapt for remote files.
37556         (auto-revert-test02-auto-revert-deleted-file):
37557         Use `auto-revert-debug' for debug messages.
37558         (auto-revert-test00-auto-revert-mode-remote)
37559         (auto-revert-test01-auto-revert-several-files-mode-remote)
37560         (auto-revert-test02-auto-revert-deleted-file-mode-remote)
37561         (auto-revert-test03-auto-revert-tail-mode-mode-remote)
37562         (auto-revert-test04-auto-revert-mode-dired-mode-remote): New tests.
37564         * test/lisp/filenotify-tests.el (file-notify--test-event-handler):
37565         Use `file-notify-debug' for debug messages.
37567 2019-05-03  Basil L. Contovounesios  <contovob@tcd.ie>
37569         Fix Gnus inline attachment decoding (bug#35507)
37571         Proposed by Andy Moreton <andrewjmoreton@gmail.com>
37572         and Noam Postavsky <npostavs@gmail.com>.
37573         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Always decode
37574         handle text, falling back on 'undecided' coding system.
37576 2019-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
37578         * lisp/server.el: Cosmetic changes
37580         Remove redundant :group args.
37581         (server-temp-file-regexp): Fix ^$ to  \`\'.
37583 2019-05-03  Eli Zaretskii  <eliz@gnu.org>
37585         Improve documentation of 'isearch-regexp-function'
37587         * lisp/isearch.el (isearch-regexp-function): Doc fix.
37588         (Bug#35498)
37590 2019-05-02  Alexander Gramiak  <agrambot@gmail.com>
37592         Refactor update_window_begin and update_window_end hooks
37594         Bug#35464.
37596         * src/dispnew.c (gui_update_window_begin, gui_update_window_end): New
37597         procedures implementing common functionality.
37599         * src/nsterm.m: (ns_update_window_begin, ns_update_window_end):
37600         * src/xterm.c: (x_update_window_begin, x_update_window_end): Remove in
37601         favor of only using the new generic versions.
37603         * src/w32term.c: (w32_update_window_begin, w32_update_window_end):
37604         Remove duplicated and unused code.
37606 2019-05-02  Dmitry Gutov  <dgutov@yandex.ru>
37608         xref--find-ignores-arguments: Return "" if IGNORES is nil
37610 2019-05-02  Dmitry Gutov  <dgutov@yandex.ru>
37612         Allow project-find-regexp'ing inside an ignored dir
37614         * lisp/progmodes/project.el (project-find-regexp): Don't pass
37615         project's ignores to project--files-in-directory.  The FILES glob
37616         should be enough, and we don't want to prohibit searching inside
37617         ignored directories this way (it can be counter-intuitive).
37619 2019-05-02  Dmitry Gutov  <dgutov@yandex.ru>
37621         (xref--mouse-2): Fix not to jump to the next line
37623         * lisp/progmodes/xref.el (xref--mouse-2): Fix not to jump to the
37624         next line.
37626 2019-05-02  Dmitry Gutov  <dgutov@yandex.ru>
37628         Fix an "empty identifier" problem
37630         * lisp/progmodes/xref.el (xref--read-identifier): Abort on empty
37631         input if there is no default
37632         (https://lists.gnu.org/archive/html/help-gnu-emacs/2019-05/msg00012.html).
37634 2019-05-02  Alan Mackenzie  <acm@muc.de>
37636         Fix fontification of first item in CC Mode macro without parentheses
37638         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Handle the new
37639         matching possibility (of a #define construct) in the new
37640         c-decl-prefix-or-start-re.
37641         (c-find-decl-spots): Allow the initial search for an in-macro starting point
37642         settle on the # of #define, to facilitate the regexp matching in
37643         c-find-decl-prefix-search.
37645         * lisp/progmodes/cc-langs.el (c-anchored-hash-define-no-parens): New lang
37646         const.
37647         (c-literal-start-regexp): Correct what was always supposed to be a "generic
37648         string" regexp element.
37649         (c-decl-prefix-or-start-re): Enhance also to match "#define <identifier>".
37650         (c-dposr-cpp-macro-depth): New lang variable and lang constant.
37652 2019-05-02  Stefan Monnier  <monnier@iro.umontreal.ca>
37654         * lisp/mail/footnote.el: Add TEXT and POINTERS together
37656         Rather than adding POINTERS and TEXT separately to footnote--markers-alist,
37657         add them together, so we don't need footnote--first-text-marker because
37658         the TEXT part is never nil.
37660         (footnote--insert-numbered-footnote): Return marker.
37661         (footnote--insert-text-marker, footnote--insert-pointer-marker):
37662         Delete functions.
37663         (footnote--insert-markers): New function to replace them.
37664         (footnote--insert-footnote): Adjust accordingly.
37665         Simplify pointless `unless`.
37666         (footnote--first-text-marker): Remove.  Replace all calls by
37667         (cadr (car footnote--markers-alist)) or just footnote--markers-alist.
37669 2019-05-02  Alan Mackenzie  <acm@muc.de>
37671         CC Mode: Fix multiline block comments in macros.
37673         In particulr, handle multiline block comments whose newlines are not escaped.
37674         There is an example of this in #define EXTRA_CONTEXT_FIELDS in editfns.c.
37676         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Enclose
37677         the loops scanning escaped newlines with outer loops which check
37678         heuristically for, respectively, a block comment ender and a block comment
37679         starter on the lines we end up on.  (A rigorous syntactic check would be too
37680         slow, here.)
37682         * lisp/progmodes/cc-langs.el (c-last-c-comment-end-on-line-re)
37683         (c-last-open-c-comment-start-on-line-re): New language constants/variables.
37685 2019-05-02  Stefan Monnier  <monnier@iro.umontreal.ca>
37687         * lisp/mail/footnote.el: Tweak markers convention
37689         Instead of using markers that are sometimes before and sometimes after
37690         the [...] and using `insert-before-markers` to make sure those that are
37691         are before stay before, always place them before, and make them
37692         "move after"so they stay with their [...] without the need for
37693         insert-before-markers.
37695         (footnote--current-regexp): Add arg to match previous style.
37696         Include the start/end "tags" in the regexp.  Adjust all callers.
37697         (footnote--markers-alist): Change position of POINTERS.
37698         (footnote--refresh-footnotes, footnote--renumber)
37699         (footnote--make-hole, footnote-delete-footnote)
37700         (footnote-back-to-message): Adjust accordingly, mostly by using
37701         `looking-at` instead of `looking-back`.
37702         (footnote--make-hole): Always return footnote nb to use.
37703         (footnote-add-footnote): Simplify call accordingly.
37705         * test/lisp/mail/footnote-tests.el: New file.
37707 2019-05-02  Sam Steingold  <sds@gnu.org>
37709         use view-mode on score file for ease of scrolling and quitting
37711         tetris-null-map: bind "q" to `quit-window`
37713 2019-05-02  Mattias Engdegård  <mattiase@acm.org>
37715         Small code clean-up of file-notify-add-watch
37717         * lisp/filenotify.el (file-notify-add-watch):
37718         Clearly separate backend-specific code from the rest, and simplify.
37719         (file-notify--add-watch-inotify, file-notify--add-watch-kqueue)
37720         (file-notify--add-watch-w32notify, file-notify--add-watch-gfilenotify):
37721         New functions.
37723 2019-05-02  Stefan Monnier  <monnier@iro.umontreal.ca>
37725         * lisp/mail/footnote.el: Use dolist and hoist regexps out of loops
37727         (footnote--refresh-footnotes): Use pcase-dolist; compute regexp once
37728         outside of the loops.  Use less confusing `literal` arg to `replace-match`
37729         and specify `fixedcase` since footnote--index-to-string already chose
37730         the proper case for us.
37731         (footnote--renumber): Use dolist; compute regexp once
37732         outside of the loops; shortcircuit when number is unchanged.
37733         (footnote--text-under-cursor): Rewrite.
37734         (footnote--make-hole): Use dolist.
37735         (footnote-add-footnote): CSE.
37736         (footnote-delete-footnote): Use dolist; compute regexp once
37737         outside of the loop.
37738         (footnote-delete-footnote): Don't renumber if there's no footnote left.
37739         (footnote-renumber-footnotes): Use dolist.
37741 2019-05-02  Michael Albinus  <michael.albinus@gmx.de>
37743         Fix tramp-compat-file-name-quoted-p
37745         * lisp/net/tramp-compat.el (tramp-compat-file-local-name)
37746         (tramp-compat-file-name-quoted-p): Declare them.
37747         (top): Do not use `eval-and-compile'.
37748         (tramp-compat-file-name-quoted-p): Check also func-arity of
37749         `file-name-quoted-p'.
37751 2019-05-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
37753         Fix NS build
37755         * src/macfont.m: Fix prototype of macfont_shape.
37756         (mac_font_shape): Fix type of 5th argument.
37758 2019-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
37760         * lisp/mail/footnote.el: Consolidate the two marker-alists
37762         Consolidate footnote-text-marker-alist and footnote-pointer-marker-alist
37763         into a single footnote--markers-alist.
37765         (footnote--markers-alist): New var.
37766         (footnote-text-marker-alist, footnote-pointer-marker-alist): Delete vars.
37767         (footnote--refresh-footnotes, footnote--text-under-cursor)
37768         (footnote--calc-fn-alignment-column, footnote-add-footnote)
37769         (footnote-goto-footnote, footnote-back-to-message): Adjust accordingly.
37770         (footnote--make-hole, footnote-delete-footnote)
37771         (footnote-renumber-footnotes): Simplify accordingly.
37772         (footnote-cycle-style): Indicate style name in echo area.
37773         (footnote--renumber): Take a single `alist-elem` arg instead of
37774         `pointer-alist` and `text-alist`.
37775         (footnote--insert-text-marker, footnote--insert-pointer-marker):
37776         Add to footnote--markers-alist instead.
37777         (footnote--first-text-marker): New function.
37778         (footnote--get-area-point-min): Use it.
37779         footnote--goto-first): New function.
37780         (footnote--insert-footnote): Use it.
37781         (footnote-style-number): Use defvar-local.
37783 2019-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
37785         * lisp/mail/footnote.el: Minor simplifications
37787         Remove redundant :group args.
37788         (footnote-mode-hook): Let define-minor-mode define it.
37789         (footnote--style-p): Delete function.
37790         (footnote--index-to-string): Inline it instead, and simplify.
37791         (footnote-cycle-style): Use a pointer into the alist as the "index"
37792         instead of a number.
37793         (footnote-set-style): Use footnote-style-alist as the completion table.
37794         Prefer `assq` over `footnote--assoc-index`.
37795         (footnote--assoc-index): Delete function.
37796         (footnote--renumber): Remove first (unused) argument; Adjust all callers.
37797         (footnote--sort): Use car-less-than-car.
37799 2019-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
37801         Restore previous calling signature of gnus-set-info
37803 2019-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
37805         * lisp/emacs-lisp/edebug.el: Better handle instrumentation of `end-of-defun`
37807         Remove redundant :group args.
37808         (edebug-read-top-level-form): Let-bind edebug-active.
37809         (edebug-active): Move before this new first use.
37811 2019-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
37813         * lisp/help.el (function-called-at-point): Use Elisp's forward-sexp-function
37815 2019-04-30  Basil L. Contovounesios  <contovob@tcd.ie>
37817         Minor region-noncontiguous-p simplification
37819         * lisp/simple.el (region-noncontiguous-p): Don't needlessly traverse
37820         region-bounds.
37822 2019-04-30  Stefan Monnier  <monnier@iro.umontreal.ca>
37824         * lisp/progmodes/cc-engine.el: Silence minor compiler warnings
37826         (c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
37827         Move declaration before first use.
37828         (c-after-change-unmark-raw-strings): Remove unused var `found-end`.
37830 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
37832         Fix decode-time/encode-time roundtrip on macOS
37834         * src/timefns.c (Fencode_time): Ignore DST flag when the zone is
37835         numeric or is a cons, as the doc string says it’s ignored in that
37836         case, and not ignoring it causes encode-time to not invert
37837         decode-time on some platforms (Bug#35502).
37838         * test/src/timefns-tests.el (encode-time-dst-numeric-zone):
37839         New test.
37841 2019-04-30  Stefan Monnier  <monnier@iro.umontreal.ca>
37843         * lisp/progmodes/cc-fonts.el: Silence some compiler warnings
37845         (c-font-lock-declarators): Mark `id_end` and `not-top` as unused.
37847 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
37849         Update from Gnulib
37851         * build-aux/config.guess, doc/misc/texinfo.tex:
37852         * lib/mktime-internal.h, lib/mktime.c, lib/timegm.c:
37853         Copy from Gnulib.
37854         * lib/gnulib.mk.in: Regenerate.
37856 2019-04-30  Mattias Engdegård  <mattiase@acm.org>
37858         * lisp/autorevert.el (auto-revert-avoid-polling): Fix :set form.
37860 2019-04-30  Alan Mackenzie  <acm@muc.de>
37862         CC Mode: in certain font lock loops, check point is not beyond limit.
37864         * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body)
37865         (autodoc-font-lock-line-markup): As part of the `while' condition, check that
37866         the previous iteration of the loop hasn't moved point past `limit', thus
37867         obviating "wrong side of point" errors in re-search-forward, etc.
37869 2019-04-30  Mattias Engdegård  <mattiase@acm.org>
37871         Don't poll auto-revert files that use notification (bug#35418)
37873         It is a waste to periodically poll files that use change notification
37874         in auto-revert mode; stop doing that.  If no files need polling,
37875         turn off the periodic execution entirely to further avoid wasting power.
37876         Use a timer to inhibit immediate reversion for some time after a
37877         notification, for throttling.
37879         This change does not apply to files in global-auto-revert-mode, where
37880         polling is still necessary.  It is disabled by default, and enabled by
37881         setting `auto-revert-avoid-polling' to non-nil.
37883         * lisp/autorevert.el
37884         (toplevel): Require cl-lib.
37885         (auto-revert-avoid-polling, auto-revert--polled-buffers)
37886         (auto-revert--need-polling-p, auto-revert--lockout-interval)
37887         (auto-revert--lockout-timer, auto-revert--end-lockout): New.
37888         (global-auto-revert-mode): Keep notifiers for buffers in auto-revert mode.
37889         (auto-revert-set-timer): Use auto-revert--need-polling-p.
37890         (auto-revert-notify-handler): Restart polling if notification stopped.
37891         Use new lockout timer.
37892         (auto-revert-buffers):
37893         Use auto-revert--polled-buffers and auto-revert--need-polling-p.
37894         (auto-revert-buffers-counter, auto-revert-buffers-counter-lockedout):
37895         Remove.
37897         * etc/NEWS (Changes in Specialized Modes and Packages):
37898         Describe the new auto-revert-avoid-polling variable.
37900         * doc/emacs/files.texi (Reverting):
37901         Add paragraph describing auto-revert-avoid-polling.
37903 2019-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
37905         Refrain from splicing anonymous faces in text properties
37907         * lisp/font-lock.el (font-lock-prepend-text-property): Distinguish
37908         list of faces from property lists.
37909         (font-lock-ensure-function): Remove redundant code.
37911 2019-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
37913         * lisp/international/mule-util.el: Avoid setq; clarify meaning of -1.
37915 2019-04-29  Paul Eggert  <eggert@cs.ucla.edu>
37917         Sync latest SKK-JISYO.L
37919         Problem reported by Tsuyoshi Kitamoto (Bug#35442).
37920         * leim/SKK-DIC/README: Update to current URL.
37921         * leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version.
37923 2019-04-29  Paul Eggert  <eggert@cs.ucla.edu>
37925         Disable __attribute__ ((cold)) on MinGW
37927         * src/conf_post.h (ATTRIBUTE_COLD) [__MINGW32__]:
37928         Define to empty on this platform.
37930 2019-04-29  Glenn Morris  <rgm@gnu.org>
37932         Merge from origin/emacs-26
37934         c26d452 (origin/emacs-26) * src/macfont.m (macfont_shape): Use conven...
37935         140e7f8 Recommend using font-lock-face over face (Bug#35044)
37936         7cb5364 Check if mouse_face_overlay was deleted (Bug#35273)
37938         # Conflicts:
37939         #       src/macfont.m
37941 2019-04-29  Glenn Morris  <rgm@gnu.org>
37943         Merge from origin/emacs-26
37945         0e8d452 ; * doc/lispref/nonascii.texi (Coding System Basics): Fix gra...
37946         25a2ff7 ; Add missing space in custom.texi
37947         9ec18fb * admin/admin.el (set-version): Check for increase in version...
37948         93912ba Be more careful about indent-sexp going over eol (Bug#35286)
37950 2019-04-29  Paul Eggert  <eggert@cs.ucla.edu>
37952         Replace ‘/* FALLTHROUGH! */’ with ‘break;’
37954         * src/data.c (set_internal, set_default_internal):
37955         Replace obsolescent /* FALLTHROUGH! */ comments with ‘break;’,
37956         as ‘FALLTHROUGH;’ is not needed here.
37958 2019-04-29  Michael Albinus  <michael.albinus@gmx.de>
37960         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler): Instrument.
37962 2019-04-29  Eli Zaretskii  <eliz@gnu.org>
37964         Avoid compilation warnings in w32.c
37966         * src/w32.c (unsetenv, readlink): Use memcpy instead of
37967         strncpy, to avoid a compiler warning about calculating the
37968         bound of the copy.
37970 2019-04-28  Noam Postavsky  <npostavs@gmail.com>
37972         Replace use of obsolete string-make-unibyte
37974         * lisp/image-file.el (insert-image-file): Use encode-coding-region
37975         instead of string-make-unibyte.
37976         * test/lisp/image-file-tests.el: New test.
37978 2019-04-28  Tommi Komulainen  <tommi.komulainen@iki.fi>  (tiny change)
37980         python.el: Fix close paren indentation to match pep8 (Bug#20742)
37982         * lisp/progmodes/python.el (python-indent--calculate-indentation):
37983         When opening paren is followed by newline the closing paren should
37984         follow the current indentation.  Otherwise the closing paren should be
37985         aligned with the opening paren.  This fixes the latter case.
37987 2019-04-28  Paul Eggert  <eggert@cs.ucla.edu>
37989         Update from GMP
37991         * admin/update-copyright (updatable_files):
37992         Don’t update copyright year on files copied from GMP, so that
37993         they’re identical to upstream.
37994         * src/mini-gmp.c, src/mini-gmp.h: Copy from GMP development
37995         versions as of 2019-01-01 20:15:39 UTC.
37997 2019-04-28  Philipp Stephani  <phst@google.com>
37999         Export major version of latest Emacs supported by emacs-module.h.
38001         This is useful if module authors want to support multiple versions of
38002         emacs-module.h.
38004         * configure.ac (emacs_major_version): Define substitution.
38006         * src/emacs-module.h.in (EMACS_MAJOR_VERSION): Define macro.
38008         * doc/lispref/internals.texi (Module Initialization): Document
38009         EMACS_MAJOR_VERSION preprocessor macro.
38011         * test/data/emacs-module/mod-test.c (emacs_module_init): Verify
38012         behavior of EMACS_MAJOR_VERSION.
38014 2019-04-28  Philipp Stephani  <phst@google.com>
38016         Fix another compilation warning.
38018         * test/src/emacs-module-tests.el (multiply-string): Remove unused
38019         variable ‘i’.
38021 2019-04-28  Philipp Stephani  <phst@google.com>
38023         Also regenerate emacs-module.h if module-env-*.h changes.
38025         * Makefile.in (CONFIG_STATUS_FILES_IN): Add versioned environment
38026         header fragments.
38028 2019-04-28  Philipp Stephani  <phst@google.com>
38030         * src/emacs-module.c (funcall_module): Add a nontrivial assertion
38032 2019-04-28  Philipp Stephani  <phst@google.com>
38034         Fix a few minor compilation and Checkdoc warnings.
38036         * test/src/emacs-module-tests.el: Add package name and standard
38037         sections.
38038         (multiply-string): Add a docstring.
38040 2019-04-28  Philipp Stephani  <phst@google.com>
38042         * test/src/emacs-module-tests.el: Switch to lexical binding.
38044 2019-04-28  Eli Zaretskii  <eliz@gnu.org>
38046         Fix names of functions in last commit
38048         * src/coding.h (build_string_from_utf8): Rename from
38049         build_utf8_string.  All callers changed.
38050         * src/coding.c (make_string_from_utf8): Rename from
38051         make_utf8_string.  All callers changed.
38053 2019-04-28  Philipp Stephani  <phst@google.com>
38055         Refactoring: move UTF-8 decoding functions into coding.h.
38057         json_make_string and json_build_string are generally useful and not
38058         JSON-specific.  Move them to coding.[ch].
38060         * src/coding.h (build_utf8_string): Move from json.c.
38062         * src/coding.c (make_utf8_string): Move from json.c.
38064         * src/json.c (json_make_string, json_build_string): Move to
38065         coding.[ch].  Split out JSON-specific comment.
38066         (json_parse_error, Fjson_serialize, json_to_lisp): Fix callers.
38068         * src/emacs-module.c (module_make_function, module_make_string): Use
38069         new functions.
38070         (module_decode, module_decode_copy): Remove.
38072 2019-04-27  Alan Mackenzie  <acm@muc.de>
38074         Fix slow scrolling in C++ buffers with lots of template delimiters.
38076         * lisp/progmodes/cc-engine.el (c-update-brace-stack): bind
38077         c-parse-and-markup-<>-arglists and c-restricted-<>-arglists to t around the
38078         call to c-forward-<>-arglist, to force the marking of template delimiters with
38079         syntax-table text properties.
38081 2019-04-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
38083         Merge branch 'master' into harfbuzz
38085 2019-04-27  Eli Zaretskii  <eliz@gnu.org>
38087         Fix -nw sessions on MS-Windows broken by a recent commit
38089         * src/w32console.c: Include dispextern.h.
38090         (initialize_w32_display): Populate defined_color_hook.
38092 2019-04-27  Eli Zaretskii  <eliz@gnu.org>
38094         Fix MS-Windows build broken by a recent commit
38096         * src/w32term.c (w32_new_focus_frame): Fix a typo in a recent
38097         commit.
38099 2019-04-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
38101         Fix --with-x-toolkit=no build breakage
38103         * oldXMenu/Create.c (XMenuCreate): Add const modifier to variable def_val.
38104         * oldXMenu/Create.c:
38105         * src/frame.h: Add const modifier to return type of x_get_resource_string.
38106         * src/frame.c (x_get_resource_string): Exempt x_get_string_resource from
38107         renaming generic x_* identifiers.
38109 2019-04-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
38111         Update multicolor font support status
38113         * etc/NEWS: Mention multicolor font support on Cairo and NS.
38114         * src/macfont.m (macfont_list): Re-enable color bitmap fonts.
38116 2019-04-26  Alexander Gramiak  <agrambot@gmail.com>
38118         * src/frame.c (x_get_resource_string): Fix typo
38120         * src/xdisp.c: Only check FRAME_RIF for graphical frames
38122 2019-04-26  Alexander Gramiak  <agrambot@gmail.com>
38124         Rename x_highlight_frame property to highlight_frame
38126         * src/nsterm.h:
38127         * src/nsterm.m:
38128         * src/w32term.c:
38129         * src/w32term.h:
38130         * src/xdisp.c:
38131         * src/xterm.c:
38132         * src/xterm.h: Rename.
38134 2019-04-26  Alexander Gramiak  <agrambot@gmail.com>
38136         Check for existence of terminal hooks before use
38138         This should not be necessary, and is merely a precaution. For
38139         background, see:
38140         https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg00639.html
38142         * src/frame.c:
38143         * src/xdisp.c: Check for existence of terminal hooks before use.
38145 2019-04-26  Alexander Gramiak  <agrambot@gmail.com>
38147         Add terminal hook query_frame_background_color
38149         * src/termhooks.h (query_frame_background_color): New terminal hook.
38151         * src/image.c (image_query_frame_background_color): Remove. Use the
38152         terminal hook instead.
38154         * src/nsterm.m:
38155         * src/w32term.c:
38156         * src/xterm.c: Implement and set the new terminal hook.
38158 2019-04-26  Alexander Gramiak  <agrambot@gmail.com>
38160         Add terminal hook defined_color_hook
38162         * src/termhooks.h (defined_color_hook): New terminal hook.
38164         * src/xterm.c:
38165         * src/nsterm.m:
38166         * src/term.c:
38167         * src/w32term.c: Set defined_color_hook.
38169         * src/xfaces.c: Use defined_color_hook.
38170         (defined_color): Remove.
38172         * src/image.c: Remove redefinitions of x_defined_color, and use
38173         defined_color_hook.
38175 2019-04-26  Alexander Gramiak  <agrambot@gmail.com>
38177         Rename generic x_* identifiers
38179         * src/image.c: Rename x_* procedures to image_*.
38181         * src/frame.c: Rename x_* procedures to gui_*. Rename
38182         xrdb_get_resource to gui_display_get_resource. Rename x_get_arg to
38183         gui_display_get arg.
38185         * src/frame.h: Rename can_x_set_window_size to can_set_window_size.
38187         * src/xfaces.c: Rename realize_x_face to realize_gui_face. Rename
38188         x_supports_face_attributes_p to gui_supports_face_attributes_p.
38190         * src/keyboard.c:
38191         * src/lisp.h:
38192         * src/nsterm.m:
38193         * src/w32term.c:
38194         * src/xterm.c: Rename x_get_keysym_name to get_keysym_name.
38196         * src/nsfns.m:
38197         * src/nsterm.m: Rename x_* procedures to ns_*.
38199         * src/w32fns.c:
38200         * src/w32term.c: Rename x_* procedures to w32_*.
38202         * src/termhooks.h (query_colors, get_focus_frame, focus_frame_hook)
38203         (frame_visible_invisible_hook, iconify_frame_hook)
38204         (set_window_size_hook, set_frame_offset_hook, set_frame_alpha_hook)
38205         (set_new_font_hook, set_bitmap_icon_hook, implicit_set_name_hook)
38206         (activate_menubar_hook, change_tool_bar_height_hook)
38207         (set_scroll_bar_default_width_hook)
38208         (set_scroll_bar_default_height_hook, get_string_resource_hook): New
38209         terminal hooks to replace backend-specific x_* procedures.
38211         * src/dispextern.h (clear_under_internal_border): New RIF procedure.
38213         * src/alloc.c:
38214         * src/frame.c:
38215         * src/xdisp.c: Use FRAME_OUTPUT_DATA instead of FRAME_X_OUTPUT.
38217         * src/frame.c:
38218         * src/w32term.c:
38219         * src/w32fns.c: Use FRAME_NATIVE_WINDOW instead of FRAME_X_WINDOW.
38221 2019-04-26  Alexander Gramiak  <agrambot@gmail.com>
38223         Add prefixes to some window system-dependent procedures
38225         * src/nsterm.m (note_mouse_movement):
38226         * src/w32fns.c (construct_console_modifiers):
38227         * src/w32inevt.c:
38228         * src/w32term.c (frame_highlight, frame_unhighlight)
38229         (construct_mouse_click, construct_mouse_wheel, construct_drag_n_drop)
38230         (lispy_file_action, queue_notifications, note_mouse_movement):
38231         * src/w32term.h:
38232         * src/xterm.c (frame_highlight, frame_unhighlight)
38233         (construct_mouse_click, note_mouse_movement, get_current_wm_state):
38234         Add and use window system prefixes.
38236 2019-04-26  Alexander Gramiak  <agrambot@gmail.com>
38238         Rename generic x_* procedures in xdisp.c
38240         * src/xdisp.c (x_consider_frame_title, x_get_glyph_overhangs)
38241         (x_produce_glyphs, x_write_glyphs, x_insert_glyphs)
38242         (x_clear_end_of_line), x_fix_overlapping_area)
38243         (x_update_cursor, x_clear_cursor, x_clear_window_mouse_face)
38244         (x_draw_vertical_border, x_draw_right_divider, x_draw_bottom_divider)
38245         (x_intersect_rectangles): Rename with a gui prefix to indicate
38246         non-X-specific functionality.
38248         * src/composite.c:
38249         * src/dispextern.h:
38250         * src/nsfns.m:
38251         * src/nsterm.m:
38252         * src/w32fns.c:
38253         * src/w32term.c:
38254         * src/window.c:
38255         * src/xfns.c:
38256         * src/xterm.c: Use the renamed procedures.
38258 2019-04-26  Eli Zaretskii  <eliz@gnu.org>
38260         Avoid assertion violations in calculating line-number width
38262         * src/indent.c (line_number_display_width): Don't use the
38263         window's start marker if it belongs to a different buffer.
38264         (Bug#35429)
38266 2019-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
38268         * lib-src/profile.c: Delete long-obsolete file
38270         This auxiliary executable was used by the old `profile.el` which later
38271         inspired `elp.el`.  It was made obsolete when Emacs acquired native timers.
38273         * lib-src/Makefile.in (UTILITIES): Remove profile.
38274         (profile${EXEEXT}): Delete rule.
38276 2019-04-26  Michael Albinus  <michael.albinus@gmx.de>
38278         Handle quoted file names in tramp-archive.el
38280         * lisp/net/tramp-archive.el (tramp-archive-file-name-p):
38281         Suppress quoted file names.
38282         (tramp-archive-file-name-handler): Handle quoted file names.
38284         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p):
38285         Add optional TOP argument.
38287 2019-04-26  Eli Zaretskii  <eliz@gnu.org>
38289         Avoid compiler warning in dynlib.c
38291         * src/dynlib.c (dynlib_addr) [WINDOWSNT]: Rename the first
38292         argument to be consistent with other platforms.  Cast it to
38293         'void *' to avoid compiler warning as result of changing the
38294         function's signature as part of the last recent change in
38295         dynlib.c.
38297 2019-04-25  Glenn Morris  <rgm@gnu.org>
38299         * test/lisp/progmodes/sql-tests.el (sql-tests-buffer-naming-harness):
38300         Fix previous for TEST_LOAD_EL=no.
38302 2019-04-25  Alan Mackenzie  <acm@muc.de>
38304         Fix the formatting of '\' (including apostrophes) in CC Mode.
38306         In particular, the second apostrophe must also get font-lock-warning-face.
38308         * lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
38309         (c-parse-quotes-after-change): Add cond arms to recognize and handle the
38310         anomalous construct '\'.  Correct the handling of c-new-BEG in
38311         c-parse-quotes-before-change.
38313 2019-04-25  Glenn Morris  <rgm@gnu.org>
38315         * test/lisp/progmodes/sql-tests.el (sql-tests-buffer-naming-harness):
38316         Skip if no sqlite program.
38318 2019-04-25  Stephen Leake  <stephen_leake@stephe-leake.org>
38320         Fix Bug#33618; define search path variables for grep, byte-compile
38322         * etc/NEWS: Mention new variables.
38324         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-search-path): New.
38326         * lisp/progmodes/grep.el (grep-search-path): New.
38328 2019-04-25  Paul Eggert  <eggert@cs.ucla.edu>
38330         Minor tweaks to recent UBSan-related fix
38332         * src/alloc.c: No need to include stdalign.h; it’s pervasive.
38333         (GC_STRING_OVERRUN_COOKIE_SIZE): Align to sdata’s alignment,
38334         so that the code works even if alignof (sdata) exceeds 8.
38335         Don’t require the cookie size to be 8, as this overly fattens
38336         32-bit platforms and one DEADBEEF should be enough.
38337         (GC_STRING_EXTRA): Omit now-unnecessary ‘verify’.
38338         (allocate_string_data): Omit unnecessary cast.
38340 2019-04-25  Paul Eggert  <eggert@cs.ucla.edu>
38342         Port to Oracle Developer Studio 12.6
38344         This compiler is a bit pickier about checking conformance to
38345         the C standard, ranging from syntax trivia (no extra ";" at
38346         the top level) to portability trivia (warnings re conversion
38347         between function and data pointers) to more-important stuff
38348         like lack of support for some __attribute__ usages.
38349         * src/dynlib.c (dynlib_addr): First argument is a function
38350         pointer, not a data pointer.  All callers changed.
38351         * src/emacs-module.c (module_function_address):
38352         Return module_funcptr, not void *.  All uses changed.
38353         * src/lisp.h (module_funcptr) [HAVE_MODULES]: New type.
38354         * src/lread.c (union ieee754_double): Don’t assume the usual
38355         semantics for converting signed to unsigned int when initializing
38356         a bitfield, as the Oracle compiler complains and the C standard
38357         is unclear.
38358         * src/pdumper.c (ALLOW_IMPLICIT_CONVERSION): Make it clearer
38359         that -Wsign-conversion is disabled everywhere in this file.
38360         (dump_trace, dump_tailq_prepend, dump_tailq_append):
38361         Don’t assume __attribute__.
38362         (dump_object_self_representing_p): Don’t disable conversion
38363         warnings; it’s not needed here.
38364         (DEFINE_FROMLISP_FUNC): Avoid possible signal in integer
38365         conversion from unsigned to signed.
38366         (DEFINE_FROMLISP_FUNC, finish_dump_pvec): Avoid warning about
38367         unreachable statements on platforms not supporting the
38368         __attribute__.
38369         (intmax_t_from_lisp, intmax_t_to_lisp, dump_off_from_lisp)
38370         (dump_off_to_lisp, dump_emacs_reloc_immediate_lv)
38371         (dump_emacs_reloc_immediate_ptrdiff_t)
38372         (dump_emacs_reloc_immediate_intmax_t)
38373         (dump_emacs_reloc_immediate_int, dump_emacs_reloc_immediate_bool):
38374         Omit stray semicolon that violates C standard.
38375         (dump_metadata_for_pdumper): Add cast to pacify compiler complaining
38376         about conversion from function pointer to data pointer.
38377         (Fdump_emacs_portable): Do not use CALLN to call a function
38378         with zero arguments, as C99 prohibits empty initializers.
38379         * src/xdisp.c (syms_of_xdisp): Do not nest calls to pure_list,
38380         to work around a bug in Oracle Developer Studio 12.6.
38382 2019-04-25  Stefan Monnier  <monnier@iro.umontreal.ca>
38384         * lisp/simple.el (eval-expression): Fix paren typo.
38386 2019-04-25  Philipp Stephani  <phst@google.com>
38388         Make sure that ‘sdata’ objects in ‘sblock’ objects are aligned.
38390         Issue found by Clang’s UBSan.
38392         * src/alloc.c (GC_STRING_OVERRUN_COOKIE_SIZE): Increase to 8.
38393         (string_overrun_cookie): Extend accordingly.
38394         (GC_STRING_EXTRA): Ensure that it’s properly aligned for ‘sdata’.
38395         (allocate_string_data): Verify that ‘sdata’ blocks remain aligned.
38397 2019-04-25  Stefan Monnier  <monnier@iro.umontreal.ca>
38399         Use lexical-binding by default for M-:, --eval, and *scratch*
38401         * lisp/startup.el (command-line): Default to lexical-binding in *scratch*.
38402         (normal-no-mouse-startup-screen, command-line-1):
38403         Use startup--get-buffer-create-scratch.
38404         (command-line-1):
38405         * lisp/simple.el (eval-expression):
38406         * lisp/server.el (server-eval-and-print): Use lexical-binding to
38407         evaluate the expression.
38408         (server-execute): Use startup--get-buffer-create-scratch.
38409         * lisp/ielm.el (inferior-emacs-lisp-mode): Default to lexical-binding.
38411 2019-04-25  Alan Mackenzie  <acm@muc.de>
38413         Restore fontification of delimiters of multiline CC Mode strings.
38415         E.g., on typing the closing delimiter of a string continued onto a second
38416         line, the opening delimiter retained its font-lock-warning-face.
38418         * lisp/progmodes/cc-defs.el (c-c++-raw-string-opener-re)
38419         (c-c++-raw-string-opener-1-re): New constants.
38420         (c-sub-at-c++-raw-string-opener, c-at-c++-raw-string-opener): New macros.
38422         * lisp/progmodes/cc-engine.el (c-raw-string-pos)
38423         (c-depropertize-raw-strings-in-region, c-after-change-unmark-raw-strings):
38424         Replace uses of open-coded raw string regexps by the new constants and macros
38425         in cc-defs.el.
38427         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Ditto
38429         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Set
38430         c-new-BEG to the beginning of the string when we encounter its closing ".
38431         When not in a raw string, but in a string, clear syntax-table properties from
38432         its delimiters and set c-new-BEG/END to its limits.
38433         (c-after-change-mark-abnormal-strings): When applying syntax-table properties
38434         to string delimiters, also set c-new-BEG/END to ensure subsequent
38435         fontification.
38437 2019-04-25  Stephen Berman  <stephen.berman@gmx.net>
38439         Make wdired-mode ignore ls file indicators
38441         * lisp/wdired.el (wdired--restore-dired-filename-prop): When
38442         dired-listing-switches includes "F" or "classify", don't treat
38443         appended indicator characters as part of the file name (bug#34915).
38445         * test/lisp/wdired-tests.el (wdired-test-bug34915): New test.
38447 2019-04-25  Paul Eggert  <eggert@cs.ucla.edu>
38449         Port emacsclient euidaccess to Solaris 10
38451         Without this fix, linking emacsclient fails with ‘Undefined
38452         symbol eaccess’ on Solaris 10 sparc.
38453         * lib-src/Makefile.in (LIB_EACCESS): New macro.
38454         (emacsclient${EXEEXT}, emacsclientw${EXEEXT}): Use it.
38456 2019-04-25  Alan Mackenzie  <acm@muc.de>
38458         Fix some corner cases in the recognition of C++ raw strings.
38460         These are where changing the identifier in a raw string delimiter causes
38461         different delimiters to match each other.
38463         * lisp/progmodes/cc-engine.el (c-raw-string-end-delim-disrupted): New
38464         variable.
38465         (c-before-change-check-raw-strings): Use new variable.
38466         (c-after-change-unmark-raw-strings): When typing into an opening delimiter or
38467         altering its close delimiter causes the opening delimiter to match a later
38468         closing delimiter, clear all syntax-table char properties from the opening
38469         delimiter onwards, and set c-new-END to point max.  Also, when changing a
38470         closing delimiter, check whether its new value matches a previously open
38471         opening delimiter earlier in the buffer, and amend the syntax-table text
38472         properties appropriately.
38474 2019-04-24  Michael R. Mauger  <michael@mauger.com>
38476         * lisp/progmodes/sql.el
38477         (sql-is-sqli-buffer-p): New function.
38478         (sql-generate-unique-sqli-buffer-name): Refactor and use it.
38479         (sql-product-interactive): Simplify name logic.
38480         * test/lisp/progmodes/sql-tests.el
38481         (sql-tests-placeholder-filter-harness): New macro.
38482         (sql-tests-placeholder-filter-simple)
38483         (sql-tests-placeholder-filter-ampersand)
38484         (sql-tests-placeholder-filter-period): Refactored tests and use macro.
38485         (sql-tests-buffer-naming-harness): New macro.
38486         (sql-tests-buffer-naming-default)
38487         (sql-tests-buffer-naming-multiple)
38488         (sql-tests-buffer-naming-explicit)
38489         (sql-tests-buffer-naming-universal-argument)
38490         (sql-tests-buffer-naming-existing): New tests.
38492 2019-04-24  Paul Eggert  <eggert@cs.ucla.edu>
38494         Improve port to platforms lacking euidaccess (Bug#35406)
38496         * lib-src/emacsclient.c (set_local_socket):
38497         Use faccessat with AT_EACCESS instead of using euidaccess.
38498         * admin/merge-gnulib, lib/gnulib.mk.in, m4/gnulib-comp.m4:
38499         Revert previous change.
38501 2019-04-24  Paul Eggert  <eggert@cs.ucla.edu>
38503         Port to platforms lacking euidaccess (Bug#35406)
38505         * admin/merge-gnulib (GNULIB_MODULES): Add euidaccess.
38506         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
38508 2019-04-24  Paul Eggert  <eggert@cs.ucla.edu>
38510         Merge from gnulib
38512 2019-04-24  Mark Oteiza  <mvoteiza@udel.edu>
38514         Fix some strings in wordstar mode
38516         * lisp/obsolete/ws-mode.el (ws-search-direction, ws-error, ws-end-block):
38517         (ws-mark-word, ws-undo, ws-goto-last-cursorposition, ws-last-error):
38518         (ws-kill-bol): Remove full stops from message string endings.  Minor
38519         formatting tweaks.
38521 2019-04-24  Mark Oteiza  <mvoteiza@udel.edu>
38523         Change WordStar emulation into a minor mode (Bug#35148)
38525         * lisp/obsolete/ws-mode.el: Turn on lexical-binding.  Update commentary.
38526         (wordstar): New custom group.
38527         (wordstar-mode-lighter): New custom variable.
38528         (wordstar-mode): Declare with define-minor-mode.
38529         (turn-on-wordstar-mode): New function.
38530         (global-wordstar-mode): New function.  Use previous new function.
38532 2019-04-24  Dmitry Gutov  <dgutov@yandex.ru>
38534         Fix project-find-regexp search for '--'
38536         * lisp/progmodes/project.el (project--find-regexp-in-files):
38537         Add an explicit '-e' before the pattern.  Fixing the ability to
38538         search for '--'.  Reported by Juri Linkov <juri@linkov.net>.
38540 2019-04-24  Juri Linkov  <juri@linkov.net>
38542         * lisp/windmove.el (windmove-display-in-direction): Support consecutive calls
38544         Remember action and delete it from display-buffer-overriding-action afterwards
38546 2019-04-24  Philipp Stephani  <phst@google.com>
38548         Unbreak build when building without GMP support.
38550         Add support for a new preprocessor macro EMACS_MODULE_HAVE_MPZ_T to
38551         emacs-module.h.  If this macro is defined, assume that mpz_t is
38552         already defined and don’t include gmp.h.
38554         Don’t document the new macro for now, as it’s unclear whether we want
38555         to support this in modules outside the Emacs tree.
38557         * src/emacs-module.h.in: Allow user to prevent inclusion of gmp.h.
38559         * src/emacs-module.c: Use mini-gmp if GMP is unavailable.  Don’t
38560         include gmp.h.
38562         * src/lisp.h: Don’t require gmp.h.  It’s not needed for lisp.h.
38564         * test/Makefile.in (GMP_LIB, GMP_OBJ): New variables.
38565         ($(test_module)): Use them.
38567         * test/data/emacs-module/mod-test.c: Use mini-gmp if GMP is unavailable.
38569 2019-04-24  Philipp Stephani  <phst@google.com>
38571         Add missing GMP library to test module.
38573         * test/Makefile.in (GMP_LIB): Define variable.
38574         ($(test_module)): Use it.
38576 2019-04-24  Philipp Stephani  <phst@google.com>
38578         Move definition of Lisp_Module_Function to emacs-module.c.
38580         * src/lisp.h: Remove include of emacs-module.h.  Remove definition
38581         of Lisp_Module_Function structure.
38583         * src/emacs-module.c (module_function_documentation)
38584         (module_function_address): New accessor functions for module function
38585         fields.
38586         (emacs_subr, struct Lisp_Module_Function): Move from lisp.h.
38588         * src/print.c (print_vectorlike):
38589         * src/doc.c (Fdocumentation): Use the new accessor functions.
38591 2019-04-24  Paul Eggert  <eggert@cs.ucla.edu>
38593         Simplify thread initialization and GC
38595         * src/lisp.h (PVECHEADERSIZE): New macro.
38596         (XSETPVECTYPESIZE): Use it.
38597         * src/search.c (syms_of_search): No need to initialize or
38598         staticpro last_thing_searched or saved_last_thing_searched, as
38599         the thread code arranges for initialization and GC.
38600         * src/thread.c (main_thread): Initialize statically.
38601         (Fmake_mutex, Fmake_condition_variable, Fmake_thread):
38602         Use ALLOCATE_ZEROED_PSEUDOVECTOR rather than zeroing by hand.
38603         (mark_one_thread): No need to mark Lisp_Object members.
38604         (init_main_thread, init_threads_once): Remove.  All uses removed.
38606 2019-04-24  Eli Zaretskii  <eliz@gnu.org>
38608         Regenerate src/emacs-module.h when emacs-module.h.in changes
38610         * Makefile.in (CONFIG_STATUS_FILES_IN): Add
38611         src/emacs-module.h.in.
38613 2019-04-24  Eli Zaretskii  <eliz@gnu.org>
38615         Fix rescheduling timers after suspension
38617         * lisp/emacs-lisp/timer.el (timer-event-handler): Fix the
38618         comparison between next invocation time and current time.
38620 2019-04-24  Eli Zaretskii  <eliz@gnu.org>
38622         Fix posn-at-point with line-number display and display properties
38624         * src/xdisp.c (pos_visible_p): Account for line-number display
38625         width when CHARPOS is covered by display property that begins
38626         at the 2nd display element of a screen line.  (Bug#35404)
38628 2019-04-24  Eli Zaretskii  <eliz@gnu.org>
38630         Fix a typo in a recent commit
38632         * src/timefns.c (timespec_to_lisp): Fix a typo in function
38633         definition.
38635 2019-04-24  Philipp Stephani  <phst@google.com>
38637         * doc/lispref/internals.texi (Module Values): Add a GMP example
38639 2019-04-24  Philipp Stephani  <phst@google.com>
38641         Clarify rounding mode when converting to struct timespec.
38643         * doc/lispref/internals.texi (Module Values): Clarify that the
38644         truncation is towards negative infinity.
38646         * test/data/emacs-module/mod-test.c (Fmod_test_nanoseconds): Add test
38647         function.
38648         (emacs_module_init): Define it.
38650         * test/src/emacs-module-tests.el (mod-test-nanoseconds): New unit test.
38652 2019-04-24  Philipp Stephani  <phst@google.com>
38654         Fix return type of make_time.
38656         make_time is documented to return a (TICKS . HZ) pair, so we can’t use
38657         make_lisp_time.  Introduce a new conversion function instead.
38659         * src/emacs-module.c (module_make_time): Use timespec_to_lisp to
38660         correct return type.
38662         * src/timefns.c (timespec_to_lisp): New function.
38663         (make_lisp_time): Use it.
38665         * test/src/emacs-module-tests.el (mod-test-add-nanosecond/valid):
38666         Check return type.
38668 2019-04-24  Philipp Stephani  <phst@google.com>
38670         Add module functions to convert from and to big integers.
38672         * src/module-env-27.h: Add new module functions to convert big
38673         integers.
38675         * src/emacs-module.h.in (emacs_mpz): Define if GMP is available.
38677         * src/emacs-module.c (module_extract_big_integer)
38678         (module_make_big_integer): New functions.
38679         (initialize_environment): Use them.
38681         * test/data/emacs-module/mod-test.c (Fmod_test_double): New test
38682         function.
38683         (emacs_module_init): Define it.
38685         * test/src/emacs-module-tests.el (mod-test-double): New unit test.
38687         * doc/lispref/internals.texi (Module Values): Document new functions.
38689 2019-04-24  Philipp Stephani  <phst@google.com>
38691         Add conversions to and from struct timespec to module interface.
38693         Time values are a fundamental data type, and such conversions are hard
38694         to implement within modules because of the various forms of time
38695         values in Emacs Lisp.  Adding dedicated conversion functions can
38696         significantly simplify module code dealing with times.
38698         This approach uses nanosecond precision.  While Emacs in theory has
38699         support for higher-precision time values, in practice most languages
38700         and standards, such as POSIX, C, Java, and Go, have settled on
38701         nanosecond-precision integers to represent time.
38703         * src/emacs-module.h.in: Add header for struct timespec.
38705         * src/module-env-27.h: Add module functions for time conversion.
38707         * src/emacs-module.c (module_extract_time, module_make_time): New
38708         functions.
38709         (initialize_environment): Use them.
38711         * test/data/emacs-module/mod-test.c (Fmod_test_add_nanosecond): New
38712         test function.
38713         (emacs_module_init): Define it.
38715         * test/src/emacs-module-tests.el (mod-test-add-nanosecond/valid)
38716         (mod-test-add-nanosecond/nil, mod-test-add-nanosecond/invalid): New
38717         unit tests.
38719         * doc/lispref/internals.texi (Module Values): Document time
38720         conversion functions.
38722 2019-04-23  Eli Zaretskii  <eliz@gnu.org>
38724         Revert "Remove font.c code commented out for a decade"
38726         This reverts commit 64d0cd9810af6bd0c378fc6bc666c76ddfa97e40.
38728         Rationale: any font-related code and comments, even if unused
38729         for decades, serves as important source of useful information
38730         in an area of Emacs code that is notoriously under-documented.
38732         Please do NOT remove this stuff until we have an active
38733         expert in this are on board, who will then decide whether
38734         this can be retired.
38736 2019-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
38738         Don't link libXft when using cairo
38740         * configure.ac: Check cairo early.  Don't try Xft if cairo is used.
38741         * lwlib/lwlib-utils.h [USE_CAIRO]: Include cairo.h and fontconfig.h.
38742         (XftFont, XftDraw, XftColor, XGlyphInfo) [USE_CAIRO]: New typedefs.
38743         (XftFontOpenName, XftFontClose, XftDrawCreate, XftDrawDestroy)
38744         (XftDrawRect, XftDrawStringUtf8, XftTextExtentsUtf8) [USE_CAIRO]: New macros.
38745         (crxft_font_open_name, crxft_font_close, crxft_draw_create)
38746         (crxft_draw_rect, crxft_draw_string, crxft_text_extents) [USE_CAIRO]: New
38747         externs.
38748         * lwlib/lwlib-utils.c [USE_CAIRO]: Include math.h, cairo-ft.h, and
38749         cairo-xlib.h.
38750         (crxft_font_open_name, crxft_font_close, crxft_draw_create)
38751         (crxft_set_source_color, crxft_draw_rect, crxft_draw_string)
38752         (crxft_text_extents) [USE_CAIRO]: New Xft compatibility functions.
38753         * lwlib/xlwmenuP.h [USE_CAIRO]: Include lwlib-utils.h.
38754         * lwlib/xlwmenu.c (display_menu_item) [USE_CAIRO]: Call
38755         cairo_surface_mark_dirty and cairo_surface_flush.
38756         * lwlib/lwlib-Xaw.c [USE_CAIRO]: Include stdlib.h and lwlib-utils.h.
38757         (draw_text) [USE_CAIRO]: Call cairo_surface_flush.
38758         * src/xsettings.c [USE_CAIRO]: Include fontconfig.h
38759         (apply_xft_settings) [!HAVE_XFT]: Don't call XftDefaultSubstitute or
38760         XftDefaultSet.
38761         * lwlib/lwlib-Xaw.c:
38762         * lwlib/lwlib-int.h:
38763         * lwlib/xlwmenu.c:
38764         * lwlib/xlwmenuP.h:
38765         * src/xrdb.c:
38766         * src/xsettings.c:
38767         * src/xterm.c: Replace all #ifdef HAVE_XFT with #if defined USE_CAIRO ||
38768         defined HAVE_XFT.
38769         * src/xfns.c (x_default_font_parameter): Replace #ifdef HAVE_XFT with #if
38770         defined USE_CAIRO || defined HAVE_XFT.
38772 2019-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>
38774         * lisp/emacs-lisp/timer-list.el: Fix header-line alignment
38776         Enable lexical-binding.
38777         (cl-print-compiled, cl-print-compiled-button): Declare.
38778         (timer-list-mode): Add spacing to align the header.
38780 2019-04-23  Philipp Stephani  <phst@google.com>
38782         * src/emacs-module.c: Add an additional requirement for API changes.
38784 2019-04-23  Paul Eggert  <eggert@cs.ucla.edu>
38786         Remove some unnecessary #ifdef directives
38788         These directives are in files that are compiled only if the
38789         symbols are defined.
38790         * src/gfilenotify.c: Remove unnecessary ‘#ifdef HAVE_GFILENOTIFY’.
38791         * src/inotify.c: Remove unnecessary ‘#ifdef HAVE_INOTIFY’.
38792         * src/kqueue.c: Remove unnecessary ‘#ifdef HAVE_KQUEUE’.
38794 2019-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>
38796         * etc/package-keyring.gpg: Add the 2019 key
38798 2019-04-23  Paul Eggert  <eggert@cs.ucla.edu>
38800         Remove font.c code commented out for a decade
38802         * src/font.c (LSTRING_HEADER_SIZE, LSTRING_GLYPH_SIZE, check_gstring)
38803         (check_otf_features, otf_list, otf_tag_symbol, otf_open)
38804         (font_otf_capability, generate_otf_features)
38805         (font_otf_DeviceTable, font_otf_ValueRecord)
38806         (font_otf_Anchor, Ffont_drive_otf, Ffont_otf_alternates)
38807         (Fdraw_string, syms_of_font): Remove "experimental and not
38808         tested much" code that has been "#if 0"-ed out for more than a
38809         decade and which was getting in the way of maintenance.
38811 2019-04-23  Philipp Stephani  <phst@google.com>
38813         Use three-argument form for out-of-range errors.
38815         This provides more debugging hints for callers.
38817         * src/emacs-module.c (module_copy_string_contents): Use three-argument
38818         form of args-out-of-range.
38820 2019-04-23  Philipp Stephani  <phst@google.com>
38822         Use high-level integer conversion macro in a few cases.
38824         INT_TO_INTEGER is more obviously correct and means we don’t have to
38825         worry about data type sizes and signedness.
38827         * src/json.c (json_parse_error): Use INT_TO_INTEGER.  The tiny
38828         performance gain of make_fixed_natnum isn’t worth the trouble then
38829         signaling an error.
38831 2019-04-23  Mattias Engdegård  <mattiase@acm.org>
38833         Rename auto-revert-notify-watch-descriptor-hash-list
38835         * lisp/autorevert.el
38836         (auto-revert-notify-watch-descriptor-hash-list):
38837         Rename to auto-revert--buffers-by-watch-descriptor.  Improved doc string.
38838         (auto-revert-notify-rm-watch, auto-revert-notify-add-watch,
38839         auto-revert-notify-handler): Use new name.
38841 2019-04-23  Michael Albinus  <michael.albinus@gmx.de>
38843         Remote processes cannot use a pipe process for stderr
38845         * doc/lispref/processes.texi (Asynchronous Processes):
38846         (Accepting Output): Remote processes cannot use a pipe process for
38847         stderr.
38849 2019-04-23  Philipp Stephani  <phst@google.com>
38851         * src/json.c (json_make_string): Add missing cast.
38853 2019-04-23  Eli Zaretskii  <eliz@gnu.org>
38855         Speed up JSON parsing
38857         Thanks to Dmitry Gutov <dgutov@yandex.ru> for running many
38858         benchmarks and for useful discussions.
38859         * src/json.c (json_make_string): Speed up parsing of JSON
38860         strings by optimizing the normal case of a valid UTF-8 string
38861         being returned from libjansson.  (Bug#31138)
38863 2019-04-23  Philipp Stephani  <phst@google.com>
38865         Small fix for a JSON unit test.
38867         * test/src/json-tests.el (json-parse-string/null): Make JSON object
38868         syntactically valid.  This test is supposed to check whether an
38869         escaped null character causes an error, but without quoting the string
38870         it would be syntactically invalid in any case.
38872 2019-04-23  Alan Mackenzie  <acm@muc.de>
38874         Optimize for typing characters into long C++ raw strings.
38876         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
38877         (c-font-lock-objc-methods) (c-font-lock-declarations, c-font-lock-enum-tail)
38878         (c-font-lock-cut-off-declarators, c-font-lock-enclosing-decls): If the chunk
38879         been fontified consists entirely of comments and strings, don't attempt to
38880         perform the function's action.
38882         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Don't
38883         expand (c-new-BEG c-new-END) unnecessarily to the entire raw string being
38884         fontified.
38885         (c-fl-decl-start, c-fl-decl-end): When in a (raw or otherwise) string, don't
38886         return a position outside of the string (which used to cause unneeded
38887         fontification).
38889 2019-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
38891         Release xft_data in widget destroy callback to avoid visual distraction
38893         * lwlib/lwlib-int.h (struct _widget_instance) [HAVE_XFT]: Remove nr_xft_data.
38894         * lwlib/lwlib-Xaw.c (find_xft_data, xaw_update_one_widget) [HAVE_XFT]: Loop
38895         while widget member is not NULL instead of using nr_xft_data.
38896         (xaw_destroy_instance) [HAVE_XFT]: Move xft_data release code from here ...
38897         (destroy_xft_data) [HAVE_XFT]: ... to here.
38898         (make_dialog) [HAVE_XFT]: Add destroy_xft_data as destroy callback for dialog.
38900 2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>
38902         Let plain ‘make’ work even not GNU Make
38904         * Makefile.in (top_distclean): Clean makefile as well as Makefile.
38905         * configure.ac: If not using plain ‘make’, create a makefile
38906         so that plain ‘make’ simply calls $(MAKE).
38908 2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>
38910         Revert Vinternal_interpreter_environment tweak
38912         Stefan Monnier pointed out examples like (funcall `(closure
38913         ,(let ((cycle (list nil))) (setcdr cycle cycle)) () a)),
38914         where the user can set Vinternal_interpreter_environment
38915         indirectly.
38916         * src/eval.c (Fsetq): Revert recent change, going back to Fassq.
38918 2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>
38920         Improve UBSan discussion in etc/DEBUG
38922         * etc/DEBUG: Improve -gdwarf-N documentation.
38923         Go into more detail about UndefinedBehaviorSanitizer.
38925 2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>
38927         Tweak Vinternal_interpreter_environment lookup
38929         * src/eval.c (Fsetq, eval_sub): Use assq_no_quit instead
38930         of Fassq for a list that cannot contain cycles or be that long.
38932 2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>
38934         Improve wur coverage on older GCCs
38936         * src/conf_post.h (__has_attribute_warn_unused_result):
38937         New macro for compilers lacking __has_attribute.
38938         * src/systhread.h (__has_attribute): Remove ineffective define.
38939         (ATTRIBUTE_WARN_UNUSED_RESULT): Work better on GCC 3.4 thru 4.
38941 2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>
38943         Go back to old way of checking json int range
38945         Although the lisp.h macros really need improvement,
38946         INTEGER_TO_INT is not the right way to go about it, as it
38947         causes conversion from intmax_t to uintmax_t and back again,
38948         which can cause a signal if the value is negative.
38949         * src/lisp.h (INTEGER_TO_INT, ranged_integer_to_int)
38950         (ranged_integer_to_uint): Remove, reverting recent changes to
38951         this file.
38952         * src/json.c (lisp_to_json): Revert to previous code,
38953         as the change messes up with uintmax_t<->intmax_t conversion.
38955 2019-04-22  Philipp Stephani  <phst@google.com>
38957         * src/lisp.h (INTEGER_TO_INT): Fix bug.
38959 2019-04-22  Mattias Engdegård  <mattiase@acm.org>
38961         Precise handling of filenotify `stopped' events
38963         * lisp/autorevert.el (auto-revert-notify-handler):
38964         When getting a `stopped' event, deal with it for the buffers it applies to,
38965         rather than for all buffers in auto-revert mode.
38967 2019-04-22  Mattias Engdegård  <mattiase@acm.org>
38969         * lisp/autorevert.el (auto-revert-notify-rm-watch): Simplify.
38971 2019-04-22  Mattias Engdegård  <mattiase@acm.org>
38973         Revert "Don't remove notify descriptor that is already gone"
38975         This reverts commit e9e807e9317ca7aa99a5dd220ee8586f8f4331bf,
38976         which is no longer necessary as `file-notify-rm-watch' has been
38977         made robust against reentry.
38979 2019-04-22  Mattias Engdegård  <mattiase@acm.org>
38981         Make file-notify-rm-watch robust against reentry
38983         Allow file-notify callbacks to call `file-notify-rm-watch', harmlessly,
38984         after receiving a `stopped' event without triggering recursion.
38986         * lisp/filenotify.el (file-notify--watch): Note that `callback' can be nil.
38987         (file-notify--rm-descriptor): Set the `callback' field to nil before
38988         sending `stopped'.
38989         (file-notify-rm-watch): Don't do anything if the `callback' field is nil.
38991 2019-04-22  Philipp Stephani  <phst@google.com>
38993         Introduce a helper macro to convert a Lisp integer to a C integer.
38995         This is similar to CONS_TO_INTEGER.  The inverse (INT_TO_INTEGER)
38996         already exists.
38998         * src/lisp.h (INTEGER_TO_INT): New macro.
38999         (ranged_integer_to_int, ranged_integer_to_uint): New
39000         functions.
39002         * src/json.c (lisp_to_json): Use helper macro.
39004 2019-04-22  Philipp Stephani  <phst@google.com>
39006         Improve documentation around standard error pipes (Bug#35328).
39008         * doc/lispref/processes.texi (Asynchronous Processes): Document
39009         existence and properties of the standard error process.
39010         (Accepting Output): Document that one has to accept output from the
39011         standard error process separately.
39013 2019-04-22  Philipp Stephani  <phst@google.com>
39015         Module API: Don’t require null-terminated strings in make_string.
39017         * src/emacs-module.c (module_make_string): Use make_unibyte_string, which
39018         doesn’t require its argument to be null-terminated.  Since it always
39019         returns a heap-allocated string, we don’t have to copy it any more
39020         while decoding.
39021         (module_decode): New helper function.
39023 2019-04-22  Philipp Stephani  <phst@google.com>
39025         Use utf-8-unix for coding system conversions in the module API.
39027         Factor out conversions into helper functions to provide a simpler
39028         interface.
39030         * src/emacs-module.c (module_encode, module_decode_copy): New helper
39031         functions.
39032         (module_make_function, module_copy_string_contents)
39033         (module_make_string): Use them.
39035 2019-04-22  Basil L. Contovounesios  <contovob@tcd.ie>
39037         Improve pure and side-effect-free docs
39039         For discussion, see thread starting at:
39040         https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg00316.html
39041         * doc/lispref/customize.texi (Composite Types): Do not overspecify
39042         :match-alternatives predicates.
39043         * doc/lispref/eval.texi (Intro Eval): Anchor definition of "side
39044         effect" for cross-referencing...
39045         * doc/lispref/functions.texi (What Is a Function): ...from here.
39046         Define what a pure function is.
39047         * doc/lispref/internals.texi (Writing Emacs Primitives): Describe
39048         currently preferred approach to marking primitives as pure and
39049         side-effect-free.
39050         * doc/lispref/symbols.texi (Standard Properties): Expand description
39051         of pure and side-effect-free properties.
39053 2019-04-22  Philipp Stephani  <phst@google.com>
39055         Refactoring: Inline a few macros.
39057         Now that CATCHER_ALL catches signals as well, we can simplify
39058         MODULE_HANDLE_NONLOCAL_EXIT a bit.
39060         * src/emacs-module.c (MODULE_SETJMP, MODULE_SETJMP_1): Remove.
39061         (MODULE_HANDLE_NONLOCAL_EXIT): Inline MODULE_SETJMP and
39062         MODULE_SETJMP_1.
39064 2019-04-22  Michael Albinus  <michael.albinus@gmx.de>
39066         Some changes in tramp-tests
39068         * test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
39069         Check for backward compatibility.
39070         (tramp-test33-environment-variables): Apply a better check for
39071         unset variable.
39073 2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>
39075         Mention AddressSanitizer etc. in etc/DEBUG
39077         * etc/DEBUG: Modernize for AddressSanitizer etc.
39078         * etc/NEWS: Defer to etc/DEBUG for this.
39080 2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>
39082         Remove --enable-checking=xmallocoverrun
39084         It doesn’t work anymore, and these days ‘gcc -fsanitize=address’
39085         does a better job anyway.
39086         * configure.ac: Remove the option.
39087         * configure.ac (ac_xmalloc_overrun, XMALLOC_OVERRUN_CHECK):
39088         * src/alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD)
39089         (XMALLOC_OVERRUN_CHECK_SIZE, XMALLOC_OVERRUN_SIZE_SIZE)
39090         (xmalloc_overrun_check_header, xmalloc_overrun_check_trailer)
39091         (xmalloc_put_size, xmalloc_get_size, overrun_check_malloc)
39092         (overrun_check_realloc, overrun_check_free):
39093         Remove.  All uses removed.
39094         * etc/NEWS: Mention this.
39096 2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>
39098         Remove --enablechecking=conslist configure option
39100         * configure.ac: Remove the option.
39101         * configure.ac (ac_gc_check_cons_list, GC_CHECK_CONS_LIST):
39102         * src/alloc.c (check_cons_list) [GC_CHECK_CONS_LIST]:
39103         * src/lisp.h (lisp_h_check_cons_list, check_cons_list):
39104         Remove.  All uses removed.
39105         * etc/NEWS: Mention this.
39107 2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>
39109         Simplify XPNTR
39111         Because XPNTR now uses ATTRIBUTE_NO_SANITIZE_UNDEFINED,
39112         it can be simplified.
39113         * src/alloc.c (macro_PNTR_ADD, PNTR_ADD, macro_XPNTR): Remove.
39114         (XPNTR): Open-code rather than using the removed macros and
39115         functions.  Also, simplify by using LISP_WORD_TAG.
39117 2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>
39119         Fix drain_reloc_list alignment bug
39121         * src/pdumper.c (dump_charset): Use alignof (struct charset),
39122         not alignof (int), since struct charset might be more strictly
39123         aligned than int.  I think this is just a minor performance
39124         issue, but we might as well use the correct alignment.
39125         (drain_reloc_list): Use an alignment instead of a size for the
39126         output alignment.  This prevents undefined behavior when
39127         alignof (struct emacs_reloc) == 8 and sizeof (dump_off) == 4
39128         when building on x86-64 with gcc -fsanitize=undefined.
39130 2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>
39132         Port dump_bitset_clear to -fsanitize=undefined
39134         * src/pdumper.c (dump_bitset_clear):
39135         Pacify -fsanitize=undefined by avoiding memset (NULL, x, 0),
39136         which strictly speaking has undefined behavior although it
39137         works on all production platforms I know.
39139 2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>
39141         Port to recent gcc -fsanitize=undefined
39143         * src/alloc.c (XPNTR): Add ATTRIBUTE_NO_SANITIZE_UNDEFINED and
39144         remove ATTRIBUTE_UNUSED.  Do not define as a macro, so that
39145         ATTRIBUTE_NO_SANITIZE_UNDEFINED works.
39146         * src/lisp.h (lisp_h_XSYMBOL): Remove.  All uses removed.
39147         With recent GCC the macro does not work with -fsanitize=undefined,
39148         and the macro can be omitted as its only function is to optimize -O0.
39150 2019-04-21  Basil L. Contovounesios  <contovob@tcd.ie>
39152         Move side-effect-free from unsafep.el to subr.el
39154         * lisp/emacs-lisp/unsafep.el: Move side-effect-free property setting
39155         from here...
39156         * lisp/subr.el: ...to here, as function declarations for modularity.
39158 2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>
39160         Fix double-free in pdumper
39162         Revert the double-free bug that I introduced in
39163         2019-03-11T15:20:54Z!eggert@cs.ucla.edu.
39164         * src/pdumper.c (dump_mmap_reset): Do not free the private member;
39165         that’s the release function’s job.
39166         (dump_mm_heap_cb_release): Free cb if its refcount goes to zero.
39167         (dump_mmap_contiguous_heap): Mention memory leak in comment.
39169 2019-04-21  Glenn Morris  <rgm@gnu.org>
39171         Merge from origin/emacs-26
39173         9d7e08d (origin/emacs-26) Avoid false positives and false negatives o...
39174         75b589c Fix markup related to quoting in Info
39175         fd6ff29 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
39176         cd2204f Add a package: line to c-submit-bug-report.
39177         a992dca ; Remove empty NEWS sections
39178         ea67270 ; Add NEWS sections for 26.3
39179         45b0946 ; Bump Emacs version to 26.2.50
39180         aae8cc3 * admin/admin.el (set-version): Add NEWS headers for a .50 ve...
39182 2019-04-21  Glenn Morris  <rgm@gnu.org>
39184         Merge from origin/emacs-26
39186         cd2204f Add a package: line to c-submit-bug-report.
39187         a992dca ; Remove empty NEWS sections
39188         ea67270 ; Add NEWS sections for 26.3
39190         Conflicts:
39191                 etc/NEWS
39193 2019-04-21  Glenn Morris  <rgm@gnu.org>
39195         Merge from origin/emacs-26
39197         aae8cc3 * admin/admin.el (set-version): Add NEWS headers for a .50 ve...
39199 2019-04-21  Glenn Morris  <rgm@gnu.org>
39201         Merge from origin/emacs-26
39203         037970f Document insert-image-file's return value (Bug#32978)
39204         598b45a Autoload cua-toggle-rectangle-mark (Bug#34947)
39205         95bd56d Tell xclip not to expect job-control under eshell (Bug#35257)
39206         9997bbb ; * src/emacs.c: Fix typo in comment (Bug#35320).
39207         a4ad7be Fix off-by-one-link error in image--set-property
39209 2019-04-20  Paul Eggert  <eggert@cs.ucla.edu>
39211         Port make-fingerprint to LeakSanitizer
39213         * lib-src/make-fingerprint.c (buf): Now static,
39214         to pacify LeakSanitizer.
39216 2019-04-20  Michael R. Mauger  <michael@mauger.com>
39217         Fix Bug#35307.
39219         * lisp/progmodes/sql.el(sql-product-alist): Added
39220         :prompt-cont-regexp for ms.
39222         Looking for experience with Microsofts SQLCMD interpreter and
39223         adjustments needed for Emacs to support it.
39225 2019-04-20  Michael R. Mauger  <michael@mauger.com>
39226         Fix  Bug#24483.
39228         * lisp/progmodes/sql.el
39229         (sql-interactive-remove-continuation-prompt): Properly protect
39230         `sql-prompt-cont-regexp'.
39231         (sql-interactive-mode): Same.
39233          * lisp/progmodes/sql.el
39234         (sql-product-alist): Corrected :terminator defns.
39235         (sql-debug-send): New variable.
39236         (sql-send-string): Use it and correct buffer context.
39237         (sql-send-magic-terminator): Use `sql-input-sender'.
39238         (sql-placeholders-filter): Bug#11481 Don't recursively replace placeholders
39239         * test/lisp/progmodes/sql-tests.el
39240         (sql-test-placeholder-filter): Test placeholder functionality.
39242 2019-04-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
39244         Fix text metrics calculation in Xft support for lwlib
39246         * lwlib/lwlib-Xaw.c (get_text_width_and_height) [HAVE_XFT]:
39247         * lwlib/xlwmenu.c (string_width) [HAVE_XFT]: Use xOff member instead of width.
39249 2019-04-20  Alexander Gramiak  <agrambot@gmail.com>
39251         * src/configure.ac: Check for GTK 2 features only on GTK 2
39253 2019-04-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
39255         * lwlib/lwlib-Xaw.c (draw_text) [HAVE_XFT]: Fix memory leak.
39257 2019-04-20  Dmitry Gutov  <dgutov@yandex.ru>
39259         Support amending the last commit using VC-Hg
39261         * lisp/vc/log-edit.el (log-edit--toggle-amend): Extract from
39262         vc-git-log-edit-toggle-amend (bug#34944).
39264         * lisp/vc/vc-hg.el (vc-hg-log-edit-toggle-amend): New function.
39265         Use the aforementioned.
39266         (vc-hg-log-edit-mode-map): New variable.
39267         (vc-hg-log-edit-mode): New major mode.
39269 2019-04-20  Michael Albinus  <michael.albinus@gmx.de>
39271         Mark different-diagnostic-types as failed on emba.
39273         * test/lisp/progmodes/flymake-tests.el (different-diagnostic-types):
39274         Expect also failure on emba.gnu.org.
39276 2019-04-20  Paul Eggert  <eggert@cs.ucla.edu>
39278         Improve XDG_RUNTIME_DIR diagnostic
39280         * lib-src/emacsclient.c (set_local_socket):
39281         If there appears to be an XDG runtime directory for the user
39282         but XDG_RUNTIME_DIR is unset, suggest setting it while warning
39283         about potential security issues (Bug#35300).
39285 2019-04-20  Alan Mackenzie  <acm@muc.de>
39287         Fix Pike Mode's autodoc doc comments style's continued lines.
39289         * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Recognize
39290         matches of c-doc-line-join-re as syntactic whitespace.
39291         (c-find-decl-prefix-search): Recognize and move over matches of
39292         c-doc-line-join-re as whitespace.
39293         (c-find-decl-spots): Before moving backward a char, check (bobp).  Before
39294         moving forward over a comment, check it isn't possibly a "bright" comment.
39296         * lisp/progmodes/cc-fonts.el (c-get-doc-comment-style): New function,
39297         extracted from c-compose-keywords-list.
39298         (c-compose-keywords-list): Call the above new function.
39299         (pike-font-lock-keywords, pike-font-lock-keywords-2)
39300         (pike-font-lock-keywords-3): Call c-set-doc-comment-res.
39301         (c-doc-line-join-re, c-doc-bright-comment-start-re, c-doc-line-join-end-ch):
39302         New variables.
39303         (c-set-doc-comment-re-element, c-set-doc-comment-char-list): New macros.
39304         (c-set-doc-comment-res): New function.
39305         (c-font-lock-doc-comments): For consistency and repeatability, in a sequence
39306         of C++ style doc comments, don't fontify the region between BOL and the
39307         comment marker.
39308         (autodoc-line-join-re, autodoc-bright-comment-start-re)
39309         (autodoc-line-join-end-ch): New variables.
39311         * lisp/progmodes/cc-mode.el (c-doc-fl-decl-start, c-doc-fl-decl-end): New
39312         functions.
39313         (c-change-expand-fl-region, c-context-expand-fl-region): Call the above two
39314         new functions for extra possibilities for the start and end of a construct.
39316         * doc/misc/cc-mode.texi (Doc Comments): Add a sentence drawing attention to
39317         the possibility of fontifying constructs within a doc comment.
39319 2019-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
39321         * lisp/emacs-lisp/smie.el (smie-indent-comment-continue): Single-char case.
39323         Make it so the comment-continue is aligned with the comment-start when
39324         comment-start is a single-char.
39326 2019-04-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
39328         * src/ftcrfont.c (ftcrfont_shape): Fix last change.
39330 2019-04-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
39332         Use bitmap strikes as fallbacks for ftcr font backend
39334         * src/ftfont.h (struct font_info): New member bitmap_strike_index.
39335         * src/ftfont.c (ftfont_open2): Try bitmap strikes as fallbacks.
39336         (ftfont_open): Discard bitmap strikes.
39337         * src/ftcrfont.c (ftcrfont_open): Recalculate metrics for bitmap strikes.
39338         (ftcrfont_get_bitmap, ftcrfont_anchor_point, ftcrfont_shape): New functions.
39339         (struct font_driver): Use them.
39341 2019-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
39343         * lisp/emacs-lisp/radix-tree.el (pcase-defmacro): Improve docstring
39345         * lisp/emacs-lisp/byte-run.el (define-obsolete-variable-alias): Tweak doc
39347         * lisp/calendar/time-date.el (date-to-time): 'signal' only takes 2 args
39349         * lisp/calendar/parse-time.el (parse-time-string): Use functionp and setf
39351 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
39353         Fix GC_CHECK_STRING_BYTES false alarm with pdumper
39355         * src/alloc.c (string_bytes): Don’t abort on strings
39356         taken from the dumped file.
39358 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
39360         Fix another hash false alarm
39362         * src/pdumper.c (dump_vectorlike): Fix hash.
39364 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
39366         * src/emacs-module.c (value_storage_contains_p): Fix typo.
39368 2019-04-19  Philipp Stephani  <phst@google.com>
39370         Remove some ineffective #ifdefs.
39372         Since DEFSYM doesn't by itself do anything and make-docfile ignores
39373         preprocessor statements, conditional compilation of DEFSYMs is
39374         ineffective.
39376         * src/data.c (syms_of_data): Remove ineffective #ifdefs.
39378 2019-04-19  Philipp Stephani  <phst@google.com>
39380         Remove some #ifdefs for user pointers.
39382         Even if Emacs is compiled without module support, we don't have to
39383         comment out every bit of user pointer support.  Defining the basic
39384         structures and functions and detecting user pointers in switch
39385         statements is harmless, and we're already doing the same for module
39386         functions.  Removing these #ifdefs makes the code a bit easier to
39387         read.
39389         * src/lisp.h (PVEC_USER_PTR, struct Lisp_User_Ptr, USER_PTRP)
39390         (XUSER_PTR): Define unconditionally.
39392         * src/data.c (Ftype_of):
39393         * src/alloc.c (cleanup_vector):
39394         * src/print.c (print_vectorlike):
39395         * src/pdumper.c (dump_vectorlike): Remove #ifdef for user pointers.
39397 2019-04-19  Philipp Stephani  <phst@google.com>
39399         Remove special-casing of tagged pointers.
39401         This partially reverts commit
39402         09b2b8a5ce5b542856f93b645db51eb11cf9855a.
39404         * src/alloc.c (mark_maybe_pointer): Remove special-casing of tagged
39405         pointers.  After commit 09d746dad36e4780d379f975a84b1b076da78c50,
39406         modules no longer rely on tagged pointers.
39408 2019-04-19  Philipp Stephani  <phst@google.com>
39410         Refactoring: Reduce code duplication
39412         * src/emacs-module.c (value_storage_contains_p): New function.
39413         (module_free_global_ref, value_to_lisp): Use it.
39415 2019-04-19  Mattias Engdegård  <mattiase@acm.org>
39417         Remove subsumed regexp branches
39419         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings)
39420         (c-after-change-mark-abnormal-strings): Remove `\r' subsumed by `.'.
39422 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
39424         Fix Fload dangling pointer
39426         * src/lread.c (Fload): Expand decl’s lifetime to match its use.
39427         Bug found by gcc -fsanitize=address.
39429 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
39431         Fix comment and tweak eval_sub
39433         * src/eval.c (eval_sub): Check whether Fassq returns Qnil,
39434         not whether it returns a cons, as NILP is faster than CONSP
39435         nowadays.  Remove incorrect comment “only original_fun and
39436         original_args have values that will be used below”; instead,
39437         move declarations around so that the set of variables with
39438         useful values is obvious.
39440 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
39442         Fix dump_map_file on unusual platforms
39444         * src/pdumper.c (dump_map_file): Fix recently-introduced typo
39445         on platforms that support neither POSIX nor MS-Windows VM.
39447 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
39449         Minor lread.c tweaks
39451         * src/lread.c (load_warn_unescaped_character_literals):
39452         Use AUTO_STRING to help the GC.
39453         (Fload): Use bool for boolean.
39455 2019-04-19  Eric Abrahamsen  <eric@ericabrahamsen.net>
39457         Clear gnus-group-list when the newsrc-hashtb is recreated
39459         * lisp/gnus/gnus-start.el (gnus-make-hashtable-from-newsrc-alist):
39460           This routine also happens when re-sorting groups; make sure we're
39461           clearing the group list.
39463 2019-04-19  Philipp Stephani  <phst@google.com>
39465         Make warning about unescaped character literals more helpful.
39467         See Bug#31676.
39469         * lisp/emacs-lisp/byte-run.el
39470         (byte-run--unescaped-character-literals-warning): New defun.
39472         * src/lread.c (load_warn_unescaped_character_literals): Use new defun.
39473         (syms_of_lread): Define symbol for new defun.
39475         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Use new
39476         defun.
39478         * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
39479         test/lisp/emacs-lisp/bytecomp-tests.el
39480         (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
39482 2019-04-19  Philipp Stephani  <phst@google.com>
39484         Refactoring: simplify definition of some internal variables.
39486         In some cases, we never specbind internal objects, so they don't have
39487         to be symbols.  Rather than using DEFSYM/DEFVAR and then uninterning
39488         the symbols, use plain static variables.  Call staticpro for all of
39489         them, to protect them from the garbage collector.
39491         * src/eval.c (syms_of_eval): Use a static variable for
39492         Qcatch_all_memory_full.
39494         * src/emacs-module.c (syms_of_module): Use static variables for
39495         Vmodule_refs_hash, Vmodule_runtimes, and Vmodule_environments.
39497 2019-04-19  Eric Abrahamsen  <eric@ericabrahamsen.net>
39499         Don't check for group existence in gnus-group-goto-group
39501         * lisp/gnus/gnus-group.el (gnus-group-goto-group): Just look for the
39502           string.
39504 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
39506         Fix regexp branches that subsume other branches
39508         Problems reported by Mattias Engdegård in:
39509         https://lists.gnu.org/r/emacs-devel/2019-04/msg00803.html
39510         * lisp/arc-mode.el (archive-rar-summarize):
39511         * lisp/eshell/em-hist.el (eshell-hist-word-designator):
39512         * lisp/info.el (Info-dir-remove-duplicates):
39513         * lisp/international/ja-dic-cnv.el (skkdic-convert-postfix)
39514         (skkdic-convert-prefix, skkdic-collect-okuri-nasi):
39515         * lisp/progmodes/cc-awk.el (c-awk-esc-pair-re):
39516         * lisp/xml.el (xml-att-type-re):
39517         Omit regexp branches that subsume other branches.
39518         * lisp/progmodes/cperl-mode.el (cperl-beautify-regexp-piece):
39519         $ and ^ aren’t simple-codes.
39521 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
39523         Fix mail-extr regexp typo with ".".
39525         Problem reported by Mattias Engdegård in:
39526         https://lists.gnu.org/r/emacs-devel/2019-04/msg00543.html
39527         * lisp/mail/mail-extr.el (mail-extr-telephone-extension-pattern):
39528         Escape the trailing optional period after an abbreviation.
39530 2019-04-19  Michael Albinus  <michael.albinus@gmx.de>
39532         * lisp/net/tramp-adb.el (tramp-adb-prompt): Remove repetition of expression
39534         matching an empty string.
39536 2019-04-19  Michael Albinus  <michael.albinus@gmx.de>
39538         Do not handle :stop in tramp-*-handle-make-process
39540         * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
39541         * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Do not
39542         handle :stop anymore.
39544 2019-04-19  Philipp Stephani  <phst@google.com>
39546         Remove :stop key from make-process.
39548         This has never worked and caused issues such as Bug#30460.
39550         * src/process.c (Fmake_process): Don't accept :stop key any more.
39551         (syms_of_process): Define needed symbol 'null'.
39553         * test/src/process-tests.el (make-process/stop): New unit test.
39555         * doc/lispref/processes.texi (Asynchronous Processes): Remove :stop
39556         key from manual.
39558 2019-04-19  Michael Albinus  <michael.albinus@gmx.de>
39560         Adapt tramp-test32-shell-command
39562         * test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
39563         Check "tput" before running `shell-command-width' test.
39565 2019-04-19  Philipp Stephani  <p.stephani2@gmail.com>
39567         Add a new user option 'ido-big-directories'.
39569         This provides an alternative to 'ido-max-directory-size', for
39570         directories that are statically known to be too big for Ido
39571         completion.
39573         * lisp/ido.el (ido-big-directories): New user option.
39574         (ido-directory-too-big-p): Use it.
39576         * test/lisp/ido-tests.el (ido-directory-too-big-p): New unit test.
39578 2019-04-19  Philipp Stephani  <phst@google.com>
39580         Use eassume (false) for branch that's never taken.
39582         * src/json.c (json_handle_nonlocal_exit): Use eassume (false) since
39583         this branch is never taken.
39585 2019-04-19  Eli Zaretskii  <eliz@gnu.org>
39587         Fix compilation warning due to a recent change
39589         * src/json.c (json_handle_nonlocal_exit): Always return a
39590         value.
39592 2019-04-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
39594         * src/ftcrfont.c (ftcrfont_glyph_extents): Activate ft_size_draw.
39596         * src/ftcrfont.c (ftcrfont_open): Avoid returning while blocking input.
39598 2019-04-18  Philipp Stephani  <phst@google.com>
39600         Refactoring: have CATCHER_ALL also catch signals.
39602         In all cases where we use a CATCHER_ALL handler we also want to catch
39603         signals.  Therefore have 'signal' respect CATCHER_ALL.  Adapt internal
39604         interfaces so that handlers can distinguish among the two types of
39605         nonlocal exits in CATCHER_ALL handlers.
39607         * src/lisp.h (enum nonlocal_exit): New enum.
39608         (struct handler): Add member 'nonlocal_exit' to hold the type of
39609         nonlocal exit during stack unwinding.
39611         * src/eval.c (signal_or_quit): Also respect CATCHER_ALL handlers.
39612         (unwind_to_catch): Store nonlocal exit type in catch structure.
39613         (Fthrow, signal_or_quit): Adapt callers.
39614         (internal_catch_all): Install only one handler.  Give handler a
39615         nonlocal exit type argument.
39616         (internal_catch_all_1): Remove, no longer needed.
39618         * src/emacs-module.c (MODULE_SETJMP): Install only one handler.
39619         (module_handle_nonlocal_exit): New function to handle all nonlocal
39620         exits.
39621         (MODULE_SETJMP_1): Pass nonlocal exit type to handler function.
39622         (module_handle_signal, module_handle_throw): Remove, no longer needed.
39624         * src/json.c (json_handle_nonlocal_exit): New helper function.
39625         (json_insert_callback): Adapt to change in 'internal_catch_all'.
39627 2019-04-18  Philipp Stephani  <phst@google.com>
39629         Update module documentation for bignum support.
39631         * doc/lispref/internals.texi (Module Values): Update documentation for
39632         'make_integer' and 'extract_integer' for bignum support.
39634 2019-04-18  Philipp Stephani  <phst@google.com>
39636         * lib-src/make-fingerprint.c (main): Properly initialize 'prog'
39638         * src/emacs-module.c: Add instructions how to change the module API
39640 2019-04-18  Paul Eggert  <eggert@cs.ucla.edu>
39642         Fix make-fingerprint off-by-one bug
39644         Problem reported by Alex Gramiak in:
39645         https://lists.gnu.org/r/emacs-devel/2019-04/msg00784.html
39646         * lib-src/make-fingerprint.c (main): Fix recently-introduced
39647         off-by-one bug when accessing args after -r.
39649 2019-04-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
39651         Only encode Gnus group names if they come from symbol-name
39653         * lisp/gnus/gnus-start.el (gnus-active-to-gnus-format): Names that
39654           were strings to begin with should already be properly encoded.
39656 2019-04-18  Paul Eggert  <eggert@cs.ucla.edu>
39658         Mark _Noreturn error functions as cold
39660         On my platform this made ‘make compile-always’ 1.3% faster.
39661         Suggested by Alex Gramiak in:
39662         https://lists.gnu.org/r/emacs-devel/2019-04/msg00684.html
39663         * configure.ac (nw): Don’t use -Wsuggest-attribute=cold.
39664         * lib-src/make-docfile.c (write_globals):
39665         Mark noreturn functions as cold.
39666         * src/callproc.c (exec_failed):
39667         * src/data.c (wrong_length_argument, wrong_type_argument):
39668         * src/emacs-module.c (module_abort):
39669         * src/emacs.c (terminate_due_to_signal):
39670         * src/eval.c (unwind_to_catch):
39671         * src/image.c (my_png_error, my_error_exit):
39672         * src/json.c (json_out_of_memory, json_parse_error):
39673         * src/keyboard.c (quit_throw_to_read_char, user_error):
39674         * src/lisp.h (die, wrong_type_argument, wrong_choice)
39675         (args_out_of_range, args_out_of_range_3, circular_list)
39676         (buffer_overflow, memory_full, buffer_memory_full)
39677         (string_overflow, xsignal, xsignal0, xsignal1, xsignal2)
39678         (xsignal3, signal_error, overflow_error, error, verror)
39679         (nsberror, report_file_errno, report_file_error)
39680         (report_file_notify_error, terminate_due_to_signal)
39681         (emacs_abort, fatal):
39682         * src/lread.c (load_error_old_style_backquotes)
39683         (end_of_file_error, invalid_syntax):
39684         * src/pdumper.c (error_unsupported_dump_object):
39685         * src/puresize.h (pure_write_error):
39686         * src/search.c (matcher_overflow):
39687         * src/sound.c (sound_perror, alsa_sound_perror):
39688         * src/sysdep.c (handle_arith_signal):
39689         * src/systime.h (time_overflow):
39690         * src/term.c (maybe_fatal, vfatal):
39691         * src/textprop.c (text_read_only):
39692         * src/timefns.c (invalid_time_zone_specification)
39693         (time_error, invalid_hz):
39694         * src/xterm.c (x_connection_closed):
39695         Use AVOID instead of _Noreturn void, so that it’s marked cold.
39696         * src/conf_post.h (__has_attribute_cold) [!__has_attribute]:
39697         New macro.
39698         (ATTRIBUTE_COLD): New macro.
39699         * src/frame.h (WINDOW_SYSTEM_RETURN): Add ATTRIBUTE_COLD.
39700         * src/lisp.h (AVOID): New macro.
39701         * src/xterm.c: Omit unnecessary static decls, so that we needn’t
39702         worry about which functions should be marked cold.
39703         (x_io_error_quitter): Mark as cold.
39705 2019-04-17  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
39707         * src/ftcrfont.c (ftcrfont_glyph_extents): Fix last change.
39709 2019-04-17  Philipp Stephani  <phst@google.com>
39711         Add ERT explainer for 'tramp--test-file-attributes-equal-p'
39713         * test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
39714         Use ERT explainer for 'equal' to improve failure messages.
39716 2019-04-17  Michael Albinus  <michael.albinus@gmx.de>
39718         Fix tramp-test32-shell-command
39720         * test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
39721         Run only if "tput" exist.
39723 2019-04-17  Glenn Morris  <rgm@gnu.org>
39725         Merge from origin/emacs-26
39727         a1c53d4 (origin/emacs-26) * admin/admin.el (make-manuals-dist--1): Up...
39728         d0f745f Document some compilation-mode faces
39729         23ccba0 Mention the assignment form in "Copyright Assignment"
39730         0f5568e Fix confusing wording in the user manual
39731         70ec392 Fix the MSDOS build when running under CWSDPMI
39732         7a608fc * lisp/progmodes/python.el: Be more careful about temp file r...
39734 2019-04-17  Glenn Morris  <rgm@gnu.org>
39736         Merge from origin/emacs-26
39738         266c622 Downcase charset
39739         92f3459 Update for Emacs-26
39740         beb4eac * doc/lispref/display.texi (Showing Images): Fix a typo.  (Bu...
39742 2019-04-17  Michael Albinus  <michael.albinus@gmx.de>
39744         Fix Bug#35241
39746         * lisp/files.el (executable-find): Quote default-directory.  (Bug#35241)
39748         * test/lisp/files-tests.el (files-tests-executable-find): New test.
39750 2019-04-17  Michael Albinus  <michael.albinus@gmx.de>
39752         * test/lisp/files-tests.el: Unify test names
39754         * test/lisp/files-tests.el (files-tests-local-variables)
39755         (files-tests-bug-18141, files-tests-make-temp-file-empty-prefix)
39756         (files-tests-bug-21454)
39757         (files-tests-save-buffers-kill-emacs--confirm-kill-processes)
39758         (files-tests-read-file-in-~)
39759         (files-tests-file-name-non-special--subprocess)
39760         (files-tests-file-name-non-special--buffers)
39761         (files-tests-insert-directory-wildcard-in-dir-p)
39762         (files-tests-make-directory, files-tests-no-file-write-contents)
39763         (files-tests-copy-directory, files-tests-abbreviated-home-dir):
39764         Unify test names.
39766 2019-04-17  Michael Albinus  <michael.albinus@gmx.de>
39768         Test `shell-command-width' in Tramp
39770         * test/lisp/net/tramp-tests.el
39771         (tramp--test-shell-command-to-string-asynchronously): Move up.
39772         (tramp-test32-shell-command): Test `shell-command-width'.
39774 2019-04-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
39776         Use cairo_scaled_font_t object for text drawing and metrics calculation
39778         * src/ftfont.h (struct font_info): Replace member cr_font_face of type
39779         cairo_font_face_t * with cr_scaled_font of type cairo_scaled_font_t *.
39780         * src/ftcrfont.c: Include math.h for floor, ceiling, and lround.
39781         (ftcrfont_glyph_extents): Use cairo_scaled_font_glyph_extents.
39782         (ftcrfont_open): Create cairo_scaled_font_t object and set it to
39783         cr_scaled_font member of struct font_info.
39784         (ftcrfont_close): Use cairo_scaled_font_destroy.
39785         (ftcrfont_draw): Use cairo_set_scaled_font.
39787 2019-04-16  Andrii Kolomoiets  <andreyk.mad@gmail.com>  (tiny change)
39789         Make python-shell-prompt-block-regexp match IPython prompt
39791         * lisp/progmodes/python.el (python-shell-prompt-block-regexp): Match
39792         also IPython's multiline prompt.  It allows to correctly disable
39793         non-native completions during multiline statement in
39794         inferior-python-mode that runs IPython interpreter (Bug#34582).
39796 2019-04-16  Juri Linkov  <juri@linkov.net>
39798         * etc/NEWS: Mention new xref faces (bug#23179)
39800 2019-04-16  Juri Linkov  <juri@linkov.net>
39802         * lisp/vc/diff-mode.el (diff-syntax-fontify-hunk): Erase buffer
39804         before inserting file contents to *diff-syntax-file*.
39805         Use absolute file names.
39807 2019-04-16  Paul Eggert  <eggert@cs.ucla.edu>
39809         * GNUmakefile: Update comment.
39811 2019-04-16  Glenn Morris  <rgm@gnu.org>
39813         * make-dist (possibly_non_vc_files): Remove recently deleted file.
39815 2019-04-15  Paul Eggert  <eggert@cs.ucla.edu>
39817         Fix uninit var in widget.c
39819         * src/widget.c (EmacsFrameQueryGeometry):
39820         Avoid use of uninitialized variables ok_width, ok_height (Bug#35277).
39822 2019-04-15  Paul Eggert  <eggert@cs.ucla.edu>
39824         Remove Vparam_value_alist
39826         * src/xfaces.c (Vparam_value_alist):
39827         Remove.  All uses removed.
39828         (Finternal_set_lisp_face_attribute):
39829         Simplify by using AUTO_FRAME_ARG.
39831 2019-04-15  Noam Postavsky  <npostavs@users.sourceforge.net>
39833         Properly bracket concat of comment-start-skip (Bug#34805)
39835         * lisp/emacs-lisp/smie.el (smie-indent-fixindent):
39836         * lisp/cedet/semantic/doc.el (semantic-doc-snarf-comment-for-tag):
39837         * lisp/progmodes/fortran.el (fortran-previous-statement)
39838         (fortran-next-statement)
39839         (fortran-fill-statement):
39840         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-statement): Bracket
39841         comment-start-skip and comment-end-skip to avoid unexpected regexp
39842         operator precedence.
39844 2019-04-15  Eli Zaretskii  <eliz@gnu.org>
39846         Minor change in a comment
39848         * test/src/callproc-tests.el
39849         (call-process-w32-debug-spawn-error): Minor copyedits of the
39850         commentary.
39852 2019-04-15  Eli Zaretskii  <eliz@gnu.org>
39854         Fix MS-Windows build broken by make-fingerprint changes
39856         * lib-src/make-fingerprint.c (fseeko) [WNDOWSNT]: Define to
39857         fseeko64 for non-MinGW64 MinGW.
39859         * lib-src/ntlib.c (stat): Fix calculation of file size.
39860         (fstat): New function, a subset of src/w32.c:fstat.  This is
39861         needed because make-fingerprint.c now calls 'fstat', and the
39862         MS version will fail to produce reliable results because
39863         nt/inc/sys/stat.h redefines 'struct stat'.
39865 2019-04-15  Michael Albinus  <michael.albinus@gmx.de>
39867         * .gitlab-ci.yml (test-filenotify-gio): Add autorevert changes.
39869 2019-04-15  Mattias Engdegård  <mattiase@acm.org>
39871         Don't remove notify descriptor that is already gone
39873         * lisp/autorevert.el (auto-revert-use-notify, auto-revert-mode,
39874         global-auto-revert-mode, auto-revert-notify-rm-watch,
39875         auto-revert-notify-add-watch, auto-revert-notify-handler,
39876         auto-revert-notify-rm-watch-callback):
39877         Don't remove a notify descriptor after receiving a `stopped' notification
39878         event, because the descriptor is then already gone and any attempt to
39879         remove it causes a recursive call to `auto-revert-notify-handler'.
39881 2019-04-15  Michael Albinus  <michael.albinus@gmx.de>
39883         * doc/misc/tramp.texi: Fix direntry.
39885 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
39887         Remove static var system_eol_type
39889         * src/coding.c (system_eol_type): Remove.
39890         (coding_inherit_eol_type, syms_of_coding):
39891         Simplify to avoid the need for system_eol_type.
39893 2019-04-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
39895         Avoid compiler warnings on cairo build
39897         * src/image.c (jpeg_load_body) [USE_CAIRO]: #ifdef out USE_SAFE_ALLOCA
39898         and SAFE_FREE.
39899         * src/xterm.c (x_composite_image) [USE_CAIRO]: #ifdef out unused function.
39900         (x_draw_image_glyph_string) [USE_CAIRO]: #ifdef out unused variable pixmap.
39902 2019-04-14  Noam Postavsky  <npostavs@gmail.com>
39904         Let debugger handle process spawn errors on w32 (Bug#33016)
39906         Since child_setup() is called between block_input()...unblock_input(),
39907         when an error is signaled the Lisp debugger is prevented from
39908         starting.  Therefore, let the callers signal the error instead (which
39909         they already do for non-w32 platforms, just the error message needs an
39910         update).
39911         * src/callproc.c (child_setup) [WINDOWSNT]: Don't call
39912         report_file_error here.
39913         (call_process) [WINDOWNT]:
39914         * src/process.c (create_process) [WINDOWSNT]: Call report_file_errno
39915         here instead, after the unblock_input() call, same as for !WINDOWSNT.
39916         * src/lisp.h (CHILD_SETUP_ERROR_DESC): New preprocessor define.  Flip
39917         the containing ifndef DOS_NT branches so that it's ifdef DOS_NT.
39918         * src/eval.c (when_entered_debugger): Remove.
39919         (syms_of_eval) <internal-when-entered-debugger>: Define it as a Lisp
39920         integer variable instead.
39921         (maybe_call_debugger): Update comment.
39922         * test/src/process-tests.el (make-process-w32-debug-spawn-error):
39923         * test/src/callproc-tests.el (call-process-w32-debug-spawn-error): New
39924         tests.
39926 2019-04-14  Alexander Gramiak  <agrambot@gmail.com>
39928         Bump minimum GTK versions to 2.24 and 3.10
39930         * configure.ac: Bump required GTK 2 and GTK 3 versions and the
39931         associated GLib versions. Remove obsolete AC_CHECK_FUNCS calls. These
39932         check for functions available in later GTK 2 versions. These checks
39933         and can safely be removed with the exception of
39934         gtk_window_set_has_resize_grip, which according to a comment in
39935         gtkutil.c causes an issue in Ubuntu's GTK 2.
39937         * src/gtkutil.c:
39938         * src/xfns.c:
39939         * src/xterm.c:
39940         * src/xterm.h: Remove now unused conditional blocks. Use HAVE_GTK3
39941         instead of GTK_CHECK_VERSION where now applicable. Remove checks of
39942         now always true USE_GTK_TOOLTIP.
39944 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
39946         Replace executable’s fingerprint in place
39948         * admin/merge-gnulib (GNULIB_MODULES): Add memmem-simple.
39949         (AVOIDED_MODULES): Add memchr.
39950         * configure.ac (HAVE_PDUMPER): AC_SUBST it, too, for use in makefiles.
39951         * lib/Makefile.in (libgnu_a_OBJECTS): Add fingerprint.o.
39952         * lib/fingerprint.c: New file.
39953         * lib/memmem.c, lib/str-two-way.h, m4/memmem.m4: New files,
39954         copied from Gnulib.
39955         * lib/fingerprint.h: Rename from src/fingerprint.h.
39956         * lib-src/make-fingerprint.c: Include limits.h, sys/stat.h,
39957         fingerprint.h, intprops.h, min-max.h.
39958         (SSIZE_MAX): New macro, if not already defined.
39959         (main): Without -r, Replace the fingerprint in the input file
39960         instead of generating a fingerprint.c.
39961         * lib/Makefile.in (libgnu_a_OBJECTS): Add fingerprint.o.
39962         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
39963         * src/Makefile.in (HAVE_PDUMPER, MAKE_PDUMPER_FINGERPRINT):
39964         New macros.
39965         (temacs$(EXEEXT)): Use them to replace the fingerprint instead
39966         of precalculating it.
39967         (mostlyclean, ctagsfiles1): Do not worry about fingerprint.c.
39969 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
39971         * m4/utimbuf.m4: Remove unused file.
39973 2019-04-14  Dmitry Gutov  <dgutov@yandex.ru>
39975         Sort files in the default impl of project-files alphabetically
39977         * lisp/progmodes/project.el (project--files-in-directory):
39978         Sort the files alphabetically
39979         (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23179#296).
39981 2019-04-14  Michael Albinus  <michael.albinus@gmx.de>
39983         Some rearragements for remote tests in filenotify-tests.el
39985         * test/lisp/filenotify-tests.el (file-notify--deftest-remote):
39986         Change argument list, EXPECTED is not needed.
39987         (file-notify-test07-many-events-remote)
39988         (file-notify-test09-watched-file-in-watched-dir-remote):
39989         Adapt declaration accordingly.
39991 2019-04-14  Michael Albinus  <michael.albinus@gmx.de>
39993         Explain ad-hoc multi-hop in the Tramp Quick Start Guide
39995         * doc/misc/tramp.texi (Quick Start Guide): New section "Combining
39996         @option{ssh} or @option{plink} with @option{su} or @option{sudo}".
39998 2019-04-14  Michael Albinus  <michael.albinus@gmx.de>
40000         Fix Bug#35055
40002         * lisp/net/tramp.el (tramp-handle-shell-command):
40003         Handle `shell-command-width'.  (Bug#35055)
40005 2019-04-14  Alexander Gramiak  <agrambot@gmail.com>
40007         * lisp/frame.el (frame--size-history): Fix infloop. (Bug#35272)
40009 2019-04-14  Stephen Leake  <stephen_leake@stephe-leake.org>
40011         Merge commit '890440a44cd5f4f09742f521c7783785d114fffc'
40013 2019-04-14  Stephen Leake  <stephen_leake@stephe-leake.org>
40015         Rename new user variable `next-error-verbosity' to `next-error-verbose'
40017         * etc/NEWS: Update entry to match renaming.
40019         * lisp/simple.el (next-error-verbose): Rename.
40020         (next-error, next-error-internal): Match rename.
40022 2019-04-14  Alexander Gramiak  <agrambot@gmail.com>
40024         Simplify gdk_monitor_get_model string duplication
40026         * src/xfns.c (x-display-monitor-attributes-list): Use dupstring over
40027         explicit if/xstrdup.
40029         * src/frame.c (free_monitors): Remove redundant check for NULL.
40031 2019-04-14  Eli Zaretskii  <eliz@gnu.org>
40033         Improve documentation of a recent commit
40035         * etc/NEWS: Fix the description of 'shell-command-width'.
40036         Mark the entry as not needing the manual update.
40038         * lisp/simple.el (shell-command-width): Doc fix.  (Bug#35055)
40040 2019-04-13  Paul Eggert  <eggert@cs.ucla.edu>
40042         Update from Gnulib
40044         This incorporates:
40045         2019-04-07 Add copyright notices in several files
40046         * build-aux/config.sub, doc/misc/texinfo.tex, lib/_Noreturn.h:
40047         Copy from Gnulib.
40048         * lib/gnulib.mk.in: Regenerate.
40050 2019-04-13  Basil L. Contovounesios  <contovob@tcd.ie>
40052         Fix gnus-group-describe-all-groups (bug#35233)
40054         This fixes oversights from
40055         2018-04-26T16:26:27-07:00!eric@ericabrahamsen.net and
40056         2016-02-13T18:45:11+11:00!larsi@gnus.org.
40057         * lisp/gnus/gnus-group.el (gnus-group-describe-all-groups): Insert
40058         group name and description instead of group name twice.  Do not pass
40059         a hash-table to intern.  Call sort with correct number of arguments.
40061 2019-04-13  Alexander Gramiak  <agrambot@gmail.com>
40063         Fix segmentation fault with gdk_monitor_get_model (Bug#35259)
40065         * src/frame.c (free_monitors): Check if NULL before freeing.
40067         * src/xfns.c: (x-display-monitor-attributes-list): Check if NULL
40068         before copying.
40070 2019-04-13  Juri Linkov  <juri@linkov.net>
40072         * lisp/vc/log-edit.el (log-edit-insert-changelog): Add field "Summary"
40074         explicitly after adding field "Author".  (Bug#34972)
40076 2019-04-13  Juri Linkov  <juri@linkov.net>
40078         New faces in xref (bug#23179)
40080         * lisp/progmodes/xref.el (xref-file-header, xref-line-number)
40081         (xref-match):  New faces.
40082         (xref--insert-xrefs, xref--collect-matches-1): Use them.
40084 2019-04-13  Juri Linkov  <juri@linkov.net>
40086         * lisp/simple.el (shell-command-width): New defcustom.
40088         (shell-command): Use it.  (Bug#35055)
40090 2019-04-13  Alan Mackenzie  <acm@muc.de>
40092         * lisp/progmodes/cc-langs.el (c-class-id-suffix-ws-ids-kwds): Correct a typo
40094 2019-04-13  Alan Mackenzie  <acm@muc.de>
40096         Implement "final" before C++ class inheritance lists.
40098         * lisp/progmodes/cc-langs.el (c-class-id-suffix-ws-ids-kwds)
40099         (c-class-id-suffix-ws-ids-key): New lang const/var.
40101         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax CASE 5D.4): Check for and
40102         skip over any matches for c-class-id-suffix-ws-ids-key (i.e. "final") before
40103         ":".
40105 2019-04-13  Michael Albinus  <michael.albinus@gmx.de>
40107         Fix error in tramp-sh.el
40109         * lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
40110         Revert "simplification", which was an error.
40112 2019-04-13  Michael Albinus  <michael.albinus@gmx.de>
40114         * doc/misc/tramp.texi: Fix minor glitches.
40116         Fix last patch
40118 2019-04-13  Michael Albinus  <michael.albinus@gmx.de>
40120         Replace (skip-unless nil) by tag :unstable in test packages
40122         * test/lisp/filenotify-tests.el (file-notify--deftest-remote):
40123         Use tag :unstable if SKIP is non-nil.
40125         * test/lisp/net/tramp-tests.el (tramp-test36-vc-registered):
40126         Use ert-skip instead of (skip-unless nil).
40128         * test/lisp/progmodes/python-tests.el
40129         (python-tests--python-nav-end-of-statement--infloop): Use tag
40130         :unstable instead of (skip-unless nil).
40132 2019-04-13  Eli Zaretskii  <eliz@gnu.org>
40134         Minor cleanup in 'x_set_frame_alpha'
40136         * src/xterm.c (x_set_frame_alpha): Remove redundant parts of
40137         testing of value of 'alpha'.  Suggested by Konstantin
40138         Kharlamov <Hi-Angel@yandex.ru>.  (Bug#35062)
40140 2019-04-13  Eli Zaretskii  <eliz@gnu.org>
40142         Improve documentation of JSONRPC
40144         * doc/lispref/text.texi (JSONRPC Overview)
40145         (Process-based JSONRPC connections)
40146         (JSONRPC JSON object format): Fix wording and markup.  Add
40147         indexing.
40149 2019-04-13  Eli Zaretskii  <eliz@gnu.org>
40151         Improve documentation changes of a recent commit
40153         * doc/lispref/text.texi (Parsing JSON): Improve wording of the
40154         documentation of 'json-parse-string' and 'json-parse-buffer'.
40155         * src/json.c (Fjson_parse_string, Fjson_parse_buffer): Doc fix.
40156         (Bug#34763)
40158 2019-04-12  Paul Eggert  <eggert@cs.ucla.edu>
40160         Omit/rewrite useless regexp repetitions
40162         Problem reported by Mattias Engdegård in:
40163         https://lists.gnu.org/r/emacs-devel/2019-04/msg00527.html
40164         * lisp/align.el (align-rules-list):
40165         * lisp/cedet/srecode/srt-mode.el (srecode-font-lock-keywords):
40166         * lisp/emacs-lisp/copyright.el (copyright-regexp):
40167         * lisp/erc/erc-backend.el (JOIN):
40168         * lisp/erc/erc-goodies.el (erc-unmorse):
40169         * lisp/mail/mail-extr.el (mail-extr-telephone-extension-pattern):
40170         * lisp/net/tramp-adb.el (tramp-adb-prompt):
40171         * lisp/org/org-table.el (org-table-range-regexp):
40172         * lisp/progmodes/idlwave.el (idlwave-where):
40173         * lisp/progmodes/verilog-mode.el (verilog-declaration-re-2-no-macro)
40174         (verilog-declaration-re-2-macro, verilog-delete-auto-buffer)
40175         (verilog-auto-inst-port):
40176         * lisp/url/url-misc.el (url-data):
40177         Omit or rewrite useless repetitions that risk being very slow in
40178         the backtracking regexp engine in Emacs.
40180 2019-04-12  Dmitry Gutov  <dgutov@yandex.ru>
40182         Don't signal error from url debug functions
40184         * lisp/url/url-http.el (url-http-debug): Don't signal error.
40186         * lisp/url/url-util.el (url-debug): Same (bug#34763).
40188 2019-04-12  Dmitry Gutov  <dgutov@yandex.ru>
40190         Add :array-type option to json-parse-string
40192         * src/json.c (enum json_array_type): New type.
40193         (struct json_configuration): New field array_type.
40194         (json_parse_args): Rename the last argument.  Handle the
40195         :array-type keyword argument (bug#32793).
40196         (Fjson_parse_string): Update the docstring accordingly.
40197         (json_to_lisp): Handle the case of :array-type being `list'.  Add
40198         a call to 'rarely_quit' inside the loop.
40199         (syms_of_json): Define new symbols.
40200         (Fjson_serialize, Fjson_insert, Fjson_parse_string)
40201         (Fjson_parse_buffer): Update the config struct initializers.
40203 2019-04-12  Alan Mackenzie  <acm@muc.de>
40205         Analyze C++ method with & or && ref-qualifier as defun, not brace list
40207         Also firm up detection of beginning of brace list in
40208         c-looking-at-or-maybe-in-bracelist.
40210         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): On
40211         detection of such a ref-qualifier, set braceassignp to nil.  When this
40212         variable has a nil value, return nil as the value of the function.  On
40213         encountering a } when scanning backwards, recognise this as the end of a
40214         previous construct and stop the scan.
40216 2019-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>
40218         * lisp/help-fns.el (help-fns-describe-variable-functions): New hook
40220         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete)
40221         (help-fns--interactive-only): Indent output by 2 spaces.
40222         (help-fns--side-effects): New function extracted from
40223         describe-function-1.
40224         (help-fns-describe-function-functions): Use it.
40225         (help-fns--first-release, help-fns--mention-first-release): New functions.
40226         (help-fns-function-description-header): Keymaps and macros can't
40227         be interactive.
40228         (help-fns--ensure-empty-line): New function.
40229         (describe-function-1): Use it.
40230         (help-fns--var-safe-local, help-fns--var-risky)
40231         (help-fns--var-ignored-local, help-fns--var-file-local)
40232         (help-fns--var-watchpoints, help-fns--var-obsolete)
40233         (help-fns--var-alias, help-fns--var-bufferlocal): New functions,
40234         extacted from describe-variable.
40235         (describe-variable): Run help-fns-describe-variable-functions instead.
40237 2019-04-12  Glenn Morris  <rgm@gnu.org>
40239         Merge from origin/emacs-26
40241         818a68b * etc/HISTORY: Update for Emacs 26.2 release.
40242         e04aa5a ; ChangeLog.3 update
40243         8297e97 * etc/AUTHORS: Update.
40244         8582936 Improve documentation of 'read-command'
40245         dc81c05 ; * CONTRIBUTE: Mention where to ask for the copyright assign...
40246         b77723a Fix an outdated URL in a comment
40248 2019-04-12  Glenn Morris  <rgm@gnu.org>
40250         Merge from origin/emacs-26
40252         cb5a340 Update nxml-mode.texi: completion now gives xmlns="-!-"
40254 2019-04-12  Basil L. Contovounesios  <contovob@tcd.ie>
40256         Move proper-list-p tests to fns-tests.el
40258         This follows the move of proper-list-p from lisp/subr.el to
40259         src/fns.c in 2018-07-24T15:58:46-07:00!eggert@cs.ucla.edu.
40260         * test/lisp/subr-tests.el (subr-tests--proper-list-p): Move from
40261         here...
40262         * test/src/fns-tests.el (test-proper-list-p): ...to here.
40264 2019-04-12  Basil L. Contovounesios  <contovob@tcd.ie>
40266         Optimize byte-compilation of proper-list-p
40268         For discussion, see thread starting at:
40269         https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg00316.html
40270         * lisp/emacs-lisp/byte-opt.el: Optimize proper-list-p as a
40271         predicate.
40272         * lisp/subr.el: Mark proper-list-p as pure, and side-effect and
40273         error free.
40275 2019-04-12  Alex Murray  <murray.alex@gmail.com>  (tiny change)
40277         Pop to originating erc buffer when clicking desktop notification
40279         * lisp/erc/erc-desktop-notifications.el: Switch to lexical-binding.
40280         (erc-notifications-notify): Add a default action to the desktop
40281         notification which pops to the buffer from which the notification
40282         originated.  (Bug#35141)
40284 2019-04-12  Basil L. Contovounesios  <contovob@tcd.ie>
40286         Always set gnus-group property to a group name
40288         * lisp/gnus/gnus-group.el (gnus-group-prepare-flat-list-dead): Set
40289         gnus-group property to a group name, not active info. (bug#33653)
40290         Simplify surrounding logic.
40291         (gnus-group-prepare-flat, gnus-group-goto-group): Use accessor
40292         macros.
40293         (gnus-group-insert-group-line, gnus-group-new-mail)
40294         (gnus-group-mark-group): Write ?\s instead of ? .
40295         (gnus-group-group-name, gnus-group-list-active): Simplify.
40297 2019-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
40299         * lisp/vc/diff-mode.el: Avoid re-initializing buffer in diff-syntax
40301         (diff--syntax-file-attributes): New var.
40302         (diff-syntax-fontify-hunk): Detect when we're reusing the same buffer as
40303         last time, to avoid re-initializing it.  Skip the
40304         diff-syntax-fontify-revisions hash-table, since buffer-alist plays the
40305         same role.
40306         (diff-syntax-fontify-revisions): Delete var.
40308 2019-04-11  Stephen Leake  <stephen_leake@stephe-leake.org>
40310         Merge commit 'de238b39e335c6814283faa171b35145f124edf2'
40312 2019-04-11  Stephen Leake  <stephen_leake@stephe-leake.org>
40314         Make `next-error' output fewer messages about locus
40316         * lisp/simple.el (next-error-verbosity): New user variable.
40317         (next-error, next-error-internal): Use it to control only outputting
40318         locus message if locus changed.
40320 2019-04-11  Christopher Thorne  <c.thorne@reckondigital.com>  (tiny change)
40322         Fix rgrep in dired using directory for search file pattern
40324         * lisp/progmodes/grep.el (grep-read-files): Allow major modes to
40325         define file name to use for default search pattern.
40326         Add non-directory file at point as default search pattern candidate.
40328         * lisp/dired.el (dired-grep-read-files): Use non-directory file at
40329         point for grep file name pattern.  (Bug#34621)
40331 2019-04-10  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40333         Add extra text property to fix issue with js2-mode integration
40335         * lisp/progmodes/js.el (js-jsx--put-syntax-table): New function for
40336         consistently ensuring smooth js2-mode integration.  js2-mode sets
40337         syntax-table temporarily while parsing buffers—seemingly to recover
40338         from parsing interruptions—and then it later clears syntax-table
40339         blindly.  When integrating with js-mode, this means that unterminated
40340         string quotes are re-broken in JSX (i.e., they become strings again,
40341         often stringifying large regions of the buffer which should not be
40342         strings).  We try to treat quotes in JSXText as non-strings by setting
40343         syntax-table to a non-“string quote” syntax class, but that stops
40344         working if we lose the property.  On the js2-mode end, by scanning for
40345         this second js-jsx-syntax-table property, we can recover the
40346         syntax-table property there.
40347         (js-jsx--text-range, js-jsx--syntax-propertize-tag): Use
40348         js-jsx--put-syntax-table for above reason.
40349         (js-jsx--text-properties): Clear the js-jsx-syntax-table property too.
40351 2019-04-10  Paul Eggert  <eggert@cs.ucla.edu>
40353         Bring back dmpstruct.h
40355         Bring back the dmpstruct.h checking, and use it when
40356         --enable-checking=structs is specified.  The checking can be helpful
40357         to some developers, although it gets in the way of others and is
40358         not needed for ordinary tarball builds.
40359         * src/dmpstruct.awk: Restore this file, with mode 644 not 755.
40360         * configure.ac: New option-arg --enable-checking=structs,
40361         implied by --enable-checking.
40362         (CHECK_STRUCTS): New macro and var.
40363         * src/Makefile.in (CHECK_STRUCTS): New macro.
40364         (dmpstruct_headers, dmpstruct.h, dmpstruct.h):
40365         Restore these macros and rules.
40366         (pdumper.o): Restore this dependency if $(CHECK_STRUCTS) is true.
40367         (mostlyclean): Remove dmpstruct.h.
40368         * src/pdumper.c [CHECK_STRUCTS]: Include dmpstruct.h,
40369         and restore checks against hashes.
40371 2019-04-10  Katsumi Yamaoka  <yamaoka@jpl.org>
40373         Enable message saving to work when first use of Gnus (bug#35208)
40375         * lisp/gnus/gnus-group.el (gnus-group-goto-group);
40376         Use gnus-active-hashtb in addition to gnus-newsrc-hashtb to check if
40377         a group exists since some kinds of groups are registered in only one
40378         of them (bug#35208).
40380 2019-04-10  Juri Linkov  <juri@linkov.net>  (tiny change)
40382         Inhibit displaying help buffer in main window in perform-replace
40384         * lisp/replace.el (perform-replace): Use
40385         display-buffer-overriding-action with inhibit-same-window to prevent
40386         the help buffer from being displayed in the main window.  (Bug#34972)
40388         Author: Michał Krzywkowski <k.michal@zoho.com>
40390 2019-04-10  Paul Eggert  <eggert@cs.ucla.edu>
40392         Fix $(MAKE) -C for out-of-tree bootstraps
40394         Problem reported by Andy Moreton in:
40395         https://lists.gnu.org/r/emacs-devel/2019-04/msg00359.html
40396         * src/Makefile.in (${charsets}, $(lispsource)/loaddefs.el):
40397         Revert incorrect changes to $(MAKE) -C invocations when the
40398         target is in the source tree not the build tree.
40400 2019-04-10  Glenn Morris  <rgm@gnu.org>
40402         Merge from origin/emacs-26
40404         5999401 (origin/emacs-26) Note that choose-completion-string-function...
40405         8d2f1df Address name conflicts in EIEIO documentation (bug#31660)
40407 2019-04-10  Glenn Morris  <rgm@gnu.org>
40409         Merge from origin/emacs-26
40411         a5da653 * src/editfns.c (Fnarrow_to_region): Doc fix.  (Bug#35163)
40412         646d33d Fix doc strings of 'vc-version-diff' and 'vc-version-ediff'
40413         a30a6c3 Improve documentation of set-window-start
40414         92ce2dd Improve documentation of window parameters
40415         6dc42c5 Improve commentary in frame.el
40416         a8cffcf Fix typo in a doc string
40417         9e79f19 (emacs-26) ; * src/fontset.c (set-fontset-font): Use uppercas...
40419         # Conflicts:
40420         #       lisp/vc/vc.el
40422 2019-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>
40424         * test/lisp/progmodes/python-tests.el: "Fix" failing test
40426         (python-tests--python-nav-end-of-statement--infloop): Disable.
40428 2019-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>
40430         Eshell dependencies: Fix recent regressions
40432         * lisp/dired.el (dired-insert-directory): Tweak bug#27817's ugly hack.
40434         * lisp/eshell/em-ls.el: Refine 'require's.
40436         * lisp/eshell/esh-opt.el: Require esh-util on behalf of its clients.
40438 2019-04-09  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40440         * etc/NEWS: Document js-jsx-align->-with-<
40442 2019-04-09  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40444         Add new defcustom js-jsx-align->-with-<
40446         * lisp/progmodes/js.el (js-jsx-align->-with-<): New variable for users
40447         to control one opinionated aspect of JSX indentation.  It defaults to
40448         the style seen in the React docs, which many users expected as the
40449         “correct” indentation.  Still, the old SGML-style of indentation could
40450         be desirable too, especially since it was the old default.  This
40451         ensures users have a way of getting back the old behavior.
40452         (js-jsx--contextual-indentation): Respect js-jsx-align->-with-<.
40454         * test/manual/indent/jsx-align-gt-with-lt.jsx: New test for
40455         js-jsx-align->-with-<.
40457 2019-04-09  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40459         * etc/NEWS: Document way to revert to old JSX indentation behavior
40461 2019-04-09  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40463         Add new defcustom js-jsx-indent-level
40465         * lisp/progmodes/js.el (js-jsx-indent-level): New variable for users
40466         to set JSX indentation differently than JS, like before.
40467         (js-jsx--contextual-indentation): Respect js-jsx-indent-level when
40468         it’s set.
40470         * test/manual/indent/jsx-indent-level.jsx: New test for
40471         js-jsx-indent-level.
40473 2019-04-09  Paul Eggert  <eggert@cs.ucla.edu>
40475         Remove the need for temacs.in
40477         Instead of building a file temacs.in used only to compute a
40478         fingerprint, compute the fingerprint directly from the .o and
40479         .a files that go into temacs.in.  This speeds up the build by
40480         avoiding the need to link temacs twice, once with a dummy
40481         fingerprint.
40482         * lib-src/make-fingerprint.c (main): No need to generate
40483         a fingerprint file that includes config.h, now that fingerprint.c
40484         depends on all the .o files.
40485         * src/Makefile.in ($(libsrc)/make-fingerprint$(EXEEXT)):
40486         Use the same rule as $(libsrc)/make-docfile$(EXEEXT).
40487         * src/fingerprint-dummy.c: Remove.
40488         * src/Makefile.in (${charsets}, $(libsrc)/make-docfile$(EXEEXT))
40489         ($(LIBEGNU_ARCHIVE), $(lwlibdir)/liblw.a, $(oldXMenudir)/libXMenu11.a)
40490         (../config.status, ${ETAGS}, ../lisp/TAGS, $(lwlibdir)/TAGS)
40491         ($(lispsource)/loaddefs.el):
40492         Prefer ‘$(MAKE) -C $(dir $@)’ to ‘${MAKE} -C SOMESTRING’ when
40493         either will do, as the former is more regular and lets us
40494         coalesce rules better.
40495         (EMACS_DEPS_PRE, EMACS_DEPS_POST, BUILD_EMACS_PRE)
40496         (BUILD_EMACS_POST, temacs.in$(EXEEXT)): Remove.
40497         (FINGERPRINTED): New macro.
40498         (fingerprint.c): Use it instead of temacs.in$(EXEEXT), to
40499         avoid the need to build temacs.in at all.
40500         (temacs$(EXEEXT)): No need to depend on other .o files now;
40501         fingerprint.o is enough, since it depends on the rest.
40502         Spell out what used to be in BUILD_EMACS_PRE and BUILD_EMACS_POST.
40503         (mostlyclean): No need to remove temacs.in.
40505 2019-04-09  Paul Eggert  <eggert@cs.ucla.edu>
40507         Remove assumption of uint64_t etc. in portable code
40509         C11 doesn’t guarantee the existence of types like uint64_t,
40510         so avoid these types in portable code, as it’s easy to do so.
40511         There’s no need to avoid the types in w32-specific code,
40512         since w32 is guaranteed to have them.
40513         * lib-src/make-fingerprint.c (main):
40514         * src/fingerprint-dummy.c:
40515         * src/fingerprint.h:
40516         * src/pdumper.c (dump_fingerprint, struct dump_header):
40517         Prefer unsigned char to uint8_t in portable code, as either will do.
40518         Put an "#include <config.h>" in fingerprint.c files, so
40519         that the corresponding .o file is rebuilt after ./configure is run.
40520         * lib-src/make-fingerprint.c (main):
40521         Simplify loop.
40522         * src/Makefile.in (fingerprint.c): Update atomically.
40523         * src/pdumper.c: Omit unnecessary check that off_t is the same
40524         size as int32_t or int64_t, as the code does not rely on this
40525         assumption.
40526         (dump_off): Use int_least32_t, not int32_t.
40527         (struct dump_reloc): Use unsigned int, not uint32_t.
40528         (dump_anonymous_allocate_w32, dump_anonymous_allocate_posix)
40529         (dump_anonymous_allocate, dump_map_file_w32, dump_map_file_posix)
40530         (dump_map_file:
40531         Do the sanity checks at compile time, not at run-time, to avoid
40532         usage of uint64_t etc. on non-w32 platforms.
40534 2019-04-09  Paul Eggert  <eggert@cs.ucla.edu>
40536         Remove dmpstruct.h
40538         The hassles of updating the dmpstruct.h-using code bit me again.
40539         These updates are more trouble than they’re worth.  See:
40540         https://lists.gnu.org/r/emacs-devel/2019-03/msg00122.html
40541         As I’m the main person who’s made changes in this area since
40542         dmpstruct.h was introduced, I’m the most motivated to clean up
40543         the situation.
40544         * make-dist (possibly_non_vc_files): Remove src/dmpstruct.h.
40545         * src/Makefile.in (dmpstruct_headers, dmpstruct.h): Remove.
40546         (pdumper.o): Do not depend on dmpstruct.h.
40547         (mostlyclean): Do not remove dmpstruct.h.
40548         * src/dmpstruct.awk: Remove.
40549         * src/pdumper.c: Do not include dmpstruct.h.
40550         (CHECK_STRUCTS): Remove.  All uses removed.
40552 2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
40554         diff-font-lock-syntax: clarify distinction between t and hunk-also
40556         * lisp/vc/diff-mode.el (diff-font-lock-syntax): Rework docstring.
40557         (diff-syntax-fontify-hunk): Never use the hunk method when
40558         diff-font-lock-syntax is just t.
40560 2019-04-09  Alex Branham  <alex.branham@gmail.com>
40562         Use lexical-binding in bug-reference.el
40564         * .dir-locals.el: Set bug-reference-url-format in all modes, not just
40565         changelog mode. Use (eval . (bug-reference-mode)) as described
40566         in (info "(emacs) Specifying File Variables")
40567         * lisp/progmodes/bug-reference.el: Use lexical binding.
40568         (bug-reference-unfontify):
40569         (bug-reference-fontify): Mention args in docstring.
40571         Bug#35123
40573 2019-04-09  Basil L. Contovounesios  <contovob@tcd.ie>
40575         Fix Gnus duplicate suppression guards (bug#34987)
40577         * lisp/gnus/gnus-dup.el (gnus-dup-enter-articles)
40578         (gnus-dup-suppress-articles): Use gnus-dup-hashtb as an indicator of
40579         initialization instead of gnus-dup-list, which may happen to be nil.
40580         (gnus-dup-unsuppress-article): Do nothing if gnus-dup-hashtb is
40581         uninitialized.
40583 2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
40585         * lisp/printing.el: Use lexical-binding
40587         Require easy-menu instead of adding declarations.
40588         Remove backward compatibility.  Remove redundant ':group' args.
40589         (pr-region-active-p): Use use-region-p.
40590         (pr-set-keymap-name): Delete function and callers.
40591         (pr-set-keymap-parents): Delete function; use set-keymap-parent instead.
40592         (pr-read-string): Delete function; use read-string instead.
40593         (pr-menu-char-height): Delete function; use frame-char-height instead.
40594         (pr-menu-char-width): Delete function; use frame-char-width instead.
40595         (pr-menu-position): Merge the two definitions.
40596         (pr-get-symbol): Delete function; use easy-menu-intern instead.
40597         (pr-update-mode-line): Delete function; use force-mode-line-update instead.
40598         (pr-do-update-menus): Turn local save-var into dynbound pr--save-var.
40599         (pr-menu-alist): Use setf.  Simplify since we don't keep key-bindings
40600         in the menus any more.
40601         (pr-dosify-file-name): Remove interactive spec.
40602         (pr-filename-style): Rename from pr-path-style.
40603         (pr-unixify-file-name): Delete function.
40604         (pr-standard-file-name): Don't turn \ into / under POSIX.
40605         (pr-temp-dir): Don't dosify.  Use temporary-file-directory unconditionally.
40606         (pr-save-file-modes): Delete macro.
40607         (pr-ps-directory-using-ghostscript, pr-ps-directory-print)
40608         (pr-ps-directory-ps-print, pr-ps-mode-using-ghostscript, pr-ps-print)
40609         (pr-ps-mode-preview, pr-ps-mode-print, pr-printify-directory)
40610         (pr-txt-directory, pr-ps-file-up-preview, pr-ps-directory-preview)
40611         (pr-ps-file-up-ps-print, pr-ps-preview, pr-ps-using-ghostscript):
40612         Use properly prefixed, declared, and
40613         explicitly let-bound dynamically bound variables around calls to
40614         pr-ps-utility-args and pr-set-dir-args.
40615         (pr-ps-file-using-ghostscript): Only dosify when passing to suprocess.
40616         (pr-expand-file-name): Delete function; use expand-file-name instead.
40617         (pr-ps-file-print): Properly dosify.
40618         (pr-menu-create): Use backquotes.
40619         (pr-eval-alist, pr-eval-local-alist): Use dolist.
40620         (pr-ps-utility-args): Don't dosify here.
40621         (pr-ps-utility-process): Dosify here instead.
40622         (pr-ps-file, pr-command): Don't dosify here either.
40623         (pr-interface-map): Move initialization into declaration.
40624         (pr-insert-section-1): Use 'push'.
40625         (pr-insert-toggle): Use closure instead of backquoted lambda.
40626         (pr-insert-menu): Use apply i.s.o eval.
40627         (pr-insert-radio-button): Avoid 'eval'.
40629 2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
40631         quail.el: Use delete-and-extract-region
40633         * lisp/international/quail.el (quail-overlay-region-events):
40634         Use delete-and-extract-region.
40635         (quail-activate): Use setq-local.
40637 2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
40639         python.el: don't syntax-propertize single/double quoted strings
40641         * lisp/progmodes/python.el (python-syntax-propertize-function):
40642         Only mark triple-quoted strings, let the normal syntax-table handle
40643         the rest.
40644         (python-syntax-stringify): Adjust accordingly.
40646 2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
40648         * lisp/progmodes/js.el (js-mode): Don't set comment-start-skip globally!
40650 2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
40652         Fix up Eshell 'require's after previous dependency reshuffle.
40654         * lisp/eshell/em-unix.el:
40655         * lisp/eshell/em-script.el:
40656         * lisp/eshell/em-pred.el:
40657         * lisp/eshell/em-dirs.el:
40658         * lisp/eshell/em-alias.el:
40659         Fix up 'require's to silence byte-compiler.
40661         * lisp/eshell/esh-util.el (eshell-read-hosts-file): Don't limit number
40662         of entries per line.  Preserve the structure.
40663         (eshell-read-hosts): Adjust accordingly.
40665 2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
40667         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Simplify.
40669         Remove hacks that were needed before font-lock-ensure.
40670         Don't use switch-to-buffer.  Don't assume point-min == 1.
40672 2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
40674         * lisp/vc/diff-mode.el: Cosmetic changes in diff-syntax-fontify-hunk
40676         (diff-default-directory): Use defvar-local.
40677         (diff-syntax-fontify-hunk): Use 'setq' less.  Fit within 80 columns.
40678         Simplify some looking-at tests.
40679         (diff-syntax-fontify-props): Don't check the buffer-local part of
40680         find-file-hook.
40682 2019-04-09  Mattias Engdegård  <mattiase@acm.org>
40684         Clarify the TESTFN argument to `alist-get'
40686         * lisp/subr.el (alist-get):
40687         Rephrase the initial text to clarify the meaning of the TESTFN argument.
40688         It's an equality predicate, not a look-up function (Bug#35206).
40690 2019-04-09  Eli Zaretskii  <eliz@gnu.org>
40692         Fix "M-x eshell"
40694         * lisp/eshell/em-dirs.el (eshell-variable-aliases-list)
40695         (eshell-directory-name, eshell-mode): Defvar them.
40696         (eshell-dirs-initialize): Require esh-var.  (Bug#35203)
40697         (eshell-apply-indices): Declare.
40699 2019-04-09  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40701         * etc/NEWS: Document new and improved JSX support in js-mode
40703 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40705         Explain reasonings for JSX syntax support design decisions
40707         * lisp/progmodes/js.el: Throughout the code, provide explanations for
40708         why JSX support was implemented in the way that it was; in particular,
40709         address the overlap between syntax-propertize-function, font-lock, and
40710         indentation (as requested by Stefan).
40712 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40714         Move curly functions closer to where they’re used
40716         * lisp/progmodes/js.el (js-jsx--enclosing-curly-pos)
40717         (js-jsx--goto-outermost-enclosing-curly): As the code evolved, these
40718         functions’ definitions ended up being far away from the only places
40719         where they were used.  Move them there.
40721 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40723         Add open/close parenthesis syntax to “<” and “>” in JSX
40725         * lisp/progmodes/js.el (js-jsx--syntax-propertize-tag): Like in
40726         sgml-mode, treat “<” and “>” like open/close parenthesis, making the
40727         text more navigable via forward-sexp, etc.
40729 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40731         Permit non-ASCII identifiers in JS
40733         * lisp/progmodes/js.el (js--name-start-re): Generally allow
40734         identifiers to begin with non-ASCII letters.  This is of particular
40735         importance to JSX parsing.
40737         * test/manual/indent/jsx-unclosed-2.jsx: Add test to ensure non-ASCII
40738         characters are parsed properly.
40740 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40742         Identify JSX strings (for js2-mode)
40744         * lisp/progmodes/js.el (js-jsx--syntax-propertize-tag): Derived modes
40745         like js2-mode may use font-lock-syntactic-face-function to apply faces
40746         to JSX strings (and only JSX strings).  Apply the js-jsx-string text
40747         property to such strings so they can be distinctly identified.
40748         (js-jsx--text-properties): Ensure the js-jsx-string text property gets
40749         cleaned up, too.
40751 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40753         Properly set a dynamic, syntactic mode name
40755         Use mode-line-format constructs to properly set mode-name, rather than
40756         use the very hacky solution that was filling-in for my lack of
40757         knowledge of this feature.
40759         * lisp/progmodes/js.el (js--update-mode-name)
40760         (js--idly-update-mode-name): Remove.
40762         (js--syntactic-mode-name-part): New helper function for mode-name.
40763         (js-use-syntactic-mode-name): Helper to set up the dynamic mode-name.
40765         (js-jsx-enable): Don’t need to call any extra functions now.
40766         (js-mode): Use the new setup function rather than the old ones.
40768         (js-jsx-mode): Use the same initial mode name as js-mode so the final
40769         one is identical for both modes.
40771 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40773         Improve whitespace and unary keyword parsing
40775         * lisp/progmodes/js.el (js--name-start-chars): Remove, adding these
40776         chars back to js--name-start-re.
40777         (js--name-start-re): Add chars back from js--name-start-chars.
40779         (js-jsx--tag-start-re): Improve regexp to capture the tag name (so it
40780         can be disambiguated from a unary keyword), to match newlines (which
40781         are common in this spot), and to require at least one whitespace
40782         character before the attribute name.
40784         (js-jsx--matched-tag-type): Ensure the “tag name” isn’t possibly a
40785         unary keyword.
40787         (js-jsx--self-closing-re, js-jsx--matching-close-tag-pos): Allow
40788         whitespace around “<” and “>”.
40790         * test/manual/indent/jsx-unclosed-2.jsx: Add tests for unary keyword
40791         and whitespace parsing.
40793 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40795         Optimize js-jsx--enclosing-tag-pos
40797         * lisp/progmodes/js.el (js-jsx--enclosing-tag-pos): Update docstring
40798         to be more precise.  Also, remember close tag positions after they’ve
40799         been calculated once to avoid many redundant calls to
40800         js-jsx--matching-close-tag-pos.
40801         (js-jsx--text-properties): Ensure js-jsx-close-tag-pos text properties
40802         get cleaned up, too.
40804 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40806         Optimize js-jsx--matching-close-tag-pos
40808         This function’s performance was having a noticeable impact when
40809         editing large JSX structures.  Improve its performance
40810         slightly (elapsed time will be cut in half according to ELP).
40812         * lisp/progmodes/js.el (js-jsx--tag-re): Remove.
40813         (js-jsx--matched-tag-type): Simplify implementation with respect to
40814         the new implementation of js-jsx--matching-close-tag-pos.
40815         (js-jsx--self-closing-re): Simplify regexp slightly in sync with a
40816         generally simpler matching algorithm.
40817         (js-jsx--matching-close-tag-pos): Optimize matching algorithm by using
40818         multiple simple regexp searches, rather than one big complex search.
40820         * test/manual/indent/jsx-unclosed-2.jsx: Use the term “inequality” and
40821         add a test for a possible parsing foible.
40823 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40825         Add tests for miscellaneous JSX parsing feats
40827         * test/manual/indent/jsx.jsx: Add tests for JSXMemberExpression names
40828         and JSXOpeningFragment/JSXClosingFragment support (already supported).
40830 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40832         Split JSX indentation calculation into several functions
40834         * lisp/progmodes/js.el (js-jsx--contextual-indentation)
40835         (js-jsx--expr-attribute-pos, js-jsx--expr-indentation): Extract logic
40836         from js-jsx--indentation, and improve the logic’s documentation.
40837         (js-jsx--indentation): Simplify by splitting into several
40838         functions (see above) and improve the logic’s documentation.
40840 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40842         Indent expressions in JSXAttributes relative to the attribute’s name
40844         * lisp/progmodes/js.el (js-jsx--syntax-propertize-tag): Refer to the
40845         beginning of a JSXExpressionContainer’s associated JSXAttribute (so
40846         line numbers can be calculated later).
40847         (js-jsx--text-properties): Also clear the new text property
40848         js-jsx-expr-attribute.
40850         (js-jsx--indenting): Remove.
40851         (js-jsx--indent-col, js-jsx--indent-attribute-line): New variables.
40852         (js-jsx--indentation): Instead of alternating between two separate
40853         column calculations, neither necessarily correct, bind the JSX column
40854         such that the second call to js--proper-indentation can use it as a
40855         base column.
40856         (js--proper-indentation): Use JSX as the base column for some indents
40857         while indenting JSX.
40859         * test/manual/indent/jsx.jsx: Add more tests for expression indents.
40861 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40863         Fix counting of nested self-closing JSXOpeningElements
40865         * lisp/progmodes/js.el (js-jsx--matching-close-tag-pos): Fix bug where
40866         self-closing JSXOpeningElements might be missed if one was nested
40867         within another.
40869         * test/manual/indent/jsx-self-closing.jsx: Add test for bug concerning
40870         self-closing JSXOpeningElement counting.
40872 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40874         Indent broken arrow function bodies as an N+1th arg
40876         * lisp/progmodes/js.el (js--line-terminating-arrow-re): Revise regexp
40877         for use with re-search-backward.
40878         (js--looking-at-broken-arrow-function-p): Remove.
40879         (js--broken-arrow-terminates-line-p): Replacement for
40880         js--looking-at-broken-arrow-function-p.  Don’t consider whether an
40881         arrow appears at point (in an arglist); instead, just look for an
40882         arrow that terminates the line.
40883         (js--proper-indentation): Use js--broken-arrow-terminates-line-p.
40885         * test/manual/indent/js.js: Add test for a broken arrow as an N+1th
40886         arg.
40888 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40890         Rename tests to use the “.jsx” file extension
40892         * test/manual/indent/js-jsx-quote.js: Renamed to “jsx-quote.jsx”.
40893         * test/manual/indent/js-jsx-unclosed-1.js: Renamed to
40894         “jsx-unclosed-1.jsx”.
40895         * test/manual/indent/js-jsx-unclosed-2.js: Renamed to
40896         “jsx-unclosed-2.jsx”.
40897         * test/manual/indent/js-jsx.js: Renamed to “jsx.jsx”.
40899         * test/manual/indent/jsx-quote.jsx: Renamed from “js-jsx-quote.js”.
40900         * test/manual/indent/jsx-unclosed-1.jsx: Renamed from
40901         “js-jsx-unclosed-1.js”.
40902         * test/manual/indent/jsx-unclosed-2.jsx: Renamed from
40903         “js-jsx-unclosed-2.js”.
40904         * test/manual/indent/jsx.jsx: Renamed from “js-jsx.js”.
40906 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40908         Improve JSX syntax propertization
40910         * lisp/progmodes/js.el (js-jsx--attribute-name-re): New variable.
40911         (js-jsx--syntax-propertize-tag): Allow “-” in JSXAttribute names.  Fix
40912         “out of range” error when typing at the end of a buffer.  Fix/improve
40913         future propertization of unfinished JSXBoundaryElements.
40915         * test/manual/indent/js-jsx-unclosed-2.js: Add tests for allowed
40916         characters in JSX.
40918 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40920         Automatically detect JSX in JavaScript files
40922         * lisp/files.el (auto-mode-alist): Simply enable
40923         javascript-mode (js-mode) when opening “.jsx” files, since the “.jsx”
40924         file extension will be used as an indicator of JSX syntax by js-mode,
40925         and more code is likely to work in js-mode than js-jsx-mode, and we
40926         probably want to guide users to use js-mode (with js-jsx-syntax)
40927         instead.  Code that used to work exclusively in js-jsx-mode (if anyone
40928         ever wrote any) ought to be updated to work in js-mode too when
40929         js-jsx-syntax is set to t.
40931         * lisp/progmodes/js.el (js-jsx-detect-syntax, js-jsx-regexps)
40932         (js-jsx--detect-and-enable, js-jsx--detect-after-change): New
40933         variables and functions for detecting and enabling JSX.
40935         (js-jsx-syntax): Update docstring with respect to the widened scope of
40936         the effects and use of this variable.
40938         (js-syntactic-mode-name, js--update-mode-name)
40939         (js--idly-update-mode-name, js-jsx-enable): New variable and functions
40940         for indicating when JSX is enabled.
40942         (js-mode): Detect and enable JSX.  Print all enabled syntaxes after
40943         the mode name whenever Emacs goes idle; this ensures lately-enabled
40944         syntaxes are evident.
40946         (js-jsx-mode): Update mode name for consistency with the state in
40947         which JSX is enabled in js-mode.  Update docstring to suggest
40948         alternative means of using JSX without this mode.  Going forward, it
40949         may be best to gently guide users away from js-jsx-mode, since a “one
40950         mode per syntax extension” model would not scale well if more syntax
40951         extensions were to be simultaneously supported (e.g. Facebook’s
40952         “Flow”).
40954 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40956         Finish replacing SGML-based JSX detection with js-mode’s parsing
40958         This removes the last dependency on sgml-mode for JSX-related logic.
40960         * lisp/progmodes/js.el (js-jsx--start-tag-re)
40961         (js-jsx--end-tag-re): Remove.
40962         (js-jsx--looking-at-start-tag-p)
40963         (js-jsx--looking-back-at-end-tag-p): Reimplement using text
40964         properties, using syntax information which ought to be slightly more
40965         accurate than regexps since it was found by complete parsing.
40967 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
40969         Indent JSX as parsed in a JS context
40971         Fixes the following issues (and re-fixes indentation issues initially
40972         fixed but later re-broken by previous commits in the process of adding
40973         comprehensive JSX support):
40975         - https://github.com/mooz/js2-mode/issues/389#issuecomment-390766873
40976         - https://github.com/mooz/js2-mode/issues/482
40977         - Bug#32158
40978         - https://github.com/mooz/js2-mode/issues/462
40980         Previously, we delegated to sgml-mode functions for JSX indentation.
40981         However, there were some problems with this approach:
40983         - sgml-mode does not anticipate tags inside attributes when indenting,
40984           which compromises JSX indentation inside JSXExpressionContainers
40985           inside JSXAttributes.
40987         - In previous iterations to provide comprehensive JSX support, it
40988           proved tedious to disambiguate “<” and “>” as JS inequality
40989           operators and arrow functions from opening and closing angle
40990           brackets as part of SGML tags.  That code evolved into a more
40991           complete JSX parsing implementation for syntax-propertize rules for
40992           font-locking, discarding the superfluous “<”/“>” disambiguation in
40993           anticipation of using the improved JSX analysis for indentation.
40995         - Using sgml-mode functions, we controlled JSX indentation using SGML
40996           variables.  However, JSX is a different thing than SGML; referencing
40997           SGML in JS was a leaky abstraction.
40999         To resolve these issues, use the text properties added by the JSX
41000         syntax-propertize code to determine the boundaries of various aspects
41001         of JSX syntax, and reimplement the sgml-mode indentation code in
41002         js-mode with better respect to JSX indentation conventions.
41004         * lisp/progmodes/js.el (js-jsx-attribute-offset): New variable to
41005         provide a way for users to still control JSX attribute offsets as they
41006         could with sgml-attribute-offset before.  The value of this feature is
41007         dubious IMO, but it’s trivial to keep it, so let’s do it just in case.
41009         (js-jsx--goto-outermost-enclosing-curly): New function.
41011         (js-jsx--enclosing-tag-pos): Refactor to be unbounded by curlies, so
41012         this function can be used to find JSXExpressionContainers within JSX.
41013         Fix bug where an enclosing JSXElement couldn’t be found when point was
41014         at the start of its JSXClosingElement.  Return the JSXClosingElement’s
41015         position as well, so the JSXClosingElement can be identified when
41016         indenting and be indented like the matching JSXOpeningElement.
41018         (js-jsx--at-enclosing-tag-child-p): js-jsx--enclosing-tag-pos now
41019         returns a list rather than a cons, so retrieve the JSXOpeningElement’s
41020         end position from a list.
41022         (js-jsx--context, js-jsx--indenting): New function and variable.
41023         (js-jsx--indentation): New function replacing the prior
41024         js-jsx--indent* functions and js-jsx-indent-line’s implementation.
41025         Use the JSX parsing performed in a JS context to more accurately
41026         calculate JSX indentation than by delegating to sgml-mode functions.
41027         (js--proper-indentation): Use js-jsx--indentation as yet another type
41028         of indentation.
41029         (js-jsx--as-sgml, js-jsx--outermost-enclosing-tag-pos)
41030         (js-jsx--indentation-type, js-jsx--indent-line-in-expression)
41031         (js-jsx--indent-n+1th-line): Remove obsolete functions.
41033         (js-jsx-indent-line): Refactor nearly-obsolete function to behave the
41034         same as it usually would before these changes, without respect to the
41035         binding of js-jsx-syntax.
41037         (js-jsx-mode): Remove obsolete documentation about the use of SGML
41038         variables to control indentation, and don’t bind indent-line-function
41039         any more, because it is no longer necessary given the new
41040         implementation of js-jsx-indent-line.
41042 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
41044         Update expectations for JSX indentation in JSXAttribute space
41046         * test/manual/indent/js-jsx.js: Align expectations for dangling
41047         closing constructs with other places in the tests.
41049 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
41051         Propertize and font-lock JSXText and JSXExpressionContainers
41053         This completes highlighting support for JSX, as requested in:
41055         - https://github.com/mooz/js2-mode/issues/140
41056         - https://github.com/mooz/js2-mode/issues/330
41057         - https://github.com/mooz/js2-mode/issues/409
41059         * lisp/progmodes/js.el (js--name-start-chars): Extract part of
41060         js--name-start-re so it can be reused in another regexp.
41061         (js--name-start-re): Use js--name-start-chars.
41063         (js-jsx--font-lock-keywords): Use new matchers.
41064         (js-jsx--match-text, js-jsx--match-expr): New matchers to remove
41065         typical JS font-locking and extend the font-locked region,
41066         respectively.
41068         (js-jsx--tag-re, js-jsx--self-closing-re): New regexps matching JSX.
41069         (js-jsx--matched-tag-type, js-jsx--matching-close-tag-pos)
41070         (js-jsx--enclosing-curly-pos, js-jsx--enclosing-tag-pos)
41071         (js-jsx--at-enclosing-tag-child-p): New functions for parsing and
41072         analyzing JSX.
41074         (js-jsx--text-range, js-jsx--syntax-propertize-tag-text): New
41075         functions for propertizing JSXText.
41076         (js-jsx--syntax-propertize-tag): Propertize JSXText children of tags.
41077         (js-jsx--text-properties): Remove JSXText-related text properties when
41078         repropertizing.
41079         (js-mode): Extend the syntax-propertize region with
41080         syntax-propertize-multiline; we are now adding the syntax-multiline
41081         text property to buffer ranges that are JSXText to ensure the whole
41082         multiline JSX construct is reidentified.
41084 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
41086         Font-lock JSX while editing it by extending regions
41088         * lisp/progmodes/js.el (js-jsx--font-lock-keywords):
41089         Call tag beginning and end matchers.
41090         (js-jsx--match-tag-beg, js-jsx--match-tag-end): New functions.
41091         (js-jsx--syntax-propertize-tag): Record buffer positions of JSXElement
41092         beginning and end for font-locking.
41094         (js--syntax-propertize-extend-region)
41095         (js-jsx--syntax-propertize-extend-region): New functions for extending
41096         the syntax-propertize region backwards to the start of a JSXElement so
41097         its JSXAttribute children on its n+1th lines can be parsed as such
41098         while editing those lines.
41099         (js-mode): Add js--syntax-propertize-extend-region to
41100         syntax-propertize-extend-region-functions.
41102 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
41104         Add basic JSX font-locking
41106         Font-lock JSX from the beginning of the buffer to the end.  Tends to
41107         break temporarily when editing lines, because the parser doesn’t yet
41108         look backwards to determine if the end of a tag in the current range
41109         starts before the range.
41111         This also re-breaks some tests fixed by previous commits, as we begin
41112         to take a different direction in our parsing code, looking for JSX,
41113         rather than for non-JSX.  The parsing code will eventually provide
41114         information for indentation again.
41116         * lisp/progmodes/js.el (js--dotted-captured-name-re)
41117         (js-jsx--disambiguate-beginning-of-tag)
41118         (js-jsx--disambiguate-end-of-tag, js-jsx--disambiguate-syntax):
41119         Remove.
41120         (js-jsx--font-lock-keywords): New variable.
41121         (js--font-lock-keywords-3): Add JSX matchers.
41122         (js-jsx--match-tag-name, js-jsx--match-attribute-name): New functions.
41123         (js-jsx--syntax-propertize-tag): New function to aid in JSX
41124         font-locking and eventually indentation.
41125         (js-jsx--text-properties): New variable.
41126         (js-syntax-propertize): Propertize JSX properly using
41127         syntax-propertize-rules.
41129 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
41131         Use js-jsx- prefix for functions and variables
41133         * lisp/progmodes/js.el (js--disambiguate-beginning-of-jsx-tag): Rename
41134         to js-jsx--disambiguate-beginning-of-tag.
41135         (js--disambiguate-end-of-jsx-tag): Rename to
41136         js-jsx--disambiguate-end-of-tag.
41137         (js--disambiguate-js-from-jsx): Rename to js-jsx--disambiguate-syntax.
41138         (js--jsx-start-tag-re): Rename to js-jsx--start-tag-re.
41139         (js--looking-at-jsx-start-tag-p): Rename to
41140         js-jsx--looking-at-start-tag-p.
41141         (js--jsx-end-tag-re): Rename to js-jsx--end-tag-re.
41142         (js--looking-back-at-jsx-end-tag-p): Rename to
41143         js-jsx--looking-back-at-end-tag-p.
41144         (js--as-sgml): Rename to js-jsx--as-sgml.
41145         (js--outermost-enclosing-jsx-tag-pos): Rename to
41146         js-jsx--outermost-enclosing-tag-pos.
41147         (js--jsx-indentation): Rename to js-jsx--indentation-type.
41148         (js--indent-line-in-jsx-expression): Rename to
41149         js-jsx--indent-line-in-expression.
41150         (js--indent-n+1th-jsx-line): Rename to js-jsx--indent-n+1th-line.
41152 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
41154         js-syntax-propertize: Disambiguate JS from JSX, fixing some indents
41156         Fix some JSX indentation bugs:
41158         - Bug#24896 / https://github.com/mooz/js2-mode/issues/389
41159         - Bug#30225
41160         - https://github.com/mooz/js2-mode/issues/459
41162         * lisp/progmodes/js.el (js--dotted-captured-name-re)
41163         (js--unary-keyword-re, js--unary-keyword-p)
41164         (js--disambiguate-beginning-of-jsx-tag)
41165         (js--disambiguate-end-of-jsx-tag)
41166         (js--disambiguate-js-from-jsx): New variables and functions.
41168         (js-syntax-propertize): Additionally clarify when syntax is JS so that
41169         ‘(with-syntax-table sgml-mode-syntax-table …)’ does not mistake some
41170         JS punctuation syntax for SGML parenthesis syntax, namely ‘<’ and ‘>’.
41172         * test/manual/indent/js-jsx-unclosed-2.js: Add additional test for
41173         unary operator parsing.
41175 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
41177         Add new (failing) unclosed JSX test and separate such tests
41179         * test/manual/indent/js-jsx.js: Move test with intentional scan error to
41180         its own file, js-jsx-unclosed-1.js.
41181         * test/manual/indent/js-jsx-unclosed-1.js: New file.
41182         * test/manual/indent/js-jsx-unclosed-2.js: New file with test for
41183         regression caused by new ambiguous parsing of JS/JSX.
41185 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
41187         Refactor JSX indentation code to improve enclosing JSX discovery
41189         Fix a number of bugs reported for JSX indentation (caused by poor JSX
41190         detection):
41192         - https://github.com/mooz/js2-mode/issues/140#issuecomment-166250016
41193         - https://github.com/mooz/js2-mode/issues/490
41194         - Bug#24896 / https://github.com/mooz/js2-mode/issues/389 (with
41195         respect to comments)
41196         - Bug#26001 /
41197         https://github.com/mooz/js2-mode/issues/389#issuecomment-271869380
41198         - https://github.com/mooz/js2-mode/issues/411 / Bug#27000 /
41199         https://github.com/mooz/js2-mode/issues/451
41201         Potentially manifest some new bugs (due to false positives with ‘<’
41202         and ‘>’ and SGML detection).  Slow down indentation a fair bit.
41204         * lisp/progmodes/js.el (js-jsx-syntax, js--jsx-start-tag-re)
41205         (js--looking-at-jsx-start-tag-p, js--looking-back-at-jsx-end-tag-p):
41206         New variables and functions.
41207         (js--jsx-find-before-tag, js--jsx-after-tag-re): Deleted.
41209         (js--looking-at-operator-p): Don’t mistake a JSXOpeningElement for the
41210         ‘<’ operator.
41211         (js--continued-expression-p): Don’t mistake a JSXClosingElement as a
41212         fragment of a continued expression including the ‘>’ operator.
41214         (js--as-sgml): Simplify.  Probably needn’t bind forward-sexp-function
41215         to nil (sgml-mode already does) and probably shouldn’t bind
41216         parse-sexp-lookup-properties to nil either (see Bug#24896).
41218         (js--outermost-enclosing-jsx-tag-pos): Find enclosing JSX more
41219         accurately than js--jsx-find-before-tag.  Use sgml-mode’s parsing
41220         logic, rather than unreliable heuristics like paren-wrapping.  This
41221         implementation is much slower; the previous implementation was fast,
41222         but at the expense of accuracy.  To make up for all the grief we’ve
41223         caused users, we will prefer accuracy over speed from now on.  That
41224         said, this can still probably be optimized a lot.
41226         (js--jsx-indented-element-p): Rename to js--jsx-indentation, since it
41227         doesn’t just return a boolean.
41228         (js--jsx-indentation): Refactor js--jsx-indented-element-p to simplify
41229         the implementation as the improved accuracy of other code allows (and
41230         to repent for some awful stylistic choices I made earlier).
41232         (js--expression-in-sgml-indent-line): Rename to
41233         js--indent-line-in-jsx-expression, since it’s a private function and
41234         we can give it a name that reads more like English.
41235         (js--indent-line-in-jsx-expression): Restructure point adjustment
41236         logic more like js-indent-line.
41238         (js--indent-n+1th-jsx-line): New function to complement
41239         js--indent-line-in-jsx-expression.
41241         (js-jsx-indent-line): Refactor.  Don’t bind js--continued-expression-p
41242         to ignore any more; instead, rely on the improved accuracy of
41243         js--continued-expression-p.
41245         (js-jsx-mode): Set js-jsx-syntax to t.  For now, this will be the flag
41246         we use to determine whether ‘JSX is enabled.’  (Maybe later, we will
41247         refactor the code to use this variable instead of requiring
41248         js-jsx-mode to be enabled, thus rendering the mode obsolete.)
41250 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
41252         Add failing tests for JSX indentation bugs
41254         * test/manual/indent/js-jsx.js: Add failing tests for all the js-mode
41255         and js2-mode JSX indentation bugs reported over the years that I could
41256         find.  Some may be duplicates, so I have grouped similar reports
41257         together, for now; we’ll see for certain which distinct cases we need
41258         once we start actually implementing fixes.
41259         * test/manual/indent/js-jsx-quote.js: New file with a nasty test.
41261 2019-04-08  Katsumi Yamaoka  <yamaoka@jpl.org>
41263         Restore .dir-locals.el accidentally deleted
41265         But this way -- git add/commit/push -- is probably wrong, sorry.
41267 2019-04-08  Katsumi Yamaoka  <yamaoka@jpl.org>
41269         Fix last commit message
41271 2019-04-08  Katsumi Yamaoka  <yamaoka@jpl.org>
41273         Make `jump to group' work even if it is not activated (bug#33653)
41275         * lisp/gnus/gnus-group.el (gnus-group-goto-group):
41276         Use gnus-newsrc-hashtb instead of gnus-active-hashtb to check if
41277         a group exists even if its server is not activated (bug#33653).
41279 2019-04-08  Katsumi Yamaoka  <yamaoka@jpl.org>
41281         Make `jump to group' work even if it is not activated (bug#33653)
41283         * lisp/gnus/gnus-group.el (gnus-group-goto-group):
41284         Use gnus-newsrc-hashtb instead of gnus-newsrc-hashtb to check if
41285         a group exists even if its server is not activated (bug#33653).
41287 2019-04-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
41289         Fix encoding and access of Gnus group names
41291         * lisp/gnus/gnus-start.el (gnus-active-to-gnus-format): Encode group
41292           names as 'latin-1.
41293         * lisp/gnus/nnmail.el (nnmail-parse-active): Ditto.
41294         * lisp/gnus/nnml.el (nnml-request-group, nnml-request-create-group,
41295           nnml-request-expire-articles, nnml-request-delete-group,
41296           nnml-request-rename-group, nnml-deletable-article-p,
41297           nnml-active-number, nnml-open-incremental-nov): Use assoc-string
41298           with nnml-group-alist.
41299         * lisp/gnus/nnrss.el (nnrss-request-delete-group,
41300           nnrss-retrieve-groups, nnrss-read-group-data, nnrss-check-group,
41301           nnrss-generate-download-script): Use assoc-string with
41302           nnrss-group-alist.
41304 2019-04-08  Katsumi Yamaoka  <yamaoka@jpl.org>
41306         Make `move article' work again (bug#33653)
41308         * lisp/gnus/gnus-sum.el (gnus-summary-move-article): Back to while loop
41309         m dolist that blocks nov and active from saving (bug#33653).
41311 2019-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
41313         * lisp/gnus/gnus-sum.el: Prepare for lexical-binding
41315         Add defvars for all the gnus-tmp-*.
41316         (gnus-summary-make-local-variables): Move let binding to avoid setq.
41317         (gnus-set-global-variables): Use dolist.
41318         (gnus-summary-from-or-to-or-newsgroups, gnus-summary-insert-line)
41319         (gnus-summary-insert-dummy-line): Avoid dynbind args.
41320         (gnus-build-old-threads): Remove unused var 'id'.
41321         (gnus-nov-parse-line): Remove unused var 'buffer'.
41322         (gnus-thread-header): Prepare it for a lexbind world.
41323         (gnus-adjust-marked-articles): Remove unused var 'marks'.
41324         (gnus-mark-xrefs-as-read): Remove unused var 'idlist'.
41325         (gnus-summary-display-article): Erase&widen before mm-enable-multibyte.
41326         (gnus-summary-better-unread-subject): Remove unused var 'score'.
41327         (gnus-summary-find-matching): Remove unused var 'd'.
41328         (ps-right-header, ps-left-header, shr-ignore-cache): Declare vars.
41329         (gnus-summary-idna-message, gnus-summary-morse-message)
41330         (gnus-summary-sort-by-original):
41331         Fix interactive spec since we don't actually use any prefix arg.
41332         (gnus-summary-move-article, gnus-read-move-group-name): Use user-error.
41333         (gnus-summary-move-article): Use dolist.
41334         (gnus-summary-edit-article): Fix unquoting.
41335         (gnus-summary-highlight-line-0, gnus-summary-highlight-line):
41336         Declare dynbind vars documented in gnus-summary-highlight.
41338 2019-04-08  Juri Linkov  <juri@linkov.net>
41340         * lisp/vc/diff-mode.el (diff-syntax-fontify-props): Check both buffer-local
41342         and default value of find-file-hook.
41344 2019-04-08  Paul Eggert  <eggert@cs.ucla.edu>
41346         Allow gap before first non-Lisp pseudovec member
41348         Problem reported by Keith David Bershatsky in:
41349         https://lists.gnu.org/r/emacs-devel/2019-04/msg00259.html
41350         Solution suggested by Stefan Monnier in:
41351         https://lists.gnu.org/r/emacs-devel/2019-04/msg00282.html
41352         * src/buffer.h (BUFFER_LISP_SIZE): Simplify by using PSEUDOVECSIZE.
41353         (BUFFER_REST_SIZE): Simplify by using VECSIZE and BUFFER_LISP_SIZE.
41354         * src/lisp.h (PSEUDOVECSIZE): Base it on the last Lisp field,
41355         not the first non-Lisp field.  All callers changed.  Callers
41356         without Lisp fields changed to use ALLOCATE_PLAIN_PSEUDOVECTOR.
41357         (ALLOCATE_PLAIN_PSEUDOVECTOR): New macro.
41359 2019-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
41361         * lisp/gnus/gnus-agent.el (gnus-agent-fetch-articles): Use match-string
41363         (gnus-agent-expire-group-1): Dial down on the 'setq'.
41365 2019-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
41367         * lisp/emacs-lisp/nadvice.el: Add ourselves to package--builtin-versions
41369 2019-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
41371         Eshell: Try to untangle the dependencies; move 'provide's to the end
41373         * lisp/eshell/esh-arg.el: Move defsubst and vars before first use.
41374         Don't require `esh-mode but esh-util instead.
41376         * lisp/eshell/esh-cmd.el: Require esh-module and esh-io.
41378         * lisp/eshell/esh-ext.el: Don't require esh-proc nor esh-cmd.
41379         (eshell-external-command): Require esh-proc for
41380         eshell-gather-process-output.
41382         * lisp/eshell/esh-mode.el: Don't require esh-io nor esh-var, but
41383         require esh-arg.
41384         (eshell-directory-name): Move from eshell.el.
41386         * lisp/eshell/esh-module.el: Don't require eshell.
41388         * lisp/eshell/esh-opt.el: Don't require esh-ext at top-level.
41389         (eshell--do-opts, eshell-show-usage): Require it here instead.
41391         * lisp/eshell/esh-proc.el: Don't require esh-cmd, but require esh-io.
41392         (eshell-reset-after-proc, eshell-record-process-object)
41393         (eshell-gather-process-output, eshell-send-eof-to-process):
41394         Require esh-mode and esh-var here.
41396         * lisp/eshell/esh-var.el: Require esh-module, esh-arg, and esh-io.
41398         * lisp/eshell/eshell.el: Require esh-module, esh-proc, esh-io, and esh-cmd.
41399         But don't require esh-mode.
41400         (eshell-directory-name): Move to esh-mode.
41401         (eshell-return-exits-minibuffer): Don't bind 'return' and 'M-return'
41402         since we already bind RET and M-RET.
41404 2019-04-08  Michael Albinus  <michael.albinus@gmx.de>
41406         Fix file-readable-p and file-executable-p in some Tramp backends
41408         * lisp/net/tramp-archive.el (tramp-archive-handle-file-readable-p):
41409         Use tramp-gvfs.
41411         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-executable-p):
41412         Check that FILENAME exists.
41413         (tramp-gvfs-handle-file-readable-p): Check that FILENAME exists.
41414         Use heuristic in case it cannot be determined correctly.
41416 2019-04-07  Mattias Engdegård  <mattiase@acm.org>
41418         Rename variable for clarity
41420         * lisp/progmodes/verilog-mode.el (verilog-sk-define-signal):
41421         Rename sig-re to sig-chars, to make it clear that it isn't a regexp.
41423 2019-04-07  Alexander Gramiak  <agrambot@gmail.com>
41425         Plug memory leak in GTK x-display-monitor-attributes-list
41427         * src/frame.c (free_monitors) [USE_GTK]: Define in the GTK case as
41428           well.
41430         * src/xfns.c (x-display-monitor-attributes-list) [USE_GTK]: Plug
41431           memory leak.
41433         * src/frame.h (MonitorInfo): Declare name as pointing to const char.
41435 2019-04-07  Paul Eggert  <eggert@cs.ucla.edu>
41437         Simplify fill_gstring_header
41439         * src/composite.c (fill_gstring_header): Omit first argument HEADER,
41440         since in practice it is always nil.  Change caller to match.
41441         Help the compiler by telling it LEN is nonnegative.
41442         Problem found with --enable-gcc-warnings and gcc -O2 -Og.
41444 2019-04-07  Paul Eggert  <eggert@cs.ucla.edu>
41446         Help the compiler with byte order
41448         * src/xsettings.c (parse_settings): Help the compiler by
41449         letting it deduce the native endianness at compile-time.
41451 2019-04-07  Paul Eggert  <eggert@cs.ucla.edu>
41453         Fix more regexp oddities
41455         Problems reported by Mattias Engdegård in:
41456         https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg00178.html
41457         * lisp/progmodes/sh-script.el (sh-get-indent-info):
41458         Reorder skip-chars-forward arg so that it does not look like a regexp.
41459         * lisp/progmodes/verilog-mode.el (verilog-sk-define-signal):
41460         Fix typo: the string is not a regexp.
41461         * lisp/vc/log-edit.el (log-edit-goto-eoh): Fix typo: stray ‘:’.
41462         * lisp/xml.el (xml-parse-dtd): Avoid ‘-’ right after char class.
41464 2019-04-07  Michael Albinus  <michael.albinus@gmx.de>
41466         Fix typo in tramp.texi
41468         * doc/misc/tramp.texi (Change file name syntax)
41469         (Frequently Asked Questions): '.' or ',' must follow xref.
41471 2019-04-07  Michael Albinus  <michael.albinus@gmx.de>
41473         * lisp/net/tramp.el (tramp-parse-group): Rename third arg to SKIP-CHARS.
41475         (tramp-parse-sconfig-group): Fix thinko.
41477 2019-04-06  Alexander Gramiak  <agrambot@gmail.com>
41479         * lisp/frame.el (display-planes): Use logb over truncate + log
41481         Suggested by Basil L. Contovounesios:
41482         https://lists.gnu.org/archive/html/bug-gnu-emacs/2019-03/msg01052.html
41484 2019-04-06  Alexander Gramiak  <agrambot@gmail.com>
41486         Introduce new defcustom for terminal CUA rectangle commands
41488         This allows a user to set a non-meta modifier for their terminal
41489         should his/her terminal support it. See bug#35058 for background on
41490         this change.
41492         * lisp/emulation/cua-base.el (cua-rectangle-terminal-modifier-key):
41493         New defcustom.
41495         * lisp/emulation/cua-base.el (cua--shift-control-x-prefix): Use new
41496         defcustom.
41498 2019-04-06  Alexander Gramiak  <agrambot@gmail.com>
41500         Define and use new procedure display-symbol-keys-p
41502         * lisp/frame.el (display-symbol-keys-p): Define.
41504         * lisp/simple.el (normal-erase-is-backspace-setup-frame): Use eq
41505         instead of memq.
41506         (normal-erase-is-backspace-mode): Use display-symbol-keys-p.
41508 2019-04-06  Alexander Gramiak  <agrambot@gmail.com>
41510         Define and use new alias display-blink-cursor-p
41512         display-graphic-p is not used in this case because it may be possible
41513         in the future for terminals to allow control over cursor blinking. For
41514         details, see bug#35058.
41516         * lisp/frame.el (blink-cursor-mode): Use display-blink-cursor-p.
41518 2019-04-06  Alexander Gramiak  <agrambot@gmail.com>
41520         Use display-graphic-p and display-multi-frame-p in more cases
41522         * lisp/disp-table.el:
41523         * lisp/faces.el:
41524         * lisp/frame.el:
41525         * lisp/info.el (Info-fontify-node):
41526         * lisp/window.el (handle-select-window): Use display-graphic-p and
41527           display-multi-frame-p instead of explicit memq calls.
41529 2019-04-06  Basil L. Contovounesios  <contovob@tcd.ie>
41531         Distinguish buttons from widgets (bug#34506)
41533         * lisp/button.el (button-at):
41534         * lisp/wid-edit.el (widget-at): Avoid returning a false positive
41535         when looking for a button and finding a widget, or vice versa.
41536         * test/lisp/button-tests.el:
41537         * test/lisp/wid-edit-tests.el: New files.
41539 2019-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
41541         * src/buffer.c (Fget_buffer_create): Apply booleans's eta-reduction
41543 2019-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
41545         * lisp/subr.el (setq-default): Fix thinko
41547         Reported by Johan Bockgård <bojohan+news@gnu.org>
41549 2019-04-06  Glenn Morris  <rgm@gnu.org>
41551         * doc/misc/tramp.texi (Remote processes): '.' or ',' must follow xref.
41553 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
41555         Encode the FILENAME argument of 'file-locked-p'
41557         * src/filelock.c (Ffile_locked_p): Encode the file name,
41558         before passing it to system APIs.  (Bug#35171)
41560 2019-04-06  Basil L. Contovounesios  <contovob@tcd.ie>
41562         Don't leave inhibit_buffer_hooks uninitialized
41564         * src/buffer.c (Fget_buffer_create): Explicitly initialize
41565         inhibit_buffer_hooks. (bug#34847)
41567 2019-04-06  Michael Albinus  <michael.albinus@gmx.de>
41569         Fix Bug#34847
41571         * lisp/autorevert.el (auto-revert-remove-current-buffer):
41572         Add optional argument BUFFER.
41573         (auto-revert-notify-rm-watch): Remove local hook.
41574         (auto-revert-buffers): Check `buffer-live-p' in time.  (Bug#34847)
41576 2019-04-05  Alex Branham  <alex.branham@gmail.com>
41578         Update documentation for indent-relative functions
41580         * lisp/indent.el (indent-relative): Document what happens when there
41581           is no previous nonblank line.
41582         * doc/lispref/text.texi (Relative Indent): Document
41583           indent-relative-first-indent-point instead of obsolete
41584           indent-relative-maybe. Fix documentation of which argument from
41585           'indent-relative' is used.
41587         Bug#34858
41589 2019-04-05  Michał Krzywkowski  <mkrzywkow@gmail.com>
41591         Small elide-head.el update
41593         * lisp/elide-head.el (elide-head-headers-to-hide):
41594         Also match https for GPL.  (Bug#34919)
41596 2019-04-05  Glenn Morris  <rgm@gnu.org>
41598         * doc/emacs/emacs.texi (Acknowledgments): Remove duplicate.
41600 2019-04-05  Michael Albinus  <michael.albinus@gmx.de>
41602         Adapt tramp-tests.el
41604         * test/lisp/net/tramp-tests.el (tramp-test30-make-process):
41605         Instrument test.  Adapt check string.
41606         (tramp-test34-explicit-shell-file-name)
41607         (tramp-test43-asynchronous-requests): Skip tests for tramp-adb
41608         with older Emacsen.
41610 2019-04-05  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
41612         Minor cleanup in widget.c
41614         * src/widget.c (update_wm_hints): Remove variables that are
41615         always zero, and simplify all expressions which used them.
41616         (Bug#35062)
41618 2019-04-05  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
41620         Minor cleanup in gtkutil.c
41622         * src/gtkutil.c (x_wm_set_size_hint): Remove variables that
41623         are always zero, and simplify all expressions which used
41624         them.  (Bug#35062)
41626 2019-04-04  Katsumi Yamaoka  <yamaoka@jpl.org>
41628         Make `move article' work again (bug#33653)
41630         * lisp/gnus/gnus-sum.el (gnus-summary-move-article): Back to while loop
41631         m dolist that blocks nov and active from saving (bug#33653).
41633 2019-04-04  Troy Hinckley  <t.macman@gmail.com>
41635         Don't check comp-buffer-name-function in derived mode (Bug#34956)
41637         * lisp/progmodes/compile.el (define-compilation-mode): Remove
41638         'compilation-buffer-name-function' from the list of overridden
41639         variables to ensure that it is not mistaken for a variable that can be
41640         major mode specific.  'compilation-buffer-name-function' is used
41641         before the major mode is loaded, therefore overriding it here is
41642         ineffectual.  Also, the function 'compilation-start' takes an optional
41643         argument name-function, so there is already a mechanism to override
41644         it.
41646 2019-04-04  Basil L. Contovounesios  <contovob@tcd.ie>
41648         Fix comment-empty-lines docstring (bug#35152)
41650         * lisp/newcomment.el (comment-empty-lines): Consistently use US
41651         commas in docstring.  Fix indentation of and typo in custom :type.
41653 2019-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
41655         * lisp/progmodes/compile.el (compilation-error-regexp-alist): Typo
41657         Reported by Kévin Le Gouguec <kevin.legouguec@gmail.com>
41659 2019-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
41661         * lisp/desktop.el (desktop--v2s): Add case for defstructs (bug#35131)
41663 2019-04-04  Michael Albinus  <michael.albinus@gmx.de>
41665         * test/lisp/net/tramp-tests.el (tramp-test43-asynchronous-requests):
41667         Make it fit for tramp-adb.  Apply better check in process filter.
41669 2019-04-03  Mauro Aranda  <maurooaranda@gmail.com>
41671         Avoid recursive load of eshell
41673         * lisp/eshell/eshell.el: Provide eshell before requiring esh-mode to
41674         avoid a recursive load when esh-mode requires esh-module (which in
41675         turn requires eshell).  (Bug #34954)
41676         The double loading can be noticed by entries in 'eshell-load-hook' or
41677         forms passed to (with-eval-after-load 'eshell ...).
41679 2019-04-03  Mauro Aranda  <maurooaranda@gmail.com>
41681         Fix repeated 'custom-add-option' in esh-mode.el (Bug#34993)
41683         * lisp/eshell/esh-mode.el: Call 'custom-add-option' with the right
41684         argument.
41686 2019-04-03  Michael Albinus  <michael.albinus@gmx.de>
41688         Work on asynchronous processes for tramp-adb.el
41690         * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
41691         Simplify.  Remove echoed first line.
41692         (tramp-adb-send-command): Add NEVEROPEN and NOOUTPUT.
41694         * lisp/net/tramp-sh.el (tramp-process-sentinel): Remove.
41695         (tramp-sh-handle-make-process): Simplify.
41697         * lisp/net/tramp.el (tramp-process-sentinel): New defun, taken from
41698         tramp-sh.el.  Delete trailing shell prompt.
41700         * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
41701         (tramp-test30-make-process): Run also for tramp-adb.
41702         (tramp-test32-shell-command): Remove tramp-adb restrictions.
41703         (tramp-test34-explicit-shell-file-name): Rework.  Remove :unstable tag.
41705 2019-04-03  Glenn Morris  <rgm@gnu.org>
41707         * test/lisp/progmodes/flymake-tests.el (different-diagnostic-types):
41708         Expect failure on hydra.nixos.
41710 2019-04-03  Eli Zaretskii  <eliz@gnu.org>
41712         Improve commentary in 'field_relpos'
41714         * src/pdumper.c (PDUMPER_MAX_OBJECT_SIZE): New macro.
41715         (field_relpos): Use PDUMPER_MAX_OBJECT_SIZE, and comment on
41716         why we require that relpos be not too large.
41718 2019-04-03  Eli Zaretskii  <eliz@gnu.org>
41720         Restore process-environment after portable dumping
41722         * src/pdumper.c (struct dump_context): New member
41723         old_process_environment.
41724         (Fdump_emacs_portable): Record the original value of
41725         process-environment.
41726         (dump_unwind_cleanup): Restore the original values of
41727         process-environment and post-gc-hook.
41729 2019-04-03  Stephen Leake  <stephen_leake@stephe-leake.org>
41731         Fix bug in gud-gdb-marker-filter: first marker does not start with \n
41733 2019-04-03  Basil L. Contovounesios  <contovob@tcd.ie>
41735         Avoid using obsolete indent-relative-maybe
41737         * lisp/electric.el (electric-indent-functions-without-reindent):
41738         * lisp/indent.el (indent-according-to-mode): Check for
41739         indent-relative-first-indent-point in addition to its obsolete alias
41740         indent-relative-maybe.
41741         * lisp/obsolete/vi.el (vi-com-map): Use
41742         indent-relative-first-indent-point in place of its obsolete alias
41743         indent-relative-maybe.
41745 2019-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
41747         * lisp/progmodes/compile.el: Use non-nil values for *-function
41749         (compilation-parse-errors-filename-function,compilation-exit-message-function)
41750         (compilation-process-setup-function, compilation-buffer-name-function):
41751         Give them non-nil default values.
41752         (compilation-buffer-name): Restructure slightly.
41753         (compilation--default-buffer-name): New function, extracted from it.
41754         Use `name-of-mode` instead of `mode-command` to check if the current
41755         buffer is already in the appropriate mode.
41757 2019-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
41759         * lisp/progmodes/compile.el: Allow 'line' functions in error-regexp-alist
41761         (compilation-error-properties): Allow 'line' and 'end-line' to be functions,
41762         like 'col' and 'end-col'.
41763         (compilation-error-regexp-alist): Document this.
41764         (compilation-parse-errors): Drop support for old undocumented feature
41765         where 'line' was a function of 2 arguments.
41766         (compilation--compat-error-properties): Delete function.
41768 2019-04-02  Noam Postavsky  <npostavs@users.sourceforge.net>
41770         Allow partial decompression (Bug#33133)
41772         * src/decompress.c (Fzlib_decompress_region): Add optional
41773         ALLOW-PARTIAL parameter.
41774         * lisp/url/url-http.el (url-handle-content-transfer-encoding): Use it.
41775         * doc/lispref/text.texi (Decompression): Document it.
41776         * etc/NEWS: Announce it.
41778 2019-04-02  Basil L. Contovounesios  <contovob@tcd.ie>
41780         * lisp/gnus/gnus-dup.el: Use lexical-binding
41782         (gnus-dup-list-dirty): Add docstring.
41783         (gnus-dup-open): Allocate gnus-dup-hashtb more conservatively now
41784         that it is no longer an obarray.
41785         (gnus-dup-enter-articles): Fix off-by-one error.
41786         (gnus-dup-suppress-articles): DRY.
41788         For discussion, see thread starting at:
41789         https://lists.gnu.org/archive/html/emacs-devel/2019-03/msg00974.html
41791 2019-04-02  Wilson Snyder  <wsnyder@wsnyder.org>
41793         Fix verilog-mode vmm statements and AUTOINPUTREG ignores.
41795         * lisp/progmodes/verilog-mode.el (verilog-vmm-statement-re):
41796         Fix vmm statement regexps. Reported by Mattias Engdegard.
41797         (verilog-auto-reg-input)
41798         (verilog-auto-reg-input-assigned-ignore-regexp): For AUTOINPUTREG,
41799         allow ignoring assignments with new
41800         `verilog-auto-reg-input-assigned-ignore-regexp' variable, bug1401.
41801         Reported by David Rogoff.
41803 2019-04-02  Paul Eggert  <eggert@cs.ucla.edu>
41805         Improve regexp advice again, and unchain ranges
41807         * doc/lispref/searching.texi (Regexp Special):
41808         Mention char classes earlier, in a more-logical place.
41809         Advise sticking to ASCII letters and digits in ranges.
41810         Reword negative advice to make it clearer that it’s negative.
41811         * lisp/files.el (make-auto-save-file-name):
41812         * lisp/gnus/message.el (message-mailer-swallows-blank-line):
41813         * lisp/gnus/nndoc.el (nndoc-lanl-gov-announce-type-p)
41814         (nndoc-generate-lanl-gov-head):
41815         * lisp/org/org-eshell.el (org-eshell-open):
41816         * lisp/org/org.el (org-deadline-time-hour-regexp)
41817         (org-scheduled-time-hour-regexp):
41818         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords):
41819         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
41820         * lisp/textmodes/less-css-mode.el (less-css-font-lock-keywords):
41821         * lisp/vc/vc-cvs.el (vc-cvs-valid-symbolic-tag-name-p):
41822         * lisp/vc/vc-svn.el (vc-svn-valid-symbolic-tag-name-p):
41823         Avoid attempts to chain ranges, as this can be confusing.
41824         For example, instead of [0-9-_.], use [0-9_.-].
41826 2019-04-02  Eli Zaretskii  <eliz@gnu.org>
41828         Fix documentation of last change
41830         * doc/misc/cl.texi (Structures): Document :noinline.
41832         * etc/NEWS: Mark the entry for :noinline as documented.
41834 2019-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
41836         * lisp/emacs-lisp/cl-macs.el: Don't always inline struct functions
41838         (cl--struct-inline): New var.
41839         (cl-defstruct): Obey it along with a new :noinline keyword argument.
41841 2019-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
41843         * lisp/subr.el (prog2): Define as a macro
41845         * src/eval.c (Fprog2): Delete function.
41846         (syms_of_eval): Don't register it.
41848         * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
41849         * lisp/emacs-lisp/generator.el (cps--transform-1): Remove `prog2` case.
41851         * lisp/emacs-lisp/bytecomp.el (prog2): Remove handlers.
41852         (byte-compile-prog2): Delete.
41854         * lisp/emacs-lisp/lisp-mode.el (prog2): Remove property.
41856 2019-04-02  Michael Albinus  <michael.albinus@gmx.de>
41858         Suppress timers in tramp-send-string
41860         * lisp/net/tramp.el (tramp-send-string): Suppress timers.  Use
41861         `with-local-quit'.
41863 2019-04-02  Michael Albinus  <michael.albinus@gmx.de>
41865         Give example for configuration in tramp.texi
41867         * doc/misc/tramp.texi (Configuration): Explain how to call Tramp
41868         configuration functions in the init file.
41870 2019-04-02  Paul Eggert  <eggert@cs.ucla.edu>
41872         More regexp advice and clarifications
41874         * doc/lispref/searching.texi (Regexp Special): Simplify style
41875         advice for order of ], ^, and - in character alternatives.
41876         Stick with saying that it’s not a good idea to put ‘-’ after a
41877         range.  Remove the special case about raw 8-bit bytes and
41878         unibyte characters, as this documentation is confusing and
41879         seems to be incorrect in some cases.  Say that z-a is the
41880         preferred style for reversed ranges, since it’s clearer and is
41881         typically what’s used in practice.  Mention some bad styles:
41882         duplicates in character alternatives, ranges that denote <=3
41883         characters, and ‘-’ as the first character.
41885 2019-04-01  Paul Eggert  <eggert@cs.ucla.edu>
41887         Merge from origin/emacs-26
41889         0924b27bca Say which regexp ranges should be avoided
41891         # Conflicts:
41892         #       doc/lispref/searching.texi
41894 2019-04-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
41896         Refactor Gnus group name extraction in group completing read
41898         * lisp/gnus/gnus-group.el (gnus-group-completing-read): Only do the
41899           unibyte check once; make sure it applies to hash table keys as
41900           well.
41902 2019-04-01  Paul Eggert  <eggert@cs.ucla.edu>
41904         Make struct Lisp_Objfwd etc. objects read-only
41906         Initialize these objects statically, and make them constants.
41907         This is a bit safer and more efficient.
41908         * src/data.c (XBOOLFWD, XKBOARD_OBJFWD, XFIXNUMFWD, XOBJFWD):
41909         * src/lisp.h (XBUFFER_OBJFWD):
41910         Return a pointer-to-const instead of an unrestricted pointer.
41911         (lispfwd): fwdptr is now a pointer-to-const instead of an
41912         unrestricted pointer.  All uses changed.
41913         (SET_SYMBOL_FWD): Accept pointer-to-const instead of an
41914         unrestricted pointer.
41915         (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT)
41916         (DEFVAR_KBOARD): Initialize static structures statically
41917         instead of dynamically, and make them const.
41918         * src/lread.c (defvar_int, defvar_bool, defvar_lisp_nopro)
41919         (defvar_lisp, defvar_kboard): Accept pointer-to-const instead
41920         of an unrestricted pointer; it’s now the caller’s
41921         responsibility to initialize the pointed-to storage.  No need
41922         for a separate address argument any more.  All callers
41923         changed.
41925 2019-04-01  Paul Eggert  <eggert@cs.ucla.edu>
41927         Fix union Lisp_Fwd * alignment bug
41929         It's not portable to cast (e.g.) struct Lisp_Objfwd * to union
41930         Lisp_Fwd * and then back again, because the compiler can then assume
41931         that the pointer is aligned for union Lisp_Fwd * when accessing
41932         the struct Lisp_Objfwd * components, and this assumption might
41933         be incorrect because we don't force that alignment.
41934         * src/lisp.h (lispfwd): New type, replacing ...
41935         (union Lisp_Fwd): ... this type, which was removed.
41936         All uses changed.
41937         (SET_SYMBOL_FWD): 2nd arg is now void *, not lispfwd.
41938         All uses changed (casts no longer needed; they were
41939         not portable anyway).
41941 2019-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
41943         * lisp/subr.el (setq-default): Define as a macro
41945         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq-default): Delete.
41946         (byte-compile-set-default): Inline the part that it used.
41948         * lisp/emacs-lisp/edebug.el (setq-default): Remove the debug spec.
41950         * src/data.c (Fsetq_default): Delete.
41951         (syms_of_data): Don't register.
41953 2019-04-01  Eli Zaretskii  <eliz@gnu.org>
41955         Fix a typo in xterm.c and w32term.c
41957         * src/xterm.c (x_window_to_scroll_bar):
41958         * src/w32term.c (x_window_to_scroll_bar): Fix a typo.
41960 2019-03-31  Paul Eggert  <eggert@cs.ucla.edu>
41962         Use update-game-score more often with Tetris
41964         * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
41965         Go back to previous way of deciding whether to invoke
41966         update-game-score, except do not try to invoke it if file-modes
41967         fails on it (Bug#35056).
41969 2019-03-31  Basil L. Contovounesios  <contovob@tcd.ie>
41971         Do not set indent-line-function in text-mode
41973         * lisp/textmodes/text-mode.el (text-mode): Do not reset
41974         indent-line-function to its global default value of indent-relative.
41975         * doc/lispref/modes.texi (Example Major Modes):
41976         * etc/NEWS: Document change accordingly.
41978 2019-03-31  Basil L. Contovounesios  <contovob@tcd.ie>
41980         Do not set indent-line-function in text-mode
41982         For discussion, see thread starting at:
41983         https://lists.gnu.org/archive/html/emacs-devel/2019-03/msg01012.html
41984         * lisp/textmodes/text-mode.el (text-mode): Do not reset
41985         indent-line-function to its global default value of indent-relative.
41986         * doc/lispref/modes.texi (Example Major Modes):
41987         * etc/NEWS: Document change accordingly.
41989 2019-03-31  Basil L. Contovounesios  <contovob@tcd.ie>
41991         Use lexical-binding in text-mode.el
41993         * lisp/textmodes/text-mode.el: Use lexical-binding.
41994         (text-mode, paragraph-indent-minor-mode, text-mode-hook-identify):
41995         Use setq-local.
41996         (toggle-text-mode-auto-fill): Quote function symbols as such.
41997         (center-line): Minor simplification.
41998         * doc/lispref/modes.texi (Example Major Modes): Update code example
41999         for these changes to text-mode.
42001 2019-03-31  Alan Third  <alan@idiocy.org>
42003         Use the correct filename for dump file in NS
42005         * nextstep/Makefile.in (all):
42006         (${ns_appbindir}/Emacs.pdmp):
42007         (links): Use mixed case 'Emacs.pdmp' to match the executable name.
42009 2019-03-31  Basil L. Contovounesios  <contovob@tcd.ie>
42011         Fix recently extended delete-indentation behavior
42013         * doc/lispref/text.texi (User-Level Deletion): Document new optional
42014         arguments of delete-indentation.
42016         * lisp/simple.el (delete-indentation): Do not barf if called
42017         interactively when region is inactive. (bug#35021)
42018         Do not skip blank lines. (bug#35036)
42019         Consistently deactivate mark even when no text was changed.
42020         Handle active region spanning a single line.
42022         * test/lisp/simple-tests.el (simple-test--buffer-substrings):
42023         New convenience function.
42024         (simple-test--dummy-buffer, simple-test--transpositions): Use it.
42025         (simple-delete-indentation-no-region)
42026         (simple-delete-indentation-inactive-region): Update commentary.
42027         Call delete-indentation interactively when testing for behavior with
42028         inactive region and region is not explicitly defined.
42029         (simple-delete-indentation-blank-line)
42030         (simple-delete-indentation-boundaries)
42031         (simple-delete-indentation-region)
42032         (simple-delete-indentation-prefix): New tests.
42034 2019-03-31  Eric Abrahamsen  <eric@ericabrahamsen.net>
42036         Check gnus-newsgroup-dependencies is hash table in gnus-id-to-thread
42038         * lisp/gnus/gnus-sum.el (gnus-id-to-thread): If dependencies haven't
42039           been initialized yet, don't blow up. Mimicks previous (non hasht
42040           table) behavior.
42042 2019-03-31  Mattias Engdegård  <mattiase@acm.org>
42044         Fix typo in regexp-opt example code
42046         * doc/lispref/searching.texi (Regexp Functions):
42047         Fix typo in example code (Bug#34596).
42049 2019-03-30  Alan Mackenzie  <acm@muc.de>
42051         Allow a CC Mode derived mode to have strings delimited by single quotes.
42053         Also fix the bug where the delimiters of '\033', etc. got the error face.
42055         * lisp/progmodes/cc-langs.el (c-single-quotes-quote-strings): Enhance the docr
42056         string.
42057         (c-string-delims): Change doc string to doc comment.
42059         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): In
42060         searches and comparisons, take account of the string delimiters possibly
42061         being '.  Fix argument in call of c-before-change-check-unbalanced-strings.
42062         (c-parse-quotes-before-change, c-parse-quotes-after-change): Bind
42063         case-fold-search to nil.  Analyze escape constructs inside character constants
42064         more accurately, in particular accepting as valid more than one character
42065         after /[0-7], /x, /u, and /U.  Amend calculations to account for this extra
42066         length.
42068 2019-03-30  Eli Zaretskii  <eliz@gnu.org>
42070         Fix a thinko in a recent commit
42072         * src/buffer.c (Fkill_buffer): Fix last change.  (Bug#31138)
42073         Reported by Mattias Engdegård <mattiase@acm.org>.
42075 2019-03-30  Mattias Engdegård  <mattiase@acm.org>
42077         Release regexp before signaling overflow error
42079         * src/search.c (looking_at_1, search_buffer_re): Unfreeze the regexp
42080         buffer before signaling a matcher overflow, since the error
42081         processing may require quite some regexp use as well (Bug#34910).
42083 2019-03-30  Mattias Engdegård  <mattiase@acm.org>
42085         Fix spurious regexp reentrancy error
42087         * src/search.c (compile_pattern): Don't give up if the last regexp
42088         cache entry is busy.  Instead, use the last (least recently used)
42089         non-busy entry, and only signal a reentrancy error if there is no free
42090         entry at all (Bug#34910).
42092 2019-03-30  Eli Zaretskii  <eliz@gnu.org>
42094         Don't run buffer-related hooks in " *code conversion work*" buffers
42096         Note: portions of this change were mistakenly pushed as part
42097         of an unrelated commit a35a1f6a9.
42099         * src/buffer.c (Fget_buffer_create): Set inhibit_buffer_hooks
42100         non-zero for temporary buffers created by coding.c.  Don't run
42101         buffer-list-update-hook for such buffers.
42102         (Frename_buffer, Fkill_buffer, record_buffer)
42103         (Fbury_buffer_internal): Don't run hooks for buffers whose
42104         inhibit_buffer_hooks flag is set.
42105         * src/buffer.h (struct buffer): New member
42106         inhibit_buffer_hooks.
42107         * src/pdumper.c (dump_buffer): Dump the new field.  Update the
42108         hash value in HASH_buffer_XXX.
42109         * src/coding.c (make_conversion_work_buffer): Function deleted;
42110         code moved to code_conversion_save.
42111         (code_conversion_save): Insert code from
42112         make_conversion_work_buffer, but arrange for unwind-protecting
42113         the current buffer before switching to the work buffer.  This
42114         avoids leaving reused_workbuf_in_use set if user presses C-g
42115         during encoding/decoding.
42116         (Vcode_conversion_workbuf_name): Now external variable.
42117         * src/coding.h (Vcode_conversion_reused_workbuf): Declare.
42119 2019-03-29  Michael Albinus  <michael.albinus@gmx.de>
42121         Extend comment about scope of tramp-test05-expand-file-name-relative
42123 2019-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>
42125         Gnus: Automatically render text/calendar in a human-friendly way
42127         * lisp/gnus/mm-decode.el (mm-inline-media-tests): Add text/calendar entry.
42128         Use (fboundp 'device-sound-enabled-p) rather than fishing for features.
42129         (mm-automatic-display): Add text/calendar entry.
42131         * lisp/gnus/gnus-icalendar.el: Use lexical-binding.
42132         Remove redundant :group args.
42133         (gnus-icalendar-mm-inline): Add autoload cookie.
42135 2019-03-29  Alan Mackenzie  <acm@muc.de>
42137         Fix (again) regexp bug in CC Mode.
42139         * lisp/progmodes/cc-mode.el (c-after-change-mark-abnormal-strings): "|\\\r" ->
42140         "\\|\r".
42142 2019-03-28  Mattias Engdegård  <mattiase@acm.org>
42144         Use memql instead of memq in pcase
42146         * lisp/emacs-lisp/pcase.el (pcase--u1):
42147         Use memql instead of memq to work with bignums (Bug#34781).
42148         * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-member): Test the above.
42150 2019-03-28  Eric Abrahamsen  <eric@ericabrahamsen.net>
42152         Initiate gnus-active-hashtb before making ephemeral group
42154         * lisp/gnus/gnus-group.el (gnus-group-read-ephemeral-group): Needs to
42155           be a hash table, not nil.
42157 2019-03-28  Eli Zaretskii  <eliz@gnu.org>
42159         Fix display of sliced images on MS-Windows
42161         * src/w32term.c (x_draw_image_foreground): Fix detection of
42162         scaled images for sliced images.  Scale the original width of
42163         a slice and its coordinates of origin as well.
42165 2019-03-28  Michael Albinus  <michael.albinus@gmx.de>
42167         * lisp/net/tramp.el (tramp-accept-process-output): Use `push'.
42169 2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>
42171         Simpler way to export HAVE_X_WINDOWS to GDB
42173         * src/.gdbinit: Simplify by removing dependency on globals
42174         implementation.  This is useful for a future performance
42175         improvement that I have in mind.
42176         * src/alloc.c (enum defined_HAVE_X_WINDOWS, defined_HAVE_X_WINDOWS):
42177         New enum and constant.
42178         (gdb_make_enums_visible) [__GNUC__]: Use it, to make
42179         defined_HAVE_X_WINDOWS visible to GDB.
42181 2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>
42183         Tweak re_registers allocation
42185         * src/regex-emacs.c (re_match_2_internal):
42186         No need to allocate one extra trailing search register;
42187         Emacs does not use it.  Avoid quadratic behavior on
42188         reallocation.
42190 2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>
42192         No need for m_search_regs_saved in thread.h
42194         * src/search.c (save_search_regs, restore_search_regs):
42195         Don’t use m_search_regs_saved; it’s equivalent to
42196         saved_search_regs.num_regs != 0.
42197         * src/thread.h (struct thread_state): Remove m_search_regs_saved.
42199 2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>
42201         Fix search_regs memory leak when thread destroyed
42203         * src/thread.c (free_search_regs): New function.
42204         (finalize_one_thread): Use it.
42206 2019-03-27  Juri Linkov  <juri@linkov.net>
42208         * lisp/frame.el (make-frame-on-monitor): Add default value.  (Bug#34516)
42210 2019-03-27  Michael Albinus  <michael.albinus@gmx.de>
42212         * lisp/net/tramp.el (tramp-accept-process-output): Let progress reporter run.
42214 2019-03-27  Charles A. Roelli  <charles@aurox.ch>
42216         * test/lisp/mail/rmail-tests.el (rmail-autoload): Fix its doc.
42218 2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>
42220         Tune css-mode regexp
42222         * lisp/textmodes/css-mode.el (css--font-lock-keywords):
42223         Omit unnecessary \(?: \) in regexp.  Suggested by Mattias Engdegård in:
42224         https://lists.gnu.org/r/emacs-devel/2019-03/msg01042.html
42226 2019-03-27  Michael Heerdegen  <michael_heerdegen@web.de>
42228         Improve documentation of 'alist-get' (Bug#34708)
42230         * lisp/subr.el (alist-get): Enhance part of docstring explaining usage
42231         in place expressions.
42233 2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>
42235         Use regexp-opt-charset to improve regexp tweaks
42237         * lisp/emacs-lisp/regexp-opt.el (regexp-opt):
42238         Reword confusing sentence in doc string.
42239         * lisp/erc/erc.el (erc-lurker-maybe-trim):
42240         * lisp/mail/footnote.el (footnote-hebrew-numeric-regex):
42241         Improve by using regexp-opt-charset.
42243 2019-03-27  Eli Zaretskii  <eliz@gnu.org>
42245         Attempt to fix crashes under GDB on Windows 10
42247         * src/pdumper.c (dump_discard_mem)
42248         [VM_SUPPORTED == VM_MS_WINDOWS]: Don't pass NULL pointer as
42249         last argument to VirtualProtect.  Reported by Martin Rudalics
42250         <rudalics@gmx.at>.
42252 2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>
42254         Minor xml.el tweaks
42256         * lisp/xml.el (xml-name-start-char-re, xml-name-char-re):
42257         No need to call concat.
42258         (xml-name-char-re): Use \u escapes rather than chars inline,
42259         so that the code matches the comments better and is easier
42260         to audit.
42262 2019-03-27  Michael Albinus  <michael.albinus@gmx.de>
42264         Use connection-local setting for tramp-remote-path
42266         * doc/misc/tramp.texi (Remote programs): Mention connection-local
42267         settings for `tramp-remote-path'.
42269         * lisp/net/tramp-sh.el (tramp-get-remote-path): Expand connection-local
42270         variables.
42272 2019-03-27  Basil L. Contovounesios  <contovob@tcd.ie>
42274         Avoid recently obsolete seq-contains in css-mode
42276         * lisp/textmodes/css-mode.el (css--join-nested-selectors): Replace
42277         recently obsolete seq-contains with new predicate seq-contains-p.
42279 2019-03-27  Mattias Engdegård  <mattiase@acm.org>
42281         * lisp/xml.el (xml-name-char-re): Remove superfluous `-' in regexp.
42283 2019-03-27  Alan Mackenzie  <acm@muc.de>
42285         Improve C++ raw string fontification.
42287         Integrate the handling of raw string and ordinary string fontification.
42289         * lisp/progmodes/cc-defs.el (c-font-lock-flush)
42290         (c-search-forward-char-property-without-value-on-char): new macros.
42291         (c-point): In the 'eoll arm, check for eobp.
42292         (c-search-forward-char-property-with-value-on-char): Handle the &optional
42293         limit argument being nil.
42294         (c-clear-char-property-with-value-on-char-function)
42295         (c-clear-char-property-with-value-on-char): Return the position of the first
42296         cleared property.
42298         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Don't spuriously
42299         recognize the change of face at a ) as the start of a string (a
42300         "pseudo match").
42301         (c-old-beg-rs c-old-end-rs): New variables.
42302         (c-raw-string-pos): Analyze raw string delimiters more carefully.
42303         (c-raw-string-in-end-delim): New function.
42304         (c-depropertize-raw-string): Largely rewritten.
42305         (c-before-change-check-raw-strings): New functionality: only remove the
42306         syntax-table text properties from raw strings whose delimiters are about to
42307         change.
42308         (c-propertize-raw-string-id): New function.
42309         (c-after-change-re-mark-raw-strings): Remove, incorporating functionality into
42310         other functions.
42311         (c-propertize-raw-string-opener): Largely rewritten.
42312         (c-after-change-re-mark-raw-strings): Removed.
42313         (c-after-change-unmark-raw-strings, c-after-change-unmark-raw-strings): New
42314         functions.
42316         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Largely rewritten.
42318         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Replace
42319         c-after-change-re-mark-unbalanced-strings by
42320         c-after-change-mark-abnormal-strings in the t, c+objc, c++ and java sections.
42321         Add c-after-change-unmark-raw-strings and remove
42322         c-after-change-re-mark-raw-strings from the c++ section.
42324         * lisp/progmodes/cc-mode.el (c-old-BEG c-old-END): Remove.
42325         (c-old-END-literality): New variable.
42326         (c-depropertize-CPP): Remove syntax-table properties from raw strings within
42327         macros.
42328         (c-before-change-check-unbalanced-strings): Call
42329         c-truncate-semi-nonlit-pos-cache to preserve the integrity of the cache.
42330         (c-before-change-check-unbalanced-strings): Call
42331         c-truncate-semi-nonlit-pos-cache, largely rewritten.
42332         (c-after-change-re-mark-unbalanced-strings): Renamed to
42333         c-after-change-mark-abnormal-strings.  Call c-maybe-re-mark-raw-string.
42335 2019-03-27  Andreas Schwab  <schwab@suse.de>
42337         * lisp/calc/calc-forms.el (calc-hms-notation): Fix interactive
42338         prompt.
42340 2019-03-27  Nicolas Petton  <nicolas@petton.fr>
42342         * lisp/emacs-lisp/map.el (map-inplace): Fix the message of the error.
42344 2019-03-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
42346         Support native image resizing on cairo
42348         * src/xterm.c (x_cr_draw_image): Add arguments image_width and
42349         image_height and support scaling.  All callers changed.
42350         * src/image.c (Fimage_scaling_p): Return t when USE_CAIRO.
42351         (x_set_image_size) [USE_CAIRO]: Record the scaled dimensions
42352         in the image struct.
42353         * src/dispextern.h (HAVE_NATIVE_SCALING): Define when
42354         USE_CAIRO as well.
42356         * etc/NEWS: Update the announcement of native image scaling.
42358 2019-03-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
42360         Fix cairo image drawing with box
42362         * src/xterm.c (x_cr_draw_image): Don't call cr_clip for non-mask case.
42363         (x_draw_image_foreground) [USE_CAIRO]: Draw image here ...
42364         (x_draw_image_glyph_string) [USE_CAIRO]: ... instead of here.
42365         (x_draw_image_foreground, x_draw_image_foreground_1)
42366         (x_draw_image_glyph_string) [USE_CAIRO]: Ifdef away unused code path.
42368 2019-03-26  Paul Eggert  <eggert@cs.ucla.edu>
42370         2019-03-26 regex cleanup
42372         Problems reported by Mattias Engdegård in:
42373         https://lists.gnu.org/r/emacs-devel/2019-03/msg01028.html
42374         * lisp/align.el (align-rules-list):
42375         * lisp/speedbar.el (speedbar-check-read-only, speedbar-check-vc):
42376         * lisp/vc/diff-mode.el (diff-add-change-log-entries-other-window):
42377         * lisp/woman.el (woman-parse-numeric-arg):
42378         Put "-" at end of character alternatives, since a range was not intended.
42379         * lisp/erc/erc.el (font-lock):
42380         * lisp/mail/footnote.el (cl-seq):
42381         Avoid duplicate character alternatives by using cl-seq API.
42382         * lisp/mail/footnote.el (footnote--current-regexp):
42383         * lisp/textmodes/css-mode.el (css--font-lock-keywords):
42384         Avoid repetition of repetition.
42385         * lisp/net/webjump.el (webjump-url-encode):
42386         Add ~ to character alternatives, and rewrite confusing range.
42387         * lisp/progmodes/verilog-mode.el (verilog-compiler-directives)
42388         (verilog-assignment-operator-re):
42389         Remove duplicate.
42390         * lisp/progmodes/verilog-mode.el (verilog-preprocessor-re):
42391         * lisp/textmodes/css-mode.el (css--font-lock-keywords):
42392         Don’t escape a char that doesn’t need it.
42393         * lisp/textmodes/picture.el (picture-tab-chars): In docstring,
42394         do not say regexp characters will be quoted; merely say in
42395         another way that the syntax is that of character alternatives.
42396         (picture-set-tab-stops, picture-tab-search): Don’t attempt
42397         to regexp-quote picture-tab-chars.
42398         (picture-tab-search): Quote \ in picture-tab-chars for
42399         skip-chars-backwards, which treats \ differently than
42400         regexp character alternatives do.
42402 2019-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
42404         * lisp/emacs-lisp/easy-mmode.el: simplify via custom-current-group
42406         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
42407         Don't try and guess a default :group, defcustom does it better anyway.
42409 2019-03-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
42411         Use cairo image surface instead of pattern for fringe bitmap
42413         * src/xterm.c (fringe_bmp, x_cr_define_fringe_bitmap)
42414         (x_cr_destroy_fringe_bitmap, x_cr_draw_image) [USE_CAIRO]:
42415         Change type of fringe bitmap.
42417 2019-03-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
42419         Fix cairo scrolling for left scroll bars case
42421         * src/xterm.c (x_scroll_run) [USE_CAIRO]: Fix scrolling by unusing
42422         WINDOW_LEFT_EDGE_X.  (Bug#31288)
42424 2019-03-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
42426         Support tool bar icon image on GTK+ >= 3.10 with cairo
42428         * src/gtkutil.c (xg_get_image_for_pixmap) [USE_CAIRO]: Use cairo image
42429         surface for GtkImage source.
42430         (xg_tool_item_stale_p, update_frame_tool_bar) [USE_CAIRO]: Use cairo
42431         image surface instead of pixmap for data associated with tool bar item.
42433 2019-03-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
42435         Simplify cairo image surface creation and destruction
42437         * src/dispextern.h (struct image) [USE_CAIRO]: Remove member cr_data2.
42438         * src/image.c (set_cairo_image_surface): New function split from
42439         original create_cairo_image_surface.  Call cairo_surface_mark_dirty.
42440         (create_cairo_image_surface): Just create image surface and return it.
42441         (x_clear_image): Don't free cr_data2.
42442         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
42443         (gif_load, imagemagick_load_image, svg_load_image) [USE_CAIRO]: Use
42444         new create_cairo_image_surface and cairo_image_surface_get_data
42445         instead of xmalloc.  Use set_cairo_image_surface instead of old
42446         create_cairo_image_surface.
42447         (pbm_load) [USE_CAIRO]: Call cairo_surface_destroy for surface instead
42448         of xfree for data.
42449         (gif_load) [USE_CAIRO]: Multiply y-coordinate value by width instead
42450         of subimg_width.
42452 2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>
42454         Port recent ngettext stub to non-glibc
42456         * src/editfns.c: Don’t try to call glibc ngettext;
42457         we’re not ready for that yet.
42458         (Fngettext): Do not restrict integer arguments to fixnums.
42459         Improve doc string a bit.
42461 2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>
42463         Update from Gnulib.
42465         This incorporates:
42466         2019-03-23 Support cross-compilation to musl libc
42467         2019-03-23 noreturn: In C++ mode with clang, use _Noreturn as fallback
42468         2019-03-22 _Noreturn: beware of C's _Noreturn in C++ pre C++11
42469         2019-03-19 Help making signal handlers more reliable
42470         2019-03-18 _Noreturn: clang and MSVC do support [[noreturn]] in C++11
42471         2019-03-17 _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11
42472         2019-03-14 all: Update URLs to msdn.microsoft.com
42473         * doc/misc/texinfo.tex, lib/_Noreturn.h, lib/gettimeofday.c:
42474         * lib/mktime.c, lib/regcomp.c, lib/regexec.c, lib/stat-time.h:
42475         * lib/utimens.c, m4/fdopendir.m4, m4/getgroups.m4:
42476         * m4/gettimeofday.m4, m4/gnulib-common.m4, m4/putenv.m4, m4/utimes.m4:
42477         Update from gnulib.
42479 2019-03-25  Juri Linkov  <juri@linkov.net>
42481         * lisp/vc/vc.el (vc-diff-mergebase, vc-log-mergebase): New commands.
42483         * lisp/vc/vc-git.el (vc-git-mergebase): New function.
42484         (vc-git-print-log): Interpret string value of arg LIMIT as an end-revision.
42486         * lisp/vc/vc-hooks.el (vc-prefix-map): Bind 'vc-log-mergebase' to
42487         'C-x v M L', and 'vc-diff-mergebase' to 'C-x v M D'.  (Bug#33950)
42489 2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>
42491         Fix alignment bug with pure bignums
42493         Problem found on 32-bit sparc, which has stricter alignment
42494         checking than x86-64.
42495         * src/alloc.c (pure_alloc): When TYPE is negative it now specifies
42496         the negation of the required alignment of the result.
42497         (make_pure_bignum): Specify bignum limb alignment.
42499 2019-03-25  Juri Linkov  <juri@linkov.net>
42501         * lisp/international/mule-cmds.el (ngettext): Move to editfns.c.
42503         * src/editfns.c (Fngettext): Move from mule-cmds.el and use
42504         gettext's ngettext when available.
42506 2019-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
42508         Fix text property bug in gnus-group-list-active
42510         * lisp/gnus/gnus-group.el (gnus-group-list-active): The property value
42511           should be the group name, not the value of gethash. Ie, it should be
42512           the key, not the value.
42514 2019-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
42516         Don't save Gnus' dummy.group to the .newsrc.eld file
42518         * lisp/gnus/gnus-start.el (gnus-gnus-to-quick-newsrc-format): Remove
42519           the "dummy.group" element.
42521 2019-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
42523         Handle multiple possible types for Gnus group names
42525         * lisp/gnus/gnus-start.el (gnus-active-to-gnus-format): Numbers,
42526           symbols, and strings.
42528 2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>
42530         Fix a dns-mode reentrancy bug
42532         * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
42533         Don’t assume kill-new does no matching.
42535 2019-03-25  Basil L. Contovounesios  <contovob@tcd.ie>
42537         Fix non_local_exit_get signature in Elisp manual
42539         * doc/lispref/internals.texi (Module Nonlocal): Fix typo in return
42540         type of non_local_exit_get.
42542 2019-03-25  Michael Albinus  <michael.albinus@gmx.de>
42544         Explain messages with patches in CONTRIBUTE
42546         * CONTRIBUTE: A message shall contain the string "[PATCH]" in the
42547         subject if there's a patch in the message.
42549 2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>
42551         Support ./configure --with-gif=ifavailable etc.
42553         Suggested by Stefan Monnier in:
42554         https://lists.gnu.org/r/emacs-devel/2019-03/msg00789.html
42555         * INSTALL, etc/NEWS: Document this.
42556         * configure.ac: Implement this.
42558 2019-03-25  Stefan Monnier  <monnier@iro.umontreal.ca>
42560         * lisp/vc/diff-mode.el: Better handle empty lines in context diffs
42562         (diff-end-of-hunk): Obey diff-valid-unified-empty-line for context style.
42563         (diff--refine-hunk): Don't look further than the end.
42565 2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>
42567         Fix some integer issues in regex-emacs
42569         Also, remove some duplicate comments related to thread.h.
42570         * src/regex-emacs.h (struct re_registers):
42571         * src/regex-emacs.c (SIGN_EXTEND_CHAR): Remove.
42572         (TALLOC, RETALLOC): Remove.  All uses replaced by usual
42573         allocators, which check for integer overflow.
42574         (extract_number): Redo without using ‘unsigned’.
42575         (CHARSET_RANGE_TABLE_EXISTS_P): Clearly return a boolean.
42576         (print_fastmap, print_partial_compiled_pattern, CHECK_INFINITE_LOOP)
42577         (regex_compile, analyze_first, bcmp_translate, mutually_exclusive_p)
42578         (re_match_2_internal):
42579         Use bool for booleans.
42580         (print_fastmap, regex_compile, execute_charset):
42581         Prefer int to unsigned where either will do.
42582         (print_double_string): Prefer ptrdiff_t to ssize_t, since the
42583         latter can in theory be narrower than the former.  Use fwrite
42584         instead of repeated putchar.
42585         (emacs_re_max_failures, fail_stack_type, compile_stack_type)
42586         (re_wctype_parse, regex_compile, re_search, re_search_2)
42587         (re_match_2, re_match_2_internal, re_compile_pattern):
42588         Prefer ptrdiff_t to size_t where either will do.
42589         (union fail_stack_elt, PUSH_FAILURE_REG, POP_FAILURE_REG_OR_COUNT):
42590         Make the integer an intptr_t, not long.
42591         (GET_BUFFER_SPACE, EXTEND_BUFFER, regex_compile):
42592         Use xpalloc to simplify allocation.
42593         (regex_compile): Check for integer overflow when calculating
42594         register numbers.
42595         * src/regex-emacs.c (re_set_registers, re_match_2_internal):
42596         * src/regex-emacs.h (struct re_registers, struct re_pattern_buffer):
42597         * src/search.c (Freplace_match):
42598         Prefer ptrdiff_t to unsigned where either will do.
42599         * src/regex-emacs.h (struct re_pattern_buffer):
42600         Prefer bool_bf to unsigned where either will do.
42602 2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>
42604         * src/regex-emacs.c (regex_compile): Fix comments.
42606 2019-03-25  João Távora  <joaotavora@gmail.com>
42608         Avoid occasional confusion of Flymake C/C++ backend
42610         The regexp would sometimes match non-errors and create a diagnostic
42611         with nil severity, which would have consequences for the Flymake
42612         engine (these should eventually be addressed, too).
42614         * lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics):
42615         Tighten regexp.
42617 2019-03-25  João Távora  <joaotavora@gmail.com>
42619         Make bundled Flymake C backend work for C++, too
42621         * lisp/progmodes/flymake-cc.el (flymake-cc-use-special-make-target):
42622         Pass -x flag according to major-mode.
42624 2019-03-24  Juri Linkov  <juri@linkov.net>
42626         i18n: Add function ngettext for pluralization.
42628         * lisp/international/mule-cmds.el (ngettext): New function.
42629         https://lists.gnu.org/archive/html/emacs-devel/2019-03/msg00586.html
42631         * lisp/replace.el (flush-lines, how-many, occur-1, occur-engine)
42632         (perform-replace): Use ngettext.
42634         * lisp/progmodes/grep.el (grep-exit-message): Use ngettext.
42635         (grep-mode-font-lock-keywords): Match both singular and plural form
42636         of "matches".
42638 2019-03-24  Juri Linkov  <juri@linkov.net>
42640         * lisp/progmodes/xref.el (xref--show-xrefs): Push mark.  (Bug#34908)
42642 2019-03-24  Basil L. Contovounesios  <contovob@tcd.ie>
42644         Fix Gnus duplicate article unsuppression
42646         * lisp/gnus/gnus-sum.el (gnus-summary-mode-group): Declare before
42647         first use to silence byte-compiler.
42648         (gnus-summary-select-article): Simplify boolean expression.
42649         (gnus-summary-move-article): Do not try to unsuppress article when
42650         duplicate suppression is disabled. (bug#34973, bug#34974)
42652 2019-03-24  Paul Eggert  <eggert@cs.ucla.edu>
42654         * src/lisp.h (primary_thread): Remove unused decl.
42656 2019-03-24  Michael Albinus  <michael.albinus@gmx.de>
42658         Bind `enable-local-variables' in `hack-connection-local-variables'
42660         * lisp/files-x.el (hack-connection-local-variables):
42661         Bind `enable-local-variables', instead of re-declaring
42662         `safe-local-variable-p'.
42664 2019-03-23  Eli Zaretskii  <eliz@gnu.org>
42666         * src/Makefile.in ($(AM_V_GEN)POSIXLY_CORRECT): Use AM_V_GEN.
42668 2019-03-23  Michael Albinus  <michael.albinus@gmx.de>
42670         Fix Bug#34943
42672         * lisp/files-x.el (cl-lib): Require when compiling.
42673         (hack-connection-local-variables): Regard connection-local
42674         variables as safe.  (Bug#34943)
42676         * lisp/shell.el (shell): Use `with-connection-local-variables' for
42677         the whole code block.  (Bug#34943)
42679         * lisp/net/tramp-adb.el (tramp-connection-local-safe-shell-file-names):
42680         Do not set values.
42682         * lisp/net/tramp-integration.el
42683         (tramp-connection-local-safe-shell-file-names): Remove.
42684         (shell-file-name, shell-command-switch): Do not add safe-local-variable
42685         property.
42687         * lisp/net/tramp.el (tramp-handle-shell-command): Use proper
42688         buffer name.
42690         * test/lisp/net/tramp-tests.el (tramp-test34-explicit-shell-file-name):
42691         Tag it :unstable.
42693 2019-03-23  Eli Zaretskii  <eliz@gnu.org>
42695         Avoid compiler warning in w32proc.c
42697         * src/w32proc.c (w32_executable_type): Avoid compiler warnings
42698         about potential NULL pointer dereferencing.
42700 2019-03-22  Michael R. Mauger  <michael@mauger.com>
42701         Fix Bug#25424.
42702         * lisp/progmodes/sql.el (sql-end-of-statement): default terminator
42703         as semicolon.
42705 2019-03-22  Stephen Leake  <stephen_leake@stephe-leake.org>
42707         Fix bug in delete-indentation when region is inactive
42709         * test/lisp/simple-tests.el: Add tests for delete-indentation.
42710         (simple-delete-indentation-no-region): Works with no region.
42711         (simple-delete-indentation-inactive-region): Was broken with inactive
42712         region; now fixed.
42714         * lisp/simple.el (delete-indentation): Check (use-region-p) before using BEG.
42716 2019-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
42718         Change Gnus hash tables into real hash tables
42720         Gnus has used obarrays as makeshift hash tables for groups: group
42721         names are coerced to unibyte and interned in custom obarrays, and
42722         their symbol-value set to whatever value needs to be stored. This
42723         patch replaces those obarrays with actual hash tables.
42725         * lisp/gnus/gnus-util.el (gnus-intern-safe, gnus-create-hash-size):
42726           Remove functions.
42727           (gnus-make-hashtable): Change to return a real hash table.
42728           (gnus-text-property-search): Utility similar to `text-property-any',
42729           but compares on `equal'. Needed because the 'gnus-group text
42730           property is now a string.
42731         * lisp/gnus/gnus.el (gnus-gethash, gnus-gethash-safe, gnus-sethash):
42732           Remove macros.
42733           (gnus-group-list): New variable holding all group names as an
42734           ordered list. Used because `gnus-newsrc-hashtb' used to preserve
42735           `gnus-newsrc-alist' ordering, but now doesn't.
42736         * lisp/gnus/nnmaildir.el (nnmaildir--servers): Change from obarray to
42737           alist.
42738           (nnmaildir--up2-1): Remove function.
42739         * lisp/thingatpt.el (thing-at-point-newsgroup-p): This was making use
42740           of Gnus obarrays, replace with a cond that can handle many different
42741           possibilities.
42742         * lisp/gnus/gnus-bcklg.el (gnus-backlog-articles): Remove
42743           gnus-backlog-hashtb, which wasn't doing anything. Just keep a list
42744           of ident strings in gnus-backlog-articles.
42745           (gnus-backlog-setup): Delete unnecessary function.
42746           (gnus-backlog-enter-article, gnus-backlog-remove-oldest-article,
42747           gnus-backlog-remove-article, gnus-backlog-request-article): Alter
42748           calls accordingly.
42749         * lisp/gnus/gnus-dup.el (gnus-duplicate-list-max-length): Rename from
42750           `gnus-duplicate-list-length', for accuracy.
42751         * lisp/gnus/gnus-start.el (gnus-active-to-gnus-format,
42752           gnus-groups-to-gnus-format, gnus-newsrc-to-gnus-format): Read group
42753           names as strings.
42754           (gnus-gnus-to-quick-newsrc-format): Write `gnus-newsrc-alist' using
42755           the ordering in `gnus-group-list'.
42756         * lisp/gnus/gnus-agent.el:
42757         * lisp/gnus/gnus-async.el:
42758         * lisp/gnus/gnus-cache.el:
42759         * lisp/gnus/gnus-group.el:
42760         * lisp/gnus/gnus-score.el:
42761         * lisp/gnus/gnus-sum.el:
42762         * lisp/gnus/gnus-topic.el:
42763         * lisp/gnus/message.el:
42764         * lisp/gnus/mml.el:
42765         * lisp/gnus/nnagent.el:
42766         * lisp/gnus/nnbabyl.el:
42767         * lisp/gnus/nnvirtual.el:
42768         * lisp/gnus/nnweb.el: In all files, change obarrays to hash-tables,
42769           and swap `gnus-sethash' for `puthash', `gnus-gethash' for `gethash',
42770           `mapatoms' for `maphash', etc.
42771         * test/lisp/gnus/gnus-test-headers.el (gnus-headers-make-dependency-table,
42772           gnus-headers-loop-dependencies): New tests to make sure we're
42773           building `gnus-newsgroup-dependencies' correctly.
42775 2019-03-22  Michael Albinus  <michael.albinus@gmx.de>
42777         Fix Bug#24394, Bug#34172
42779         * lisp/subr.el (process-file-shell-command):
42780         Use `with-connection-local-variables'.  Do not set "/bin/sh" for
42781         remote buffers, trust settings of `shell-file-name'.
42783         * lisp/net/tramp-adb.el (tramp-methods) <adb>:
42784         * lisp/net/tramp-smb.el (tramp-methods) <smb>:
42785         Remove `tramp-remote-shell' and `tramp-remote-shell-args'.
42787         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch)
42788         (tramp-maybe-open-connection): Use proper read syntax for function
42789         names.
42791         * lisp/net/tramp.el (tramp-handle-shell-command): Do not use shell
42792         file names from `tramp-methods'.
42793         Respect `async-shell-command-buffer'.  (Bug#24394, Bug#34172)
42794         Use `start-file-process-shell-command' and `process-file-shell-command'.
42796         * test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
42797         Let it run partly for tramp-adb.
42799 2019-03-22  Nicolas Petton  <nicolas@petton.fr>
42801         Fix the error message when modifying maps in-place (Bug#34941)
42803         * lisp/emacs-lisp/map.el (map-not-inplace): Fix the message of the
42804         error.
42805         (map-put!): When signaling map-no-inplace error, output the map that
42806         cannot be updated inplace.
42808 2019-03-22  Eli Zaretskii  <eliz@gnu.org>
42810         Minor fixes for the last change
42812         * lisp/simple.el (delete-indentation):
42813         * doc/emacs/indent.texi (Indentation Commands):
42814         * etc/NEWS: Fix last change.  (Bug#34796)
42816 2019-03-22  Łukasz Stelmach  <stlman@poczta.fm>
42818         If the region is active, join all the lines it spans
42820         * lisp/simple.el (delete-indentation): Join lines in the active region.
42821         (Bug#34796)
42823         * doc/misc/org.texi: Describe the arguments of delete-indentation.
42825         * etc/NEWS: Mention region support in delete-indentation.
42827 2019-03-22  Eli Zaretskii  <eliz@gnu.org>
42829         Revert "Revert "Revert "Rely on conservative stack scanning to find "emacs_value"s"""
42831         This reverts commit 093d3e78d21d3d6c718997368ef4b31f9884401c,
42832         which reverted ee7ad83f20903208404a84b58b7a478b62924570,
42833         which reverted 3eb93c07f7a60ac9ce8a16f10c3afd5a3a31243a.
42835 2019-03-21  Federico Tedin  <federicotedin@gmail.com>
42837         Correctly handle packages without description in describe-package
42839         * lisp/emacs-lisp/package.el (describe-package-1): Do not call insert
42840           if package description is nil (Bug#34147).
42842 2019-03-21  Federico Tedin  <federicotedin@gmail.com>
42844         Make edebug-eval-expression support code completion
42846         * lisp/emacs-lisp/edebug.el (edebug-eval-expression): Use
42847           read--expression instead of read-from-minibuffer. (Bug#34065)
42849 2019-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
42851         Fix misuses of NULL when talking about the NUL character
42853         * lisp/subr.el (inhibit-null-byte-detection): Make it an obsolete alias.
42855         * src/coding.c (setup_coding_system): Use new name.
42856         (detect_coding): Rename null_byte_found => nul_byte_found.
42857         (detect_coding_system): Use new name.
42858         Rename null_byte_found => nul_byte_found.
42859         (Fdefine_coding_system_internal): Use new name.
42860         (syms_of_coding): Rename inhibit-null-byte-detection to
42861         inhibit-nul-byte-detection.
42862         * src/w16select.c (get_clipboard_data): null_char => nul_char.
42863         * src/json.c (check_string_without_embedded_nuls): Rename from
42864         check_string_without_embedded_nulls.
42865         (Fjson_parse_string): Adjust accordingly.
42866         * src/coding.h (enum define_coding_undecided_arg_index)
42867         (enum coding_attr_index): ...null_byte... => ...nul_byte....
42868         * lisp/info.el (info-insert-file-contents, Info-insert-dir):
42869         * lisp/international/mule.el (define-coding-system):
42870         * lisp/vc/vc-git.el (vc-git--call):
42871         * doc/lispref/nonascii.texi (Lisp and Coding Systems): Use the new name.
42873 2019-03-21  Nicolas Petton  <nicolas@petton.fr>
42875         * etc/NEWS: Document seq-contains-p.
42877         * lisp/emacs-lisp/seq.el (seq-difference): Inverse a conditional for clarity.
42879 2019-03-21  Nicolas Petton  <nicolas@petton.fr>
42881         New seq-contains-p predicate (Bug#34852)
42883         * lisp/emacs-lisp/seq.el (seq-contains-p): New predicate function.  It
42884         is a replacement for seq-contains which cannot be used as a predicate
42885         when a sequence contains nil values as it returns the element found.
42886         (seq-contains): Make obsolete.
42888         * test/lisp/emacs-lisp/seq-tests.el (test-seq-contains-p):
42889         (test-seq-intersection-with-nil, test-seq-set-equal-p-with-nil,
42890         test-difference-with-nil): Add regression tests.
42892         * doc/lispref/sequences.texi (Sequence Functions): Document
42893         seq-contains-p.
42895 2019-03-21  Eli Zaretskii  <eliz@gnu.org>
42897         Revert "Revert "Rely on conservative stack scanning to find "emacs_value"s""
42899         This reverts commit ee7ad83f20903208404a84b58b7a478b62924570.
42901         There was no consensus on reverting
42902         3eb93c07f7a60ac9ce8a16f10c3afd5a3a31243a, so doing that will have to
42903         wait until the discussion ends.
42905 2019-03-21  Philipp Stephani  <phst@google.com>
42907         Revert "Rely on conservative stack scanning to find "emacs_value"s"
42909         This reverts commit 3eb93c07f7a60ac9ce8a16f10c3afd5a3a31243a.
42911         There was no consensus for that commit, see
42912         https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00150.html.
42913         Also, reverting this commit should fix Bug#31238.
42915 2019-03-21  Eli Zaretskii  <eliz@gnu.org>
42917         Avoid duplicate entries in process-environment after re-dumping
42919         * src/pdumper.c (Fdump_emacs_portable): Reset
42920         process-environment to nil.  (Bug#34936)
42922 2019-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
42924         * doc: Recommend putting '-' as last char in Emacs charset regexps
42926         * doc/lispref/searching.texi (Regexp Special):
42927         * doc/emacs/search.texi (Regexps): Recommend - as last char in [...].
42929 2019-03-20  Glenn Morris  <rgm@gnu.org>
42931         Merge from origin/emacs-26
42933         24b6e6e (origin/emacs-26) * etc/AUTHORS: Update.
42934         2f22a17 * ; ChangeLog.3 update
42935         0f523de Improve indexing of the user manual
42936         bd5795e Fix url-copy-file arglist
42937         eaa188a ; * admin/notes/bugtracker: Minor additions and updates.
42938         5ed05fb Fix downloading updates for packages with non-ASCII descriptions
42939         e9f2d1f * etc/NEWS: Remove temporary markers.
42940         24fc133 * doc/misc/cc-mode.texi (Config Basics): in @itemize, @asis -...
42941         0f325d1 Don't clobber 'comint-input-autoexpand' in 'read-shell-command'
42942         bc75589 Document restrictions when setting window margins, fringes or...
42943         cc4cebf More improvements for 'read-buffer's doc string
42944         d026d9a * lisp/progmodes/cc-defs.el: Update c-version to 5.33.2 for E...
42945         5dbf08b * src/minibuf.c (Fread_buffer): Minor doc fixes.  (Bug#34749)
42947         # Conflicts:
42948         #       etc/NEWS
42949         #       lisp/url/url-handlers.el
42951 2019-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>
42953         Eshell: Mostly cosmetic changes to be more explicit about dynbind
42955         * lisp/eshell/em-dirs.el (eshell-dirs-initialize): Reveal the lambdas.
42956         (eshell-expand-multiple-dots): Fix ^+$ => \`+\' in the regexp.
42958         * lisp/eshell/esh-cmd.el (eshell-this-command-hook): Declare as
42959         dynamically scoped.
42960         (eshell-trap-errors): Use `mapc funcall` since this can't have
42961         global/local settings like a true hook.
42962         (eshell-do-eval): Split the `let` case from the rest so we can use
42963         `cl-progv` rather than `eval` for it.
42964         (eshell/which): Use `fboundp` test instead of ugly
42965         gymnastics to try and hide the function call from the compiler.
42967         * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Reveal the lambdas.
42968         (eshell-parse-variable-ref): Use backquotes.
42970 2019-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>
42972         * lisp/pcomplete.el: Improve heuristic to rely less on c-t-subvert.
42974         (pcomplete-completions-at-point): Try and take \ escapes into account
42975         when guessing the beginning of the text we're completing.
42977 2019-03-20  Paul Eggert  <eggert@cs.ucla.edu>
42979         Fix pcomplete typo in recent regex typo fix
42981         Problem reported by Stefan Monnier in:
42982         https://lists.gnu.org/r/emacs-devel/2019-03/msg00682.html
42983         * lisp/pcomplete.el (pcomplete-parse-comint-arguments):
42984         Restore the trailing backslash (but two of them this time).
42986 2019-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>
42988         * test/lisp/minibuffer-tests.el (completion-table-subvert-test): New test
42990         * lisp/minibuffer.el (completion-table-subvert): Fix typo from rev 5697ca55cb
42992 2019-03-20  Mattias Engdegård  <mattiase@acm.org>
42994         Repair eshell-query-kill-processes
42996         * lisp/eshell/esh-proc.el (eshell-query-kill-processes):
42997         Remove invalid `format-message' call; `eshell-round-robin-kill' wants
42998         just the format string.
43000 2019-03-20  Eli Zaretskii  <eliz@gnu.org>
43002         Fix defining keyboard macros in CUA mode
43004         * lisp/emulation/cua-base.el (cua--prefix-override-replay):
43005         Push the key to replace wrapped in '(no-record . KEY)', so
43006         that it doesn't get recorded more than once.  (Bug#34901)
43008         * src/keyboard.c (read_char): Handle the '(no-record . KEY)'
43009         event by substituting KEY for it.
43010         (syms_of_keyboard) <no-record>: New DEFSYM.
43011         <unread-command-events>: Update the doc string.
43013         * doc/lispref/commands.texi (Event Input Misc): Document the
43014         '(no-record . EVENT)' form.
43016 2019-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
43018         * lisp/eshell/em-cmpl.el: Use completion-at-point i.s.o pcomplete
43020         (eshell-cmpl-initialize): Refrain from binding to the `tab` key,
43021         which prevents the tab -> TAB remapping.
43022         Use completion-at-point and completion-help-at-point.
43023         (eshell-complete-commands-list): Use `fboundp` test instead of ugly
43024         gymnastics to try and hide the function call from the compiler.
43025         (eshell-pcomplete): Make it an alias of completion-at-point.
43027         * doc/misc/eshell.texi (Completion): Change wording to reflect
43028         different default behavior.
43030 2019-03-19  Paul Eggert  <eggert@cs.ucla.edu>
43032         More minor regex cleanup
43034         Problems reported by Mattias Engdegård in:
43035         https://lists.gnu.org/r/emacs-devel/2019-03/msg00643.html
43036         plus a few others that I noticed.
43037         * lisp/auth-source-pass.el (auth-source-pass--parse-data):
43038         * lisp/org/org-datetree.el (org-datetree--find-create):
43039         * lisp/org/org-pcomplete.el (org-thing-at-point):
43040         * lisp/progmodes/js.el (js--end-of-do-while-loop-p):
43041         * lisp/textmodes/sgml-mode.el:
43042         (sgml-electric-tag-pair-before-change-function):
43043         * lisp/textmodes/texnfo-upd.el (texinfo-menu-copy-old-description):
43044         * lisp/url/url-http.el (url-http-parse-response):
43045         Fix regular expression and similar syntax.
43047 2019-03-19  Juri Linkov  <juri@linkov.net>
43049         * lisp/vc/vc.el (vc-diff-build-argument-list-internal): Add arg fileset.
43051         (vc-root-version-diff): Set vc-diff-build-argument-list-internal's
43052         optional arg 'fileset' to the root directory.  (Bug#34532)
43054 2019-03-19  Juri Linkov  <juri@linkov.net>
43056         * lisp/frame.el (frame-monitor-attributes): Fall back to the last monitor
43058         when frames monitor attributes is still uninitialized.  (Bug#34680)
43060 2019-03-19  Juri Linkov  <juri@linkov.net>
43062         * lisp/frame.el (make-frame-on-monitor): Don't set height and width.
43064         Don't use x-parse-geometry.  Delete nil from completions (Bug#34516)
43066 2019-03-19  Paul Eggert  <eggert@cs.ucla.edu>
43068         Use ‘const’ to clarify GC marking
43070         Add ‘const’ to make the GC marking code a bit clearer.
43071         This can also help the compiler in some cases, I think because
43072         GCC can now determine more often that the value of a static C
43073         variable can be cached when its address is now converted to
43074         ‘Lisp Object const *’ before escaping.
43075         * src/alloc.c (staticvec, mark_maybe_objects, mark_memory)
43076         (mark_stack, staticpro, mark_object_root_visitor)
43077         (garbage_collect_1):
43078         * src/pdumper.c (dump_ptr_referrer, dump_emacs_reloc_to_lv)
43079         (dump_emacs_reloc_to_emacs_ptr_raw, dump_root_visitor):
43080         * src/lisp.h (vcopy, struct gc_root_visitor):
43081         * src/sysdep.c (stack_overflow):
43082         * src/thread.c (mark_one_thread):
43083         * src/thread.h (struct thread_state):
43084         Use pointer-to-const instead of plain pointer in some
43085         GC-related places where either will do.
43087 2019-03-19  Mattias Engdegård  <mattiase@acm.org>
43089         Disallow reversed char ranges in `rx'
43091         (any "a-Z0-9") generated "[0-9]", and (any (?9 . ?0)) generated "[9-0]".
43092         Reversed ranges are either mistakes or abuse.  Neither should be allowed.
43094         etc/NEWS: Explain the change.
43095         lisp/emacs-lisp/rx.el (rx): Document.
43096         (rx-check-any-string, rx-check-any): Add error checks for reversed ranges.
43097         test/lisp/emacs-lisp/rx-tests.el (rx-char-any-range-bad): New test.
43099 2019-03-18  Paul Eggert  <eggert@cs.ucla.edu>
43101         Remove buggy regexp use in comint-output-filter
43103         This reverts commit 2012-07-02T16:18:02!monnier@iro.umontreal.ca
43104         which perhaps could be rethought and recommitted, and perhaps
43105         it’s no longer needed now that comint-use-prompt-regexp
43106         is almost always nil.
43107         * lisp/comint.el (comint-output-filter): Don’t try to skip
43108         repeated prompts, since comint-prompt-regexp typically begins
43109         with "^" and the resulting "^^" in the regular expression does
43110         not have the desired effect.  Noted by Mattias Engdegård in:
43111         https://lists.gnu.org/r/emacs-devel/2019-03/msg00380.html
43113 2019-03-18  Paul Eggert  <eggert@cs.ucla.edu>
43115         Fix more regular expression typos
43117         Problem reported by Mattias Engdegård in:
43118         https://lists.gnu.org/r/emacs-devel/2019-03/msg00548.html
43119         except that I didn’t address the issues involving Hebrew,
43120         or involving comint-prompt-regexp.
43121         * lisp/align.el (align-rules-list, align-exclude-rules-list):
43122         * lisp/auth-source-pass.el (auth-source-pass--parse-secret)
43123         (auth-source-pass--parse-data):
43124         * lisp/cedet/data-debug.el (data-debug-next)
43125         (data-debug-prev, data-debug-expand-or-contract):
43126         * lisp/comint.el (comint-within-quotes):
43127         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
43128         * lisp/emulation/viper-ex.el (ex-cmd-complete):
43129         * lisp/gnus/gnus-cite.el (gnus-message-search-citation-line):
43130         * lisp/gnus/nnir.el (nnir-imap-end-of-input):
43131         * lisp/mail/mail-extr.el (mail-extr-all-letters):
43132         * lisp/minibuffer.el (minibuffer-maybe-quote-filename):
43133         * lisp/nxml/rng-nxml.el (rng-complete-tag)
43134         (rng-complete-end-tag, rng-complete-attribute-name):
43135         * lisp/obsolete/vip.el (vip-get-ex-token, vip-get-ex-pat):
43136         * lisp/org/org-pcomplete.el (org-thing-at-point):
43137         * lisp/org/org.el (org-set-tags)
43138         (org-increase-number-at-point)
43139         (org-fill-line-break-nobreak-p):
43140         * lisp/pcomplete.el (pcomplete-parse-comint-arguments):
43141         * lisp/progmodes/ada-mode.el (ada-compile-goto-error):
43142         * lisp/progmodes/cperl-mode.el (cperl-highlight-charclass)
43143         (cperl-find-pods-heres, cperl-not-bad-style-regexp)
43144         (cperl-regext-to-level-start):
43145         * lisp/progmodes/ebnf-yac.el (ebnf-yac-skip-spaces):
43146         * lisp/progmodes/flymake-proc.el (flymake-proc-master-tex-init):
43147         * lisp/progmodes/flymake.el (flymake-diag-region):
43148         * lisp/progmodes/fortran.el (fortran-current-line-indentation):
43149         * lisp/progmodes/idlw-complete-structtag.el:
43150         (idlwave-complete-structure-tag):
43151         * lisp/progmodes/idlwave.el (idlwave-complete-sysvar-or-tag):
43152         * lisp/progmodes/prolog.el (prolog-pred-end)
43153         (prolog-clause-info):
43154         * lisp/progmodes/ruby-mode.el (ruby-forward-sexp)
43155         (ruby-backward-sexp):
43156         * lisp/progmodes/verilog-mode.el (verilog-repair-open-comma):
43157         * lisp/term.el (term-within-quotes):
43158         * lisp/textmodes/bib-mode.el (bib-capitalize-title-stop-words):
43159         * lisp/textmodes/refbib.el (r2b-capitalize-title-stop-words):
43160         * lisp/textmodes/reftex-parse.el (reftex-nth-arg):
43161         * lisp/textmodes/rst.el (rst-svn-rev):
43162         * lisp/url/url-http.el (url-http-parse-response):
43163         * test/lisp/progmodes/f90-tests.el (f90-test-bug3730):
43164         Fix regular expression typos.
43166 2019-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
43168         * src/fileio.c: Don't convert \r to \n just because of C-x $
43170         (choose_write_coding_system): Setup the \r to \n conversion only if
43171         selective-display is t.
43173 2019-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
43175         * lisp/locate.el (locate-mode): Setup invisibility for Dired commands
43177         Also, use lexical-binding.
43179 2019-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
43181         Ebrowse: Use invisibility-spec instead of selective-display
43183         * lisp/progmodes/ebrowse.el: Use lexical-binding.
43184         (ebrowse-tree-mode): Set invisibility-spec instead of selective-display.
43185         (ebrowse--hidden-p, ebrowse--hide, ebrowse--unhide): New functions.
43186         (ebrowse-expand-all, ebrowse-unhide-base-classes, ebrowse-hide-line)
43187         (ebrowse-mouse-1-in-tree-buffer): Use them.
43188         (ebrowse-output): Remove macro, use with-silent-modifications instead.
43189         (ebrowse-save-selective): Remove macro, not needed any more.
43190         (ebrowse-trim-string, ebrowse-read, ebrowse-collapse-fn):
43191         No need to pay attention to \r.
43192         (ebrowse-files-list): Use push.
43193         (ebrowse-view/find-file-and-search-pattern): Use add-hook here...
43194         (ebrowse-find-pattern): ...and remove-hook here.
43195         (ebrowse-view/find-position): Use add/remove-hook.
43197 2019-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
43199         Dired: Use invisibility-spec instead of selective-display
43201         * lisp/dired.el (dired-subdir-regexp): No need to pay attention to \r.
43202         (dired-remember-hidden): Use pcase-dolist and dired--hidden-p.
43203         (dired-mode): Set invisibility-spec instead of selective-display.
43204         (dired--hidden-p, dired--hide, dired--unhide, dired--find-hidden-pos):
43205         New functions.
43206         (dired-move-to-end-of-filename): Use dired--hidden-p.
43207         (dired-next-subdir): No need to pay attention to \r.
43208         (dired-fun-in-all-buffers): Use push.
43210         * lisp/dired-aux.el (dired-unhide-subdir, dired-hide-subdir, dired-hide-all):
43211         Use the new functions and with-silent-modifications.
43212         (dired-add-entry): Use dired--hidden-p.
43213         (dired-goto-subdir): No need to pay attention to \r.
43214         (dired-hide-check): Remove.
43215         (dired-subdir-hidden-p): Use dired--hidden-p.
43216         (dired-do-find-regexp): Use file-name-as-directory.
43218 2019-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
43220         * doc/lispref/display.texi (Selective Display): Declare it deprecated
43222 2019-03-17  Eli Zaretskii  <eliz@gnu.org>
43224         Fix 'define-charset' after dumping with pdumper
43226         * src/charset.h:
43227         * src/charset.c (charset_table_used): Now static.
43228         (charset_table_size): Now extern.
43229         * src/pdumper.c (dump_charset_table): Dump the entire
43230         charset_table, not just its used slots.  (Bug#34826)
43232 2019-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
43234         * lisp/subr.el (combine-change-calls-1): Don't combine syntax-ppss flushes
43236 2019-03-16  Alexander Gramiak  <agrambot@gmail.com>
43238         Define macros to abstract support for external menu/tool-bars
43240         * src/lisp.h (HAVE_EXT_MENU_BAR)
43241         (HAVE_EXT_TOOL_BAR): Define.
43243         *src/dispnew.c:
43244         *src/frame.c:
43245         *src/frame.h:
43246         *src/keyboard.c:
43247         *src/menu.c:
43248         *src/menu.h:
43249         *src/window.c:
43250         *src/window.h:
43251         *src/xdisp.c:
43252         *src/xfns: Use the new macros.
43254 2019-03-16  Paul Eggert  <eggert@cs.ucla.edu>
43256         Fix regexp typo in vc-git--program-version
43258         * lisp/vc/vc-git.el (vc-git--program-version):
43259         Require a period after ".windows", instead of allowing any char.
43261 2019-03-16  Mattias Engdegård  <mattiase@acm.org>
43263         Fix some ineffective backslashes in string literals
43265         Deal with lone backslashes that have no effect in string literals,
43266         but indicate that something is amiss.
43268         * lisp/auth-source-pass.el (auth-source-pass-entries):
43269         * lisp/textmodes/artist.el (artist-figlet-get-font-list-windows):
43270         * lisp/org/ob-abc.el (org-babel-expand-body:abc, org-babel-execute:abc):
43271         * lisp/org/ob-forth.el (org-babel-forth-session-execute):
43272         * lisp/vc/vc-git.el (vc-git--program-version):
43273         Add backslash in regexp for correctness.
43275         * lisp/gnus/nnmail.el (nnmail-split-abbrev-alist):
43276         Replace `\||' with `\\|' to follow the obvious regexp intent.
43278         * lisp/org/org-list.el (org-plain-list-ordered-item-terminator):
43279         Add backslash in doc comment so that it appears as intended.
43281         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1, c-end-of-decl-1):
43282         * lisp/progmodes/f90.el (f90-font-lock-keywords-2):
43283         * lisp/progmodes/etags.el (etags-tags-completion-table):
43284         * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
43285         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
43286         Remove superfluous backslashes from regexp.
43288         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any):
43289         Remove superfluous backslash from doc comment.
43291 2019-03-16  Eli Zaretskii  <eliz@gnu.org>
43293         Improve locale and language environment setting at startup
43295         * lisp/international/mule-cmds.el (locale-language-names): Add
43296         more locales and their language environments.
43297         (set-locale-environment): Use w32-multibyte-code-page, if
43298         non-zero, as locale-coding-system.  (Bug#34684)
43300         * src/w32fns.c (globals_of_w32fns) <w32-multibyte-code-page>:
43301         New variable.
43303         * etc/NEWS: Mention w32-multibyte-code-page.
43305 2019-03-15  Paul Eggert  <eggert@cs.ucla.edu>
43307         Bring back Emacs 26 compatibility to flymake.el
43309         * lisp/progmodes/flymake.el (flymake--schedule-timer-maybe):
43310         Revert to using seconds-to-time, since this file is part
43311         of ELPA and needs to work on Emacs 26 too.
43313 2019-03-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
43315         Use bool for menu_items_inuse
43317         * src/menu.c (menu_items_inuse): Now bool, instead of a
43318         Lisp_Object that is always Qt or Qnil.  All uses changed.
43320 2019-03-15  Philippe Vaucher  <philippe.vaucher@gmail.com>
43322         Customize tabulated-list sort indicators
43324         This allows the user to customize the sorting indicators displayed
43325         near the current column.
43327         * lisp/emacs-lisp/tabulated-list.el (tabulated-list): New group.
43328         (tabulated-list-gui-sort-indicator-asc)
43329         (tabulated-list-gui-sort-indicator-desc)
43330         (tabulated-list-tty-sort-indicator-asc)
43331         (tabulated-list-tty-sort-indicator-desc): New defcustomd.
43332         (tabulated-list-glyphless-char-display): Remove.
43333         (tabulated-list-make-glyphless-char-display-table): New function.
43335         * doc/lispref/modes.texi (Tabulated List Mode): Add documentation
43336         for new options.
43338         * etc/NEWS: Mention the new options.
43340 2019-03-15  Eli Zaretskii  <eliz@gnu.org>
43342         * etc/NEWS: Document Sami input methods.  (Bug#34866)
43344 2019-03-15  Wojciech Gac  <wojciech.s.gac@gmail.com>
43346         Add notice and fix missing character
43348         Add remaining Sami input methods
43350         Add Skolt Sami and Inari Sami input methods
43352 2019-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
43354         * lisp/doc-view.el (doc-view--text-view-mode): Derive from text-mode.
43356 2019-03-13  Basil L. Contovounesios  <contovob@tcd.ie>
43358         Fix file attribute accessor typo in Elisp manual
43360         This was introduced in 662bee7d70ccd3903e123b08c7ec9108a1a2ce0b
43361         2018-09-24T01:30:46Z!eggert@cs.ucla.edu.
43362         * doc/lispref/files.texi (File Attributes): Fix typo referring to
43363         wrong file attribute accessor.
43365 2019-03-13  Glenn Morris  <rgm@gnu.org>
43367         * test/lisp/progmodes/python-tests.el
43368         (python-syntax-after-python-backspace): Expect failure again.
43370 2019-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
43372         * lisp/emacs-lisp/easy-mmode.el: Fix most obvious bug#34723
43374         (easy-mmode-define-navigation): Don't scroll in the opposite direction of
43375         the movement.
43377 2019-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
43379         * lisp/mail/hashcash.el (hashcash-insert-payment-async): Fix last change
43381 2019-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
43383         * lisp/progmodes/python.el (python-rx-constituents): Fix ordering in `or`
43385         The previous code worked earlier because of a bug in `rx` (which used
43386         `regexp-opt` without passing it to `keep-order` argument), but now that `rx`
43387         has been fixed the underlying bug here reared its ugly head.
43389 2019-03-13  Eli Zaretskii  <eliz@gnu.org>
43391         Avoid gratuitous errors in 'url-retrieve-synchronously'
43393         * lisp/url/url-http.el (url-http-debug):
43394         * lisp/url/url-util.el (url-debug): Don't signal an error if
43395         quit-flag is non-nil, but not t.  This could happen because
43396         some unrelated code is running inside while-no-input.
43397         (Bug#34763)
43399 2019-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
43401         * lisp/battery.el (battery-bsd-apm): Group indices together; use pcase
43403 2019-03-13  Ahmed Khanzada  <me@enzu.ru>  (tiny change)
43405         * lisp/battery.el (battery-bsd-apm): Make it work on FreeBSD
43408         Use flag "t" to get remaining time, and adjust to different output order.
43410 2019-03-12  Christopher Wellons  <wellons@nullprogram.com>  (tiny change)
43412         * lisp/mail/hashcash.el: Get rid of backquoted lambdas
43415         (hashcash-generate-payment-async): η-reduce.
43416         (hashcash-insert-payment-async): Use proper closure.
43418 2019-03-12  Michael Albinus  <michael.albinus@gmx.de>
43420         * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
43422         Use proper range when deleting the region.
43424 2019-03-12  Alan Mackenzie  <acm@muc.de>
43426         Correct the indentation of CC Mode brace lists
43428         while preserving the indentation of nested C++ uniform initialization.
43430         * lisp/progmodes/cc-align.el (c-lineup-2nd-brace-entry-in-arglist)
43431         (c-lineup-class-decl-init-+, c-lineup-class-decl-init-after-brace): New
43432         indentation functions.
43434         * lisp/progmodes/cc-engine.el (c-forward-class-decl): New function.
43435         (c-do-declarators): New function, partially extracted from
43436         c-font-lock-declarators, which now calls the new function.
43437         (c-inside-bracelist-p): Amend the introductory comment.
43438         (c-add-stmt-syntax): Add code to prevent the spurious recognition of a
43439         'defun-block-intro when a brace pair is used as an initializer.
43440         (c-evaluate-offset): No longer ignore vectors of length >= 2.
43441         (c-calc-offset): Refactor clumsily nested `if'/`or' into a cond form.
43443         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Replace the bulk of
43444         this function by a call to the new c-forward-class-decl.
43446         * lisp/progmodes/cc-langs.el (c-type-decl-prefix-key): Recognize "~" as a
43447         type decl operator.
43449         * lisp/progmodes/cc-mode.el (c-fl-decl-start): While searching backward for a
43450         "}" at an EOD, deal with actually finding the end of a brace list.
43452         * doc/misc/cc-mode.texi (List Line-Up): document
43453         c-lineup-2nd-brace-entry-in-arglist, c-lineup-class-decl-init-+, and
43454         c-lineup-class-decl-init-after-brace.
43456         * lisp/progmodes/cc-styles.el (c-style-alist): In styles "gnu", "bsd",
43457         "stroustrup", "python", and "java", change the offset for brace-list-intro
43458         from the default value or c-lineup-arglist-intro-after-paren to a list
43459         beginning with the symbol first, followed by two of the new alignment
43460         functions, followed by +.
43462         * lisp/progmodes/cc-vars.el (c-offset-alist): Change the default value of
43463         brace-list-entry from c-lineup-under-anchor back to 0.
43465 2019-03-12  Martin Rudalics  <rudalics@gmx.at>
43467         Revert last tweak in 'comint-output-filter'
43469         * lisp/comint.el (comint-output-filter): Revert last tweak because
43470         it can hang gdb indefinitely.
43472 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
43474         Reindent pdumper per usual Emacs style
43476         * src/pdumper.c, src/pdumper.h: Reindent.
43478 2019-03-11  Eli Zaretskii  <eliz@gnu.org>
43480         Fix show-trailing-whitespace in R2L text
43482         * src/xdisp.c (highlight_trailing_whitespace): Allow for
43483         stretch glyphs at the left edge of R2L lines, when skipping
43484         glyphs inserted by the display engine.  This unbreaks
43485         show-trailing-whitespace in R2L lines.
43487 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
43489         Fix a small pdumper memory leak
43491         * src/pdumper.c (dump_mmap_reset): Free the private area here ...
43492         (dump_mm_heap_cb_release): ... instead of here.
43493         (dump_mmap_release_heap): Simplify by avoiding a local.
43494         (dump_mmap_contiguous): Reindent GNU style.
43496 2019-03-11  Martin Rudalics  <rudalics@gmx.at>
43498         Rewrite minibuffer window resizing code
43500         * src/frame.c (resize_mini_frames): New variable.
43501         * src/window.c (resize_mini_window_apply): New function.
43502         (grow_mini_window, shrink_mini_window): Remove PIXELWISE
43503         argument.  Call resize_mini_window_apply to apply changes.
43504         (Fresize_mini_window_internal): Call resize_mini_window_apply
43505         to apply changes.
43506         (Qwindow__resize_mini_frame): New symbol.
43507         * src/window.h (grow_mini_window, shrink_mini_window): Adjust
43508         external declarations.
43509         * src/xdisp.c (resize_mini_window): For minibuffer-only frames
43510         call 'window--resize-mini-frame' if resize_mini_frames is
43511         non-nil.  Offload parts of logic to grow_mini_window and
43512         shrink_mini_window which are now called without the PIXELWISE
43513         argument.
43514         (Vresize_mini_windows): Mention 'resize-mini-frames' in
43515         doc-string.
43516         * lisp/cus-start.el (resize-mini-frames): Add customization
43517         support.
43518         * lisp/window.el (window--resize-mini-window): Simplify code.
43519         (window--resize-mini-frame): New function.
43520         * doc/lispref/minibuf.texi (Minibuffer Windows): Describe new
43521         option 'resize-mini-frames'.
43522         * etc/NEWS: Mention new option 'resize-mini-frames'.
43524 2019-03-10  Paul Eggert  <eggert@cs.ucla.edu>
43526         * src/editfns.c: Fix docstring typo.
43528 2019-03-10  Paul Eggert  <eggert@cs.ucla.edu>
43530         Improve binary-as-unsigned treatment (Bug#34792)
43532         * etc/NEWS:
43533         * src/editfns.c (Fformat, binary_as_unsigned):
43534         Update now that we always have bignums.
43535         (syms_of_editfns) [!defined lisp_h_FIXNUMP]: Remove now-obsolete
43536         code, since lisp_h_FIXNUMP is always defined now.
43537         * test/src/editfns-tests.el (read-large-integer): Simplify,
43538         now that we can assume binary-as-unsigned defaults to nil.
43540 2019-03-10  Paul Eggert  <eggert@cs.ucla.edu>
43542         More regexp corrections and tweaks
43544         Problems reported by Mattias Engdegård in:
43545         https://lists.gnu.org/r/emacs-devel/2019-03/msg00247.html
43546         * lisp/align.el (align-rules-list):
43547         * lisp/comint.el (comint-output-filter):
43548         * lisp/language/china-util.el (encode-hz-region):
43549         * lisp/progmodes/cperl-mode.el (cperl-indent-exp):
43550         * lisp/progmodes/idlwave.el (idlwave-is-pointer-dereference):
43551         * lisp/progmodes/scheme.el (dsssl-font-lock-keywords):
43552         * lisp/textmodes/texinfmt.el (texinfo-accent-commands):
43553         * test/src/regex-emacs-tests.el (regex-tests-re-even-escapes):
43554         Fix some regular-expression typos.
43556 2019-03-10  Paul Eggert  <eggert@cs.ucla.edu>
43558         Update from Gnulib
43560         This incorporates:
43561         2019-03-10 alloca-opt: Fix conflict mingw's new <alloca.h> file
43562         2019-03-03 getloadavg: Write NULL for the null pointer
43563         Reported by Michal Privoznik <mprivozn@redhat.com>.
43564         * lib/getloadavg.c (getloadavg): Write NULL instead of 0.
43565         * build-aux/config.guess, build-aux/move-if-change:
43566         * doc/misc/texinfo.tex, lib/alloca.in.h, lib/getloadavg.c:
43567         * m4/alloca.m4:
43568         Copy from Gnulib.
43569         * lib/gnulib.mk.in: Regenerate.
43571 2019-03-10  Dmitry Gutov  <dgutov@yandex.ru>
43573         (ruby-add-log-current-method): Recognize methods ending with ? or !
43575         * lisp/progmodes/ruby-mode.el (ruby-add-log-current-method):
43576         Recognize method names ending with ? or !.
43578 2019-03-10  Dmitry Gutov  <dgutov@yandex.ru>
43580         project--find-regexp-in-files: Use 'grep -E'
43582         * lisp/progmodes/project.el (project--find-regexp-in-files): Use
43583         'grep -E' because we convert the regexp to extended already.
43585 2019-03-10  Michael Albinus  <michael.albinus@gmx.de>
43587         Changes in Tramp adb process handling
43589         * lisp/net/tramp-adb.el (tramp-methods) <adb>: Add `tramp-remote-shell'
43590         and `tramp-remote-shell-args'.
43591         (tramp-adb-file-name-handler-alist): Use `tramp-handle-shell-command'
43592         rather than `tramp-adb-handle-shell-command'.
43593         (tramp-adb-handle-shell-command): Remove.
43594         (tramp-adb-handle-make-process): Use a proper prompt.
43595         (tramp-adb-wait-for-output): Simplify.
43597 2019-03-10  Ken Brown  <kbrown@cornell.edu>
43599         Use a runtime test for timerfd on Cygwin (Bug#34618)
43601         * src/atimer.c [HAVE_TIMERFD] (have_buggy_timerfd): New
43602         function.
43603         (init_atimer) Use it.
43605 2019-03-09  Stefan Monnier  <monnier@iro.umontreal.ca>
43607         * lisp/speedbar.el: Minor tweaks
43609         (speedbar-directory-buttons-follow): Use file-name-as-directory.
43610         (speedbar-ignored-directory-expressions)
43611         (speedbar-supported-extension-expressions): Use `sym` in the setter.
43612         (speedbar-frame-mode): Use with-current-buffer.
43613         (speedbar-item-info-tag-helper): Use 'cond'.
43614         (speedbar-highlight-one-tag-line): Don't use position beyond EOB.
43616 2019-03-09  Tassilo Horn  <tsdh@gnu.org>
43618         Make doc-view work with text-mode as default major-mode (bug#34451)
43620         * lisp/doc-view.el (doc-view--text-view-mode): New alias for view-mode.
43621         (doc-view-open-text): Use it.
43622         (doc-view-toggle-display): Use it.
43624 2019-03-09  Christopher Wellons  <wellons@nullprogram.com>  (tiny change)
43626         * lisp/emulation/viper.el: Use user-error for "Viper bell"
43629         * lisp/emulation/viper-init.el (viper-ViperBell): New constant.
43630         * lisp/emulation/viper-cmd.el (viper-prefix-arg-com)
43631         (viper-forward-char, viper-backward-char, viper-goto-col)
43632         (viper-find-char, viper-paren-match, viper-put-back, viper-Put-back)
43633         (viper-delete-char, viper-mark-point, viper-goto-mark-subr):
43634         * lisp/emulation/viper-ex.el (ex-delete): Use it and `user-error`.
43636 2019-03-09  Tassilo Horn  <tsdh@gnu.org>
43638         Name buffer according to attachment filename (bug#34478).
43640         * lisp/gnus/mm-decode.el (mm-display-external): Name buffer showing
43641           the attachment according to the attachment's filename, i.e. "*mm*
43642           <filename>" instead of " *mm*12345".
43644 2019-03-09  Ken Brown  <kbrown@cornell.edu>
43646         Re-enable the timerfd interface on Cygwin
43648         * configure.ac (emacs_cv_have_timerfd): No longer set this to "no"
43649         on Cygwin.  (Bug#34618)
43651 2019-03-09  Ivan Andrus  <darthandrus@gmail.com>
43653         Mention `binary-as-unsigned' in `format' docstring (Bug#34792)
43655         * src/editfns.c (format): Update docstring to mention binary-as-unsigned
43656         (Bug#34792)
43658 2019-03-09  Glenn Morris  <rgm@gnu.org>
43660         Merge from origin/emacs-26
43662         0589de5 (origin/emacs-26) Fix markup of fake keys in the ELisp manual
43663         82d4b98 Avoid errors in Auto Revert mode
43664         a3b1935 Mention empty strings in file name expansion, emacs lisp refe...
43665         a38da0d cc-mode.texi: Work around makeinfo alignment bug.  Fix proble...
43666         464ee80 Warn against recursive invocations of 'buffer-list-update-hoo...
43667         60b5c10 Provide more details in doc-string of 'delete-windows-on' (Bu...
43668         f0be0f1 Improve documentation of 'delete-windows-on'
43669         f1bddc7 * lisp/frame.el (make-frame-command): Doc fix.  (Bug#34715)
43670         2848623 Avoid undefined behavior in gdb-mi.el
43671         dbf1837 * lisp/window.el (fit-frame-to-buffer): Make doc-string more ...
43672         099ef44 Minor spelling and grammar fixes (bug#34756)
43673         52fd400 Minor improvement of documentation of '(when CONDITION . SPEC)'
43674         f872b65 Improve documentation of 'auto-coding-functions'
43675         04cad5e Fix visiting XML files with non-Unix EOL format
43676         a89fabe Update example major mode code in Elisp manual
43678         # Conflicts:
43679         #       lisp/autorevert.el
43680         #       lisp/window.el
43682 2019-03-09  Eli Zaretskii  <eliz@gnu.org>
43684         Consult 'face-remapping-alist' for 'internal-border' face
43686         * src/xterm.c (x_clear_under_internal_border)
43687         (x_after_update_window_line):
43688         * src/w32fns.c (x_clear_under_internal_border):
43689         * src/w32term.c (x_after_update_window_line): Consult
43690         'face-remapping-alist' when using the 'internal-border' face.
43692 2019-03-09  Alan Mackenzie  <acm@muc.de>
43694         CC Mode: Correct some incorrect regular expressions:
43696         * lisp/progmodes/cc-awk.el (c-awk-regexp-char-list-re): "^" -> "\\^".  R*x?R*
43697         -> \(R*x\)?R*.
43699         * lisp/progmodes/cc-mode.el (c-after-change-re-mark-unbalanced-strings): "|"
43700         -> "\\|".
43702 2019-03-09  Michael Albinus  <michael.albinus@gmx.de>
43704         Do not hardcode "/bin/sh" in compile.  Bug#24338, Bug#29723
43706         * doc/emacs/custom.texi (Connection Variables): New node.
43708         * doc/emacs/emacs.texi (Top): Add entry for Connection Variables.
43710         * doc/emacs/misc.texi (Single Shell): Mention default value for
43711         remote buffers.
43713         * doc/lispref/variables.texi (Connection Local Variables):
43714         Describe `with-connection-local-variables' instead of
43715         `with-connection-local-profiles'.
43717         * doc/misc/tramp.texi (Remote processes): Refer to Emacs manual.
43718         Mention default connection-local settings for `shell-file-name'
43719         and `shell-command-switch'.
43721         * etc/NEWS: Mention connection-local variables changes.
43723         * lisp/files-x.el (hack-connection-local-variables):
43724         Push connection-local variables to `file-local-variables-alist'.
43725         (connection-local-criteria-for-default-directory): New defsubst.
43726         (with-connection-local-variables): Rename from
43727         `with-connection-local-profiles'.  Adapt implementation.
43729         * lisp/files.el (hack-local-variables):
43730         Call `hack-connection-local-variables'.
43732         * lisp/shell.el (shell): Use `with-connection-local-variables'.
43734         * lisp/subr.el (start-file-process-shell-command):
43735         * lisp/progmodes/compile.el (compilation-start):
43736         Use `with-connection-local-variables'.  Do not set "/bin/sh" for
43737         remote buffers, trust settings of `shell-file-name'.  (Bug#24338),
43738         (Bug#29723)
43740         * lisp/net/ange-ftp.el (ange-ftp-compress, ange-ftp-uncompress):
43741         Use `shell-command-switch'.
43743         * lisp/net/tramp-adb.el (tramp-adb-connection-local-default-profile):
43744         New defvar.  Add it to connection-local profiles after loading "shell".
43746         * lisp/net/tramp-integration.el (tramp-compat): Require tramp-compat.
43747         (tramp-compat-exec-path): Do not declare anymore.
43748         (tramp-connection-local-safe-shell-file-names): New defvar.
43749         (tramp-connection-local-default-profile): New defconst.  Activate
43750         it after loading "shell".
43751         (shell-file-name, shell-command-switch): Add safe-local-variable
43752         property.
43754         * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
43755         Add tramp-autoload cookie.
43757         * test/lisp/files-x-tests.el (remote-shell-file-name):
43758         Add safe-local-variable property to remote-* variables.
43759         (tramp-connection-local-default-profile): Declare.
43760         (files-x-test-with-connection-local-variables):
43761         Rename from `files-x-test-with-connection-local-profiles'.  Adapt
43762         implementation.
43764         * test/lisp/net/tramp-tests.el
43765         (tramp-test34-connection-local-variables): New test.
43766         (tramp-test34-explicit-shell-file-name): Run it also for tramp-adb.
43767         Bind connection-local-{profile,criteria}-alist.  Use tramp-adb
43768         specific `shell-file-name'.  Add safe-local-variable property to
43769         `explicit-shell-file-name' and `explicit-sh-args'.
43771 2019-03-09  Charles A. Roelli  <charles@aurox.ch>
43773         Make help for file supersession more readable
43775         * lisp/userlock.el (ask-user-about-supersession-help): Use
43776         'substitute-command-keys' to show the command key for
43777         "\\[revert-buffer]" properly.
43779 2019-03-09  Eli Zaretskii  <eliz@gnu.org>
43781         Import Unicode 12.0 data files
43783         * admin/unidata/copyright.html:
43784         * admin/unidata/UnicodeData.txt:
43785         * admin/unidata/SpecialCasing.txt:
43786         * admin/unidata/NormalizationTest.txt:
43787         * admin/unidata/Blocks.txt:
43788         * admin/unidata/BidiMirroring.txt:
43789         * admin/unidata/BidiBrackets.txt: New versions from Unicode 12.0.
43790         * admin/unidata/unidata-gen.el (unidata-gen-file):
43791         * admin/unidata/blocks.awk (name2alias): Adapt to changes in
43792         new data files.
43793         * admin/notes/unicode: Update and improve instructions for
43794         importing a new Unicode Standard.
43796         * lisp/international/characters.el (char-width-table): Update
43797         lists of characters according to Unicode 12.0.
43798         * lisp/international/fontset.el (script-representative-chars):
43799         Add characters from new scripts to 'script-representative-chars'.
43800         (otf-script-alist): Update according to data on the MS site.
43801         * lisp/international/mule-cmds.el (ucs-names): Update unused
43802         ranges of codepoints according to Unicode 12.0.
43804         * test/lisp/international/ucs-normalize-tests.el
43805         (ucs-normalize-tests--failing-lines-part1)
43806         (ucs-normalize-tests--failing-lines-part2): Update for the new
43807         NormalizationTest.txt file.
43808         * test/manual/BidiCharacterTest.txt: Update with the new
43809         version from Unicode 12.0.
43811 2019-03-09  Martin Rudalics  <rudalics@gmx.at>
43813         Further redesign of window change functions
43815         * doc/lispref/windows.texi (Window Hooks): Revise description
43816         of window change functions.  Add documentation for
43817         'window-state-change-hook' and window state change flag.
43818         * etc/NEWS: Update entry for window change functions.
43819         * src/frame.c (Fframe_window_state_change)
43820         (Fset_frame_window_state_change): New functions.
43821         * src/frame.h (struct frame): New boolean window_state_change.
43822         (FRAME_WINDOW_STATE_CHANGE): New macro.
43823         * src/window.c (window_change_record_frames): New static
43824         boolean.
43825         (window_change_record_frame): Remove function - code moved to
43826         window_change_record.
43827         (window_change_record): Record frame changes here taking
43828         window_change_record_frames into account.
43829         (run_window_change_functions_1): Set window_change_record_frames
43830         whenever we run one of our hooks.
43831         (run_window_change_functions): Run hooks also when
43832         FRAME_WINDOW_STATE_CHANGE has been set.  Run
43833         Vwindow_state_change_hook.  Leave decision whether to record
43834         changes for all frames to window_change_record.
43835         (Vwindow_state_change_functions): Update doc-string.
43836         (Vwindow_state_change_hook): New normal hook.
43838 2019-03-09  Alan Third  <alan@idiocy.org>
43840         Don't redraw the glyph on top of bar cursors
43842         * src/nsterm.m (ns_draw_window_cursor): Limit when we redraw the
43843         glyph.
43845 2019-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
43847         * lisp/emacs-lisp/autoload.el (make-autoload): Don't add useless doc
43849         More specifically, don't add a useless '(fn)' to the docstring for
43850         functions which take no arguments.
43851         This should fix the 'No docstring slot for pcase--make-docstring'
43852         warning during bootstrap.
43854 2019-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
43856         * lisp/emacs-lisp/cursor-sensor.el: Fix sensor behavior with overlays
43858         (cursor-sensor--detect): Also consult overlay properties when checking
43859         to see if we just moved inside the same "element" as opposed to
43860         changing from one to another of the same type.
43862 2019-03-08  Tassilo Horn  <tsdh@gnu.org>
43864         New command ido-switch-to-completions.
43866         * lisp/ido.el (ido-switch-to-completions): New command.
43868 2019-03-08  Paul Eggert  <eggert@cs.ucla.edu>
43870         More regexp corrections and tweaks
43872         From suggestions by Mattias Engdegård in:
43873         https://lists.gnu.org/r/emacs-devel/2019-03/msg00131.html
43874         * lisp/arc-mode.el (archive-rar-summarize):
43875         * lisp/gnus/gnus-art.el (gnus-button-valid-localpart-regexp):
43876         * lisp/language/ethio-util.el (ethio-fidel-to-tex-buffer):
43877         * lisp/nxml/rng-uri.el (rng-file-name-uri):
43878         * lisp/org/org-mobile.el (org-mobile-apply):
43879         * lisp/progmodes/cperl-mode.el (cperl-init-faces):
43880         * lisp/progmodes/fortran.el (fortran-fill):
43881         * lisp/progmodes/mantemp.el (mantemp-remove-comments)
43882         (mantemp-remove-memfuncs, mantemp-insert-cxx-syntax):
43883         * lisp/speedbar.el (speedbar-directory-buttons-follow):
43884         * lisp/vc/add-log.el (change-log-font-lock-keywords):
43885         Fix more regular expressions that seem to be typos or infelicities.
43887 2019-03-08  Mark Diekhans  <markd@ucsc.edu>  (tiny change)
43889         Improve ispell.el diagnostics if Hunspell dictionaries aren't found
43891         * lisp/textmodes/ispell.el (ispell-set-spellchecker-params):
43892         Set ispell-last-program-name only at the end, so as to produce
43893         useful diagnostics when Hunspell dictionaries are not found.
43894         (Bug#34640)
43896 2019-03-07  Paul Eggert  <eggert@cs.ucla.edu>
43898         * lisp/net/rcirc.el: Undo previous change; it was a typo.
43900 2019-03-07  Paul Eggert  <eggert@cs.ucla.edu>
43902         Be safer about "%" in message formats
43904         * lisp/calc/calc-store.el (calc-copy-special-constant):
43905         * lisp/net/rcirc.el (rcirc-handler-PART, rcirc-handler-KICK):
43906         * lisp/org/org-agenda.el (org-agenda):
43907         * lisp/org/org-clock.el (org-clock-out, org-clock-display):
43908         * lisp/org/org.el (org-refile):
43909         * lisp/progmodes/ada-xref.el (ada-goto-declaration):
43910         * lisp/progmodes/idlwave.el (idlwave-scan-library-catalogs):
43911         Don’t trust arbitrary strings to not contain "%" or "`" in
43912         (message (concat STRING1 STRING2 ...)).
43914 2019-03-06  Mattias Engdegård  <mattiase@acm.org>
43916         Rename regexp-opt argument noreorder to keep-order
43918         * doc/lispref/searching.texi (Regular Expression Functions):
43919         * lisp/emacs-lisp/regexp-opt.el (regexp-opt):
43920         Rename newly added `noreorder' argument to `keep-order', to avoid a
43921         negative in the name.  Suggested by Phil Sainty (Bug#34641).
43923 2019-03-06  Eli Zaretskii  <eliz@gnu.org>
43925         Fix OBJECT binding in conditional display specs
43927         * src/xdisp.c (compute_display_string_pos): Pass OBJECT1, not
43928         OBJECT to handle_display_spec, as the latter doesn't expect a
43929         window object.  (Bug#34771)
43931 2019-03-06  Paul Eggert  <eggert@cs.ucla.edu>
43933         Fix typo in fix for Bug#33498
43935         * src/frame.c (delete_frame): Fix typo in previous patch,
43936         which caused GCC to complain about the use of an uninitialized
43937         variable.
43939 2019-03-06  Michael Albinus  <michael.albinus@gmx.de>
43941         Handle empty strings in Tramp's expand-file-name implementations
43943         * lisp/net/tramp.el (tramp-handle-expand-file-name):
43944         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
43945         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
43946         * lisp/net/tramp-smb.el (tramp-smb-handle-expand-file-name):
43947         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-expand-file-name):
43948         Handle empty NAME.
43950         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
43951         (tramp-test01-file-name-syntax-simplified)
43952         (tramp-test01-file-name-syntax-separate): Use neutral IPv4 address.
43953         (tramp-test05-expand-file-name): Check also "." and "".
43955 2019-03-06  Martin Rudalics  <rudalics@gmx.at>
43957         * lisp/window.el (fit-frame-to-buffer): Make doc-string more accurate.
43959 2019-03-06  Martin Rudalics  <rudalics@gmx.at>
43961         In unwind_with_echo_area_buffer use set_marker_restricted_both
43963         * src/xdisp.c (unwind_with_echo_area_buffer): Use
43964         set_marker_restricted_both instead of set_marker_both to avoid
43965         spurious assertion failures.
43967 2019-03-06  Martin Rudalics  <rudalics@gmx.at>
43969         Fix handling of 'window-combination-resize' with fixed-size windows
43971         * lisp/window.el (window-combinations): New optional argument
43972         IGNORE-FIXED.
43973         (window--combination-resizable): New function.
43974         (split-window): Fix handling of 'window-combination-resize'
43975         in the presence of fixed-size windows.
43977 2019-03-06  Martin Rudalics  <rudalics@gmx.at>
43979         Fix initialization of Vwindow_state_change_functions
43981         * src/window.c (Vwindow_state_change_functions): Initialize the
43982         right variable.
43984 2019-03-05  Glenn Morris  <rgm@gnu.org>
43986         * doc/misc/gnus-coding.texi: Remove no longer relevant sections.
43988         * doc/misc/gnus.texi (New Features): Refer to NEWS for newer items.
43990 2019-03-05  Glenn Morris  <rgm@gnu.org>
43992         Remove doc/misc/gnus-news.texi
43994         * doc/misc/gnus.texi (No Gnus): Merge in gnus-news.texi.
43995         * doc/misc/gnus-news.texi: Remove.
43997 2019-03-05  Glenn Morris  <rgm@gnu.org>
43999         Remove etc/GNUS-NEWS (bug#34662)
44001         It is not relevant since Gnus stopped being distributed separately.
44002         * etc/GNUS-NEWS: Remove this generated file.
44003         * etc/NEWS.26: Relocate an entry mistakenly added to GNUS-NEWS.
44004         * doc/misc/gnus-coding.texi (Gnus Maintenance Guide):
44005         No longer mention GNUS-NEWS.
44006         * doc/misc/gnus-news.el: Remove.
44007         * doc/misc/gnus-news.texi: Update a comment.
44008         * lisp/Makefile.in (update-gnus-news): Remove this phony target.
44010 2019-03-05  Glenn Morris  <rgm@gnu.org>
44012         Remove gnus-overrides.texi
44014         * doc/misc/gnus-overrides.texi: Remove.
44015         * doc/misc/auth.texi, doc/misc/emacs-mime.texi:
44016         * doc/misc/gnus.texi, doc/misc/message.texi, doc/misc/pgg.texi:
44017         * doc/misc/sasl.texi, doc/misc/sieve.texi:
44018         Do not include gnus-overrides.texi.
44020 2019-03-05  Wilson Snyder  <wsnyder@wsnyder.org>
44022         Fix regexp issues introduced in last trunk commit.
44024         * lisp/progmodes/verilog-mode.el (verilog-coverpoint-re): Fix regexp issues introduced
44025         in last trunk commit.
44027 2019-03-05  Eli Zaretskii  <eliz@gnu.org>
44029         Remove unreliable assertion in buf_bytepos_to_charpos
44031         * src/marker.c (buf_bytepos_to_charpos): Remove the assertion
44032         regarding bytepos always at the head byte of a multibyte
44033         sequence.  For the reasons, see
44034         http://lists.gnu.org/archive/html/emacs-devel/2019-03/msg00100.html
44035         http://lists.gnu.org/archive/html/emacs-devel/2019-03/msg00102.html
44037 2019-03-05  Wilson Snyder  <wsnyder@wsnyder.org>
44039         Fix regular-expression glitches and typos. Update verilog-mode from upstream.
44041         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix AUTO vectors with
44042         double brackets, msg2839.
44043         (verilog-read-auto-template-middle): Fix AUTO_TEMPLATE with regexp
44044         capture group reference, but1379.  Reported by David Rogoff.
44046 2019-03-05  Martin Rudalics  <rudalics@gmx.at>
44048         Fix interactive spec of some functions in window.el (Bug#34749)
44050         * lisp/window.el (delete-windows-on, quit-windows-on)
44051         (display-buffer-other-frame): Interactively, permit existing
44052         buffers only (Bug#34749).
44054 2019-03-05  Martin Rudalics  <rudalics@gmx.at>
44056         Fix handling of minibuffer-only child frames (Bug#33498)
44058         * doc/lispref/frames.texi (Buffer Parameters): Describe how to
44059         make a minibuffer-only child frame.
44060         (Child Frames): Describe how minbuffer child frames are
44061         deleted.
44062         * src/frame.c (delete_frame): Handle deletion of minibuffer
44063         child frames (Bug#33498).  In the course, fix reassigning of
44064         'default-minibuffer-frame' with minibuffer-only frames.
44065         * lisp/frame.el (frame-notice-user-settings): Handle creation of
44066         initial minibuffer-only child frame.
44067         (make-frame): Handle creation of frame with a minibuffer-only
44068         child frame.
44070 2019-03-05  Michael Albinus  <michael.albinus@gmx.de>
44072         Test an IPv4 mapped IPv6 address in Tramp
44074         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
44075         (tramp-test01-file-name-syntax-simplified)
44076         (tramp-test01-file-name-syntax-separate): Check also an IPv4
44077         mapped IPv6 address.
44079 2019-03-04  Paul Eggert  <eggert@cs.ucla.edu>
44081         Fix regular-expression glitches and typos
44083         Problems reported by Mattias Engdegård in:
44084         https://lists.gnu.org/r/emacs-devel/2019-03/msg00085.html
44085         * admin/admin.el (set-version):
44086         * lisp/allout.el (allout-latexify-one-item):
44087         * lisp/arc-mode.el (archive-arc-rename-entry)
44088         (archive-rar-summarize):
44089         * lisp/calc/calc-graph.el (calc-graph-set-styles)
44090         (calc-graph-hide):
44091         * lisp/calc/calc-help.el (calc-describe-key):
44092         * lisp/calc/calc-lang.el (math-compose-tex-func, eqn):
44093         * lisp/calc/calc.el (calcDigit-key):
44094         * lisp/cedet/ede/makefile-edit.el (makefile-macro-file-list):
44095         * lisp/cedet/ede/speedbar.el (ede-tag-expand):
44096         * lisp/cedet/semantic/sb.el (semantic-sb-show-extra)
44097         (semantic-sb-expand-group):
44098         * lisp/comint.el (comint-substitute-in-file-name):
44099         * lisp/dired.el (dired-actual-switches):
44100         * lisp/emacs-lisp/chart.el (chart-rmail-from):
44101         * lisp/emacs-lisp/eieio-opt.el (eieio-sb-expand):
44102         * lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-object-expand):
44103         * lisp/emacs-lisp/rx.el (rx-not, rx-atomic-p):
44104         * lisp/emulation/viper-ex.el (viper-get-ex-token)
44105         (viper-get-ex-pat, ex-set-read-variable):
44106         * lisp/epg.el (epg--status-SIG_CREATED):
44107         * lisp/erc/erc-speedbar.el (erc-speedbar-expand-user):
44108         (erc-speedbar-expand-channel, erc-speedbar-expand-server)
44109         * lisp/erc/erc.el (erc-is-message-ctcp-and-not-action-p)
44110         (erc-banlist-update):
44111         * lisp/eshell/em-dirs.el (eshell-parse-drive-letter, eshell/pwd):
44112         * lisp/find-dired.el (find-dired):
44113         * lisp/frame.el (frame-set-background-mode):
44114         * lisp/generic-x.el (apache-log-generic-mode):
44115         * lisp/gnus/gnus-art.el (gnus-button-valid-localpart-regexp):
44116         * lisp/gnus/gnus.el (gnus-short-group-name):
44117         * lisp/gnus/message.el (message-mailer-swallows-blank-line):
44118         * lisp/ibuffer.el (ibuffer-fontification-alist):
44119         * lisp/ido.el (ido-set-matches-1):
44120         * lisp/info-xref.el (info-xref-lock-file-p):
44121         * lisp/info.el (Info-dir-remove-duplicates)
44122         (Info-unescape-quotes, Info-split-parameter-string)
44123         (Info-speedbar-expand-node):
44124         * lisp/international/mule.el (sgml-html-meta-auto-coding-function):
44125         * lisp/isearch.el (isearch-pre-command-hook):
44126         * lisp/language/ethio-util.el (ethio-fidel-to-tex-buffer):
44127         * lisp/mail/rmail.el (rmail-collect-deleted):
44128         * lisp/mh-e/mh-alias.el (mh-alias-suggest-alias):
44129         * lisp/mh-e/mh-comp.el (mh-forward):
44130         * lisp/mh-e/mh-search.el (mh-index-next-folder)
44131         (mh-index-create-imenu-index):
44132         * lisp/mh-e/mh-xface.el (mh-picon-get-image):
44133         * lisp/minibuffer.el (completion--embedded-envvar-re):
44134         * lisp/net/ange-ftp.el (ange-ftp-ls-parser):
44135         * lisp/net/goto-addr.el (goto-address-mail-regexp)
44136         (goto-address-find-address-at-point):
44137         * lisp/net/pop3.el (pop3-read-response, pop3-user)
44138         (pop3-pass, pop3-apop):
44139         * lisp/net/tramp.el (tramp-ipv6-regexp)
44140         (tramp-replace-environment-variables):
44141         * lisp/nxml/nxml-maint.el (nxml-insert-target-repertoire-glyph-set):
44142         * lisp/nxml/rng-uri.el (rng-uri-escape-multibyte):
44143         * lisp/nxml/rng-xsd.el (rng-xsd-convert-any-uri):
44144         * lisp/obsolete/pgg.el (pgg-fetch-key):
44145         * lisp/obsolete/vip.el (vip-get-ex-token):
44146         * lisp/org/ob-core.el (org-babel-string-read):
44147         * lisp/org/org-agenda.el:
44148         (org-agenda-add-entry-to-org-agenda-diary-file):
44149         * lisp/org/org-element.el (org-element-keyword-parser):
44150         * lisp/org/org-list.el (org-list-indent-item-generic):
44151         * lisp/org/org-mhe.el (org-mhe-get-message-folder-from-index):
44152         * lisp/org/org-mobile.el (org-mobile-apply):
44153         * lisp/org/org-mouse.el (org-mouse-context-menu):
44154         * lisp/org/org-plot.el (org-plot/gnuplot):
44155         * lisp/org/org-protocol.el (org-protocol-flatten-greedy):
44156         * lisp/org/org-table.el (org-table-copy-down)
44157         (org-table-formula-make-cmp-string)
44158         (org-table-get-stored-formulas, org-table-recalculate)
44159         (org-table-edit-formulas):
44160         * lisp/org/org.el (org-translate-link-from-planner)
44161         (org-fill-line-break-nobreak-p):
44162         * lisp/org/ox-ascii.el (org-ascii-item):
44163         * lisp/org/ox-latex.el (org-latex-clean-invalid-line-breaks):
44164         * lisp/org/ox.el (org-export-expand-include-keyword):
44165         * lisp/progmodes/ada-xref.el (ada-treat-cmd-string):
44166         * lisp/progmodes/cfengine.el (cfengine2-font-lock-keywords):
44167         * lisp/progmodes/cperl-mode.el (cperl-to-comment-or-eol)
44168         (cperl-find-pods-heres, cperl-fix-line-spacing)
44169         (cperl-have-help-regexp, cperl-word-at-point-hard)
44170         (cperl-make-regexp-x):
44171         * lisp/progmodes/dcl-mode.el (dcl-option-value-offset):
44172         * lisp/progmodes/etags.el (tag-implicit-name-match-p):
44173         * lisp/progmodes/fortran.el (fortran-fill):
44174         * lisp/progmodes/gdb-mi.el (gdb-speedbar-expand-node)
44175         (gdb-locals-handler-custom):
44176         * lisp/progmodes/grep.el (grep-mode-font-lock-keywords):
44177         * lisp/progmodes/gud.el (gud-jdb-find-source-using-classpath):
44178         * lisp/progmodes/js.el (js--continued-expression-p):
44179         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords):
44180         * lisp/progmodes/meta-mode.el (meta-indent-level-count):
44181         * lisp/progmodes/mixal-mode.el (mixal-font-lock-keywords):
44182         * lisp/progmodes/opascal.el (opascal-find-unit-in-directory):
44183         * lisp/progmodes/pascal.el (pascal-progbeg-re):
44184         * lisp/progmodes/ruby-mode.el (ruby-expression-expansion-re)
44185         (ruby-expr-beg, ruby-parse-partial)
44186         (ruby-toggle-string-quotes, ruby-font-lock-keywords):
44187         * lisp/progmodes/sql.el (sql--make-help-docstring):
44188         * lisp/progmodes/verilog-mode.el (verilog-coverpoint-re)
44189         (verilog-skip-forward-comment-p)
44190         (verilog-read-sub-decls-gate)
44191         (verilog-read-auto-template-middle):
44192         * lisp/progmodes/vhdl-mode.el (vhdl-resolve-env-variable)
44193         (vhdl-speedbar-expand-project, vhdl-speedbar-expand-entity)
44194         (vhdl-speedbar-expand-architecture)
44195         (vhdl-speedbar-expand-config, vhdl-speedbar-expand-package)
44196         (vhdl-speedbar-dired):
44197         * lisp/speedbar.el (speedbar-dired, speedbar-tag-file)
44198         (speedbar-tag-expand):
44199         * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
44200         * lisp/textmodes/flyspell.el (flyspell-debug-signal-word-checked):
44201         * lisp/textmodes/ispell.el (ispell-process-line):
44202         * lisp/textmodes/reftex-cite.el (reftex-end-of-bib-entry):
44203         * lisp/textmodes/reftex-ref.el (reftex-replace-prefix-escapes):
44204         * lisp/url/url-parse.el (url-generic-parse-url):
44205         * lisp/url/url-util.el (url-truncate-url-for-viewing):
44206         * lisp/vc/diff-mode.el (diff-unified->context):
44207         * lisp/vc/vc-bzr.el (vc-bzr-error-regexp-alist):
44208         * lisp/vc/vc-cvs.el (vc-cvs-parse-status):
44209         * lisp/woman.el (woman0-el, woman-if-ignore)
44210         (woman-change-fonts):
44211         * lisp/xdg.el (xdg--substitute-home-env):
44212         Fix regular-expression infelicities and typos.
44214         Fix regular expression typos
44215         Fix typos reported by Mattias Engdegård in:
44216         that occurred in preloaded modules.
44217         * lisp/frame.el (frame-set-background-mode):
44218         * lisp/international/mule.el (sgml-html-meta-auto-coding-function):
44219         * lisp/isearch.el (isearch-pre-command-hook):
44220         * lisp/minibuffer.el (completion--embedded-envvar-re):
44222 2019-03-04  Charles A. Roelli  <charles@aurox.ch>
44224         Fix diff-mode tests after renaming diff-font-lock-refine
44226         This fixes tests broken in my last change, "Merge
44227         diff-font-lock-refine and diff-auto-refine-mode into diff-refine" from
44228         2019-02-24.
44230         * test/lisp/vc/diff-mode-tests.el (diff-mode-test-font-lock):
44231         Bind diff-refine to symbol 'font-lock' instead of binding
44232         diff-font-lock-refine to t.
44233         (diff-mode-test-font-lock-syntax-one-line): Bind diff-refine
44234         to nil instead of binding diff-font-lock-refine to nil.
44236 2019-03-04  Eli Zaretskii  <eliz@gnu.org>
44238         Avoid assertion violations in buf_bytepos_to_charpos
44240         * src/marker.c (buf_bytepos_to_charpos): Disable the assertion
44241         regarding bytepos always at the head byte of a multibyte
44242         sequence.
44244 2019-03-04  Eli Zaretskii  <eliz@gnu.org>
44246         Fix invocation with -rv on the command line
44248         * lisp/frame.el (frame-set-background-mode): Avoid errors from
44249         'face-spec-match-p' when the face was not yet realized for
44250         FRAME.  (Bug#34725)
44252 2019-03-04  Nicolas Petton  <nicolas@petton.fr>
44254         * lisp/emacs-lisp/map.el: Bump version to 2.0.
44256 2019-03-04  Martin Rudalics  <rudalics@gmx.at>
44258         Prevent introducing invalid scroll bar width/height values (Bug#34569)
44260         * src/frame.c (store_frame_param): Don't store invalid values
44261         for scroll_bar_width/height.
44262         (x_report_frame_params): Don't report invalid values for
44263         scroll_bar_width/height.
44264         (x_set_scroll_bar_width, x_set_scroll_bar_height): Don't set
44265         invalid values for scroll_bar_width/height.
44267 2019-03-04  Martin Rudalics  <rudalics@gmx.at>
44269         Fix minibuffer resizing with temporarily selected frames (Bug#34317)
44271         * src/keyboard.c (command_loop_1): Resize echo area exactly
44272         only if the echo area window is the minibuffer window of the
44273         selected frame (Bug#34317).
44274         * src/xdisp.c (x_consider_frame_title): Inhibit redisplay also
44275         when restoring the selected window/frame to avoid that
44276         resize_mini_window sizes back the minibuffer window of a
44277         temporarily selected frame (Bug#34317).
44279 2019-03-04  Paul Eggert  <eggert@cs.ucla.edu>
44281         * src/alloc.c (gcstat): Now static.
44283         * src/gfilenotify.c: Fix indenting.
44285         * src/font.h: Fix commentary.
44287 2019-03-04  Paul Eggert  <eggert@cs.ucla.edu>
44289         Simplify list creation in C code
44291         The main new thing here is that C code can now say
44292         ‘list (a, b, c, d, e, f)’ instead of
44293         ‘listn (CONSTYPE_HEAP, 6, a, b, c, d, e, f)’,
44294         thus relieving callers of the responsibility of counting
44295         arguments (plus, the code feels more like Lisp).  The old
44296         list1 ... list5 functions remain, as they’re probably a bit
44297         faster for small lists.
44298         * src/alloc.c (cons_listn, pure_listn): New functions.
44299         (listn): Omit enum argument.
44300         All callers changed to use either new ‘list’ or ‘pure_list’ macros.
44301         * src/charset.c (Fdefine_charset_internal):
44302         * src/coding.c (detect_coding_system)
44303         (Fset_terminal_coding_system_internal):
44304         * src/frame.c (frame_size_history_add, adjust_frame_size):
44305         * src/gtkutil.c (xg_frame_set_char_size):
44306         * src/keyboard.c (command_loop_1):
44307         * src/nsfns.m (frame_geometry):
44308         * src/widget.c (set_frame_size):
44309         * src/xfaces.c (Fcolor_distance):
44310         * src/xfns.c (frame_geometry):
44311         * src/xterm.c (x_set_window_size_1):
44312         * src/xwidget.c (Fxwidget_size_request):
44313         Prefer list1i, list2i, etc. to open-coding them.
44314         * src/charset.c (Fset_charset_priority):
44315         * src/nsterm.m (append2):
44316         * src/window.c (window_list):
44317         * src/xfaces.c (Fx_list_fonts):
44318         Use nconc2 instead of open-coding it.
44319         * src/eval.c (eval_sub, backtrace_frame_apply):
44320         * src/kqueue.c (kqueue_generate_event):
44321         * src/nsterm.m (performDragOperation:):
44322         * src/pdumper.c (Fpdumper_stats):
44323         * src/w32.c (init_environment):
44324         Prefer list1, list2, etc. to open-coding them.
44325         * src/font.c (font_list_entities):
44326         Parenthesize to avoid expanding new ‘list’ macro.
44327         * src/gtkutil.c (GETSETUP): Rename from MAKE_FLOAT_PAGE_SETUP
44328         to get lines to fit.  Move outside the ‘list’ call, since it’s
44329         now a macro.
44330         * src/keymap.c (Fmake_keymap): Simplify.
44331         * src/lisp.h (list, pure_list): New macros.
44332         (list1i): New function.
44334 2019-03-03  Charles A. Roelli  <charles@aurox.ch>
44336         Merge diff-font-lock-refine and diff-auto-refine-mode into diff-refine
44338         This change was discussed in Bug#32991.
44340         * admin/gitmerge.el (gitmerge-resolve): Bind 'diff-refine'
44341         instead of 'diff-auto-refine-mode' to nil.
44342         * doc/emacs/files.texi (Diff Mode): Explain 'diff-refine'
44343         instead of 'diff-auto-refine-mode' in the documentation of
44344         'diff-hunk-next' and 'diff-hunk-prev'.  Mention in the
44345         documentation of 'diff-refine-hunk' that refining is already
44346         done by default.
44347         * etc/NEWS (Diff mode): Explain renamed 'diff-refine' variable
44348         and mention deprecation and disabling of
44349         'diff-auto-refine-mode'.
44350         * lisp/vc/diff-mode.el (diff-font-lock-refine): Rename to
44351         'diff-refine' and allow choices nil, 'font-lock' and 'navigation'.
44352         (diff-auto-refine-mode): Disable it by default, make it
44353         obsolete and make it set 'diff-refine' appropriately to keep
44354         backward compatibility.
44355         (diff-hunk-next, diff-hunk-prev): Adapt to rename of
44356         diff-auto-refine-mode and ensure that refining only happens
44357         when calling these commands interactively.
44358         (diff--font-lock-refined): Adapt to rename of
44359         diff-font-lock-refine.
44360         * lisp/vc/smerge-mode.el (smerge-next, smerge-prev): Check
44361         that 'diff-refine' is set instead of checking
44362         'diff-auto-refine-mode' when deciding whether to refine a
44363         conflict.
44365 2019-03-03  Alan Mackenzie  <acm@muc.de>
44367         Correct some slightly incorrect regular expressions:
44369         * lisp/progmodes/cc-awk.el (c-awk-harmless-char-re)
44370         (c-awk-harmless-line-char-re, c-awk-_-harmless-nonws-char-re): [...\\\\...]
44371         -> [...\\...].
44373         * lisp/progmodes/cc-engine.el (c-literal-limits): "*/" -> "\\*/".
44375         * lisp/progmodes/cc-mode.el (c-after-change-re-mark-unbalanced-strings):
44376         "\\\r" -> "\r".
44378 2019-03-03  Eli Zaretskii  <eliz@gnu.org>
44380         Fix starting temacs interactively
44382         * src/dispnew.c (init_display_interactive): Don't call
44383         init_faces_initial if we aren't initialized, since
44384         tty-set-up-initial-frame-faces is not available then.  This
44385         restores the ability to start "temacs -nw" and also avoids
44386         bad crashes in "emacs -nw" if the pdumper file is not found.
44387         (Bug#34707)
44389 2019-03-02  Paul Eggert  <eggert@cs.ucla.edu>
44391         Fix typo in previous change
44393         * src/alloc.c (memory_full_cons_threshold):
44394         Move to after definition of struct cons_block.
44395         Problem reported by Basil L. Contovounesios in:
44396         https://lists.gnu.org/r/emacs-devel/2019-03/msg00067.html
44398 2019-03-02  Glenn Morris  <rgm@gnu.org>
44400         * test/lisp/progmodes/python-tests.el
44401         (python-syntax-after-python-backspace): Expect success.
44403 2019-03-02  Paul Eggert  <eggert@cs.ucla.edu>
44405         memory_full_cons_threshold is a constant
44407         * src/alloc.c (memory_full_cons_threshold): Now const.
44408         (memory_full): Omit no-longer-needed initialization.
44410 2019-03-02  Paul Eggert  <eggert@cs.ucla.edu>
44412         Avoid staticvec duplicates
44414         * src/alloc.c (staticpro) [ENABLE_CHECKING]: Check for duplicates.
44415         * src/keyboard.c (syms_of_keyboard): Define
44416         while-no-input-ignore-events and inhibit--record-char here ...
44417         (syms_of_keyboard_for_pdumper): ... instead of here.
44418         This avoids duplicates in staticvec.
44420 2019-03-02  Alan Mackenzie  <acm@muc.de>
44422         Check by eassert that a bytepos argument isn't in the middle of a character
44424         * src/marker.c (buf_bytepos_to_charpos): Add an eassert to check that the
44425         parameter bytepos is at the beginning of a character or EOB.
44427 2019-03-02  Eli Zaretskii  <eliz@gnu.org>
44429         Fix DND on MS-Windows with files from UNC directories
44431         * lisp/dnd.el (dnd-get-local-file-uri): Always return nil on
44432         MS-Windows, as this method cannot possibly work there: URIs
44433         that begin with the local system's name are UNCs, where the
44434         //SERVER part cannot be removed.  (Bug#34675)
44436 2019-03-02  Phillip Lord  <phillip.lord@russet.org.uk>
44438         Revert "Add hook for all events"
44440         This reverts commit 7b31de4d107302ed91ce7519cd778b340a9880ee.
44442 2019-03-02  Phillip Lord  <phillip.lord@russet.org.uk>
44444         Revert "; Fix typos in NEWS"
44446         This reverts commit d52bc534d799c255f24ff2a56e8bed830d8f68ca.
44448 2019-03-02  Phillip Lord  <phillip.lord@russet.org.uk>
44450         Revert "; Document input-event-functions"
44452         This reverts commit 27fffb2701c38090916e077d28a4a6b9e2bc09d2.
44454 2019-03-02  Mattias Engdegård  <mattiase@acm.org>
44456         Correct regexp-opt return value for empty string list
44458         When regexp-opt is called with an empty list of strings, return a regexp
44459         that doesn't match anything instead of the empty string (Bug#20307).
44461         * doc/lispref/searching.texi (Regular Expression Functions):
44462         * etc/NEWS:
44463         Document the new behaviour.
44464         * lisp/emacs-lisp/regexp-opt.el (regexp-opt):
44465         Return a never-match regexp for empty inputs.
44467 2019-03-02  Mattias Engdegård  <mattiase@acm.org>
44469         rx: fix `or' ordering by adding argument to regexp-opt
44471         The rx `or' form may reorder its arguments in an unpredictable way,
44472         contrary to user expectation, since it sometimes uses `regexp-opt'.
44473         Add a NOREORDER option to `regexp-opt' for preventing it from
44474         producing a reordered regexp (Bug#34641).
44476         * doc/lispref/searching.texi (Regular Expression Functions):
44477         * etc/NEWS (Lisp Changes in Emacs 27.1):
44478         Describe the new regexp-opt NOREORDER argument.
44479         * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Add NOREORDER.
44480         Make no attempt at regexp improvement if the set of strings contains
44481         a prefix of another string.
44482         (regexp-opt--contains-prefix): New.
44483         * lisp/emacs-lisp/rx.el (rx-or): Call regexp-opt with NOREORDER.
44484         * test/lisp/emacs-lisp/rx-tests.el: Test rx `or' form match order.
44486 2019-03-02  Eli Zaretskii  <eliz@gnu.org>
44488         Fix 'end-of-visual-line' with overlay strings with newlines
44490         * src/indent.c (Fvertical_motion): Get out of overlay strings
44491         with embedded newlines even if moving within the same screen
44492         line.  See https://github.com/emacs-lsp/lsp-mode/issues/677
44493         for more details.
44494         Fix test for IT_CHARPOS being at the beginning of the
44495         accessible portion of the buffer.
44497 2019-03-01  Stefan Monnier  <monnier@iro.umontreal.ca>
44499         * src/syntax.c (update_syntax_table): Prefer 'else' to 'goto'
44501         * lisp/Makefile.in (leim): Fix void-function pinyin-convert
44503 2019-03-01  Alan Mackenzie  <acm@muc.de>
44505         Maintain interval ->position fields correctly in update_interval
44507         Also fix some anomalies in the handling of byte positions in regexp-emacs.c
44508         This fixes bug #34525.
44510         * src/intervals.c (SET_PARENT_POSITION): New macro.
44511         (update_interval): When moving to an interval's parent, set that parent's
44512         ->position field, to maintain the consistency of the tree.
44514         * src/intervals.h (struct interval): Amend the comment describing when
44515         ->position is valid.
44517         * src/pdumper.c: Update the hash associated with struct interval.
44519         * src/regex-emacs.c: (re_match_2_internal): Only invoke POINTER_TO_OFFSET on a
44520         known character boundary.  Only perform arithmetic on character positions, not
44521         on byte positions.  Correct the argument to an invocation of
44522         UPDATE_SYNTAX_TABLE_FORWARD by adding 1 to it (in case wordend:).
44524         * src/syntax.c: (update_syntax_table): Remove the now redundant code that set
44525         the ->position field of all parents of the interval found by update_interval.
44527 2019-03-01  Glenn Morris  <rgm@gnu.org>
44529         Merge from origin/emacs-26
44531         9df1365 Fix a typo in the Calc manual
44532         f3dab02 Minor improvement in cross-references of the ELisp manual
44533         560c84b Fix last change on 'compilation-parse-errors'
44535 2019-03-01  Glenn Morris  <rgm@gnu.org>
44537         Merge from origin/emacs-26
44539         dee3cdc Minor improvement for docs of completion
44540         c86d419 ; * src/image.c (imagemagick_load, svg_load): Fix typos in co...
44541         6d46fa9 Disable the timerfd interface on Cygwin
44542         3707ea4 Fix a typo in the doc string of 'regex-opt'
44543         d9905d5 Document bash 5.0.0 misbehavior in tramp.texi (Bug#34192)
44545         # Conflicts:
44546         #       doc/misc/tramp.texi
44548 2019-03-01  Paul Eggert  <eggert@cs.ucla.edu>
44550         Suppress GC stats when obviously not needed
44552         This should help future improvements where these stats can be
44553         bignums that do not fit into intmax_t.
44554         * src/alloc.c (struct gcstat, gcstat): New type and static var,
44555         to package up GC statistics into one C object.  It replaces ...
44556         (total_free_intervals, total_intervals, total_strings)
44557         (total_free_strings, total_string_bytes, total_vectors)
44558         (total_vector_slots, total_free_vector_slots): ... these
44559         removed static vars.  All uses changed.
44560         (garbage_collect_1): Accept a struct gcstat *, not a void *
44561         which was not used anymore anyway.  Return a bool indicating
44562         success, instead of a Lisp object.  All callers changed.
44563         (garbage_collect): New function.  All C callers of
44564         Fgarbage_collect changed to use it, since none of them use the
44565         return value.  Now, only Lisp code uses Fgarbage_collect.
44566         (Fgarbage_collect): No longer noinline.  Cons up the return
44567         value here, not in garbage_collect_1.
44569 2019-03-01  Eli Zaretskii  <eliz@gnu.org>
44571         Don't signal Quit from 'while-no-input' on TTY frames
44573         * src/keyboard.c (read_char): Don't inject quit-char after
44574         longjmp if while-no-input is in effect.  (Bug#34535)
44576 2019-03-01  Evan Moses  <evan@emoses.org>  (tiny change)
44578         Add 'breakpoint' to builtins for Python
44580         * lisp/progmodes/python.el (python-font-lock-keywords-level-2)
44581         (python-font-lock-keywords-maxiumum-decoration): Add 'breakpoint'
44582         to the list of builtins, it's new as of Python 3.7.
44584 2019-03-01  Eli Zaretskii  <eliz@gnu.org>
44586         Be more defensive regarding elements of 'load-history'
44588         * lisp/loadhist.el (file-dependents):
44589         * lisp/apropos.el (apropos-library):
44590         * lisp/help-fns.el (help-fns--autoloaded-p, help--loaded-p):
44591         * lisp/emacs-lisp/package.el (package--list-loaded-files):
44592         Don't assume 'load-history' elements must have a string as their
44593         'car'.  (Bug#34462)
44595 2019-03-01  Alan Mackenzie  <acm@muc.de>
44597         * src/pdumper.c: Clarify the message about updating hash values
44599 2019-03-01  Federico Tedin  <federicotedin@gmail.com>
44601         Allow control on the threshold for using 'distant-foreground'
44603         * src/xfaces.c (NEAR_SAME_COLOR_THRESHOLD): Macro deleted.
44604         (load_face_colors): Compare against
44605         face_near_same_color_threshold instead of
44606         NEAR_SAME_COLOR_THRESHOLD.
44607         (syms_of_xfaces) <face-near-same-color-threshold>: New
44608         variable.  (Bug#34001)
44610         * etc/NEWS: Announce the change.
44612 2019-02-28  Juri Linkov  <juri@linkov.net>
44614         * lisp/replace.el (flush-lines): Return the number of deleted lines.
44616         When called interactively, also print the number. (Bug#34520)
44618         * doc/emacs/search.texi (Other Repeating Search): Update
44619         flush-lines that prints the number of deleted lines.
44621 2019-02-28  Eli Zaretskii  <eliz@gnu.org>
44623         Avoid rare crashes in xbacktrace
44625         * src/eval.c (backtrace_thread_p, backtrace_top): Don't
44626         segfault in "xbacktrace" if called before the specpdl
44627         machinery is initialized in pdumped Emacs.
44629 2019-02-28  Michael Albinus  <michael.albinus@gmx.de>
44631         Adapt test names in tramp-archive-tests.el
44633         * test/lisp/net/tramp-archive-tests.el
44634         (tramp-archive-test39-make-nearby-temp-file)
44635         (tramp-archive-test42-file-system-info)
44636         (tramp-archive-test45-auto-load)
44637         (tramp-archive-test45-delay-load): Rename.
44639 2019-02-28  Michael Albinus  <michael.albinus@gmx.de>
44641         Use proper read syntax for all function names in Tramp
44643         * lisp/net/tramp.el:
44644         * lisp/net/tramp-adb.el:
44645         * lisp/net/tramp-archive.el:
44646         * lisp/net/tramp-cache.el:
44647         * lisp/net/tramp-cmds.el:
44648         * lisp/net/tramp-compat.el:
44649         * lisp/net/tramp-ftp.el:
44650         * lisp/net/tramp-gvfs.el:
44651         * lisp/net/tramp-integration.el:
44652         * lisp/net/tramp-rclone.el:
44653         * lisp/net/tramp-sh.el:
44654         * lisp/net/tramp-smb.el:
44655         * lisp/net/tramp-sudoedit.el:
44656         * test/lisp/net/tramp-archive-tests.el:
44657         * test/lisp/net/tramp-tests.el: Use proper read syntax for all
44658         function names.
44660 2019-02-27  Paul Eggert  <eggert@cs.ucla.edu>
44662         Escape HTML NUL as &#0; in eww
44664         * lisp/net/eww.el (eww-display-html): Escape NUL as &#0; as this
44665         is more appropriate for HTML.
44667 2019-02-27  Juri Linkov  <juri@linkov.net>
44669         * lisp/vc/vc-annotate.el: Better error handling (bug#34532)
44671         * lisp/vc/vc-annotate.el (vc-annotate-revision-previous-to-line):
44672         Print message when prev-rev is nil.
44674 2019-02-27  Juri Linkov  <juri@linkov.net>
44676         Directional window swap states (bug#34656)
44678         * lisp/windmove.el (windmove-swap-states-in-direction)
44679         (windmove-swap-states-left, windmove-swap-states-up)
44680         (windmove-swap-states-down, windmove-swap-states-right)
44681         (windmove-swap-states-default-keybindings): New functions.
44683 2019-02-27  Juri Linkov  <juri@linkov.net>
44685         * doc/emacs/frames.texi (Multiple Displays): Add make-frame-on-monitor.
44687         * doc/lispref/frames.texi (Multiple Terminals): Add make-frame-on-monitor.
44688         (Bug#34516)
44690 2019-02-27  Arash Esbati  <arash@gnu.org>
44692         Improve matching of key-val labels (bug#34629)
44694         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve
44695         regexp for key-val labels in order to skip over content in braces.
44697 2019-02-27  Robert Pluim  <rpluim@gmail.com>
44699         Replace NUL characters when calling into libxml
44701         2019-02-27  Robert Pluim  <rpluim@gmail.com>
44703         * lisp/net/eww.el (eww-display-html): Replace NUL characters with
44704         "\0", as libxml can't handle embedded NULLs.  (Bug#34469)
44706 2019-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
44708         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Autoload
44710 2019-02-27  John Shahid  <jvshahid@gmail.com>
44712         Add text properties to newlines used to unwrap long lines.
44714         * lisp/term.el (term-emulate-terminal): do it.
44716 2019-02-27  Paul Eggert  <eggert@cs.ucla.edu>
44718         DEFVAR_INT variables are now intmax_t
44720         Formerly they were fixnums, which led to problems when dealing
44721         with values that might not fit on 32-bit platforms, such as
44722         string-chars-consed or floats_consed.  64-bit counters should
44723         be good enough for these (for a while, anyway...).
44724         While we’re at it, fix some unlikely integer overflow bugs
44725         that have been in the code for a while.
44726         * lib-src/make-docfile.c (write_globals):
44727         * src/data.c (do_symval_forwarding, store_symval_forwarding):
44728         * src/eval.c (restore_stack_limits, call_debugger):
44729         * src/frame.h (struct frame.cost_calculation_baud_rate):
44730         * src/keyboard.c (last_auto_save, bind_polling_period, read_char):
44731         * src/lisp.h (struct Lisp_Intfwd.intvar):
44732         * src/lread.c (defvar_int):
44733         * src/pdumper.c (dump_fwd_int):
44734         * src/thread.h (struct thread_state.m_lisp_eval_depth):
44735         * src/undo.c (truncate_undo_list):
44736         * src/xselect.c (wait_for_property_change)
44737         (x_get_foreign_selection):
44738         * src/xterm.c (x_emacs_to_x_modifiers):
44739         DEFVAR_INT variables now have the C type intmax_t, not EMACS_INT.
44740         * src/data.c (store_symval_forwarding):
44741         * src/gnutls.c (Fgnutls_boot):
44742         * src/keyboard.c (bind_polling_period):
44743         * src/macros.c (pop_kbd_macro, Fexecute_kbd_macro):
44744         * src/undo.c (truncate_undo_list):
44745         Allow any integer that fits into intmax_t, instead of
44746         requiring it to be a Lisp fixnum.
44747         * src/dispnew.c (update_window):
44748         * src/frame.c (x_figure_window_size):
44749         * src/gnutls.c (init_gnutls_functions)
44750         (emacs_gnutls_handle_error):
44751         * src/keyboard.c (make_lisp_event):
44752         * src/nsterm.m (ns_dumpglyphs_image):
44753         * src/profiler.c (make_log):
44754         * src/scroll.c (calculate_scrolling)
44755         (calculate_direct_scrolling):
44756         * src/termcap.c (tputs):
44757         * src/xterm.c (x_draw_image_relief):
44758         Avoid implementation-defined behavior on conversion of
44759         out-of-range integers.
44760         * src/eval.c (when_entered_debugger): Now intmax_t.
44761         (max_ensure_room): New function, that avoids signed integer overflow.
44762         (call_debugger, signal_or_quit): Use it.
44763         * src/fileio.c (Fdo_auto_save):
44764         * src/keyboard.c (make_lisp_event):
44765         * src/term.c (calculate_costs):
44766         * src/xdisp.c (build_desired_tool_bar_string)
44767         (hscroll_window_tree, try_scrolling, decode_mode_spec)
44768         (x_produce_glyphs):
44769         Avoid signed integer overflow.
44770         * src/lisp.h (clip_to_bounds): Generalize to intmax_t.
44771         * src/pdumper.c (dump_emacs_reloc_immediate_emacs_int): Remove, ...
44772         (dump_emacs_reloc_immediate_intmax_t): ... replacing with this
44773         function.  All uses changed.
44774         * src/profiler.c (make_log): Omit args.  All callers changed.
44775         * src/termcap.c: Include stdlib.h, for atoi.
44776         Include intprops.h.
44777         * src/window.c (sanitize_next_screen_context_lines): New function.
44778         (window_scroll_pixel_based, window_scroll_line_based):
44779         Use it to avoid signed integer overflow.
44781 2019-02-25  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
44783         Fix mod-test build failure
44785         Problem reported by Glenn Morris in:
44786         https://lists.gnu.org/r/emacs-devel/2019-02/msg00739.html
44787         * test/Makefile.in (HYBRID_MALLOC, LIBEGNU_ARCHIVE):
44788         New macros, taken from ../src/Makefile.in.
44789         (MODULE_CFLAGS): Add -I$(srcdir)/../lib.
44790         ($(test_module)): Link $(LIBEGNU_ARCHIVE) too.
44792 2019-02-25  Juri Linkov  <juri@linkov.net>
44794         * lisp/vc/diff-mode.el (diff-font-lock-keywords): Add more Git headers.
44796         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Set mode to
44797         the selected major-mode, so diff-mode could be detected afterwards.
44799 2019-02-25  Juri Linkov  <juri@linkov.net>
44801         * lisp/frame.el (make-frame-on-monitor): New command.  (Bug#34516)
44803         (make-frame-on-display): Add completion on available display names.
44805 2019-02-25  Paul Eggert  <eggert@cs.ucla.edu>
44807         format-time-string: document new '+' flag
44809         * doc/lispref/os.texi (Time Parsing), etc/NEWS:
44810         * src/timefns.c (Fformat_time_string): Document the new
44811         behavior, added for compatibility with POSIX.1-2017.
44813 2019-02-25  Paul Eggert  <eggert@cs.ucla.edu>
44815         Update from Gnulib
44817         This incorporates:
44818         2019-02-24 nstrftime: support the ‘+’ flag
44819         2019-02-24 stat, lstat: fix conflict with relocatable-prog-wrapper
44820         2019-02-23 nstrftime: tweak arg order
44821         2019-02-21 nstrftime: merge glibc strftime changes
44822         2019-02-02 vla: add commentary about VLA_ELEMS
44823         * build-aux/config.guess, doc/misc/texinfo.tex, lib/fstatat.c:
44824         * lib/lstat.c, lib/nstrftime.c, lib/vla.h:
44825         Copy from Gnulib.
44827 2019-02-25  Michael Albinus  <michael.albinus@gmx.de>
44829         Adapt hooks in Tramp
44831         * lisp/net/tramp-archive.el (tramp-archive-cleanup-hash):
44832         Remove autoload cookie.
44833         (tramp-cleanup-all-connections-hook): Add `tramp-archive-cleanup-hash'.
44835         * lisp/net/tramp-cmds.el (tramp-cleanup-connection-hook)
44836         (tramp-cleanup-all-connections-hook): New hook variables.
44837         (tramp-cleanup-connection): Set `tramp-current-connection' always
44838         to nil.
44839         (tramp-cleanup-connection): Do not call `tramp-recentf-cleanup'.
44840         Run ´tramp-cleanup-connection-hook`.
44841         (tramp-cleanup-all-connections): Do not call
44842         `tramp-archive-cleanup-hash' and ´tramp-recentf-cleanup'.  Run
44843         `tramp-cleanup-all-connections-hook'.
44845         * lisp/net/tramp-ftp.el (top): Simply call `tramp-disable-ange-ftp'.
44847         * lisp/net/tramp-integration.el (tramp-recentf-cleanup-all): New defun.
44848         (top): Adapt `tramp-integration-unload-hook',
44849         `tramp-cleanup-connection-hook' and
44850         `tramp-cleanup-all-connections-hook'.
44852 2019-02-24  Alex Branham  <alex.branham@gmail.com>
44854         * lisp/comint.el (comint-skip-input): Set inhibit-read-only to t
44856         Bug#33975
44858 2019-02-24  Philipp Stephani  <phst@google.com>
44860         Ignore pending_signals when checking for quits.
44862         pending_signals is often set if no quit is pending.  This results in
44863         bugs in module code if the module returns but no quit is actually
44864         pending.
44866         As a better alternative, add a new process_input environment function
44867         for Emacs 27.  That function processes signals (like maybe_quit).
44869         * configure.ac: Add module snippet for Emacs 27.
44871         * src/module-env-27.h: New file.
44873         * src/emacs-module.h.in: Add process_input function to environment
44874         interface.
44876         * src/emacs-module.c (module_should_quit): Use QUITP macro to check
44877         whether the caller should quit.
44878         (module_process_input): New function.
44879         (initialize_environment): Use it.
44881         * src/eval.c: Remove obsolete comment.
44883         * test/data/emacs-module/mod-test.c (signal_wrong_type_argument)
44884         (signal_errno): New helper functions.
44885         (Fmod_test_sleep_until): New test module function.
44887         * test/src/emacs-module-tests.el (mod-test-sleep-until): New unit
44888         test.
44890         * doc/lispref/internals.texi (Module Misc): Document process_input.
44892 2019-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
44894         * lisp/term.el: Fix minor compilation issues with cl-lib and lexbind
44896         Remove left-over comment from the bulk comint->term query/replace.
44897         (term-command-function): Rename from term-command-hook.
44898         Give it a global default value.
44899         (term-suppress-hard-newline): Mark it as generally obsolete.
44900         (term-mode): Don't manually make hooks buffer-local.
44901         (term--remove-fake-newlines): Fix assert -> cl-assert.
44902         (term-char-mode): Use add-function.
44903         (term-send-input): Use run-hook-with-args.
44904         (term-dynamic-complete): Use run-hook-with-args-until-success.
44905         (term-dynamic-simple-complete): Completion tables can be plain lists.
44906         (serial-read-name): Simplify and fix misuse of `set`.
44908 2019-02-24  John Shahid  <jvshahid@gmail.com>
44910         Adjust line wrapping on window resize and killing text
44912         * lisp/term.el (term-mode): Advice filter-buffer-substring-function to
44913         remove line unwrapping from killed text.
44914         (term-reset-size): Add or remove line unwrapping depending on the new
44915         terminal width.
44916         (term-suppress-hard-newline): Mark obsolete.
44917         (term-unwrap-line): Use text properties to be able to find the
44918         newlines later.
44920 2019-02-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
44922         Make pinyin to Chinese character mapping available to elisp
44924         * leim/Makefile.in: Build the file pinyin.el from pinyin.map.
44925         * lisp/international/titdic-cnv.el (pinyin-convert): New function that
44926           writes the library pinyin.el, containing a new constant
44927           `pinyin-character-map'.
44928         * .gitignore: Ignore the generated pinyin.el file.
44930 2019-02-24  Richard Stallman  <rms@gnu.org>
44932         fix rmail armor decryption problems
44934         * lisp/mail/rmail.el (rmail-epa-decrypt): Don't decrypt an armor
44935         that was copied into the message from a message it is a reply to.
44936         (rmail-epa-decrypt-1): Catch and ignore errors in
44937         epa-decrypt-region.  Make armor-start and armor-end markers.
44939 2019-02-24  Richard Stallman  <rms@gnu.org>
44941         Don't clobber epa-mail-aliases
44943         * lisp/epa-mail.el (epa-mail-default-recipients):
44944         Copy elements of epa-mail-aliases; don't clobber them.
44946 2019-02-24  Eli Zaretskii  <eliz@gnu.org>
44948         * doc/lispref/text.texi (Replacing): Fix a typo in recent change.
44950 2019-02-24  Michael Albinus  <michael.albinus@gmx.de>
44952         Cleanup also recentf files in Tramp
44954         * doc/misc/tramp.texi (Cleanup remote connections): Mention also
44955         recentf cache.
44957         * lisp/net/tramp-cmds.el (tramp-cleanup-connection)
44958         (tramp-cleanup-all-connections): Call `tramp-recentf-cleanup'.
44960         * lisp/net/tramp-integration.el: New package.
44962         * lisp/net/tramp.el (tramp-rfn-eshadow-overlay)
44963         (tramp-rfn-eshadow-setup-minibuffer)
44964         (tramp-rfn-eshadow-update-overlay-regexp)
44965         (tramp-rfn-eshadow-update-overlay):
44966         (tramp-eshell-directory-change): Move to tramp-integration.el
44968 2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>
44970         Don’t assume timersub and gettimeofday
44972         POSIX does not specify timersub, and marks gettimeofday as
44973         obsolescent.  Avoid porting problems by using timespec.h
44974         functions instead.
44975         * src/editfns.c: Include systime.h instead of sys/time.h.
44976         (EXTRA_CONTEXT_FIELDS): Replace start and max_secs with
44977         time_limit.  All uses changed.  This removes the need to call
44978         gettimeofday or timersub.
44979         * src/term.c (timeval_to_Time): Remove.  Replace all uses with ...
44980         (current_Time): ... this new function, removing the need to
44981         call gettimeofday.
44983 2019-02-23  Tassilo Horn  <tsdh@gnu.org>
44985         Improve replace-buffer-contents/replace-region-contents
44987         * src/editfns.c (Freplace_buffer_contents): Add two optional arguments
44988           for mitigating performance issues.
44989         * lisp/emacs-lisp/subr-x.el (replace-region-contents): Move from
44990           subr.el.  Add the same two arguments as for replace-buffer-contents.
44991         * lisp/json.el (json-pretty-print-max-secs): New variable holding the
44992           default MAX-SECS value json-pretty-print passes to
44993           replace-buffer-contents.
44994           (json-pretty-print): Use it.
44995         * doc/lispref/text.texi (Replacing): Add documentation for
44996           replace-buffer-contents two new optional arguments.  Document
44997           replace-region-contents.
44999 2019-02-23  Michael Albinus  <michael.albinus@gmx.de>
45001         Make last Tramp change backward compatible to Emacs 24
45003         * lisp/net/tramp-cache.el (tramp-get-file-property):
45004         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
45005         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
45006         Make them backward compatible to Emacs 24.
45008 2019-02-23  Felicián Németh  <felician.nemeth@gmail.com>
45010         Jump to the current error in xref with zero prefix arg
45012         * lisp/progmodes/xref.el (xref--next-error-function): Handle the corner case of
45013         n == 0.  (Bug#34462)
45015 2019-02-22  Paul Eggert  <eggert@cs.ucla.edu>
45017         Avoid some double-rounding of Lisp timestamps
45019         Also, simplify some time-related Lisp timestamp code
45020         while we’re in the neighborhood.
45021         * lisp/battery.el (battery-linux-proc-acpi)
45022         (battery-linux-sysfs, battery-upower, battery-bsd-apm):
45023         * lisp/calendar/timeclock.el (timeclock-seconds-to-string)
45024         (timeclock-log, timeclock-last-period)
45025         (timeclock-entry-length, timeclock-entry-list-span)
45026         (timeclock-find-discrep, timeclock-generate-report):
45027         * lisp/cedet/ede/detect.el (ede-detect-qtest):
45028         * lisp/completion.el (cmpl-hours-since-origin):
45029         * lisp/ecomplete.el (ecomplete-decay-1):
45030         * lisp/emacs-lisp/ert.el (ert--results-update-stats-display)
45031         (ert--results-update-stats-display-maybe):
45032         * lisp/emacs-lisp/timer-list.el (list-timers):
45033         * lisp/emacs-lisp/timer.el (timer-until)
45034         (timer-event-handler):
45035         * lisp/erc/erc-backend.el (erc-server-send-ping)
45036         (erc-server-send-queue, erc-handle-parsed-server-response)
45037         (erc-handle-unknown-server-response):
45038         * lisp/erc/erc-track.el (erc-buffer-visible):
45039         * lisp/erc/erc.el (erc-lurker-cleanup, erc-lurker-p)
45040         (erc-cmd-PING, erc-send-current-line):
45041         * lisp/eshell/em-pred.el (eshell-pred-file-time):
45042         * lisp/eshell/em-unix.el (eshell-show-elapsed-time):
45043         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event:org-timestamp):
45044         * lisp/gnus/gnus-int.el (gnus-backend-trace):
45045         * lisp/gnus/gnus-sum.el (gnus-user-date):
45046         * lisp/gnus/mail-source.el (mail-source-delete-crash-box):
45047         * lisp/gnus/nnmaildir.el (nnmaildir--scan):
45048         * lisp/ibuf-ext.el (ibuffer-mark-old-buffers):
45049         * lisp/gnus/nnmaildir.el (nnmaildir--scan):
45050         * lisp/mouse.el (mouse--down-1-maybe-follows-link)
45051         (mouse--click-1-maybe-follows-link):
45052         * lisp/mpc.el (mpc--faster-toggle):
45053         * lisp/net/rcirc.el (rcirc-handler-ctcp-KEEPALIVE)
45054         (rcirc-sentinel):
45055         * lisp/net/tramp-cache.el (tramp-get-file-property):
45056         * lisp/net/tramp-sh.el (tramp-sh-handle-file-newer-than-file-p)
45057         (tramp-maybe-open-connection):
45058         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
45059         * lisp/org/org-clock.el (org-clock-resolve):
45060         (org-resolve-clocks, org-clock-in, org-clock-out, org-clock-sum):
45061         * lisp/org/org-timer.el (org-timer-start)
45062         (org-timer-pause-or-continue, org-timer-seconds):
45063         * lisp/org/org.el (org-evaluate-time-range):
45064         * lisp/org/ox-publish.el (org-publish-cache-ctime-of-src):
45065         * lisp/pixel-scroll.el (pixel-scroll-in-rush-p):
45066         * lisp/play/hanoi.el (hanoi-move-ring):
45067         * lisp/proced.el (proced-format-time):
45068         * lisp/progmodes/cpp.el (cpp-progress-message):
45069         * lisp/progmodes/flymake.el (flymake--handle-report):
45070         * lisp/progmodes/js.el (js--wait-for-matching-output):
45071         * lisp/subr.el (progress-reporter-do-update):
45072         * lisp/term/xterm.el (xterm--read-event-for-query):
45073         * lisp/time.el (display-time-update, emacs-uptime):
45074         * lisp/tooltip.el (tooltip-delay):
45075         * lisp/url/url-cookie.el (url-cookie-parse-file-netscape):
45076         * lisp/url/url-queue.el (url-queue-prune-old-entries):
45077         * lisp/url/url.el (url-retrieve-synchronously):
45078         * lisp/xt-mouse.el (xterm-mouse-event):
45079         Avoid double-rounding of time-related values.  Simplify.
45080         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
45081         When hoping for the best (unlikely), use a better decoded time.
45082         (icalendar--convert-sexp-to-ical): Avoid unnecessary encode-time.
45083         * lisp/calendar/timeclock.el (timeclock-when-to-leave):
45084         * lisp/cedet/ede/detect.el (ede-detect-qtest):
45085         * lisp/desktop.el (desktop-create-buffer):
45086         * lisp/emacs-lisp/benchmark.el (benchmark-elapse):
45087         * lisp/gnus/gnus-art.el (article-lapsed-string):
45088         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
45089         * lisp/gnus/nnmail.el (nnmail-expired-article-p):
45090         * lisp/gnus/nnmaildir.el (nnmaildir-request-expire-articles):
45091         * lisp/nxml/rng-maint.el (rng-time-function):
45092         * lisp/org/org-clock.el (org-clock-get-clocked-time)
45093         (org-clock-resolve, org-resolve-clocks, org-resolve-clocks-if-idle):
45094         * lisp/org/org-habit.el (org-habit-insert-consistency-graphs):
45095         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
45096         (vhdl-fix-case-region-1):
45097         Use time-since instead of open-coding most of it.
45098         * lisp/erc/erc-dcc.el (erc-dcc-get-sentinel):
45099         * lisp/erc/erc.el (erc-string-to-emacs-time, erc-time-gt):
45100         Now obsolete.  All uses changed.
45101         (erc-time-diff): Accept all Lisp time values.
45102         All uses changed.
45103         * lisp/gnus/gnus-demon.el (gnus-demon-idle-since):
45104         * lisp/gnus/gnus-score.el (gnus-score-headers):
45105         * lisp/gnus/nneething.el (nneething-make-head):
45106         * lisp/gnus/nnheader.el (nnheader-message-maybe):
45107         * lisp/gnus/nnimap.el (nnimap-keepalive):
45108         * lisp/image.el (image-animate-timeout):
45109         * lisp/mail/feedmail.el (feedmail-rfc822-date):
45110         * lisp/net/imap.el (imap-wait-for-tag):
45111         * lisp/net/newst-backend.el (newsticker--image-get):
45112         * lisp/net/rcirc.el (rcirc-handler-317, rcirc-handler-333):
45113         * lisp/obsolete/xesam.el (xesam-refresh-entry):
45114         * lisp/org/org-agenda.el (org-agenda-show-clocking-issues)
45115         (org-agenda-check-clock-gap, org-agenda-to-appt):
45116         * lisp/org/org-capture.el (org-capture-set-target-location):
45117         * lisp/org/org-clock.el (org-clock-resolve-clock)
45118         (org-clocktable-steps):
45119         * lisp/org/org-colview.el (org-columns-edit-value)
45120         (org-columns, org-agenda-columns):
45121         * lisp/org/org-duration.el (org-duration-from-minutes):
45122         * lisp/org/org-element.el (org-element-cache-sync-duration)
45123         (org-element-cache-sync-break)
45124         (org-element--cache-interrupt-p, org-element--cache-sync):
45125         * lisp/org/org-habit.el (org-habit-get-faces)
45126         * lisp/org/org-indent.el (org-indent-add-properties):
45127         * lisp/org/org-table.el (org-table-sum):
45128         * lisp/org/org-timer.el (org-timer-show-remaining-time)
45129         (org-timer-set-timer):
45130         * lisp/org/org.el (org-babel-load-file, org-today)
45131         (org-auto-repeat-maybe, org-2ft, org-time-stamp)
45132         (org-read-date-analyze, org-time-stamp-to-now)
45133         (org-small-year-to-year, org-goto-calendar):
45134         * lisp/org/ox.el (org-export-insert-default-template):
45135         * lisp/ses.el (ses--time-check):
45136         * lisp/type-break.el (type-break-time-warning)
45137         (type-break-statistics, type-break-demo-boring):
45138         * lisp/url/url-cache.el (url-cache-expired)
45139         (url-cache-prune-cache):
45140         * lisp/vc/vc-git.el (vc-git-stash-snapshot):
45141         * lisp/erc/erc-match.el (erc-log-matches-come-back):
45142         Simplify.
45144 2019-02-22  Paul Eggert  <eggert@cs.ucla.edu>
45146         Remove some timestamp format assumptions
45148         Don’t assume that current-time and plain encode-time return
45149         timestamps in (HI LO US PS) format.
45150         * lisp/gnus/gnus-art.el (article-make-date-line)
45151         (article-lapsed-string):
45152         * lisp/gnus/gnus-demon.el (gnus-demon-time-to-step):
45153         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
45154         * lisp/gnus/nnmaildir.el (nnmaildir-request-expire-articles):
45155         * lisp/net/pop3.el (pop3-uidl-dele):
45156         * lisp/org/ox-publish.el (org-publish-sitemap):
45157         * lisp/vc/vc-hg.el (vc-hg-state-fast):
45158         Simplify and remove assumptions about timestamp format.
45159         * lisp/gnus/gnus-art.el (article-lapsed-string):
45160         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
45161         Do not worry about time-subtract returning nil; that's not possible.
45162         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
45163         Avoid race due to duplicate current-time calls.
45164         * lisp/vc/vc-hg.el (vc-hg--time-to-integer): Remove; no longer used.
45166 2019-02-22  Alex Branham  <alex.branham@gmail.com>
45168         which-function: Do not display outdated imenu information
45170         * lisp/progmodes/which-func.el (which-function): Check
45171           `add-log-current-defun' before imenu. Update `imenu--index-alist' if
45172           needed. Bug#33695
45174 2019-02-21  Nicholas Drozd  <nicholasdrozd@gmail.com>
45176         Handle HTML 'ol' start attribute in shr.el
45178         * lisp/net/shr.el (shr-tag-ol): Don't automatically assume
45179         1-indexing for all ordered lists, use <ol> if given.
45181         * etc/NEWS: Announce change in shr behavior.
45183         * test/data/shr/ol.html:
45184         * test/data/shr/ol.txt: New test data files.
45186 2019-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
45188         * lisp/vc/diff-mode.el: Reduce redundancy in diff-syntax-fontify code
45190         (diff--iterate-hunks): New function extracted from diff--font-lock-refined.
45191         (diff--font-lock-refined, diff--font-lock-syntax): Use it.
45192         (diff--overlay-auto-delete): Rename from diff--font-lock-refine--refresh.
45193         (diff--font-lock-syntax--refresh): Delete.
45194         (diff-syntax-fontify-hunk): Don't completely silence errors.
45195         (diff-syntax-fontify-props): Remove `no-init` arg, testing if `file` is
45196         nil instead.  Adjust all callers.
45197         (diff-syntax-fontify-props): Remove redundant code since we don't
45198         modify the buffer.
45200 2019-02-21  Mattias Engdegård  <mattiase@acm.org>
45202         Replace 8-bit-specific case-manipulation
45204         * lisp/completion.el (cmpl-coerce-string-case):
45205         Rewrite case-changing code written for ASCII or latin-1 but not valid
45206         in generally today.
45208 2019-02-20  Michael R. Mauger  <michael@mauger.com>
45210         Correct implementation of `sql-set-product-feature' (Bug#30494).
45212         * lisp/progmodes/sql.el (sql-add-product): Correct argument spec.
45213         (sql-set-product-feature): Handle all cases as intended.
45214         (sql-get-product-feature): Fetch variable value by `eval'.
45215         * test/lisp/progmodes/sql-tests.el (sql-test-feature-value-[a-d]):
45216         New test variables.
45217         (sql-test-product-feature-harness): New test macro.
45218         (sql-test-add-product, sql-test-add-existing-product)
45219         (sql-test-set-feature, sql-test-set-indirect-feature)
45220         (sql-test-set-existing-feature)
45221         (sql-test-set-existing-indirect-feature)
45222         (sql-test-set-missing-product, sql-test-get-feature)
45223         (sql-test-get-indirect-feature, sql-test-get-missing-product)
45224         (sql-test-get-missing-feature)
45225         (sql-test-get-missing-indirect-feature): New ERT tests
45227 2019-02-20  Glenn Morris  <rgm@gnu.org>
45229         Merge from origin/emacs-26
45231         ff9c962 ; * lisp/ldefs-boot.el: Update.
45232         b4a251c * ; ChangeLog.3 update
45233         d3104e3 * etc/AUTHORS: Update.
45234         a19bfb7 Remove .art from the default list of ImageMagick extensions
45235         6985caa Fix input after setting x-wait-for-event-timeout nil
45236         715388a Fix two warnings in eshell.texi
45237         d49cdd9 * lisp/minibuffer.el (completion-table-dynamic): Improve docs...
45238         5dc4e51 * lisp/emacs-lisp/debug.el (debug-on-variable-change): Doc fi...
45239         76ef805 Fix a typo in ELisp manual
45240         b5e66f4 Update citations of Internet RFCs
45241         57ece2a Fix handling of manpage references divided by hyphenation
45242         7ad0cd6 * doc/misc/eshell.texi: Fix some @ref's.
45243         12b7940 Fix a typo in lispref/syntax.texi
45245         # Conflicts:
45246         #       lisp/gnus/nnrss.el
45247         #       lisp/mail/ietf-drums.el
45249 2019-02-20  Tassilo Horn  <tsdh@gnu.org>
45251         Fix missing interactive spec
45253         * lisp/json.el (json-pretty-print-buffer-ordered): Add interactive
45254           spec "P" which has been missing.
45256 2019-02-20  Michael Albinus  <michael.albinus@gmx.de>
45258         Improve connection hand-shaking in tramp-adb.el
45260         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
45261         Send an additional RET.
45263 2019-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
45265         * lisp/progmodes/sql.el (sql-is-indent-available): Remove
45267         (sql-indent-enable): Check (fboundp 'sqlind-minor-mode) without
45268         wondering which file might provide it.
45269         (sql-read-connection): η-reduce 'car'.
45271 2019-02-20  Martin Rudalics  <rudalics@gmx.at>
45273         Fix handling of MINIBUF argument in 'walk-window-tree'
45275         * lisp/window.el (walk-window-tree): Handle MINIBUF argument
45276         as advertised when FRAME is minibuffer-only.
45277         (window--resize-apply-p, window--sanitize-window-sizes)
45278         (delete-other-windows, split-window-sensibly): Call
45279         'walk-window-tree' with suitable MINIBUF argument.
45281 2019-02-19  Glenn Morris  <rgm@gnu.org>
45283         * lisp/progmodes/sql.el: Fix use of string-empty-p in recent change.
45285 2019-02-19  Charles A. Roelli  <charles@aurox.ch>
45287         Simplify easy-mmode-define-navigation
45289         * lisp/emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
45290         Simplify a one-argument call to "or" and use buffer-narrowed-p instead
45291         of checking that condition by hand.
45293 2019-02-19  Michael Albinus  <michael.albinus@gmx.de>
45295         Implement access-file in Tramp
45297         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
45298         * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
45299         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
45300         * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
45301         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
45302         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
45303         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
45304         Add `access-file'.
45306         * lisp/net/tramp-archive.el (tramp-archive-handle-access-file):
45307         * lisp/net/tramp.el (tramp-handle-access-file): New defun.
45308         (tramp-condition-case-unless-debug): Add declaration.
45309         (tramp-handle-insert-directory):
45310         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
45311         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
45312         Check, whether directory is accessible.
45314         * test/lisp/net/tramp-archive-tests.el
45315         (tramp-archive-test17-insert-directory)
45316         (tramp-archive-test18-file-attributes):
45317         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory)
45318         (tramp-test18-file-attributes): Test error cases.
45320 2019-02-19  João Távora  <joaotavora@gmail.com>
45322         cycle-sort-function prevails in completion-all-sorted-completions
45324         * lisp/minibuffer.el (completion-all-sorted-completions): If
45325         completion table has cycle-sort-function, that prevails over other
45326         sorting strategies.
45328 2019-02-19  João Távora  <joaotavora@gmail.com>
45330         switch-to-buffer's completion table uses its own sorting
45332         * src/minibuf.c (Finternal_complete_buffer): Add
45333         Qcycle_sort_function to completion table's metadata.
45334         (syms_of_minibuf): New symbol Qcycle_sort_function.
45336 2019-02-18  Michael R. Mauger  <michael@mauger.com>
45338         Merge branch 'wallet'
45340         * lisp/progmodes/sql.el: Added password wallet using
45341         `auth-source' package.
45342         (sql-auth-source-search-wallet): New function.
45343         (sql-password-wallet): New variable.
45344         (sql-password-search-wallet-function): New variable.
45345         (sql-get-login): Handle password wallet search.
45346         (sql-product-interactive): Handle password function.
45347         * test/lisp/progmodes/sql-tests.el: Test wallet changes.
45348         (sql-test-login-params): New test variable.
45349         (with-sql-test-connect-harness): New macro to wrap test
45350         configuration around calls to `sql-connect'.
45351         (sql-test-connect, sql-test-connect-password-func)
45352         (sql-test-connect-wallet-server-database)
45353         (sql-test-connect-wallet-database)
45354         (sql-test-connect-wallet-server): New ERT tests.
45355         * etc/NEWS: Updated SQL Mode descriptions.
45357 2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
45359         * lisp/mh-e/mh-acros.el (mh-defstruct): Minor simplification
45361         * lisp/erc/erc.el (erc-version-string): Remove, unused
45363 2019-02-18  Michael R. Mauger  <michael@mauger.com>
45365         * lisp/progmodes/sql.el defensive programming
45367         (sql-statement-regexp): if 'ansi' dialect is not defined, use "select"
45368         (sql-interactive-mode): establish process sentinel iff there is a
45369         process. Default values for :prompt-regexp and :prompt-length.
45370         (sql-product-interactive): only check process status iff there is a
45371         process.
45373 2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
45375         * lisp/elec-pair.el: Do modify+undo more carefully
45377         (electric-pair-inhibit-if-helps-balance): Use the undo system
45378         instead of undoing by hand.
45380 2019-02-18  Paul Eggert  <eggert@cs.ucla.edu>
45382         Speed up cl-list-length
45384         * lisp/emacs-lisp/cl-extra.el (cl-list-length): Use ‘length’
45385         to do the real work; this is simpler and uses a better algorithm.
45387 2019-02-18  Paul Eggert  <eggert@cs.ucla.edu>
45389         Minor profiler improvements
45391         * src/profiler.c (evict_lower_half, record_backtrace)
45392         (setup_cpu_timer, cmpfn_profiler, hashfn_profiler):
45393         Assume C99.  Use bool for boolean.
45394         (timer_getoverrun): Remove; simplify use to not need it.
45395         (Fprofiler_cpu_start): Any negative return from setup_cpu_timer fails.
45396         (Fprofiler_cpu_stop): Simplify initialization.
45398 2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
45400         * lisp/emacs-lisp/cl-lib.el (cl-endp): Move to cl-seq.el
45402         Use 'cl-check-type'.
45404 2019-02-18  Ken Brown  <kbrown@cornell.edu>
45406         Use 'timer_getoverrun' on Cygwin when possible
45408         * configure.ac: Add a check for the 'timer_getoverrun' function.
45410         * src/profiler.c [CYGWIN] : Define 'timer_getoverrun' as a
45411         macro only on versions of Cygwin where it is not already
45412         defined as a function.
45414 2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
45416         * lisp/vc/smerge-mode.el (smerge-change-buffer-confirm): New var
45418         (smerge-vc-next-conflict): Obey it.  Save buffer before going to
45419         the next.  Don't emit message when vc-find-conflicted-file can't find
45420         other conflicted file.
45422         * lisp/vc/vc-hooks.el: Use lexical-binding.
45424         * lisp/vc/vc.el: Remove redundant :groups.
45425         (vc-find-conflicted-file): Autoload.
45427 2019-02-18  Konstantin Kharlamov  <Hi-Angel@yandex.ru>  (tiny change)
45429         * lisp/vc/smerge-mode.el (smerge-vc-next-conflict): New command
45431 2019-02-18  Michael Albinus  <michael.albinus@gmx.de>
45433         Increase timeout on emba for Tramp
45435         * test/lisp/net/tramp-tests.el
45436         (tramp--test-shell-command-to-string-asynchronously):
45437         Increase timeout on emba.
45439 2019-02-18  Paul Eggert  <eggert@cs.ucla.edu>
45441         * src/fns.c: Fix comment.
45443 2019-02-17  Paul Eggert  <eggert@cs.ucla.edu>
45445         emacs-init-time outputs more digits now
45447         * lisp/time.el (emacs-init-time): Output more digits;
45448         formerly this was always outputting "0.0 seconds" for me
45449         because the number of seconds was less than 0.1.
45451 2019-02-17  Paul Eggert  <eggert@cs.ucla.edu>
45453         * lisp/emacs-lisp/cl-lib.el (cl-endp): Remove stray 'x.
45455 2019-02-17  Juri Linkov  <juri@linkov.net>
45457         * lisp/tar-mode.el (tar--try-jka-compr): Remove.  (Bug#34251)
45459         (tar-extract): Call archive-try-jka-compr instead of tar--try-jka-compr.
45461         * lisp/arc-mode.el (archive-try-jka-compr): Call set-buffer-multibyte
45462         after erase-buffer.
45464 2019-02-17  Alan Mackenzie  <acm@muc.de>
45466         Fontify C function identifiers in parentheses correctly (e.g. in lisp.h)
45468         Fix handling of CC Mode's syntactic WS cache.  Make noise-macro option
45469         variables buffer local.
45471         * lisp/progmodes/cc-engine.el (c-put-is-sws, c-put-in-sws, c-remove-is-sws)
45472         (c-remove-in-sws c-remove-is-and-in-sws): Add edebug specs.
45473         (c-invalidate-sws-region-before): Add a `beg' parameter.  Handle noise
45474         macros like other literals.
45475         (c-invalidate-sws-region-after-del): Move the adjustment of (cdr
45476         c-sws-lit-limits) due to buffer change to c-invalidate-sws-region-after.
45477         (c-invalidate-sws-region-after-ins): Move (goto-char end) to the correct
45478         place.
45479         (c-invalidate-sws-region-after): Adjust (cdr c-sws-lit-limits) due to buffer
45480         change.  Handle noise macros.
45481         (c-backward-sws): Set simple-ws-beg appropriately when the start point is in
45482         the middle of a noise macro.
45483         (c-forward-decl-or-cast-1): Recognize a function identifier being declared in
45484         parentheses.
45486         * lisp/progmodes/cc-mode.el (c-before-change): Supply a `beg' argument to
45487         c-invalidate-sws-region-before.
45489         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
45490         (c-noise-macro-name-re, c-noise-macro-names, c-noise-macro-with-parens-names):
45491         Make these buffer local variables.
45493 2019-02-17  Alan Mackenzie  <acm@muc.de>
45495         * Put INLINE and ATTRIBUTE_NO_SANITIZE_UNDEFINED into c-noise-macro-names
45497         * .dir-locals.el (entry for c-mode): Put the two strings into
45498         c-noise-macro-names.
45500 2019-02-16  Paul Eggert  <eggert@cs.ucla.edu>
45502         * src/lread.c (readevalloop): Simplify via suffix_p.
45504 2019-02-16  Eli Zaretskii  <eliz@gnu.org>
45506         * lisp/startup.el (load--user-init-file): Support early-init.elc as well.
45508 2019-02-16  Stefan Monnier  <monnier@iro.umontreal.ca>
45510         * lisp/startup.el: Rename load-user-init-file
45512         Remove redundant :groups.
45513         (startup--load-user-init-file): Rename from load-user-init-file.
45515 2019-02-16  Mattias Engdegård  <mattiase@acm.org>
45517         Prevent over-eager rx character range condensation
45519         `rx' incorrectly considers character ranges between ASCII and raw bytes to
45520         cover all codes in-between, which includes all non-ASCII Unicode chars.
45521         This causes (any "\000-\377" ?Å) to be simplified to (any "\000-\377"),
45522         which is not at all the same thing: [\000-\377] really means
45523         [\000-\177\200-\377] (Bug#34492).
45525         * lisp/emacs-lisp/rx.el (rx-any-condense-range): Split ranges going
45526         from ASCII to raw bytes.
45527         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any-raw-byte): Add test case.
45528         * etc/NEWS: Mention the overall change (Bug#33205).
45530 2019-02-16  Paul Eggert  <eggert@cs.ucla.edu>
45532         Port tramp-adb to various 'touch' platforms
45534         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
45535         Try nanoseconds first, then plain seconds, then touch -t.
45537 2019-02-15  Eli Zaretskii  <eliz@gnu.org>
45539         Fix 'early-init-file' value when file is missing
45541         * lisp/startup.el (command-line): Pass 'early-init.el', with
45542         an explicit .el extension, to load-user-init-file.
45543         Reported by Radon Rosborough <radon.neon@gmail.com> in
45544         http://lists.gnu.org/archive/html/emacs-devel/2019-01/msg00314.html.
45546 2019-02-15  Stefan Monnier  <monnier@iro.umontreal.ca>
45548         * lisp/progmodes/cc-engine.el: Remove unneeded require of 'cl'
45550         Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk
45552         * src/lread.c (readevalloop): Use filename to decide macroexpansion
45554 2019-02-15  Glenn Morris  <rgm@gnu.org>
45556         * test/lisp/textmodes/conf-mode-tests.el (conf-test-align-assignments):
45557         Fix whitespace.
45559 2019-02-15  Glenn Morris  <rgm@gnu.org>
45561         Merge from origin/emacs-26
45563         f721084 (origin/emacs-26) Avoid errors in erc-dcc.el when erc-dcc-ver...
45564         3cba92d Fix faces in compilation messages
45566 2019-02-15  Glenn Morris  <rgm@gnu.org>
45568         Merge from origin/emacs-26
45570         25d9fe2 Work for empty MIME attachments (related to bug#34387)
45572 2019-02-15  Glenn Morris  <rgm@gnu.org>
45574         Merge from origin/emacs-26
45576         3f4b8e9 * src/data.c (Fmake_local_variable): Fix bug#34318
45577         b384996 Minor fixes in ELisp manual wrt syntax-table properties
45578         71fc6d2 * admin/notes/emba: New file.
45579         3aaa2d2 Fix Hunspell invocation for discovering its dictionaries
45581         # Conflicts:
45582         #       test/src/data-tests.el
45584 2019-02-15  Stefan Monnier  <monnier@iro.umontreal.ca>
45586         * lisp/progmodes/compile.el: Remove redundant :groups
45588         (compilation-shell-minor-mode, compilation-minor-mode): Use :lighter
45589         rather than the old positional args.
45590         (compilation-next-error): Make "No error here" into a user-error.
45592 2019-02-15  Eli Zaretskii  <eliz@gnu.org>
45594         Make ls-lisp.el behave like Posix hosts when directory doesn't exist
45596         * lisp/ls-lisp.el (ls-lisp-insert-directory): For a directory
45597         that cannot be accessed, signal an error, like insert-directory
45598         does on Posix systems.  This causes files-tests.el to pass on
45599         MS-Windows.
45601 2019-02-15  Eli Zaretskii  <eliz@gnu.org>
45603         Support ~USER for some names on MS-Windows
45605         * src/w32.c (getpwnam): Support usernames provided through
45606         LOGNAME or USERNAME environment variables, to mimic what
45607         editfns.c:init_editfns does.
45609 2019-02-15  Alex Branham  <alex.branham@gmail.com>
45611         Add basic conf-mode tests
45613         * test/lisp/textmodes/conf-mode-tests.el: New file with tests for
45614         conf-mode.  Mostly taken from conf-mode docstrings.  (Bug#34419)
45616 2019-02-15  Alex Branham  <alex.branham@gmail.com>
45618         Use lexical binding for conf-mode
45620         * lisp/textmodes/conf-mode.el: Use lexical binding.
45621         (conf-align-assignments, conf-quote-normal, conf-mode-initialize):
45622         Doc fix.  (Bug#34419)
45624 2019-02-15  Eli Zaretskii  <eliz@gnu.org>
45626         Add documentation for last change in eww.el
45628         * doc/misc/eww.texi (Basics): Document the prefix arg effect
45629         on "M-x eww".  (Bug#34374)
45631         * etc/NEWS: Mention the change in behavior of 'eww'.
45633 2019-02-15  İ. Göktuğ Kayaalp  <self@gkayaalp.com>
45635         * lisp/net/eww.el (eww): With prefix arg, open url in new buffer.
45637         Bug#34374
45639 2019-02-14  João Távora  <joaotavora@gmail.com>
45641         Change scoring strategy for 'flex' completion style
45643         The previous strategy had problems comparing scores of matches to
45644         strings of different lengths.  This one seems slightly more sensible,
45645         and uses a new constant `flex-score-match-tightness' instead of the
45646         more abstract `flex-score-falloff'.
45648         It's not completely without problems, and I think it shouldn't count
45649         "holes" at the front and at the back, but that needs a different
45650         "pattern-to-regexp" conversion in completion-pcm--hilit-commonality.
45652         (defun test ()
45653           (mapcar (lambda (a)
45654                     (cons (substring-no-properties a)
45655                           (get-text-property 0 'completion-score a)))
45656                   (sort (completion-pcm--hilit-commonality
45657                           '(prefix "f" star "o" star "o" point)
45658                           '("foo"
45659                             "barfoobaz"
45660                             "foobarbaz"
45661                             "barbazfoo"
45662                             "fabrobazo"
45663                             "foot"
45664                             "foto"
45665                             "fotttttttttttttttttttttttto"))
45666               (lambda (a b)
45667                 (> (get-text-property 0 'completion-score a)
45668                    (get-text-property 0 'completion-score b))))))
45670         (let ((flex-score-match-tightness 100)) (test))
45671         => (("foo" . 1.0)
45672             ("foot" . 0.375)
45673             ("foto" . 0.375)
45674             ("foobarbaz" . 0.16260162601626016) ;; one hole
45675             ("barbazfoo" . 0.16260162601626016) ;; one hole
45676             ("barfoobaz" . 0.10964912280701755) ;; two holes
45677             ("fabrobazo" . 0.10964912280701755) ;; two holes
45678             ("fotttttttttttttttttttttttto" . 0.04982561036372696))
45680         (let ((flex-score-match-tightness 0.1)) (test))
45681         => (("foo" . 1.0)
45682             ("foot" . 0.375)
45683             ("foto" . 0.375)
45684             ("barfoobaz" . 0.007751937984496124) ;; two holes
45685             ("fabrobazo" . 0.007751937984496124) ;; two holes
45686             ("foobarbaz" . 0.00641025641025641)  ;; one hole
45687             ("barbazfoo" . 0.00641025641025641)  ;; one hole
45688             ("fotttttttttttttttttttttttto" . 0.0004789272030651341))
45690         * lisp/minibuffer.el (flex-score-falloff): Rename to
45691         flex-score-match-tightness.
45692         (completion-pcm--hilit-commonality): Update function.
45694 2019-02-14  Mattias Engdegård  <mattiase@acm.org>
45696         Add categories L, R, SPC and . to `rx' doc string
45698         * lisp/emacs-lisp/rx.el (rx): Add new categories to doc string.
45700 2019-02-14  Mattias Engdegård  <mattiase@acm.org>
45702         Use lexical-binding in rx.el
45704         * lisp/emacs-lisp/rx.el: Use lexical-binding.
45705         (rx-form): Use `let' to bind the dynamic variable `rx-parent' instead
45706         of binding it as an argument.
45708 2019-02-14  João Távora  <joaotavora@gmail.com>
45710         * lisp/minibuffer.el (completion-styles-alist): Tweak flex's docstring
45712 2019-02-14  Michael Albinus  <michael.albinus@gmx.de>
45714         Adapt tramp-adb-handle-set-file-times
45716         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
45717         Use 'touch -d', 'touch -t' does not seem to work.  Use Universal Time.
45719 2019-02-13  Dmitry Gutov  <dgutov@yandex.ru>
45721         Rename project-query-replace to project-query-replace-regexp
45723         * lisp/progmodes/project.el (project-query-replace): Rename to
45724         project-query-replace-regexp.
45726 2019-02-13  Gregor Zattler  <telegraph@gmx.net>
45728         * doc/misc/eshell.texi (Built-ins): Fix alias description
45730         Dear eamcs developers, eshells current documentation first states
45731         that alias definitions are not saved to an alias file, later that
45732         they are saved to an alias file.  I tested it and the latter is
45733         correct.
45735         Please find attached a patch which fixes this.
45737         Thanks for working on emacs which is really great, Gregor
45739         >From 1fe51cc769ab7a30d0896fb3d6105c0561243fa7 Mon Sep 17 00:00:00 2001
45740         From: Gregor Zattler <telegraph@gmx.net>
45741         Date: Wed, 13 Feb 2019 20:19:38 +0100
45742         Subject: * doc/misc/eshell.texi (Built-ins): Fix alias description.
45744         Bring description of built-in 'alias' in line with (info "(eshell) Aliases"),
45745         which describes the actual behaviur.
45747 2019-02-13  Paul Eggert  <eggert@cs.ucla.edu>
45749         Add missing dependency to ucs-normalize.el
45751         * lisp/international/ucs-normalize.el:
45752         Require regexp-opt when compiling.  Problem reported by hx in:
45753         https://lists.gnu.org/r/emacs-devel/2019-02/msg00334.html
45755 2019-02-13  João Távora  <joaotavora@gmail.com>
45757         Score flex-style completions according to match tightness
45759         The new completion style needs to score completion matches so that we
45760         can use it later on when sorting the completions.  This is because
45761         "foo" can flex-match "foobar", "frodo" and "barfromsober" but we
45762         probably want "foobar" to appear at the top of the completion list.
45764         This change introduces a scoring formula and adds scoring hints in the
45765         candidate string's `completion-score' property.
45767         * lisp/minibuffer.el (completion-pcm--hilit-commonality): Propertize
45768         completion with 'completion-score
45769         (flex-score-falloff): New variable.
45771 2019-02-13  João Távora  <joaotavora@gmail.com>
45773         Add a new 'flex' completion style
45775         * lisp/minibuffer.el (completion-styles-alist): Add flex.
45776         (completion-substring--all-completions): Accept
45777         transform-pattern-fn arg.
45778         (completion-flex-all-completions, completion-flex-try-completion)
45779         (completion-flex--make-flex-pattern): New functions.
45781 2019-02-13  Eli Zaretskii  <eliz@gnu.org>
45783         Avoid crashes upon C-g in nested invocations of 'read_char'
45785         * src/keyboard.c (read_char, read_event_from_main_queue):
45786         Ensure the global value of getcjmp is restored when the stack
45787         is unwound by the likes of 'throw', by calling
45788         record_unwind_protect_ptr instead of restoring the value
45789         manually.  (Bug#34394)
45790         (restore_getcjmp): Argument is now 'void *', to match the
45791         signature of record_unwind_protect_ptr.
45793 2019-02-13  Paul Eggert  <eggert@cs.ucla.edu>
45795         Don’t assume CURRENT_TIME_LIST
45797         * lisp/progmodes/cc-cmds.el (c-progress-init)
45798         (c-progress-update):
45799         * lisp/progmodes/cperl-mode.el (cperl-time-fontification):
45800         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
45801         (vhdl-fix-case-region-1):
45802         Don’t assume (current-time) returns a list.
45803         Fix unlikely bug if we’re called 65536 seconds apart.
45805 2019-02-13  Paul Eggert  <eggert@cs.ucla.edu>
45807         Don’t assume CURRENT_TIME_LIST
45809         * lisp/url/url-util.el (url-lazy-message):
45810         Don’t assume (current-time) returns a list.
45811         Fix unlikely bug if we’re called 65536 seconds apart.
45813 2019-02-12  Paul Eggert  <eggert@cs.ucla.edu>
45815         Simplify nnspool-request-newgroups arithmetic
45817         * lisp/gnus/nnspool.el (nnspool-request-newgroups):
45818         Simplify by compute time stamps as integers, not floats,
45819         since integers don’t overflow any more.
45821 2019-02-12  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
45822             Felipe Ochoa  <felipe@fov.space>
45824         Indent arrows’ expression bodies like function bodies (Bug#25904)
45826         * lisp/progmodes/js.el (js--continued-expression-p): Don’t confuse
45827         ‘=>’ for a ‘>’ operator.
45828         (js--line-terminating-arrow-re): New variable.
45829         (js--looking-at-broken-arrow-function-p): New function.
45830         (js--proper-indentation): Don’t align arrow functions’ expression
45831         bodies starting on new lines like list continuations, instead align
45832         them like function bodies (js-indent-align-list-continuation need not
45833         be nil).
45835         * test/manual/indent/js.js: Add test for Bug#25904.
45837 2019-02-12  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
45839         js-indent-align-list-continuation: Make variable safe
45841         * lisp/progmodes/js.el (js-indent-align-list-continuation): Indicate
45842         variable is safe as a file-local variable.  This fixes the
45843         js-indent-align-list-continuation-nil test when run with make.
45845 2019-02-12  Paul Eggert  <eggert@cs.ucla.edu>
45847         Make xterm-mouse-truncate-wrap obsolete
45849         * lisp/xt-mouse.el (xterm-mouse-truncate-wrap): Now obsolete,
45850         since we no longer need to worry about integer overflow.
45851         (xterm-mouse-event): Use plain ‘truncate’ instead.
45853 2019-02-12  Glenn Morris  <rgm@gnu.org>
45855         * admin/notes/hydra: Small updates.
45857 2019-02-11  Mattias Engdegård  <mattiase@acm.org>
45859         Add missing categories L, R, . and SPC to rx
45861         * lisp/emacs-lisp/rx.el (rx-categories):
45862         Add missing categories L, R, . and SPC.  (Bug#34436)
45864 2019-02-11  Paul Eggert  <eggert@cs.ucla.edu>
45866         Simplify url-digest-auth-make-cnonce
45868         * lisp/url/url-auth.el (url-digest-auth-make-cnonce):
45869         Simplify by using encode-time instead of round-tripping
45870         through a format-time-string and ‘read’.
45872 2019-02-10  Paul Eggert  <eggert@cs.ucla.edu>
45874         Don’t assume CURRENT_TIME_LIST
45876         Use timestamp accessors instead of delving into a timestamp
45877         format that is planned to change in a future version.
45878         * lisp/find-lisp.el (find-lisp-format-time):
45879         * lisp/gnus/gnus-group.el (gnus-group-set-timestamp):
45880         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-show-org-agenda):
45881         Use encode-time instead of delving into timestamp format.
45882         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
45883         Use float-time instead of delving into timestamp format.
45884         * lisp/gnus/nnmaildir.el (nnmaildir-request-accept-article):
45885         Use format-time-string instead of delving into timestamp format.
45886         * lisp/gnus/nnmaildir.el (nnmaildir-request-expire-articles):
45887         Use time-less-p instead of delving into timestamp format.
45888         * lisp/ido.el (ido-wash-history, ido-file-name-all-completions):
45889         Use time-equal-p instead of delving into timestamp format.
45890         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
45891         Use format-time-string to generate POSIX ‘test -t’ format instead
45892         of timestamp-format-dependent code along with shell arithmetic
45893         that can’t possibly do the right thing on a POSIX platform.
45895 2019-02-10  Paul Eggert  <eggert@cs.ucla.edu>
45897         Simplify use of encode-time
45899         Most uses of (apply #'encode-time foo) can now be replaced
45900         with (encode-time foo).  Make similar simplifications.
45901         * lisp/calendar/time-date.el (date-to-time):
45902         * lisp/calendar/timeclock.el (timeclock-when-to-leave)
45903         (timeclock-day-base, timeclock-generate-report):
45904         * lisp/emacs-lisp/timer.el (timer-set-idle-time):
45905         * lisp/eshell/esh-util.el (eshell-parse-ange-ls):
45906         * lisp/gnus/gnus-art.el (article-make-date-line):
45907         * lisp/gnus/gnus-delay.el (gnus-delay-article)
45908         (gnus-delay-send-queue):
45909         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event--decode-datefield):
45910         * lisp/gnus/gnus-logic.el (gnus-advanced-date):
45911         * lisp/gnus/message.el (message-make-expires-date):
45912         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
45913         * lisp/mail/ietf-drums.el (ietf-drums-parse-date):
45914         * lisp/net/tramp-adb.el (tramp-adb-ls-output-time-less-p):
45915         * lisp/org/org-agenda.el (org-agenda-get-timestamps)
45916         (org-agenda-get-progress, org-agenda-show-clocking-issues):
45917         * lisp/org/org-capture.el (org-capture-set-target-location):
45918         * lisp/org/org-clock.el (org-clock-get-sum-start, org-clock-sum)
45919         (org-clocktable-steps):
45920         * lisp/org/org-colview.el (org-colview-construct-allowed-dates)
45921         * lisp/org/org-macro.el (org-macro--vc-modified-time):
45922         * lisp/org/org-table.el (org-table-eval-formula):
45923         * lisp/org/org.el (org-current-time, org-store-link)
45924         (org-time-today, org-read-date, org-read-date-display)
45925         (org-display-custom-time, org-time-string-to-time)
45926         (org-timestamp-change, org-timestamp--to-internal-time):
45927         * lisp/url/url-dav.el (url-dav-process-date-property):
45928         * lisp/vc/vc-cvs.el (vc-cvs-annotate-current-time)
45929         (vc-cvs-parse-entry):
45930         Simplify use of encode-time.
45931         * lisp/org/org-clock.el (org-clock-get-clocked-time):
45932         (org-clock-resolve, org-resolve-clocks, org_clock_out)
45933         (org-clock-update-time-maybe):
45934         Avoid some rounding problems with encode-time and float-time.
45935         * lisp/org/org-clock.el (org-clock-in, org-clock-update-time-maybe):
45936         * lisp/org/org-colview.el (org-columns--age-to-minutes):
45937         * lisp/org/org.el (org-get-scheduled-time, org-get-deadline-time)
45938         (org-add-planning-info, org-2ft, org-time-string-to-absolute)
45939         (org-closest-date):
45940         Use org-time-string-to-time instead of doing it by hand with
45941         encode-time.
45942         * lisp/org/org.el (org-current-time): Simplify rounding.
45943         (org-read-date): Avoid extra trip through encode-time.
45945 2019-02-10  Paul Eggert  <eggert@cs.ucla.edu>
45947         Fix doc string treatment of integer overflow
45949         * lisp/calendar/cal-dst.el (calendar-dst-find-startend):
45950         Fix doc string.
45952 2019-02-10  Paul Eggert  <eggert@cs.ucla.edu>
45954         Prefer encode-time to its alias
45956         * lisp/calendar/icalendar.el, lisp/calendar/timeclock.el:
45957         * lisp/emacs-lisp/timer.el, lisp/gnus/gnus-delay.el:
45958         * lisp/gnus/gnus-sum.el, lisp/gnus/nndiary.el:
45959         * lisp/gnus/nnrss.el, lisp/net/newst-backend.el:
45960         * lisp/net/rcirc.el, lisp/obsolete/xesam.el:
45961         * lisp/org/org-agenda.el, lisp/org/org-clock.el:
45962         * lisp/org/org-element.el, lisp/org/org-timer.el:
45963         * lisp/org/org.el, lisp/progmodes/flymake.el:
45964         * lisp/url/url-cache.el, lisp/url/url-cookie.el:
45965         Use encode-time instead of its alias seconds-to-time.
45967 2019-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>
45969         * test/lisp/emacs-lisp/package-tests.el: Allow extra extras
45971         (package-test--compatible-p): New function.
45972         (package-test-desc-from-buffer, package-test-install-single): Use it.
45973         (package-x-test-upload-buffer, package-x-test-upload-new-version):
45974         Don't burp in presence of extra extras.
45976 2019-02-10  Mattias Engdegård  <mattiase@acm.org>
45978         Document that [:cntrl:] does not match DEL (Bug#34391)
45980         * doc/lispref/searching.texi (Character Classes):
45981         * lisp/emacs-lisp/rx.el (rx):
45982         Document that [:cntrl:] excludes DEL.
45983         * test/src/regex-emacs-tests.el (regex-tests-PTESTS-whitelist):
45984         Swap misplaced comments and fix wrong code for DEL.
45986 2019-02-10  João Távora  <joaotavora@gmail.com>
45988         Properly remove stale Flymake diagnostics on :region reports
45990         Among other bugs fixed, modifying a list structure while iterating it
45991         is a no-no.  This would again cause duplicate diagnostics.  See
45992         https://github.com/joaotavora/eglot/issues/223 for an example.
45994         * lisp/progmodes/flymake.el (Version): Bump to 1.0.5
45995         (flymake--handle-report): Use cl-loop.
45997 2019-02-10  Eli Zaretskii  <eliz@gnu.org>
45999         Unbreak the Cygw32 build
46001         * src/emacs.c (main) [HAVE_NTGUI]: Remove code that is only
46002         for WINDOWSNT or condition it on WINDOWSNT.  (Bug#34409)
46004 2019-02-10  João Távora  <joaotavora@gmail.com>
46006         Cleanup stale diagnostics on Flymake restart
46008         Not doing so would cause duplicate diagnostics.  See
46009         https://github.com/joaotavora/eglot/issues/223 for an example.
46011         * lisp/progmodes/flymake.el (Version): 1.0.4
46012         (flymake-mode): Cleanup overlays before starting Flymake.
46014 2019-02-09  Paul Eggert  <eggert@cs.ucla.edu>
46016         * lisp/ecomplete.el (ecomplete-add-item): Simplify.
46018 2019-02-09  Paul Eggert  <eggert@cs.ucla.edu>
46020         Don’t assume CURRENT_TIME_LIST
46022         * lisp/gnus/gnus-delay.el (gnus-delay-send-queue):
46023         * lisp/gnus/nnmail.el (nnmail-activate):
46024         * lisp/mh-e/mh-alias.el (mh-alias-tstamp):
46025         * lisp/net/newst-backend.el (newsticker--cache-item-compare-by-time):
46026         Use time-less-p instead of assuming timestamp format.
46028 2019-02-08  Alex Branham  <alex.branham@gmail.com>
46030         Fix byte compile warnings in checkdoc.el
46032         * lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine): Fix
46033           byte compile warnings by requiring lisp-mnt top-level, remove XEmacs
46034           compatibility code.
46036         Bug#34290
46038 2019-02-08  Tassilo Horn  <tsdh@gnu.org>
46040         Impl. json-pretty-print with replace-region-contents + minimization
46042         * lisp/json.el (json-pretty-print): Use the new
46043           replace-region-contents.  Add prefix arg for minimzation.
46044         (json-pretty-print-buffer): Add prefix arg for minimzation.
46045         (json-pretty-print-buffer-ordered): Add prefix arg for minimzation.
46046         (json-pretty-print-ordered): Add prefix arg for minimzation.
46048 2019-02-08  Tassilo Horn  <tsdh@gnu.org>
46050         Add new function replace-buffer-contents
46052         * src/editfns.c (Freplace_buffer_contents): Use lower value of
46053           too_expensive and enable heuristic.
46054         * lisp/subr.el (replace-region-contents): New convenient wrapper
46055           function around replace-buffer-contents.
46057 2019-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>
46059         * lisp/emacs-lisp/package.el: Improve generated foo-pkg.el
46061         (package-generate-description-file): Make first line more informative.
46062         (package-buffer-info): Include keywords, to more closely match
46063         elpa.git's archive--metadata.
46065 2019-02-08  Glenn Morris  <rgm@gnu.org>
46067         Merge from origin/emacs-26
46069         0cd7b52 (origin/emacs-26) Minor improvements to do strings in callproc.c
46070         b8c7017 Improve documentation of 'date-to-time' and 'parse-time-string'
46071         46095a7 Fix downloading of URLs that end in a slash
46072         3b60a0a * doc/misc/eww.texi (Basics): Fix eww keybindings.  (Bug#34291)
46073         8e22025 Fix process-thread docstring
46074         459b669 Fix failures of vc-find-revision with non-ASCII file names
46075         e9ff190 * doc/lispref/tips.texi (Documentation Tips): Fix quotes.  (B...
46076         3e49a08 ; * src/coding.h (struct coding_system): Fix a typo in a comm...
46077         b657286 Add documentation for tabulated-list functions in the elisp m...
46078         6e0f67b Fix URL in ucs-normalize.el
46079         ce3ae1f * etc/PROBLEMS: Amend entry for profiler bug #34235 to mentio...
46081         # Conflicts:
46082         #       doc/lispref/os.texi
46084 2019-02-08  Glenn Morris  <rgm@gnu.org>
46086         Merge from origin/emacs-26
46088         9d87ba1 * etc/PROBLEMS: Mention profiler-report bug (Bug#34235).
46090 2019-02-08  Robert Pluim  <rpluim@gmail.com>
46092         Unify three font info structures
46094         * src/ftfont.h (struct font_info): New type, unifies similar types
46095         from ftcrfont.c, ftfont.c and xftfont.c
46096         * src/xftfont.c (struct xftfont_info): Remove, replace with struct
46097         font_info.  Adjust all uses.
46098         * src/ftcrfont.c (struct ftcrfont_info): Likewise.
46099         * src/ftfont.c (struct ftfont_info): Likewise.
46101         (cherry picked from commit 9e0d69b5a17a0fa3b0dd099a51584a85f3ddb5bf)
46103 2019-02-08  Robert Pluim  <rpluim@gmail.com>
46105         Unify three font info structures
46107         * src/ftfont.h (struct font_info): New type, unifies similar types
46108         from ftcrfont.c, ftfont.c and xftfont.c
46109         * src/xftfont.c (struct xftfont_info): Remove, replace with struct
46110         font_info.  Adjust all uses.
46111         * src/ftcrfont.c (struct ftcrfont_info): Likewise.
46112         * src/ftfont.c (struct ftfont_info): Likewise.
46114 2019-02-07  Eli Zaretskii  <eliz@gnu.org>
46116         Minor fixes for last change
46118         * etc/NEWS: Announce the change in EWW download behavior.
46120         * lisp/net/eww.el (eww-download): Doc fix.  (Bug#34291)
46122 2019-02-07  Nick Drozd  <nicholasdrozd@gmail.com>
46124         Download of URL in EWW falls back on current URL
46126         * lisp/net/eww.el (eww-download): If there's no URL at point,
46127         download the current URL instead.  Previous behavior was to
46128         signal an error if there was no URL at point.  (Bug#34291)
46129         * doc/misc/eww.texi (Basics): Update documentation.
46131 2019-02-07  Eli Zaretskii  <eliz@gnu.org>
46133         Minor fix for unexec builds.
46135         * src/emacs.c (main): Fix assertions and logic for pdump
46136         loading in builds that can both unexec and pdump.
46138 2019-02-07  Eli Zaretskii  <eliz@gnu.org>
46140         Avoid segfaults on MS-Windows in enexec'ed Emacs
46142         * src/emacs.c (main) [WINDOWSNT]: Fix logic of using dynamic
46143         heap in unexec case.  (Bug#34277)
46145 2019-02-07  Dmitry Gutov  <dgutov@yandex.ru>
46147         Avoid unnecessary consing in project--files-in-directory
46149         * lisp/progmodes/project.el (project--remote-file-names): New function.
46150         (project--files-in-directory): Use it.
46152 2019-02-07  Ian Dunn  <dunni@gnu.org>
46154         Add vc-hg-revert-switches
46156         * lisp/vc/vc-hg.el (vc-hg-revert-switches): New option.
46157         (vc-hg-revert): Use it.
46159 2019-02-07  Dmitry Gutov  <dgutov@yandex.ru>
46161         Rename multifile.el to fileloop.el
46163         * lisp/multifile.el: Rename to fileloop.el as discussed in
46164         https://lists.gnu.org/archive/html/emacs-devel/2018-12/msg00475.html.
46165         Update symbol prefixes and all callers
46167 2019-02-07  Aurelien Aptel  <aaptel@suse.com>
46169         Revert "Fix typo in add-hook doc string"
46171         This reverts commit 7fd2ad755e7fa599697648ac4c971e834de75bf3.
46173 2019-02-06  Juri Linkov  <juri@linkov.net>
46174             João Távora  <joaotavora@gmail.com>
46176         Make window choice in xref commands configurable
46178         Previously, it wasn't easy to tell xref.el commands like
46179         xref-find-definitions or xref-find-definitions-other-window how to
46180         choose a window for the *xref* buffer or how to find windows for
46181         displaying the results after choosing a candidate.  This patch makes
46182         that task easier, but keeps the current behaviour intact.
46185         * lisp/progmodes/xref.el (xref--show-pos-in-buf): Simplify.
46187 2019-02-06  Robert Pluim  <rpluim@gmail.com>
46189         Add dwim function for inserting @ref variants
46191         * lisp/textmodes/texinfo.el (texinfo-insert-dwim-@ref): New function.
46192         Insert @ref variant based on surrounding context.
46193         (texinfo-mode-map): Add binding for texinfo-insert-dwim-@ref.
46195         * etc/NEWS: Describe new texinfo dwim reference functionality.
46197 2019-02-06  Aurelien Aptel  <aaptel@suse.com>
46199         Fix typo in add-hook doc string
46201         * lisp/subr.el (add-hook): fix typo in doc string.
46203 2019-02-06  Eli Zaretskii  <eliz@gnu.org>
46205         Unbreak interactive invocation of temacs on MS-Windows
46207         * src/emacs.c (main) [WINDOWSNT]: Allow to invoke temacs
46208         interactively without the --temacs= option.
46210 2019-02-06  Eli Zaretskii  <eliz@gnu.org>
46212         Prevent segfaults when running inside docker
46214         * src/coding.c (syms_of_coding): New symbol Qus_ascii.
46215         (reset_coding_after_pdumper_load): Call
46216         set-safe-terminal-system-internal to set up
46217         safe_terminal_coding after restoring from pdump file.
46218         Reported by Philippe Vaucher <philippe.vaucher@gmail.com>.
46220 2019-02-06  Michael Albinus  <michael.albinus@gmx.de>
46222         Fix Bug#34196
46224         * lisp/autorevert.el (auto-revert-buffers): Handle buffers with a
46225         remote default-directory only, when they are connected.  (Bug#34196)
46227         * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
46228         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
46229         Set "connected" property.
46231         * lisp/net/tramp.el (tramp-process-actions): Revert change from
46232         2019-02-04.  Bug#34196 will be solved in autorevert.el.
46234 2019-02-05  Robert Pluim  <rpluim@gmail.com>
46236         Fix network stream tests
46238         * test/lisp/net/network-stream-tests.el
46239         (make-ipv6-tcp-server-with-unspecified-port): Skip if IPv6 is not available.
46240         (make-ipv6-tcp-server-with-specified-port): Likewise.
46241         (echo-server-with-local-ipv6): Likewise.
46243 2019-02-04  Glenn Morris  <rgm@gnu.org>
46245         * make-dist: Prefer a temporary manifest file.
46247         This prevents the manifest cluttering up the build tree,
46248         and possibly getting stale if --no-update is used.
46250 2019-02-04  Eli Zaretskii  <eliz@gnu.org>
46252         Avoid segfaults due to image cache being cleared during redisplay
46254         * src/xdisp.c (redisplay_internal): Set the
46255         inhibit_clear_image_cache flag of a frame while its windows
46256         are being redisplayed, and reset the flag after the call top
46257         update_frame returns.
46258         * src/image.c (clear_image_cache): Do nothing if the frame's
46259         inhibit_clear_image_cache flag is set.  (Bug#34256)
46260         * src/frame.h (struct frame): New flag inhibit_clear_image_cache.
46262 2019-02-04  Robert Pluim  <rpluim@gmail.com>
46264         Don't map imaps to 993 anymore except on old Windows versions
46266         'open-network-stream' will do the imaps service lookup itself, and
46267         using 993 forced the user to use the numeric value in .authinfo for
46268         certificate lookups.
46270         * lisp/gnus/nnimap.el (nnimap-map-port): Only do mapping for Windows
46271         XP or earlier.
46272         * etc/NEWS: Describe imaps mapping change.
46274 2019-02-04  Eli Zaretskii  <eliz@gnu.org>
46276         Support (locale-info 'paper) on MS-Windows
46278         * src/w32proc.c (LOCALE_IPAPERSIZE): Define if undefined.
46279         (nl_langinfo): Support _NL_PAPER_WIDTH and _NL_PAPER_HEIGHT
46280         like glibc does.
46281         * src/fns.c (Flocale_info): Update the doc string.
46283         * nt/inc/langinfo.h: Add _NL_PAPER_WIDTH and _NL_PAPER_HEIGHT
46284         to the enumeration.
46285         (_NL_PAPER_WIDTH, _NL_PAPER_HEIGHT): Define namesake macros.
46286         * nt/mingw-cfg.site (emacs_cv_langinfo__nl_paper_width): Set
46287         to 'yes'.
46289         * doc/lispref/nonascii.texi (Locales): Update the
46290         documentation of 'locale-info' for the argument of 'paper'.
46292         * etc/NEWS: Update the locale-info entry.
46294 2019-02-04  Federico Tedin  <federicotedin@gmail.com>
46296         Allow doc-view to open password-protected PDF files (bug#33684)
46298         * lisp/doc-view.el (doc-view-ghostscript-options): Removed "-sDEVICE"
46299         option.
46300         (doc-view-ghostscript-device): New customizable variable, passed as
46301         "-sDEVICE" option to GhostScript.
46302         (doc-view-pdf-password-protected-ghostscript-p): New function.
46303         (doc-view-pdf->png-converter-ghostscript): Can now open
46304         password-protected PDF files.
46305         (doc-view-pdfdraw-program-subcommand): New function.
46306         (doc-view-pdf-password-protected-pdfdraw-p): New function.
46307         (doc-view-pdf->png-converter-mupdf): Can now open password-protected
46308         PDF files.
46309         * etc/NEWS: Mention new doc-view-mode feature.
46311 2019-02-04  Michael Albinus  <michael.albinus@gmx.de>
46313         Fix Bug#34196
46315         * lisp/net/tramp.el (tramp-process-actions): Disable `global-auto-revert-mode'
46316         temporarily.  (Bug#34196)
46318 2019-02-04  Michael Albinus  <michael.albinus@gmx.de>
46320         Improve Tramp host name completion
46322         * lisp/net/tramp-rclone.el (tramp-default-host-alist): Add empty host.
46324         * lisp/net/tramp.el (tramp-parse-auth-sources): Require :port.
46326 2019-02-04  Robert Pluim  <rpluim@gmail.com>
46328         Use IPv6 localhost when family is 'ipv6
46330         This fixes Bug#34193
46332         * src/process.c (Fmake_network_process): Explicitly use ::1 when
46333         using IPv6 with 'local.  Update docstring.
46335         * test/lisp/net/network-stream-tests.el
46336         (make-ipv6-tcp-server-with-unspecified-port):
46337         (make-ipv6-tcp-server-with-specified-port): Test creating ipv6
46338         local server.
46339         (make-server): Add optional family argument, default ipv4
46340         (echo-server-with-local-ipv4): Test connecting to 'local ipv4
46341         (echo-server-with-local-ipv6): Test connecting to 'local ipv6
46343         * doc/lispref/processes.texi (Network Processes): Describe
46344         behavior when using 'local.
46346         * etc/NEWS: Document new 'make-network-process' behavior when
46347         connecting to 'local with ipv6.
46349 2019-02-03  Juri Linkov  <juri@linkov.net>
46351         * lisp/tar-mode.el (tar-extract): Call tar--try-jka-compr (bug#34251)
46353         * lisp/tar-mode.el (tar--try-jka-compr): New function copied from
46354         archive-try-jka-compr.
46356         * lisp/arc-mode.el (archive-try-jka-compr): Set buffer-multibyte to t
46357         instead of let-binding coding-system-for-read to 'no-conversion.
46359         * test/data/decompress/tg.tar.gz:
46360         * test/data/decompress/zg.zip: New fixtures.
46362         * test/lisp/arc-mode-tests.el (arc-mode-test-zip-extract-gz):
46363         * test/lisp/tar-mode-tests.el (tar-mode-test-tar-extract-gz): New tests.
46365         * test/lisp/vc/diff-mode-tests.el (diff-mode-test-font-lock)
46366         (diff-mode-test-font-lock-syntax-one-line): Skip unless shell and
46367         diff executables are found.
46369 2019-02-03  Michael Albinus  <michael.albinus@gmx.de>
46371         Work on accept-process-output in Tramp
46373         * lisp/net/tramp.el (tramp-accept-process-output): Rework timer
46374         handling.
46375         (tramp-call-process): Adapt VEC if nil.
46376         (tramp-interrupt-process): Use `tramp-accept-process-output'.
46377         (tramp-process-lines): New defun.
46378         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
46379         * lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names): Use it.
46381         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
46382         Use timeout 0 in `tramp-accept-process-output'.
46384         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler): Move up.
46385         (tramp-test29-start-file-process, tramp-test30-make-process)
46386         (tramp-test32-shell-command)
46387         (tramp--test-shell-command-to-string-asynchronously): Use it.
46388         (tramp-test35-remote-path): Suppress warning.
46389         (tramp--test-asynchronous-requests-timeout): New defconst.
46390         (tramp-test43-asynchronous-requests): Skip if not the only test.
46391         Use `tramp--test-asynchronous-requests-timeout'.
46392         Remove instrumentation.  Use `start-process-shell-command' for
46393         watchdog.  Add timeout in timer function.  Print status messages.
46394         Remove file operations from sentinel.  Suppress timers in
46395         `accept-process-output'.
46397 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
46399         Support (locale-info 'paper) on GNU platforms
46401         * configure.ac (HAVE_LANGINFO__NL_PAPER_WIDTH): New macro.
46402         * src/fns.c (Flocale_info) [HAVE_LANGINFO__NL_PAPER_WIDTH]:
46403         Get paper width and height from locale.
46405 2019-02-02  Juri Linkov  <juri@linkov.net>
46407         * test/lisp/vc/diff-mode-tests.el (diff-mode-test-font-lock): New test.
46409         (diff-mode-test-font-lock-syntax-one-line): New test for one line.
46411         * test/data/vc/diff-mode/hello_world.c:
46412         * test/data/vc/diff-mode/hello_world_1.c:
46413         * test/data/vc/diff-mode/hello_emacs.c:
46414         * test/data/vc/diff-mode/hello_emacs_1.c: New fixtures.
46416         * lisp/vc/diff-mode.el (diff-syntax-fontify): Move remove-overlays
46417         from diff-syntax-fontify-hunk.  (Bug#33567)
46418         (diff-syntax-fontify-hunk): Remove VISIT arg from insert-file-contents.
46420 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
46422         Update from Gnulib
46424         This incorporates:
46425         2019-02-02 dtoastr, ftoastr, ldtoastr: port to c-strtod changes
46426         2019-02-01 c-strtod, c-strtold: use the bug fixes
46427         2019-01-30 strtold: New module
46428         * doc/misc/texinfo.tex, lib/ftoastr.c, lib/regexec.c, lib/stdlib.in.h:
46429         * m4/stdlib_h.m4:
46430         Copy from Gnulib.
46431         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
46432         * m4/c-strtod.m4: Remove.
46434 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
46436         Fix unlikely user-full-name integer overflow
46438         * src/editfns.c (Fuser_full_name):
46439         Don’t assume uid fits into fixnum.
46441 2019-02-02  Eli Zaretskii  <eliz@gnu.org>
46443         Prevent segfault in bootstrap-emacs on MinGW
46445         * src/emacs.c (main) [WINDOWSNT]: Fix logic of determining by
46446         argv[0] whether to use the static heap.  (Bug#34277)
46448 2019-02-02  Felicián Németh  <felician.nemeth@gmail.com>
46450         Fix Bug#34221
46452         * lisp/progmodes/project.el (project--files-in-directory):
46453         Support remote files.  (Bug#34221)
46455 2019-02-02  Martin Rudalics  <rudalics@gmx.at>
46457         Fix window splitting behavior of 'display-buffer-at-bottom'
46459         * lisp/window.el (display-buffer-at-bottom): Never split an
46460         arbitrary bottom window.  Try to split the frame's main
46461         window instead (Bug#33870).
46463 2019-02-02  Martin Rudalics  <rudalics@gmx.at>
46465         Fix bugs caused by running window change functions during redisplay
46467         * src/xdisp.c (redisplay_internal): Run window change
46468         functions before updating the display so changes induced by
46469         these functions can get caught by redisplay (Bug#34138).
46470         * src/window.c (run_window_change_functions): Bind
46471         Qinhibit_redisplay to avoid that the minibuffer window gets
46472         resized while running window change functions (Bug#34179,
46473         Bug#34260).
46475 2019-02-01  Glenn Morris  <rgm@gnu.org>
46477         * .gitignore: Add MANIFEST.
46479         * make-dist: Avoid "Bad fd number" error with dash.
46481 2019-02-01  Glenn Morris  <rgm@gnu.org>
46483         * make-dist: Remove references to src/stamp-h.in.
46485         This file was removed two years ago in 2f89350.
46487 2019-02-01  Glenn Morris  <rgm@gnu.org>
46489         * make-dist: Fix --no-update with no pre-existing MANIFEST.
46491 2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>
46493         Restore SETFATTR substitution
46495         * configure.ac (SETFATTR): Restore the AC_SUBST of this
46496         that was inadvertently removed when pdumper support was added.
46497         Need for ./configure --with-dumping=unexec on Fedora 29.
46499 2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>
46501         Make make-dist more automatic
46503         Simplify make-dist maintenance by having it generate its
46504         list of files more automatically.  Put the list of distributed
46505         files into a file MANIFEST that can be used in the unusual
46506         situations when you’re making a distribution without having
46507         access to a Git repository.
46508         * make-dist (top_level_ChangeLog): Now nonempty if the
46509         distribution tarball will contain a ChangeLog, instead of
46510         being nonempty when a ChangeLog is requested, Git is present
46511         and a readable ChangeLog exists.  The new interpretation makes
46512         the script a bit easier to follow.
46513         (possibly_non_vc_files, info_files, mkdir_verbose)
46514         (file_to_skip, MANIFEST_subdir_sed, tempsubdirs):
46515         New variables.
46516         (MANIFEST): Update and use this file, which now records what
46517         files are distributed.
46518         (top_level, subdir, files, file): Remove.
46520 2019-02-01  Glenn Morris  <rgm@gnu.org>
46522         * configure.ac (emacs_config_features): Add pdumper and unexec.
46524 2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>
46526         Rename CANNOT_DUMP to HAVE_UNEXEC
46528         * configure.ac (CANNOT_DUMP): Remove.  All uses removed,
46529         or changed to the negative of with_unexec.
46530         (HAVE_UNEXEC): New macro.  All uses of CANNOT_DUMP changed
46531         to the negative of this macro.
46533 2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>
46535         Omit some linker hacks if not doing unexec
46537         * configure.ac (LDFLAGS, LD_SWITCH_SYSTEM_TEMACS):
46538         Omit some funky linker flags if not supporting unexec.
46540         Use macOS linker hacks only if needed
46541         * configure.ac: On darwin, link with -fno-pie and -headerpad
46542         only if configuring with unexec.
46544 2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>
46546         Stop using macOS -prebind option
46548         * configure.ac (LD_SWITCH_SYSTEM_TEMACS): Remove -prebind,
46549         which has been obsolete and ineffective since Mac OS X 10.4 (2005),
46550         which was never necessary for correct operation, and which now
46551         generates annoying warnings.  Problem reported by Robert Pluim in:
46552         https://lists.gnu.org/r/emacs-devel/2019-01/msg00761.html
46554 2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>
46556         Merge from origin/emacs-26
46558         6c6b540711 Correct the docs of inserting kmacro counter
46559         32555daf4c * doc/misc/calc.texi (Algebraic Tutorial): Fix a typo.  (B...
46561 2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>
46563         Merge from origin/emacs-26
46565         7ba8f80398 Avoid errors in 'rmail-get-new-mail'
46566         9c8412a0b8 Fix process-contact bug with TCP connections
46568         # Conflicts:
46569         #       src/process.c
46571 2019-02-01  Mattias Engdegård  <mattiase@acm.org>
46573         Make the rx operators \? and \?? behave correctly
46575         * lisp/emacs-lisp/rx.el (rx-kleene):
46576         Treat \? and \?? like ? and ?? (Bug#34100).
46577         * test/lisp/emacs-lisp/rx-tests.el: Add tests for all repetition operators.
46579 2019-01-31  Dmitry Gutov  <dgutov@yandex.ru>
46581         js--re-search-backward-inner: Fix infloop
46583         Fix JS indentation infloop reported in
46584         https://github.com/mooz/js2-mode/issues/513.
46586         * lisp/progmodes/js.el (js--re-search-backward-inner): Account for
46587         multiline string literals.
46588         * test/manual/indent/js.js: New test example.
46590 2019-01-31  Paul Eggert  <eggert@cs.ucla.edu>
46592         Prefer static to extern where either will do
46594         * src/charset.c (charset_table_size):
46595         * src/pdumper.c (dump_private):
46596         * src/sysdep.c (init_sigsegv):
46597         * src/window.c (old_selected_window):
46598         Now static.
46599         * src/charset.c (charset_table_size):
46600         Now int, since the value always fits in int.
46601         * src/gtkutil.c (xg_gtk_initialized): Now present only if
46602         HAVE_XWIDGETS, to make it clearer that this is an xwidgets
46603         hack.  All uses changed.
46604         * src/lread.c (ndefsubr): Remove; unused.
46605         * src/pdumper.h: Use usual GNU indenting style for functions,
46606         since my static-vs-extern checking hack relies on it.
46607         (dump_public): Always declare; simpler and doesn’t hurt.
46608         (pdumper_handle_page_fault): Remove unused decl.
46610 2019-01-31  Paul Eggert  <eggert@cs.ucla.edu>
46612         Widen modiff counts to avoid wraparound
46614         Widen modification counts to at least 64 bits, to make
46615         wraparound practically impossible.
46616         * doc/lispref/buffers.texi (Buffer Modification):
46617         Don’t say the modification-count can wrap around.
46618         * src/buffer.c (Frestore_buffer_modified_p, Fbuffer_swap_text)
46619         (modify_overlay):
46620         * src/insdel.c (insert_1_both, insert_from_string_1)
46621         (insert_from_gap, insert_from_buffer_1)
46622         (adjust_after_replace, replace_range, replace_range_2)
46623         (del_range_2, modify_text):
46624         * src/textprop.c (modify_text_properties):
46625         Use modiff_incr instead of incrementing directly.
46626         (Fbuffer_modified_tick, Fbuffer_chars_modified_tick):
46627         Don’t assume modification counts fit into fixnums.
46628         * src/buffer.h (struct buffer_text, struct buffer):
46629         * src/cmds.c (internal_self_insert):
46630         * src/fileio.c (Finsert_file_contents):
46631         * src/indent.c (last_known_column_modified):
46632         * src/keyboard.c (command_loop_1):
46633         * src/marker.c (cached_modiff):
46634         * src/syntax.c (find_start_modiff, parse_sexp_propertize)
46635         (find_defun_start):
46636         * src/window.h (struct window):
46637         Use modiff_count for modification counts.
46638         * src/editfns.c (Fsubst_char_in_region):
46639         Copy instead of incrementing modification counts,
46640         since integer overflow checking is not needed here.
46641         * src/lisp.h (modiff_count): New type.
46642         (modiff_incr, modiff_to_integer): New inline functions.
46643         * src/pdumper.c (dump_buffer): Update hash.
46645 2019-01-31  Paul Eggert  <eggert@cs.ucla.edu>
46647         Minor pdumper simplification
46649         * src/pdumper.c (dump_roots, pdumper_load): Simplify initialization.
46650         (dump_bitset_init, pdumper_load): Omit unnecessary assignments.
46651         (dump_bitset_destroy): Remove; never called.  All callers removed.
46652         (dump_do_dump_relocation, pdumper_load): Add FIXME comment.
46653         (pdumper_load): Simplify by assuming C99.  Remove unused local.
46655 2019-01-30  Glenn Morris  <rgm@gnu.org>
46657         Merge from origin/emacs-26
46659         b94d767 (origin/emacs-26) Minor copyedits in last manual change
46660         73508e6 Improve documentation of face numbers
46661         bf235ce * doc/emacs/custom.texi (Authentication): Refer to the "Help ...
46662         ceccb3c New node Authentication in the Emacs manual
46663         9078f34 Fix a loop in c-fl-decl-start.  This fixes bug #34186.
46664         a177fe7 Fix LaTeX output of month and day from cal-tex.el
46665         90177d7 Avoid elisp crash for OpenPGP User IDs with no e-mail address
46666         68e55a0 image-mode: Do not use default scaling (bug#33990)
46667         b6c762a create-image: Expand documentation (bug#33990)
46668         928d342 Improve documentation of 'isearch-filter-predicate'
46669         9034dd6 Fix cursor column positioning on Grep hits
46671         # Conflicts:
46672         #       doc/emacs/custom.texi
46674 2019-01-30  Michael Albinus  <michael.albinus@gmx.de>
46676         Fix problem in filenotify-tests
46678         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
46679         Adapt `accept-process-output' argument.
46681         * test/lisp/filenotify-tests.el (file-notify--deftest-remote):
46682         Remove :unstable tag.
46684 2019-01-30  Michael Albinus  <michael.albinus@gmx.de>
46686         * lisp/net/tramp-rclone.el (tramp-rclone-mounted-p): Fix thinko.
46688 2019-01-30  Michael Albinus  <michael.albinus@gmx.de>
46690         * test/lisp/net/tramp-tests.el
46692         (tramp-test43-asynchronous-requests): Tag it :unstable also for
46693         emba.  Adapt `accept-process-output' arguments.
46695 2019-01-29  Michael Albinus  <michael.albinus@gmx.de>
46697         * test/lisp/filenotify-tests.el (file-notify--deftest-remote):
46699         Tag as :unstable.
46701 2019-01-29  Robert Pluim  <rpluim@gmail.com>
46703         Move some descriptions to the right section
46705         * etc/NEWS: Move ibuffer and gnus change descriptions to
46706         mode-specific section.
46708 2019-01-29  Eli Zaretskii  <eliz@gnu.org>
46710         Fix documentation of pdump file installation
46712         * doc/lispref/internals.texi (Building Emacs): Correct the
46713         directory where the pdump file is installed.  (Bug#34244)
46715 2019-01-29  Michael Albinus  <michael.albinus@gmx.de>
46717         Adapt `accept-process-output' arguments in tramp-tests
46719         * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
46720         (tramp-test30-make-process, tramp-test31-interrupt-process)
46721         (tramp-test32-shell-command)
46722         (tramp--test-shell-command-to-string-asynchronously)
46723         (tramp-test43-asynchronous-requests):
46724         Adapt `accept-process-output' arguments.
46726 2019-01-28  Juri Linkov  <juri@linkov.net>
46728         Small fixes
46730         * lisp/generic-x.el (etc-passwd-generic-mode): Add comment.  (Bug#34225)
46732         * lisp/vc/diff-mode.el (diff-syntax-fontify-hunk): Set overlay
46733         property 'diff-mode to 'syntax.  (Bug#33567)
46734         (diff-syntax-fontify-props): Reset buffer-file-name to nil.
46736 2019-01-28  Glenn Morris  <rgm@gnu.org>
46738         * src/Makefile.in (clean): Delete versioned pdmp files.
46740         Else build number increments without limit even in clean builds.
46742 2019-01-28  Juri Linkov  <juri@linkov.net>
46744         More checks for live buffers.
46746         * lisp/dired-x.el (dired-jump): Check if archive/tar superior buffer
46747         was killed by the user.
46749         * lisp/progmodes/ruby-mode.el (ruby-flymake--helper): Check if source buffer
46750         was killed by the user immediately after visiting and before process finishes.
46752 2019-01-28  Juri Linkov  <juri@linkov.net>
46754         * lisp/generic-x.el (etc-passwd-generic-mode): Support backups of passwd,
46756         group and shadow /etc files.  (Bug#34225)
46758 2019-01-28  Eli Zaretskii  <eliz@gnu.org>
46760         Fix last change in xfaces.c
46762         * src/xfaces.c (init_xfaces): Don't rely of 'face'
46763         property of a face to be a natural number.
46765 2019-01-28  Michael Albinus  <michael.albinus@gmx.de>
46767         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults): Adapt test.
46769 2019-01-28  Michael Albinus  <michael.albinus@gmx.de>
46771         Adapt accept-process-output timeouts in Tramp
46773         * lisp/net/tramp.el (tramp-accept-process-output):
46774         Make timeout optional.  Do not set explicit timer.
46775         (tramp-action-out-of-band, tramp-process-one-action)
46776         (tramp-wait-for-regexp, tramp-interrupt-process):
46777         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
46778         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
46779         * lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
46780         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
46781         * lisp/net/tramp-smb.el (tramp-smb-action-get-acl)
46782         (tramp-smb-action-set-acl, tramp-smb-wait-for-output):
46783         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
46784         Adapt `accept-process-output' calls wrt timeouts.
46786 2019-01-28  Eli Zaretskii  <eliz@gnu.org>
46788         Fix bug with face-id after restoring from pdump
46790         * src/xfaces.c (init_xfaces): New function.
46791         * src/emacs.c (main) [HAVE_PDUMPER]: If dumped with pdumper,
46792         call init_xfaces.  (Bug#34226)
46793         * src/lisp.h (init_xfaces) [HAVE_PDUMPER]: Add prototype.
46795         * test/lisp/faces-tests.el (faces--test-face-id): New test for
46796         bug#34226.
46798 2019-01-28  Sam Steingold  <sds@gnu.org>
46800         links: also link pdmp
46802 2019-01-28  Alan Mackenzie  <acm@muc.de>
46804         Detect when we hit limit in backward search in c-just-after-func-arglist-p
46806         This fixes a bug reported by Yasushi SHOJI <yasushi.shoji@gmail.com> to
46807         emacs-devel on 2018-11-26, where wrong analysis and fontification occurred.
46809         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): Add new parameter
46810         HIT-LIM which, if non-nil causes the function to return nil rather than 'same
46811         when we reach the backward search limit without finding the beginning of
46812         statement.
46813         (c-just-after-func-arglist-p): Supply argument t to this new parameter in call
46814         to c-beginning-of-statement-1.
46816 2019-01-27  Paul Eggert  <eggert@cs.ucla.edu>
46818         Update from Gnulib
46820         This incorporates:
46821         2019-01-26 getloadavg: Add support for Android
46822         2019-01-24 fchownat: Fix compilation error on Android 4.3
46823         2019-01-24 mbtowc: Fix compilation error on Android 4.3
46824         2019-01-24 random: Fix compilation error on Android 4.3
46825         2019-01-24 renameat: Fix compilation error on Android 4.3
46826         2019-01-24 unlinkat: Fix compilation error on Android 4.3
46827         2019-01-19 gettext: support disabling use of VLAs
46828         2019-01-17 sys_stat: Fix warning on OS/2 kLIBC
46829         2019-01-17 fcntl: Fix syntax error (regression from 2018-10-05)
46830         2019-01-10 verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++
46831         2018-12-22 stdioext: port to newer 32-bit Android
46832         2018-12-16 libc-config: Support HP-UX cc in C99 mode.
46833         * build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
46834         * lib/cdefs.h, lib/fcntl.c, lib/getloadavg.c, lib/gettext.h:
46835         * lib/regexec.c, lib/stdio-impl.h, lib/stdio.in.h, lib/stdlib.in.h:
46836         * lib/sys_stat.in.h, lib/unistd.in.h, lib/verify.h, m4/stdlib_h.m4:
46837         Copy from Gnulib.
46838         * lib/gnulib.mk.in: Regenerate.
46840 2019-01-27  Paul Eggert  <eggert@cs.ucla.edu>
46842         forward-line now works with bignums
46844         * src/cmds.c (Fforward_line): Support bignum arg.
46845         (scan_newline): Return void since no caller was using the
46846         return value.
46847         * src/search.c (find_newline, scan_newline_from_point)
46848         (find_newline1): Return the number of newlines counted, not
46849         the count shortage, so that the return value always fits in
46850         ptrdiff_t even if the original count was a bignum.  All
46851         callers changed.
46852         * test/src/cmds-tests.el (forward-line-with-bignum): New test.
46854 2019-01-27  Eli Zaretskii  <eliz@gnu.org>
46856         Improve pdump load diagnostics
46858         * src/emacs.c (load_pdump): Improve diagnostics when pdump
46859         file fails to load correctly.
46861 2019-01-26  Eli Zaretskii  <eliz@gnu.org>
46863         * src/emacs.c (load_pdump): Fix a thinko in last change.
46865 2019-01-26  Eli Zaretskii  <eliz@gnu.org>
46867         Improve pdump file search and 'pdumper-stats'
46869         * src/pdumper.c (pdumper_record_wd): New function.
46870         (pdumper_load): Use xstrdup instead of strdup, as on
46871         MS-Windows the latter uses the wrong heap.  Don't free a
46872         NULL pointer.
46873         * src/emacs.c (load_pdump): Support the use case where the
46874         Emacs binary was renamed: look in exec-directory for the
46875         pdump file whose base name is derived from the Emacs binary,
46876         in addition to just emacs.pdmp.
46877         (main): Call pdumper_record_wd to prepend CWD to the pdump
46878         file name.
46879         * src/fileio.c (file_name_absolute_p): Now extern.
46880         * src/lisp.h (file_name_absolute_p): Add prototype.
46881         * src/pdumper.h (pdumper_record_wd): Add prototype.
46883         * doc/emacs/cmdargs.texi (Initial Options): Update the
46884         documentation of where Emacs looks for the dump file.
46886 2019-01-26  Eli Zaretskii  <eliz@gnu.org>
46888         Fix face initializations in pdump'ed Emacs
46890         * src/dispnew.c (init_display_interactive): Call init_faces_initial
46891         in the daemon if dumped with pdumper. (Bug#34114)
46893 2019-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
46895         * lisp/loadup.el (load-file-name): Set back to nil
46897 2019-01-25  João Távora  <joaotavora@gmail.com>
46899         Adjust previous electric.el and elec-pair.el change
46901         This fixes a serious bug introduced previously
46902         electric-pair-inhibit-if-helps-balance and
46903         electric-pair-skip-if-helps-balance, whereby "innocent" markers were
46904         being pushed by those function's new save-change-and-restore
46905         semantics.  The fix can probably still be improved.
46907         It also adds comments to parts of the code, where deemed necessary.
46909         * lisp/elec-pair.el (electric-pair--insert): Add comment.
46910         (electric-pair--save-literal-point-excursion): New helper macro.
46911         (electric-pair-inhibit-if-helps-balance)
46912         (electric-pair-skip-if-helps-balance): Don't use
46913         insert-before-markers since it may hurt other markers that have
46914         nothing to do with the 'save-excursion'.
46915         (electric-pair-post-self-insert-function): Use
46916         electric-pair--save-literal-point-excursion.
46918         * lisp/electric.el (electric-indent-post-self-insert-function):
46919         Remove lexical variable.
46921 2019-01-25  João Távora  <joaotavora@gmail.com>
46923         Use minibuffer-default in completion-all-sorted-completions (bug#34083)
46925         * lisp/minibuffer.el (completion-all-sorted-completions): Sort with the
46926         default on top.
46928 2019-01-25  Alex Branham  <alex.branham@gmail.com>
46930         Make tabulated-list-mode-map inherit from special-mode-map
46932         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map): Use
46933           'make-composed-keymap'.
46935         Bug #30452
46937 2019-01-25  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>
46939         image-mode: Make parameters buffer-local
46941         Image parameters were treated as image specific, but because they
46942         actually were global variables, their behaviour transferred to new
46943         images.
46944         * lisp/image-mode.el (image-transform-resize, image-transform-scale)
46945         (image-transform-rotation): Declare with defvar-local.  (Bug#33990)
46947 2019-01-24  Michael Albinus  <michael.albinus@gmx.de>
46949         Some fixes in tramp-smb.el
46951         * lisp/net/tramp-smb.el (tramp-smb-errors):
46952         Add "NT_STATUS_NOT_A_DIRECTORY".
46953         (tramp-smb-maybe-open-connection): Respect ´non-essential'.  Do
46954         not record smbserver-version.
46955         (tramp-smb-wait-for-output): Improve reading pending output.
46957 2019-01-24  Eli Zaretskii  <eliz@gnu.org>
46959         Avoid byte-compiler warning in starttls.el
46961         * lisp/net/network-stream.el (starttls-open-stream): Declare
46962         to avoid compilation warning.
46964 2019-01-24  Robert Pluim  <rpluim@gmail.com>
46966         Check for client certificates when using GnuTLS
46968         This fixes Bug#33780, and extends the documentation to describe how to
46969         enable use of client certificates.
46971         * lisp/net/network-stream.el (network-stream-certificate): Correct
46972         order of parameters to plist-get.
46973         (network-stream-open-tls): Pass all received parameters to
46974         open-gnutls-stream as plist, not just :nowait.
46976         * lisp/net/gnutls.el (open-gnutls-stream): Change optional nowait arg
46977         to be plist.  Derive nowait and client certificate(s) and keys(s) from
46978         plist (maybe via auth-source) and pass to gnutls-boot-parameters and
46979         gnutls-negotiate.
46980         (network-stream-certificate): Add declare-function form for it.
46982         * doc/misc/auth.texi (Help for users): Describe format to use for
46983         client key/cert specification.
46985         * doc/misc/emacs-gnutls.texi (Help For Developers): Describe usage of
46986         optional plist argument.  Add crossreference to description of
46987         .authinfo format for client key/cert specification.
46989         * etc/NEWS: Describe new client certificate functionality for
46990           'open-network-stream'.
46992         * test/lisp/net/network-stream-tests.el: Add require of network-stream.
46993         (connect-to-tls-ipv4-nowait): Bind network-security-level to 'low
46994         in order to bypass nsm prompting.
46995         (connect-to-tls-ipv6-nowait): Likewise.
46996         (open-network-stream-tls-wait): New test.
46997         (open-network-stream-tls-nowait): New test.
46998         (open-network-stream-tls): New test.
46999         (open-network-stream-tls-nocert): New test.
47000         (open-gnutls-stream-new-api-default): New test.
47001         (open-gnutls-stream-new-api-wait): New test.
47002         (open-gnutls-stream-old-api-wait): New test.
47003         (open-gnutls-stream-new-api-nowait): New test.
47004         (open-gnutls-stream-old-api-nowait): New test.
47005         (open-gnutls-stream-new-api-errors): New test.
47006         The new tests exercise 'open-network-stream' and the old and new
47007         api of 'open-gnutls-stream'.
47009 2019-01-24  Michael Albinus  <michael.albinus@gmx.de>
47011         Fix error in Tramp's encoding check
47013         * lisp/net/tramp-sh.el (tramp-find-inline-encoding):
47014         Use `tramp-get-connection-buffer'.
47016 2019-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
47018         doc-view-presentation, doc-view-fit-window-to-page, and use mutool
47020         * lisp/doc-view.el (doc-view-pdfdraw-program): Use "mutool" if available.
47021         (doc-view-mode-map): Keep default 'g' binding of 'revert-buffer'.
47022         Change 'r' binding to 'revert-buffer'.
47023         (doc-view-revert-buffer): Make it an obsolete alias.
47024         (doc-view--revert-buffer): Rename from doc-view-revert-buffer, change
47025         calling convention for use in add-function.
47026         (doc-view-fit-window-to-page): New command.
47027         (doc-view-pdf->png-converter-mupdf): Make it work with "mutool".
47028         (doc-view-mode): Use add-function for revert-buffer-function.
47029         (doc-view-presentation-mode-map, doc-view-presentation--src-data):
47030         New vars.
47031         (doc-view-presentation-exit, doc-view-presentation-mode)
47032         (doc-view-presentation--propagate-pn, doc-view-presentation):
47033         New functions.
47035 2019-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
47037         Avoid having to build src/emacs when we just want to `make tags`
47039         * Makefile.in (TAGS tags): Remove `src` from the dependencies.
47040         * src/Makefile.in (ctagsfiles1): Strip macuvs.h and fingerprint.c.
47042 2019-01-23  Eli Zaretskii  <eliz@gnu.org>
47044         Fix build errors with pdump fingerprint on macOS
47046         * src/Makefile.in ($(lispsource)/international/charprop.el):
47047         Remove macuvs.h from the target list, to avoid circular
47048         dependency on macOS.  Reported by Alan Third <alan@idiocy.org>.
47050 2019-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
47052         Rework last commit to icomplete and minibuffer.el.
47054         Rather than let minibuffer-force-complete set up cycling and then undoing it,
47055         better tell it directly not to setup cycling.  Also be a bit more careful
47056         to remove the transient map.
47057         Additionally to bug#34077 and bug#34116, this also relates to bug#25644.
47059         * lisp/minibuffer.el (completion--flush-all-sorted-completions):
47060         Also take down the transient cycling map if applicable.
47061         (minibuffer-force-complete): New arg dont-cycle.
47062         Set completion-cycling to the actual function that takes down the
47063         transient map rather than just t.
47064         (minibuffer-force-complete-and-exit):
47065         * lisp/icomplete.el (icomplete-force-complete): Use new dont-cycle arg.
47067 2019-01-23  João Távora  <joaotavora@gmail.com>
47069         Force completion in icomplete with C-M-i, but don't cycle (bug#34077)
47071         Cycling after forcing a completion with C-M-i in icomplete can be
47072         confusing, as it leaves rotated prospects in the minibuffer.  In C-x
47073         C-f, for example it is very difficult to understand if the prospects
47074         refer to subdirectories of the directory being completed to, which
47075         happens naturally when the completion is unique; or if they are a
47076         cycled version of prospects that match the new completion pattern, in
47077         case the completion happens to still match other items.
47079         To resolve this confusion, never cycle with C-M-i in icomplete:
47080         non-ambiguous cycling can be achieved with C-. and C-,
47082         The former behaviour can still be restored with:
47084         (define-key icomplete-minibuffer-map (kbd "C-M-i") 'minibuffer-force-complete)
47086         * lisp/icomplete.el (icomplete-force-complete): New command.
47087         (icomplete-minibuffer-map): Bind C-M-i to icomplete-force-complete.
47089 2019-01-23  João Távora  <joaotavora@gmail.com>
47091         Avoid cycling in minibuffer-force-complete-and-exit (bug#34116)
47093         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Check
47094         completion-cycling before minibuffer-force-complete.
47096 2019-01-23  Paul Eggert  <eggert@cs.ucla.edu>
47098         * src/keyboard.c (read_char): Use CALLN.
47100 2019-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
47102         * src/emacs.c (load_pdump): Minor simplification.
47104 2019-01-23  Eli Zaretskii  <eliz@gnu.org>
47106         Fix compilation of pdumper.c with old buggy GCC
47108         * src/pdumper.c (emacs_ptr_at): Renamed from emacs_ptr, to
47109         avoid compilation errors with GCC 4.7.  Reported by Martin
47110         Rudalics <rudalics@gmx.at>.  All callers changed.
47112 2019-01-23  Michael Albinus  <michael.albinus@gmx.de>
47114         * lisp/net/tramp.el (tramp-set-file-uid-gid): Fix thinko.
47116         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
47117         Adapt docstring.
47119 2019-01-22  Stefan Monnier  <monnier@iro.umontreal.ca>
47121         * lisp/emacs-lisp/package.el (package--alist): New
47123         (package-activate-all): Use it so we only initialize the local part of
47124         package.el (this reduces the impact of bug#24467 and speeds up startup).
47125         (package-installed-p): Use it so it works even if package is not
47126         fully initialized.
47127         (package-delete): Use it so we only initialize the local part of
47128         package.el.
47130 2019-01-22  Phillip Lord  <phillip.lord@russet.org.uk>
47132         Add hook for all events
47134         * lisp/subr.el (input-event-functions): Add input-event-functions
47135         * src/keyboard.c (read_char): Call input-event-functions on all hooks
47137 2019-01-22  João Távora  <joaotavora@gmail.com>
47139         electric-layout-mode kicks in before electric-pair-mode
47141         This aims to solve problems with indentation.  Previously in, say, a
47142         js-mode buffer with electric-layout-rules set to
47144            (?\{ before after)
47145            (?\} before)
47147         would produce an intended:
47149            function ()
47150            {
47151              <indented point>
47152            }
47154         The initial state
47156           function () {
47158         Would go immediately to the following by e-p-m
47160           function () {}
47162         Only then would e-l-m be applied to } first, and then again to {.
47163         This makes lines indent in the wrong order, which can be a problem in
47164         some modes.
47166         The way we fix this is by reversing the order of e-p-m and e-l-m in
47167         the post-self-insert-hook (and also fixing a number of details that
47168         this uncovered).  In the end this changes the sequence from
47170           function () {
47172         By way of e-l-m becomes:
47174           function () <newline>
47175           {
47176           <newline>
47178         The e-p-m inserts the pair
47180           function () <newline>
47181           {
47182           <newline>}
47184         And then e-l-m kicks in for the pair again, yielding the desired result
47186           function () <newline>
47187           {
47188           <indented point>
47189           }
47191         * lisp/elec-pair.el (electric-pair--insert): Bind
47192         electric-layout-no-duplicate-newlines.
47193         (electric-pair-inhibit-if-helps-balance)
47194         (electric-pair-skip-if-helps-balance): Use insert-before-markers,
47195         playing nice with save-excurion.
47196         (electric-pair-post-self-insert-function): Go to correct position
47197         before checking electric-pair-inhibit-predicate and
47198         electric-pair-skip-self predicate.
47199         (electric-pair-post-self-insert-function): Increase priority to
47200         50.
47202         * lisp/electric.el (electric-indent-post-self-insert-function):
47203         Delete trailing space in reindented line only if line was
47204         really reindented.  Rewrite comment.
47205         (electric-layout-allow-duplicate-newlines): New variable.
47206         (electric-layout-post-self-insert-function-1): Rewrite comments.
47207         Honours electric-layout-allow-duplicate-newlines.  Don't reindent
47208         previous line because racecar.
47210         * test/lisp/electric-tests.el: New test.
47211         (plainer-c-mode): Move up.
47212         (electric-modes-int-main-allman-style)
47213         (electric-layout-int-main-kernel-style): Simplify
47214         electric-layout-rules.
47215         (electric-layout-for-c-style-du-jour): New helper.
47216         (electric-layout-plainer-c-mode-use-c-style): New test.
47218 2019-01-22  João Távora  <joaotavora@gmail.com>
47220         Remove tests of electric-pair-mode and CC-based modes
47222         The behaviour previously observed in cc-mode-based-modes (and every
47223         other major-mode) when electric-pair-mode or electric-layout-mode is
47224         turned on may no longer be observed: this because CC-mode goes around
47225         the generic implementation of electric-pair-mode.
47227         An alternative is to bind every delimiter key like '{', '}', etc to
47228         'self-insert-command, like most major modes already do, at the cost of
47229         losing c-auto-newline functionality (which was incompatible anyway
47230         before the recent changes of bug#33794).
47232         * test/lisp/electric-tests.el
47233         (electric-pair-test-for): No longer set it.
47234         (define-electric-pair-test): Use js-mode instead of c++ mode,
47235         which broke recently.
47236         (whitespace-chomping-2): Add failing C++ test explicitly.
47237         (electric-layout-int-main-kernel-style): Use plainer-c-mode.
47238         (electric-layout-int-main-allman-style): Deleted.
47239         (electric-modes-int-main-allman-style): Renamed from
47240         electric-layout-int-main-allman-style.
47242 2019-01-22  Alan Mackenzie  <acm@muc.de>
47244         Extend electric-pair-mode actions to < and >, and also to ( and ) in literals
47246         * lisp/progmodes/cc-cmds.el (c-electric-lt-gt): Actuate electric-pair-mode if
47247         a < or > is typed in a context where this is meaningful (#include, or
47248         template).
47249         (c-electric-paren): Allow electric-pair-mode activity in a comment or string.
47251         * lisp/progmodes/cc-defs.el (c-make-keywords-re): Fix a bug where lists of
47252         source symbols could get overwritten when parameter adorn is set to
47253         'appendable.
47255         * lisp/progmodes/cc-langs.el (c-cpp-include-key): New lang const and var.
47257 2019-01-22  Alan Mackenzie  <acm@muc.de>
47259         Revert "Fix electric-pair-tests by disabling bug#33794's fix with a variable"
47261         This reverts commit be505726b68d407a44fdcd9c7ac1ef722398532d.
47263 2019-01-22  Michael Albinus  <michael.albinus@gmx.de>
47265         Make Tramp tests more robust
47267         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
47268         Bind `tramp-default-method'.
47269         (tramp--test-file-attributes-equal-p): New defsubst.
47270         (tramp-test19-directory-files-and-attributes): Use it.
47272 2019-01-22  Michael Albinus  <michael.albinus@gmx.de>
47274         Respect setgid bit of the upper directory in Tramp
47276         * doc/misc/trampver.texi:
47277         * lisp/net/trampver.el: Change version to "2.4.2-pre".
47279         * lisp/net/tramp.el: Bump version to 2.4.2-pre.
47280         (tramp-set-file-uid-gid): Respect setgid bit of the upper directory.
47281         (tramp-default-file-modes, tramp-handle-insert-file-contents)
47282         (tramp-mode-string-to-int, tramp-make-tramp-temp-file):
47283         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
47284         (tramp-adb-handle-write-region):
47285         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly)
47286         (tramp-sh-handle-write-region): Use octal constants.
47288 2019-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
47290         * lisp/international/titdic-cnv.el: Use lexical-binding
47292         (tit-process-body): Remove unused vars 'template' and 'second'.
47293         (tsang-quick-converter): Remove unused args 'name' and 'title'.
47294         Remove unused var 'slot'.
47295         (tsang-b5-converter, quick-b5-converter, tsang-cns-converter)
47296         (quick-cns-converter, py-converter, ziranma-converter)
47297         (ctlau-converter, ctlau-gb-converter, ctlau-b5-converter):
47298         Remove unused args 'name' and 'title'.
47299         (miscdic-convert): Remove unused var 'dicbuf'.
47300         Don't pass 'name' and 'title' to the conversion function.
47302 2019-01-21  Paul Eggert  <eggert@cs.ucla.edu>
47304         Simplify pdumper-load via timespectod
47306         Suggested by Eli Zaretskii in:
47307         https://lists.gnu.org/r/emacs-devel/2019-01/msg00458.html
47308         * src/pdumper.c (pdumper_load): Simplify.
47310 2019-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
47312         * src/pdumper.c (dump_string) [CHECK_STRUCTS]: Fix copy&paste error
47314         * lisp/electric.el: Fix typo in last change.
47316 2019-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
47318         (electric--sort-post-self-insertion-hook): Accept non-symbol functions
47320         * lisp/electric.el (electric--sort-post-self-insertion-hook):
47321         Don't burp on non-symbol functions.
47323 2019-01-21  Alan Third  <alan@idiocy.org>
47325         Fix occasional pdumper/bootstrap error
47327         * src/Makefile.in (emacs$(EXEEXT)): Copy the new executable over
47328         bootstrap-emacs.
47330 2019-01-21  Michael Albinus  <michael.albinus@gmx.de>
47332         * lisp/net/tramp-sh.el (tramp-set-remote-path): Fix usage of tmpfile.
47334 2019-01-21  Michael Albinus  <michael.albinus@gmx.de>
47336         Use `inhibit-read-only' in Tramp
47338         * lisp/net/tramp.el (tramp-process-actions, tramp-accept-process-output)
47339         (tramp-send-string):
47340         * lisp/net/tramp-adb.el (tramp-adb-handle-make-process)
47341         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output):
47342         * lisp/net/tramp-sh.el (tramp-sh-handle-make-process)
47343         (tramp-wait-for-output, tramp-send-command-and-check):
47344         * lisp/net/tramp-smb.el (tramp-smb-wait-for-output):
47345         Use `inhibit-read-only'.
47347 2019-01-20  Michael Albinus  <michael.albinus@gmx.de>
47349         Use POSIX "df" in Tramp, if available
47351         * lisp/net/tramp-sh.el (tramp-get-remote-df):
47352         Support also POSIX.1 "df".
47353         (tramp-sh-handle-file-system-info): Adapt accordingly.
47355 2019-01-20  Eli Zaretskii  <eliz@gnu.org>
47357         Support native image resizing on MS-Windows
47359         * src/w32term.c (x_draw_image_foreground): Scale the image if
47360         the requested dimensions are different from the bitmap
47361         dimensions.
47362         * src/image.c (Fimage_scaling_p): Return t when HAVE_NTGUI.
47363         (x_set_image_size) [HAVE_NTGUI]: Record the scaled dimensions
47364         in the image struct.
47365         * src/dispextern.h (HAVE_NATIVE_SCALING): Define when
47366         HAVE_NTGUI as well.
47368         * etc/NEWS: Update the announcement of native image scaling.
47370 2019-01-19  Philipp Stephani  <phst@google.com>
47372         Improve error data when passing a wrong type to 'sort' (Bug#34104)
47374         * src/fns.c (Fsort): Use 'list-or-vector-p' for error message.
47375         (syms_of_fns): Define 'list-or-vector-p'.
47377         * test/src/fns-tests.el (fns-tests-sort): Extend unit test.
47379 2019-01-19  Paul Eggert  <eggert@cs.ucla.edu>
47381         pdumper-stats now returns s, not ms
47383         * doc/lispref/internals.texi (pdumper-stats):
47384         * src/pdumper.c (pdumper_load): Return seconds, not milliseconds.
47385         Minimize rounding errors in the usual case.
47387 2019-01-19  Eli Zaretskii  <eliz@gnu.org>
47389         Minor cleanup in pdumper.c
47391         * src/pdumper.c (subtract_timespec): Function removed.
47392         (pdumper_load): Use timespec_sub instead of subtract_timespec.
47394 2019-01-19  Eli Zaretskii  <eliz@gnu.org>
47396         Improve 'pdumper-stats' and its documentation
47398         * src/pdumper.c (Fpdumper_stats): Improve formatting and
47399         wording of the doc string.  Decode the pdump file name and
47400         expand-file-name it.
47402         * doc/lispref/internals.texi (Building Emacs): Document
47403         'pdumper-stats'.
47405 2019-01-19  Eli Zaretskii  <eliz@gnu.org>
47407         Unbreak the macOS NS build
47409         * src/xdisp.c (expose_window_tree): Declare and define 'f' on
47410         NS as well.  Reported by Herbert J. Skuhra <herbert@gojira.at>.
47412 2019-01-18  Dmitry Gutov  <dgutov@yandex.ru>
47414         Misc ignore-related project.el changes
47416         * lisp/progmodes/project.el (project-ignores): Don't append the
47417         default ignores list, just use vc-directory-exclusion-list.
47418         (project--dir-ignores): Use the default ignores if the dir is
47419         outside of the current project.
47420         (project-files): Use project--dir-ignores to support external
47421         roots better.
47423 2019-01-18  João Távora  <joaotavora@gmail.com>
47425         Revert "Remove leftover from previous electric-layout-rules API"
47427         This is a backward-incompatible change, and removing it isn't really
47428         necessary.
47430         This reverts commit 942dad2b519cabddf6caea7641517507dc06944b.
47432 2019-01-18  Stefan Monnier  <monnier@iro.umontreal.ca>
47434         (electric-layout-post-self-insert-function-1): Simplify.
47436         Call electric--after-char-pos right from the start, and take advantage of the
47437         fact that it guarantees to return the right position or nil.
47439 2019-01-18  João Távora  <joaotavora@gmail.com>
47441         Ensure fns in electric-layout-rules are called in right position
47443         * lisp/electric.el (electric-layout-rules): Ensure rules are
47444         called from right spot.
47446 2019-01-18  João Távora  <joaotavora@gmail.com>
47448         Remove leftover from previous electric-layout-rules API
47450         An element of electric-layout-rules is either a function or a pair
47451         (CHAR . WHERE), and WHERE can't be a function anymore.
47453         * lisp/electric.el (electric-layout-post-self-insert-function-1):
47454         Remove leftover line.
47456 2019-01-18  Paul Eggert  <eggert@cs.ucla.edu>
47458         Port to platforms where NULL is a pointer
47460         * src/image.c (x_create_x_image_and_pixmap):
47461         The Picture type is an integer, not a pointer.
47462         Come to think of it, Picture is really XID, and as
47463         far as I can tell, all-bits-one is the invalid XID,
47464         not all-bits-zero.  However that is a bigger issue;
47465         for now, this patch just unbreaks the build.
47467 2019-01-18  Eli Zaretskii  <eliz@gnu.org>
47469         Improve documentation of portable dumping
47471         * src/pdumper.c (Fdump_emacs_portable): Improve the doc string
47472         and the error messages.
47474         * doc/lispref/internals.texi (Building Emacs): Document
47475         portable dumping and the 'dump-emacs-portable' function.
47477 2019-01-18  Glenn Morris  <rgm@gnu.org>
47479         Merge from origin/emacs-26
47481         b6d78a0 (origin/emacs-26) Fix a typo in ELisp manual
47482         c9f6f86 Prevent redrawing if frame is garbaged
47483         00ba226 Attempt to fix hangs on MS-Windows due to C-g
47484         b26d637 Fix Calc graph output on MS-Windows
47485         03818b0 Fix a minor mistake in ELisp manual
47486         6ac5985 ; Fix some trivial doc typos
47487         21b9026 * etc/tutorials/TUTORIAL: Fix typo (bug#34049)
47488         d223727 Fix UI of Buffer-menu
47489         0f71655 Reinitialize ispell-really-enchant when changing the speller
47490         9845044 Speed up loading css-mode
47492 2019-01-18  Eli Zaretskii  <eliz@gnu.org>
47494         Clean up memory allocation and unexec support on MS-Windows
47496         * src/w32heap.c (report_temacs_memory_usage): Condition on
47497         !CANNOT_DUMP, in addition to ENABLE_CHECKING.
47498         (init_heap): Accept an argument, which tells us what heap
47499         allocation method to use.
47500         (DUMPED_HEAP_SIZE) [CANNOT_DUMP]: Define to a small value, as
47501         we don't use dumped_data[] in this case.
47502         * src/w32heap.h (init_heap): Adjust prototype.
47503         <using_dynamic_heap>: Remove declaration.
47504         * src/emacs.c (main) [WINDOWSNT]: Determine heap allocation
47505         method based on whether we are in temacs and whether unexec
47506         will be used to dump Emacs.  Pass the heap allocation method
47507         to init_heap, which is now called after parsing the
47508         --temacs=METHOD option.
47509         * src/unexw32.c (unexec): Don't fiddle with using_dynamic_heap.
47510         <using_dynamic_heap>: Remove definition.
47511         * src/w32proc.c (malloc_before_init, realloc_before_init)
47512         (free_before_init): New functions, to catch memory allocation
47513         before heap allocation method is set up.
47515 2019-01-17  Dmitry Gutov  <dgutov@yandex.ru>
47517         Rebase project-find-regexp on top of project-files
47519         * lisp/progmodes/project.el (project--files-in-directory):
47520         New function.
47521         (project-files, project-find-regexp): Use it.
47522         (project--dir-ignores): New function.
47523         (project--find-regexp-in): Remove.
47524         (project--process-file-region): New function.
47525         (project--find-regexp-in-files): New function.
47526         (project-find-regexp, project-or-external-find-regexp): Use it, and
47527         project-files as well.
47529 2019-01-17  Dmitry Gutov  <dgutov@yandex.ru>
47531         Make 'project-files' the "canonical" generic of the two
47533         * lisp/progmodes/project.el (project-files): Move the actual
47534         command building and invocation here.
47535         (project-file-completion-table): Delegate to 'project-files'.
47537 2019-01-17  Stefan Monnier  <monnier@iro.umontreal.ca>
47539         * lisp/textmodes/sgml-mode.el: Try and fix bug#33887.
47541         Remove redundant :group args.
47542         (sgml-syntax-propertize-rules): Speed up processing of most double quotes.
47544 2019-01-17  João Távora  <joaotavora@gmail.com>
47546         Fix electric-pair-tests by disabling bug#33794's fix with a variable
47548         The variable c--disable-fix-of-bug-33794, which should be removed in
47549         the short term in favor of a permanent solution, is introduced.
47551         It is bound to nil by default.  This means that breakage is still
47552         happening in actual c-mode and c++-mode usage, though the tests no
47553         longer show it.
47555         To get around this breakage, put
47557            (setq c--disable-fix-of-bug-33794 t)
47559         In your init file.  Evidently, you will lose the fix for bug#33794,
47560         but that only affects a small corner case of c-toggle-auto-newline,
47561         which is not turned on by default.
47563         See https://lists.gnu.org/archive/html/emacs-devel/2019-01/msg00360.html
47564         for more information.
47566         * lisp/progmodes/cc-cmds.el (c--disable-fix-of-bug-33794): New
47567         variable.
47568         (c--with-post-self-insert-hook-maybe): New macro.
47569         (c-electric-pound, c-electric-brace, c-electric-slash)
47570         (c-electric-star, c-electric-semi&comma, c-electric-colon)
47571         (c-electric-lt-gt, c-electric-paren): Use it.
47572         (c-electric-paren, c-electric-brace): Check
47573         c--disable-fix-of-bug-33794.
47575         * test/lisp/electric-tests.el (c--disable-fix-of-bug-33794):
47576         Forward declare.
47577         (electric-pair-test-for)
47578         (electric-layout-int-main-kernel-style)
47579         (electric-modes-in-c-mode-with-self-insert-command): Use it.
47581 2019-01-17  João Távora  <joaotavora@gmail.com>
47583         Revert "Temporarily comment out CC Mode from tests..."
47585         This reverts commit 54f297904e0c641fcfd81f16e9a87177124a27be.
47587 2019-01-17  Martin Rudalics  <rudalics@gmx.at>
47589         Fix wording in Window Hooks section of Elisp manual
47591         * doc/lispref/windows.texi (Window Hooks): Fix wording in
47592         description of window change functions.  Suggested by Robert
47593         Pluim <rpluim@gmail.com>.
47595 2019-01-17  Alan Third  <alan@idiocy.org>
47597         Be more specific with XRender bit-depths (bug#34051)
47599         * src/image.c (x_create_x_image_and_pixmap): Fail gracefully if a bit
47600         depth is requested that XRender doesn't support.
47602 2019-01-17  João Távora  <joaotavora@gmail.com>
47604         Simplify ignored extensions filtering in Icomplete (bug#34070)
47606         * lisp/icomplete.el: Use lexical binding.
47607         (icomplete-completions): Use minibuffer-completion-predicate
47608         to filter out completion-ignored-extensions.
47610 2019-01-17  João Távora  <joaotavora@gmail.com>
47612         Revert "Fix icomplete's cycling when filename filtering kicks in"
47614         This reverts commit cdb082322d4209c5104bc1a98b21bf3dd75e8f17, which
47615         was a fix for bug#34070.  A much better fix to be added soon.
47617 2019-01-17  João Távora  <joaotavora@gmail.com>
47619         Fix flymake-proc--delete-temp-directory if temp dir ends in slash
47621         (Bug#34074)
47623         Reported by 林宝龙 <lbl52001@gmail.com>.
47625         * lisp/progmodes/flymake-proc.el
47626          (flymake-proc--delete-temp-directory):  Use directory-file-name.
47628 2019-01-17  Alan Mackenzie  <acm@muc.de>
47630         Temporarily comment out CC Mode from tests which are incompatible with it.
47632         * test/lisp/electric-tests.el (electric-pair-test-for): comment out c++-mode from the
47633         list of modes to be used in tests.
47634         (electric-pair-whitespace-chomping-2-at-point-4-in-c++-mode-in-strings)
47635         (ert-deftest electric-layout-int-main-kernel-style)
47636         (ert-deftest electric-layout-int-main-allman-style): Comment out.
47638 2019-01-17  Glenn Morris  <rgm@gnu.org>
47640         Fix --enable-profiling builds (bug#34099)
47642         * src/profiler.c (syms_of_profiler_for_pdumper):
47643         Only set cpu_log if CPU profiling is enabled.
47645 2019-01-17  Martin Rudalics  <rudalics@gmx.at>
47647         Expand spectrum of window change functions
47649         * src/window.c (run_window_change_functions): Run window
47650         change functions for Qwindow_state_change_functions.
47651         (resize_frame_windows): Set frame's window_change slot when
47652         single-window frames change size.
47653         (Qwindow_state_change_functions): New symbol.
47654         (Vwindow_state_change_functions): New Lisp variable.
47655         * doc/lispref/windows.texi (Selecting Windows): Mention
47656         'window-selection/state-change-functions' and add reference to
47657         Window Hooks.
47658         (Window Hooks): Document 'window-state-change-functions'.
47659         * etc/NEWS: Mention new hook 'window-state-change-functions'.
47661 2019-01-16  Paul Eggert  <eggert@cs.ucla.edu>
47663         Port pdumper to older GNU/Linux
47665         Problem reported by Colin Baxter in:
47666         https://lists.gnu.org/r/emacs-devel/2019-01/msg00321.html
47667         * src/alloc.c (my_heap_start): Also define if
47668         GNU_LINUX && CANNOT_DUMP && DOUG_LEA_MALLOC.
47670 2019-01-16  Daniel Colascione  <dancol@dancol.org>
47672         Fix segfault in profiler after pdump load
47674         Move initialization of the profiler's hash test to static
47675         initialization from the syms function so that pdumper doesn't need to
47676         bother capturing it in any special way.
47678         * src/profiler.c (cmpfn_profiler, hashfn_profiler):
47679         forward declare.
47680         (hashtest_profiler): statically initialize.
47681         (syms_of_profiler): remove dynamic initialization of
47682         hashtest_profiler.
47684 2019-01-16  Paul Eggert  <eggert@cs.ucla.edu>
47686         * doc/lispref/processes.texi (Accepting Output): Simplify.
47688 2019-01-16  Daniel Colascione  <dancol@dancol.org>
47690         Fix previous change: use correct pdumper function
47692 2019-01-16  Daniel Colascione  <dancol@dancol.org>
47694         Fix crash in charset detection after pdumper load
47696         * src/coding.c:
47697         (reset_coding_after_pdumper_load): new function re-init character
47698         classes after pdumper load.
47699         (syms_of_coding): Call it.
47701 2019-01-16  Andy Moreton  <andrewjmoreton@gmail.com>
47703         Avoid compilation warnings in MS-Windows build
47705         * src/pdumper.c (dump_cold_bignum):
47706         * src/emacs.c(load_pdump) [WINDOWSNT]: Avoid compiler warnings
47707         due to 64-bit vs 32-bit data type mismatches.
47709 2019-01-16  Eli Zaretskii  <eliz@gnu.org>
47711         Improve documentation of pdumper; minor code cleanup
47713         * src/emacs.c (usage_message): Add the --dump-file option.
47714         (string_starts_with_p, find_argument): Functions removed; use
47715         'argmatch' instead.
47716         (PDUMP_FILE_ARG): Macro removed; use literal strings instead,
47717         as with other command-line options.  Use HAVE_PDUMPER for cpp
47718         conditionals which used PDUMP_FILE_ARG.
47719         (load_pdump, main): Use 'argmatch' for "--dump-file" and
47720         "--temacs" arguments, thus supporting the "-dump-file" and
47721         "-temacs" variants, for consistency with other options.
47722         (main): Remove the extra fatal error for using --dump-file in
47723         unexec'ed Emacs: load_pdump does that anyway.
47724         (standard_args): Add --dump-file and --temacs, with
47725         appropriate priorities.
47727         * etc/NEWS: Expand on the pdumper support.
47729         * doc/emacs/cmdargs.texi (Initial Options): Document the
47730         '--dump-file' command-line option.
47732 2019-01-16  Eli Zaretskii  <eliz@gnu.org>
47734         Fix minor glitch with producing 'emacs' executable
47736         * src/Makefile.in (LC_ALL) [!DUMPING]: Don't overwrite
47737         previous emacs-X.Y.Z executables with new ones.
47739 2019-01-16  Michael Albinus  <michael.albinus@gmx.de>
47741         Some accept-process-output cleanups in Tramp
47743         * lisp/net/tramp.el (tramp-action-out-of-band): Read process
47744         output in a loop.
47745         (tramp-accept-process-output): Return result.
47746         (tramp-interrupt-process):
47747         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
47748         * lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
47749         Remove FIXME.
47751         * lisp/net/tramp-sh.el (tramp-local-coding-commands): Fix docstring.
47753         * lisp/net/tramp-smb.el (tramp-smb-wait-for-output): Adapt docstring.
47754         Simplify code.
47756         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
47757         Adapt docstring.  Read process output in a loop.
47759         * test/lisp/net/tramp-tests.el (tramp-test43-asynchronous-requests):
47760         Remove :unstable tag on emba.
47762 2019-01-16  Glenn Morris  <rgm@gnu.org>
47764         * make-dist: Include src/dmpstruct.awk.
47766 2019-01-15  Paul Eggert  <eggert@cs.ucla.edu>
47768         Fix unlikely races with GnuTLS, datagrams
47770         Retry some calls if interrupted at inopportune times.
47771         These were found by code inspection.
47772         * src/gnutls.c (gnutls_try_handshake): Simplify by using
47773         new emacs_gnutls_handle_error API.
47774         (emacs_gnutls_write): Remove GNUTLS_E_AGAIN hack since
47775         emacs_gnutls_handle_error now does that.
47776         Use emacs_gnutls_handle_error only on errors.
47777         (emacs_gnutls_read): Retry if gnutls_record_recv returns
47778         GNUTLS_E_INTERRUPTED, to be consistent with emacs_read.
47779         (emacs_gnutls_handle_error): Return 0 on fatal errors,
47780         -1 (setting errno) on ordinary errors, to simplify callers.
47781         Assume that ERR is negative, since it always is now.
47782         Map non-fatal GnuTLS errors to errno values as best we can.
47783         * src/process.c (read_process_output) [DATAGRAM_SOCKETS]:
47784         Retry recvfrom if it is interrupted, to be consistent with
47785         how things are handled when not a datagram channel.
47786         (send_process) [DATAGRAM_SOCEKTS]: If sendto is interrupted,
47787         process pending signals and retry it, to be consistent with
47788         how things are handled when not a datagram channel.
47790 2019-01-15  Daniel Colascione  <dancol@dancol.org>
47792         Make sure dump-mode is nil after dump
47794         * lisp/loadup.el (dump-mode): Bind dump-mode to nil before dumping
47796 2019-01-15  Daniel Colascione  <dancol@dancol.org>
47798         Add NEWS for pdumper
47800 2019-01-15  Daniel Colascione  <dancol@dancol.org>
47802         Add portable dumper
47804         Add a new portable dumper as an alternative to unexec.  Use it by default.
47806         * src/dmpstruct.awk: New file.
47807         * src/doc.c (get_doc_string): use will_dump_p().
47808         * src/editfns.c (styled_format): silence compiler warning
47809         with UNINIT.
47810         * src/emacs-module.c (syms_of_module): staticpro ltv_mark.
47811         * src/emacs.c (gflags): new variable.
47812         (init_cmdargs): unwrap
47813         (string_starts_with_p, find_argument, dump_error_to_string)
47814         (load_pdump): new functions.
47815         (main): detect pdumper and --temacs invocation; actually load
47816         portable dump when detected; set gflags as appropriate; changes to
47817         init functions throughout to avoid passing explicit
47818         'initialized' argument.
47819         * src/eval.c (inhibit_lisp_code): remove unused variable.
47820         (init_eval_once_for_pdumper): new function.
47821         (init_eval_once): call it.
47822         * src/filelock.c: CANNOT_DUMP -> will_dump_p()
47823         * src/fingerprint-dummy.c: new file
47824         * src/fingerprint.h: new file
47825         * src/fns.c: CANNOT_DUMP -> will_dump_p(), etc.
47826         (weak_hash_tables): remove
47827         (hashfn_equal, hashfn_eql): un-staticify
47828         (make_hash_table): set new 'next_weak' hash table field; drop
47829         global weak_hash_tables logic.
47830         (copy_hash_table): drop global weak_hash_tables logic.
47831         (hash_table_rehash): new function.
47832         (hash_lookup, hash_put, hash_remove_from_table, hash_clear):
47833         rehash if needed.
47834         (sweep_weak_table): un-staticify; explain logic; bool-ify.
47835         (sweep_weak_hash_tables): remove function.
47836         * src/font.c (syms_of_font): remember pdumper stuff.
47837         * src/fontset.c (syms_of_fontset): remember pdumper stuff.
47838         * src/frame.c (make_initial_frame): don't reset Vframe_list.
47839         (init_frame_once_for_pdumper, init_frame_once): new functions.
47840         (syms_of_frame): remove redundant staticpro.
47841         * src/fringe.c (init_fringe_once_for_pdumper): new function.
47842         (init_fringe_once): call it.
47843         * src/ftcrfont.c (syms_of_ftcrfont_for_pdumper): new function.
47844         (syms_of_ftcrfont): call it.
47845         * src/ftfont.c (syms_of_ftfont_for_pdumper): new function.
47846         (syms_of_ftfont): call it.
47847         * src/ftxfont.c (syms_of_ftxfont_for_pdumper): new function.
47848         (syms_of_ftxfont): call it.
47849         * src/gmalloc.c: adjust for pdumper throughout
47850         (DUMPED): remove weird custom dumped indicator.
47851         * src/gnutls.c (syms_of_gnutls): pdumper note for
47852         gnutls_global_initialized.
47853         * src/image.c (syms_of_image): add pdumper comment,
47854         initializer note.
47855         * src/insdel.c (prepare_to_modify_buffer_1): account
47856         for buffer contents possibly being in dump image.
47857         * src/keyboard.c (syms_of_keyboard_for_pdumper): new function.
47858         (syms_of_keyboard): staticpro more; call pdumper syms function.
47859         * src/lisp.h: add comments throughout
47860         (gflags): declare.
47861         (will_dump_p, will_bootstrap_p, will_dump_with_pdumper_p)
47862         (dumped_with_pdumper_p, will_dump_with_unexec_p)
47863         (dumped_with_unexec_p, definitely_will_not_unexec_p): new
47864         functions.
47865         (POWER_OF_2, ROUNDUP): move macros.
47866         (PSEUDOVECTOR_TYPE, PSEUDOVECTOR_TYPEP): take vectorlike header
47867         pointer instead of vector; constify.
47868         (Lisp_Hash_Table): add comment about need to rehash on access; add
47869         comment for next_weak.
47870         (HASH_KEY, HASH_VALUE, HASH_HASH, HASH_TABLE_SIZE): const-ify.
47871         (hash_table_rehash): declare.
47872         (hash_rehash_needed_p, hash_rehash_if_needed): new functions.
47873         (finalizers, doomed_finalizers): declare extern.
47874         (SUBR_SECTION_ATTRIBUTE): new macro.
47875         (staticvec, staticidx): un-static-ify.
47876         (sweep_weak_hash_tables): remove declaration.
47877         (sweep_weak_table): declare.
47878         (hashfn_eql, hashfn_equal): declare.
47879         (number_finalizers_run): new variable.
47880         (Vdead): externify when ENABLE_CHECKING.
47881         (gc_root_type): new enumeration.
47882         (gc_root_visitor): new struct.
47883         (visit_static_gc_roots): declare.
47884         (vectorlike_nbytes): declare.
47885         (vector_nbytes): define as trivial inline function wrapper for
47886         vectorlike_nbytes.
47887         (init_obarray_once): change signature.
47888         (primary_thread): extern-ify.
47889         (init_buffer): change signature.
47890         (init_frame_once): declare.
47891         * src/lread.c (readevalloop): adjust for new dumped predicates.
47892         (init_obarray_once): new function.
47893         (ndefsubr): new variable.
47894         (defsubr): increment it.
47895         (load_path_check): adjust for pdumper.
47896         (load_path_default): use pdumper functions; adjust for
47897         dump search.
47898         * src/macfont.m (macfont_init_font_change_handler): avoid
47899         shadowing global.
47900         (syms_of_macfont_for_pdumper): new function.
47901         (syms_of_macfont): call it.
47902         * src/menu.c (syms_of_menu): staticpro more stuff.
47903         * src/minibuf.c (Ftry_completion): rehash if needed.
47904         (init_minibuf_once_for_pdumper): new function.
47905         (init_minibuf_once): call it.
47906         * src/nsfont.m (syms_of_nsfns): staticpro more.
47907         * src/nsfont.m (syms_of_nsfont_for_pdumper): new function.
47908         (syms_of_nsfont): call it.
47909         * src/nsterm.m (syms_of_nsfont): remember pdumper stuff.
47910         * src/pdumper.c: new file.
47911         * src/pdumper.h: new file.
47912         * src/process.c (init_process_emacs): use new pdumper functions
47913         instead of CANNOT_DUMP.
47914         * src/profiler.c (syms_of_profiler_for_pdumper): new function.
47915         (syms_of_profiler_for_pdumper): call it.
47916         * src/search.c (syms_of_search_for_pdumper): new function.
47917         (syms_of_search_for_pdumper): call it.
47918         * src/sheap.c (bss_sbrk_did_unexec): remove.
47919         * src/sheap.h (bss_sbrk_did_unexec): remove.
47920         * src/syntax.c (syms_of_syntax): don't redundantly staticpro
47921         re_match_object.
47922         * src/sysdep.c: use will_dump_with_unexec_p() instead of bss
47923         hack thing.
47924         * src/syssignal.h (init_sigsegv): declare.
47925         * src/systime.h (init_timefns): remove bool from signature.
47926         * src/textprop.c (syms_of_textprop): move staticpro.
47927         * src/thread.c (main_thread_p): constify.
47928         * src/thread.h (main_thread_p): constify.
47929         * src/timefns.c (init_timefns): remove bool from signature.
47930         (syms_of_timefns_for_pdumper): new function.
47931         (syms_of_timefns): call it.
47932         * src/w32.c: rearrange code.
47933         * src/w32.h (w32_relocate): declare.
47934         * src/w32fns.c (syms_of_w32fns): add pdumper note.
47935         * src/w32font.c (syms_of_w32font_for_pdumper): new function.
47936         (syms_of_w32font): call it.
47937         * src/w32heap.c (using_dynamic_heap): new variable.
47938         (init_heap): use it.
47939         * src/w32menu.c (syms_of_w32menu): add pdumper note.
47940         * src/w32proc.c
47941         (ctrl_c_handler, mainCRTStartup, _start, open_input_file)
47942         (rva_to_section, close_file_data): move here.
47943         * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper):
47944         new function.
47945         (syms_of_w32uniscribe): call it.
47946         * src/window.c (init_window_once_for_pdumper): new function.
47947         (init_window_once): call it; staticpro more stuff.
47948         * src/xfont.c (syms_of_xfont_for_pdumper): new function.
47949         (syms_of_xfont): call it.
47950         * src/xftfont.c (syms_of_xftfont_for_pdumper): new function.
47951         (syms_of_xftfont): call it.
47952         * src/xmenu.c (syms_of_xmenu_for_pdumper): new function.
47953         (syms_of_xmenu): call it.
47954         * src/xselect.c (syms_of_xselect_for_pdumper): new function.
47955         (syms_of_xselect): call it.
47956         * src/xsettings.c (syms_of_xsettings): add more pdumper notes.
47957         * src/term.c (syms_of_xterm): add pdumper note.
47959         * src/dispnew.c (init_faces_initial): new function.
47960         (init_display_interactive): rename from init_display; use
47961         will_dump_p instead of !initialized.  Initialize faces early for
47962         pdumper if needed.
47963         (init_display): new function.
47964         (syms_of_display_for_pdumper): new function.
47965         (syms_of_display): call it.
47967         * src/dbusbind.c (syms_of_dbusbind): Add TODO for bus reset
47968         on pdumper load.
47970         * src/data.c (Fdefalias): Use will_dump_p
47971         instead of Vpurify_flag.
47972         (Fmake_variable_buffer_local): silence compiler warning with -Og
47973         by making valcontents UNINIT.
47974         (arith_driver): silence compiler warning with UNINIT.
47976         * src/conf_post.h (ATTRIBUTE_SECTION): new macro.
47978         * src/composite.c (composition_gstring_put_cache): rehash hash
47979         table if needed.
47981         * src/coding.c (init_coding_once, syms_of_coding): remember
47982         pdumper stuff.
47984         * src/charset.h (charset_table_size, charset_table_user): declare.
47986         * src/charset.c (charset_table_used, charset_table_size): un-static.
47987         (init_charset_oncem, syms_of_charset): remember pdumper stuff.
47989         * src/category.c (category_table_version): remove obsolete
47990         variable.
47992         * src/callint.c (syms_of_callint): staticpro 'preserved_fns'
47993         (init_callproc): use will_dump_p instead of !CANNOT_DUMP.
47995         * src/bytecode.c (exec_byte_code): rehash table tables if needed
47997         * src/buffer.c (alloc_buffer_text, free_buffer_text): account for
47998         pdumper
47999         (init_buffer_once): add TODO; remember stuff for pdumper.
48000         (init_buffer): don't take initialized argument; adjust
48001         for pdumper.
48003         * src/atimer.c (init_atimer): initialize subr only if
48004         !initialized.
48006         * src/alloc.c: (vector_marked_p, set_vector_marked)
48007         (vectorlike_marked_p, set_vectorlike_marked, cons_marked_p)
48008         (set_cons_marked, string_marked_p, set_string_marked)
48009         (symbol_marked_p, set_symbol_marked, interval_marked_p)
48010         (set_interval_marked): new accessor routines.  Use them
48011         instead of raw GC access throughout.
48012         (Vdead): make non-static when ENABLE_CHECKING.
48013         (vectorlike_nbytes): rename of 'vector_nbytes'; take a vectorlike
48014         header as input instead of a vector.
48015         (number_finalizers_run): new internal C variable.
48016         (mark_maybe_object): check for pdumper objects.
48017         (valid_pointer_p): don't be gratuitously inefficient under rr(1).
48018         (make_pure_c_string): add support for size_byte = -2 mode
48019         indicating that string data points into Emacs image rodata.
48020         (visit_vectorlike_root): visits GC roots embedded in
48021         vectorlike objects.
48022         (visit_buffer_root): visits GC roots embedded in
48023         our totally-not-a-buffer buffer global objects.
48024         (visit_static_gc_roots): visit GC roots in the Emacs data section.
48025         (mark_object_root_visitor): root callback used for conventional GC
48026         marking
48027         (weak_hash_tables): new internal variable for tracking found weak
48028         hash tables during GC.
48029         (mark_and_sweep_weak_table_contents): new weak hash table marking.
48030         (garbage_collect_1): use new GC root visitor machinery.
48031         (mark_vectorlike): accept a vectorlike_header instead of a
48032         Lisp_Vector.
48033         (mark_frame, mark_window, mark_hash_table): new functions.
48034         (mark_object): initialize 'm'; check for pdumper objects and use
48035         new mark-bit accessors throughout.  Remove some object-specific
48036         marking code and move to helper functions above.
48037         (survives_gc_p): check for pdumper objects.
48038         (gc-sweep): clear pdumper mark bits.
48039         (init_alloc_once_for_pdumper): new helper function for early init
48040         called both during normal init and pdumper load.
48041         (init_alloc_once): pdumper integration.
48043         * src/Makefile.in: Rewrite dumping for pdumper; add pdumper.o;
48044         invoke temacs with --temacs command line option; build dmpstruct.h
48045         from dmpstruct.awk; stop relying on CANNOT_DUMP; clean up pdumper
48046         intermediate files during build.
48048         * nextstep/Makefile.in: build emacs.pdmp into NS packages
48050         * lisp/startup.el: account for new '--temacs' and '--dump-file'
48051         command line option.
48053         * lisp/loadup.el: rewrite early init to account for pdumper; use
48054         injected 'dump-mode' variable (set via the new '--temacs' option)
48055         instead of parsing command line.
48057         * lisp/cus-start.el: Check 'dump-mode' instead of 'purify-flag',
48058         since the new 'dump-mode'
48060         * lib-src/make-fingerprint.c: new program
48062         * lib-src/Makefile.in: built make-fingerprint utility program
48064         * configure.ac: Add --with-pdumper toggle to control pdumper
48065         support; add --with-unexec toggle to control unexec support.
48066         Add --with-dumping option to control which dumping strategy we use
48067         by default.  Adjust for pdumper throughout.  Check for
48068         posix_madvise.
48070         * Makefile.in: Add @DUMPING@ substitution; add pdumper mode.
48072         * .gitignore: Add make-fingerprint, temacs.in, fingerprint.c,
48073         dmpstruct.h, and pdumper dump files.
48075 2019-01-15  Paul Eggert  <eggert@cs.ucla.edu>
48077         Avoid using obsolete accept-process-output arg
48079         * lisp/gnus/nnheader.el (nnheader-accept-process-output):
48080         * lisp/net/dns.el (dns-query):
48081         * lisp/net/imap.el (imap-wait-for-tag):
48082         * lisp/net/network-stream.el (network-stream-get-response):
48083         * lisp/net/pop3.el (pop3-accept-process-output):
48084         * lisp/obsolete/starttls.el (starttls-negotiate-gnutls)
48085         (starttls-open-stream-gnutls):
48086         * lisp/server.el (server-eval-at):
48087         * lisp/textmodes/ispell.el (ispell-accept-output):
48088         Do not depend on the obsolete milliseconds argument of
48089         accept-process-output.
48091 2019-01-15  Paul Eggert  <eggert@cs.ucla.edu>
48093         Fix accept-process-output/process-live-p confusion
48095         * doc/lispref/processes.texi (Accepting Output):
48096         Document the issue.
48097         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
48098         * lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
48099         * lisp/net/tramp-smb.el (tramp-smb-wait-for-output):
48100         * lisp/net/tramp.el (tramp-interrupt-process):
48101         * test/src/process-tests.el (make-process/mix-stderr):
48102         Fix code that uses accept-process-output and process-live-p.
48103         Add FIXME comments as necessary.
48104         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
48105         * lisp/net/tramp.el (tramp-action-out-of-band):
48106         Add FIXME comments as necessary.
48108 2019-01-15  Alan Mackenzie  <acm@muc.de>
48110         Make CC Mode and electric-pair-mode work together.  This fixes bug #33794
48112         * lisp/progmodes/cc-cmds.el (c-electric-pound, c-electric-slash)
48113         (c-electric-star, c-electric-semi&comma, c-electric-colon, c-electric-lt-gt):
48114         Bind post-self-insert-hook to nil around calls to self-insert-command to
48115         protect against arbitrary functionality confusing CC Mode.
48116         (c-do-brace-electrics): New function, extracted from c-electric-brace and
48117         enhanced.
48118         (c-electric-brace): Bind post-self-insert-hook to nil around the call to
48119         self-insert-command.  When electric-pair-mode is configured, call
48120         electric-pair-post-self-insert-function.  Handle any deletion done by this
48121         function.  Call c-do-brace-electrics for the inserted brace, and perhaps for a
48122         brace inserted by electric-pair-self-insert-function.
48123         (c-electric-paren): Bind post-self-insert-hook to nil around the call to
48124         self-insert-command.  When electric-pair-mode is configured, call
48125         electric-pair-post-self-insert-function.
48127 2019-01-14  Philipp Stephani  <phst@google.com>
48129         Disable electric quotes for most files in the Emacs codebase.
48131         * .dir-locals.el: Disable electric quotes in comments and strings for
48132         C, Emacs Lisp, and Texinfo, as the Emacs codebase doesn't use them.
48134 2019-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
48136         * lisp/emacs-lisp/package.el (package-activate-all): Fix last change
48138         * lisp/emacs-lisp/package.el (package-activate-all): Silence load msg
48140 2019-01-14  João Távora  <joaotavora@gmail.com>
48142         Fix icomplete's cycling when filename filtering kicks in
48144         (Bug#34070)
48146         * lisp/icomplete.el (icomplete--filtered-completions): New variable.
48147         (icomplete-forward-completions, icomplete-backward-completions):
48148         Use it.
48149         (icomplete-completions): Set it.
48151 2019-01-14  Robert Pluim  <rpluim@gmail.com>
48153         Improve some of the breve/caron/cedilla mappings
48155         * lisp/leim/quail/latin-pre.el ("latin-prefix"): Describe new 'c with
48156         cedilla mapping'.  Extend caron description.  Correct dot above
48157         description.  Add new mappings for 'a with breve' and 'c with caron'.
48158         Add additional mapping for 'c with cedilla'.  Delete ~o mapping for 'g
48159         with dot above'.
48161 2019-01-14  Robert Pluim  <rpluim@gmail.com>
48163         Fix some breve and dot above related doc strings
48165         * lisp/leim/quail/latin-pre.el ("romanian-prefix"): Correct
48166         description of 'a with breve'.
48167         ("romanian-alt-prefix"): Correct description of 'a
48168         with breve'.  Reformat other entries for consistency.
48169         ("latin-3-prefix"): Correct 'dot above' description.
48171 2019-01-13  Paul Eggert  <eggert@cs.ucla.edu>
48173         Fix translation-region bug with MAX_CHAR
48175         Also, clean up the code a bit.
48176         Actually I discovered the bug while cleaning up the code.
48177         * src/editfns.c (Fsubst_char_in_region)
48178         (Ftranslate_region_internal): Use bool for booleans.
48179         (Ftranslate_region_internal): Fix off-by-1 bug when a
48180         translation table translates the maximum char.  Assume C99
48181         decl-after-statement, similar minor cleanups.
48182         * test/src/editfns-tests.el (test-translate-region-internal):
48183         New test.
48185 2019-01-13  Paul Eggert  <eggert@cs.ucla.edu>
48187         Minor overflow fix in translate-region-internal
48189         * src/editfns.c (Ftranslate_region_internal):
48190         Use ptrdiff_t, not int, for a count that might exceed INT_MAX.
48192 2019-01-12  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
48194         Check that feature exist in `sql-set-product-feature' (Bug#30494).
48196         * lisp/progmodes/sql.el (sql-set-product-feature): Add test for
48197         feature existence.
48199 2019-01-11  Glenn Morris  <rgm@gnu.org>
48201         Remove some obsolete stub files from etc/
48203         * etc/CENSORSHIP, etc/FTP, etc/GNU, etc/LINUX-GNU, etc/MORE.STUFF:
48204         * etc/ORDERS, etc/THE-GNU-PROJECT, etc/WHY-FREE:
48205         Remove stub files that were marked obsolete 5 years ago.
48207 2019-01-11  Martin Rudalics  <rudalics@gmx.at>
48209         Run window change functions during redisplay
48211         * doc/lispref/windows.texi (Window Sizes): Move (and rename)
48212         descriptions of 'window-pixel-height-before-size-change' and
48213         'window-pixel-width-before-size-change' to Window Hooks
48214         section.
48215         (Window Configurations): Remove warning against use of
48216         'save-window-excursion' in 'window-size-change-functions'.
48217         (Window Hooks): Rewrite section according to redesign of
48218         window change functions.
48219         * lisp/erc/erc-track.el (erc-window-configuration-change)
48220         (erc-modified-channels-update): Call latter directly from
48221         'window-configuration-change-hook' instead via
48222         'post-command-hook'.
48223         * lisp/frame.el (frame-size-changed-p): Change nomenclature
48224         in let bindings.
48225         * lisp/net/rcirc.el (rcirc-window-configuration-change)
48226         (rcirc-window-configuration-change-1): Call latter directly
48227         from 'window-configuration-change-hook' instead via
48228         'post-command-hook'.
48229         * lisp/window.el (window-pixel-width-before-size-change)
48230         (window-pixel-height-before-size-change): Defalias.
48231         (window--resize-mini-window, window-resize)
48232         (adjust-window-trailing-edge, delete-window)
48233         (delete-other-windows, balance-windows): Don't run
48234         'window-configuration-change-hook' any more from here.
48235         (split-window): Don't run 'window-configuration-change-hook'
48236         from here.  'run-window-scroll-functions' from here.
48237         (window--adjust-process-windows): Run from
48238         'window-configuration-change-hook' only.
48239         * src/frame.c (old_selected_frame): New Lisp variable.
48240         (make_frame): Initialize frame's change_stamp slot.
48241         (Fold_selected_frame): New function.
48242         * src/frame.h (struct frame): New slots old_selected_window,
48243         window_change, change_stamp and number_of_windows.
48244         (fset_old_selected_window): New inlined function.
48245         (FRAME_WINDOW_CHANGE, FRAME_OLD_SELECTED_WINDOW): New macros.
48246         * src/window.c (old_selected_window): New Lisp variable.
48247         (wset_old_buffer): New inlined function.
48248         (Fframe_old_selected_window, Fold_selected_window)
48249         (Fwindow_old_buffer): New functions.
48250         (Fwindow_old_pixel_width, Fwindow_old_pixel_height): Rename
48251         from Fwindow_pixel_width_before_size_change and
48252         Fwindow_pixel_height_before_size_change.  Update doc-strings.
48253         (Fwindow_old_body_pixel_width, Fwindow_old_body_pixel_height):
48254         New functions.
48255         (Fdelete_other_windows_internal): Set frame's window_change
48256         slot instead of running 'window-configuration-change-hook'.
48257         (Frun_window_configuration_change_hook): In doc-string tell
48258         that this function is no more needed.
48259         (Frun_window_scroll_functions): Amend doc-string.  Run with
48260         window's buffer current.
48261         (window_sub_list, window_change_record_windows)
48262         (window_change_record_frame, window_change_record)
48263         (run_window_change_functions_1, run_window_change_functions):
48264         New functions.
48265         (set_window_buffer): Set frame's window_change slot instead of
48266         running 'window-configuration-change-hook'.
48267         (make_window): Don't initialize pixel_width_before_size_change
48268         and pixel_height_before_size_change slots.
48269         (window_resize_apply, Fdelete_window_internal): Set frame's
48270         window_change slot.
48271         (Fsplit_window_internal): Set frame's window_change slot.
48272         Don't run 'window-scroll-functions' from here.
48273         * src/window.h (struct window): New slots old_buffer,
48274         change_stamp, old_pixel_width (renamed from
48275         pixel_width_before_size_change), old_pixel_height (renamed
48276         from pixel_height_before_size_change), old_body_pixel_width
48277         and old_body_pixel_height.
48278         * src/xdisp.c (init_iterator): Set frame's window_change slot
48279         when the body height or width changes.
48280         (prepare_menu_bars): Don't run_window_size_change_functions.
48281         (redisplay_internal): Don't run_window_size_change_functions,
48282         run_window_change_functions instead.
48284 2019-01-10  Paul Eggert  <eggert@cs.ucla.edu>
48286         List lengths are always fixnums now
48288         Without this patch, it was theoretically possible for a list
48289         length to be a bignum, which means that safe-length could
48290         signal an error (due to generating a too-large bignum) contrary
48291         to its documentation.  Fix things to remove the theoretical
48292         possibility, so that list lengths are always fixnums (and so
48293         that list lengths are always ptrdiff_t values too, since that
48294         is assumed internally anyway).
48295         * src/alloc.c (Fcons): Do not allocate so many conses that
48296         a list length won’t fit into ptrdiff_t or into fixnum.
48297         This matters only on weird platforms; on typical platforms,
48298         list lengths always fit anyway.
48299         * src/fns.c (list_length, Fsafe_length, proper-list-p):
48300         Remove integer overflow checks that are no longer needed.
48302 2019-01-10  Paul Eggert  <eggert@cs.ucla.edu>
48304         Minor tweaks to HAVE_NATIVE_SCALING code
48306         This mostly just reindents.
48307         * src/image.c (x_set_image_size): Always define, but to a no-op
48308         if !HAVE_NATIVE_SCALING, to avoid an #ifdef elsewhere.
48309         (x_create_x_image_and_pixmap): Move decl to avoid an #ifdef.
48310         (image_create_x_image_and_pixmap): Move #ifdef outside of call.
48311         * src/xterm.c (x_composite_image): Avoid ‘else #endif’.
48313 2019-01-10  Alan Third  <alan@idiocy.org>
48315         Add native image scaling (bug#33587)
48317         * configure.ac: Test for XRender outside of xft checks.
48318         * src/Makefile.in (XRENDER_LIBS): List XRender libs separately from
48319         xft libs.
48320         * lisp/image.el (image--get-imagemagick-and-warn): Allow resizing if
48321         native scaling is available.
48322         * src/dispextern.h: Add XRender and image scaling stuff.
48323         (struct image): Add XRender Pictures.
48324         * src/image.c (x_create_bitmap_mask):
48325         (image_create_x_image_and_pixmap): Handle XRender Picture.
48326         (scale_image_size):
48327         (compute_image_size): Make available when any form of scaling is
48328         enabled.
48329         (x_set_image_size): New function.
48330         (lookup_image): Set image size.
48331         (x_create_x_image_and_pixmap): Create XRender Picture when necessary.
48332         (x_put_x_image): Handle the case where desired size != actual size.
48333         (free_image): Free XRender Pictures.
48334         (Fimage_scaling_p): New function.
48335         (syms_of_image): Add image-scaling-p.
48336         * src/nsimage.m (ns_load_image): Remove NS specific resizing.
48337         ([EmacsImage setSizeFromSpec:]): Remove method.
48338         (ns_image_set_size): New function.
48339         * src/nsterm.m (ns_draw_fringe_bitmap): Cocoa and GNUstep both have
48340         the same compositing functions, so remove unnecessary difference.
48341         * src/xterm.c (x_composite_image): New function.
48342         (x_draw_image_foreground): Use new x_composite_image function.
48343         * doc/lispref/display.texi (Image Descriptors): Document
48344         image-scaling-p and add resizing descriptors.
48345         (ImageMagick Images): Remove resizing descriptors.
48347 2019-01-10  Alan Third  <alan@idiocy.org>
48349         Fix drag and drop behaviour on NS (bug#30929)
48351         * doc/emacs/macos.texi (Mac / GNUstep Events): Describe the new drag
48352         and drop behaviour.
48353         * lisp/term/ns-win.el (ns-drag-n-drop): Handle the new event format.
48354         (ns-drag-n-drop-other-frame):
48355         (ns-drag-n-drop-as-text):
48356         (ns-drag-n-drop-as-text-other-frame): Remove functions and key
48357         bindings.
48358         * src/nsterm.m ([EmacsView performDragOperation:]): Send Emacs event
48359         in new format without setting any modifiers.
48361 2019-01-10  Michael Albinus  <michael.albinus@gmx.de>
48363         New test custom--test-theme-variables
48365         * test/lisp/custom-tests.el (custom--test-user-option)
48366         (custom--test-variable): New variables.
48367         (custom--test-theme-variables): New test.
48369         * test/lisp/custom-resources/custom--test-theme.el (custom--test):
48370         New file.
48372 2019-01-10  Martin Rudalics  <rudalics@gmx.at>
48374         Handle dedicated status in 'window--display-buffer' (Bug#33870)
48376         * lisp/window.el (display-buffer-record-window): Rewrite
48377         doc-string.
48378         (window--display-buffer): Remove fifth argument DEDICATED and
48379         either directly use a 'dedicated' entry in ALIST or the value
48380         of 'display-buffer-mark-dedicated' instead.
48381         (display-buffer-in-atom-window, display-buffer-use-some-frame)
48382         (display-buffer-pop-up-frame, display-buffer-pop-up-window)
48383         (display-buffer-below-selected, display-buffer-at-bottom):
48384         Adjust callers of 'window--display-buffer'.
48385         (window--make-major-side-window)
48386         (display-buffer-in-side-window): Handle dedicated status of
48387         the chosen side window via a 'dedicated' alist entry and
48388         adjust 'window--display-buffer' call.
48389         (display-buffer-in-child-frame): Set up TYPE correctly for and
48390         adjust 'window--display-buffer' call.
48391         (display-buffer-in-previous-window): Handle dedicated status
48392         of a previous window already showing BUFFER.
48393         * doc/lispref/windows.texi (Buffer Display Action Alists): New
48394         action alist entry 'dedicated'.
48395         (Dedicated Windows): Mention new buffer display action alist
48396         entry 'dedicated'.
48397         * etc/NEWS: Mention new buffer display action alist entry
48398         'dedicated'.
48400 2019-01-09  Paul Eggert  <eggert@cs.ucla.edu>
48402         Mention Japanese change in documentation
48404 2019-01-09  Yasuhiro KIMURA  <yasu@utahime.org>
48406         Change preferred Japanese coding system to UTF-8
48408         * lisp/language/japan-util.el (setup-japanese-environment-internal):
48409         Use utf-8 as preferred coding system instead of japanese-iso-8bit when
48410         system is not MS-Windows. And while I'm at it, fix comment to fit current
48411         implementation.  (Bug#28705)
48413 2019-01-09  Paul Eggert  <eggert@cs.ucla.edu>
48415         Use shortcuts for Flength
48417         When calculating the length of a Lisp object whose type is
48418         known, use a specialized length operation on it to save a bit
48419         of runtime overhead.
48420         * src/callint.c (Fcall_interactively):
48421         * src/minibuf.c (read_minibuf_unwind):
48422         Use ASIZE rather than Flength on values that must be vectors.
48423         * src/charset.c (Fsort_charsets):
48424         * src/coding.c (detect_coding_sjis):
48425         (Fdefine_coding_system_internal):
48426         * src/data.c (wrong_choice):
48427         * src/eval.c (Flet, eval_sub, Fapply, apply_lambda):
48428         * src/fns.c (sort_list):
48429         * src/font.c (font_vconcat_entity_vectors)
48430         (font_find_for_lface):
48431         * src/frame.c (Fmodify_frame_parameters):
48432         * src/fringe.c (get_logical_fringe_bitmap):
48433         * src/ftfont.c (ftfont_get_open_type_spec):
48434         * src/gtkutil.c (xg_print_frames_dialog):
48435         * src/lread.c (read1, read_vector):
48436         * src/keymap.c (Fkey_description):
48437         * src/kqueue.c (Fkqueue_add_watch):
48438         * src/macfont.m (macfont_get_open_type_spec):
48439         * src/menu.c (parse_single_submenu, x_popup_menu_1):
48440         * src/minibuf.c (Finternal_complete_buffer):
48441         * src/nsfont.m (ns_findfonts, nsfont_list_family):
48442         * src/process.c (Fmake_process):
48443         * src/search.c (Fset_match_data):
48444         * src/xfaces.c (Fx_family_fonts):
48445         Use list_length rather than Flength on values that must be lists.
48446         * src/fns.c (list_length): New function.
48447         (Flength): Use it.
48448         * src/nsfont.m (ns_findfonts):
48449         Use !NILP (x) rather than XFIXNUM (Flength (x)) != 0.
48450         * src/xdisp.c (store_mode_line_string):
48451         Use SCHARS rather than Flength on values that must be strings.
48453 2019-01-08  Stefan Monnier  <monnier@iro.umontreal.ca>
48455         * src/window.c (save_window_save): Revert part of d82e73f
48457         ...made unnecessary by a058edae.
48459 2019-01-08  Paul Eggert  <eggert@cs.ucla.edu>
48461         * admin/notes/unicode: Update to match recent changes.
48463 2019-01-08  Stefan Monnier  <monnier@iro.umontreal.ca>
48465         * lisp/emacs-lisp/map.el: Prepare for addition to GNU ELPA
48467         * lisp/help-fns.el (help--load-prefixes): Demote errors from files.
48469 2019-01-08  Michael Albinus  <michael.albinus@gmx.de>
48471         Fix nasty cut'n'waste error in Tramp
48473         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
48474         Remove weird code, resulting from cut'n'waste.
48476 2019-01-08  Michael Albinus  <michael.albinus@gmx.de>
48478         Adapt .gitlab-ci.yml
48480         * .gitlab-ci.yml (variables): Move outside jobs.  Use
48481         "GIT_STRATEGY: fetch".
48482         (before_script): Install git.
48483         (test-all): Rename from test.  Install inotify-tools.  Run "make
48484         check-expensive".
48485         (test-filenotify-gio): New job.
48487 2019-01-07  Leo Liu  <sdl.web@gmail.com>
48489         * lisp/progmodes/js.el: Remove unused (require 'thingatpt).
48491 2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>
48493         Use utf-8 coding system for all our Elisp files
48495         * lisp/international/ja-dic-cnv.el:
48496         * lisp/international/ja-dic-utl.el:
48497         * lisp/international/kinsoku.el:
48498         * lisp/international/kkc.el:
48499         * lisp/language/japan-util.el:
48500         * lisp/language/japanese.el:
48501         * lisp/leim/quail/cyril-jis.el:
48502         * lisp/leim/quail/hanja-jis.el:
48503         * lisp/leim/quail/japanese.el:
48504         * lisp/leim/quail/py-punct.el:
48505         * lisp/leim/quail/pypunct-b5.el: Use utf-8 coding system.
48506         * lisp/international/titdic-cnv.el: Use utf-8-emacs coding system.
48508 2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>
48510         * lisp/international/titdic-cnv.el: Save generated files with utf-8
48512         (titdic-convert, miscdic-convert): Use utf-8 when writing and don't
48513         bother putting a `coding:` tag since utf-8 is the default anyway.
48515 2019-01-07  Glenn Morris  <rgm@gnu.org>
48517         Merge from origin/emacs-26
48519         f1ce72b ; ChangeLog.3 update
48520         5b59cf0 * etc/AUTHORS: Update.
48521         2cf20b6 * lisp/textmodes/mhtml-mode.el: Avoid loading flyspell.  (Bug...
48523         # Conflicts:
48524         #       ChangeLog.3
48525         #       lisp/textmodes/mhtml-mode.el
48527 2019-01-07  Glenn Morris  <rgm@gnu.org>
48529         Merge from origin/emacs-26
48531         0ecff00 Improve commentary in font.h
48532         a058eda Fix definition of Qwindow_point_insertion_type (Bug#33871)
48534 2019-01-07  Glenn Morris  <rgm@gnu.org>
48536         Merge from origin/emacs-26
48538         5f2aa32 Update Unicode copyright notice
48540 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
48542         Adapt tests for emba
48544         * test/lisp/filenotify-tests.el (file-notify-test03-events)
48545         (file-notify-test05-file-validity)
48546         (file-notify-test06-dir-validity)
48547         (file-notify-test07-many-events)
48548         (file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.
48550 2019-01-06  Paul Eggert  <eggert@cs.ucla.edu>
48552         Minor INFINITY/NAN cleanup
48554         * src/lread.c (INFINITY): Use a more-portable way to specify
48555         this macro on non-C99 platforms that lack it.
48556         (NAN): Remove; unused.
48558 2019-01-06  Paul Eggert  <eggert@cs.ucla.edu>
48560         Fix logb on zero, infinite, NaN args
48562         Change logb to return -infinity, +infinity, and NaN respectively.
48563         Formerly logb returned an extreme fixnum to represent
48564         infinity, but this is no longer the right thing to do now that
48565         we have bignums and there is no extreme integer.
48566         * doc/lispref/numbers.texi (Float Basics), etc/NEWS: Document.
48567         * src/floatfns.c (Flogb): Implement this.
48569 2019-01-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
48571         Use integers for syntax-pps-stats
48573         * lisp/emacs-lisp/syntax.el (syntax-ppss-stats):
48574         Use integers, not floating-point, for stats, now that integers are
48575         unbounded.  Almost always these should be fixnums.  Add 1 to last
48576         slot’s car so that this addition need not be done at runtime.
48577         (syntax-pps-stats, syntax-ppss): Use integers for calculations.
48578         (syntax-ppss--update-stats): New convenience function.
48579         (syntax-ppss): Use it.
48581 2019-01-06  Michael Albinus  <michael.albinus@gmx.de>
48583         Adapt filenotify-tests for emba
48585         * test/lisp/filenotify-tests.el (file-notify-test03-events)
48586         (file-notify-test05-file-validity)
48587         (file-notify-test06-dir-validity)
48588         (file-notify-test07-many-events)
48589         (file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.
48591 2019-01-05  Khaled Hosny  <khaledhosny@eglug.org>
48593         Always set explicit HarfBuzz buffer direction
48595         If no direction was given by the caller, I assume the text will be drawn
48596         left to right, if this is not the case then callers must provide
48597         sensible direction. Letting HarfBuzz guess the direction is not
48598         appropriate since shaping and drawing must use the same direction.
48600         Also move hb_buffer_guess_segment_properties() call to the end, so it
48601         only guessing unset properties, until we completely get rid of it.
48603 2019-01-05  Khaled Hosny  <khaledhosny@eglug.org>
48605         We need the bidi level not the paragraph direction
48607 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
48609         Port to platforms where tputs is in libtinfow
48611         * configure.ac (tputs_library): Also try tinfow, ncursesw (Bug#33977).
48613 2019-01-05  João Távora  <joaotavora@gmail.com>
48615         New flymake-supress-zero-counters defcustom
48617         A feature suggested by Yuri Khan <yurivkhan@gmail.com>.
48619         * lisp/progmodes/flymake.el (flymake-suppress-zero-counters): New
48620         variable.  (flymake--mode-line-format): Use it.
48622 2019-01-05  João Távora  <joaotavora@gmail.com>
48624         Fix Flymake tests for GCC 8.2.0
48626         (Bug#33872)
48628         "Now you have two problems..."
48630         * lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics):
48631         Adjust regexp.
48633 2019-01-05  John Shahid  <jvshahid@gmail.com>  (tiny change)
48635         Unbreak Flymake's diagnostics buffer when revisiting source
48637         (Bug#33881)
48639         * lisp/progmodes/flymake.el (flymake-show-diagnostics-buffer):
48640         Set flymake--diagnostics-buffer-source before reverting.
48642 2019-01-05  Drew Adams  <drew.adams@oracle.com>
48644         Don't signal error from "C-x C-k l" about mouse events
48646         * lisp/edmacro.el (edmacro-fix-menu-commands): Ignore mouse
48647         events instead of signaling an error.  Display unsupported
48648         events in the error message.  (Bug#33930)
48650 2019-01-05  Joel Rosdahl  <joel@rosdahl.net>  (tiny change)
48652         Fix electric indent bug in python-mode after dedenting colon
48654         * lisp/progmodes/python.el (python-indent-post-self-insert-function):
48655         Use markers instead of positions when reindenting statement(s) after
48656         inserting electric colon to avoid reindenting too many
48657         statements (bug#22663).
48659         * test/lisp/progmodes/python-tests.el (python-indent-electric-colon-2):
48660         Improve test case to also verify the fix of bug#22663.
48662 2019-01-04  Eli Zaretskii  <eliz@gnu.org>
48664         Improve documentation of 'server-name'
48666         * doc/emacs/misc.texi (Emacs Server, TCP Emacs server)
48667         (emacsclient Options):
48668         * lisp/server.el (server-name): Document the usage of
48669         'server-name' to specify the server file as an absolute file
48670         name.  (Bug#33934)
48672 2019-01-03  Michael Albinus  <michael.albinus@gmx.de>
48674         Mark some filenotify tests unstable on emba
48676         * .gitlab-ci.yml (test): Add EMACS_EMBA_CI variable.
48678         * test/lisp/filenotify-tests.el (file-notify-test03-events)
48679         (file-notify-test05-file-validity)
48680         (file-notify-test06-dir-validity)
48681         (file-notify-test07-many-events)
48682         (file-notify-test09-watched-file-in-watched-dir): Mark them as
48683         :unstable on emba.
48685 2019-01-03  Michael Albinus  <michael.albinus@gmx.de>
48687         Adapt test/README
48689         * test/README: Speak about continuous integration tests on hydra
48690         and emba.
48692 2019-01-03  Andrey Kotlarski  <m00naticus@gmail.com>
48694         Fix EBROWSE parsing of classes declared final.
48696 2019-01-02  Philipp Stephani  <phst@google.com>
48698         Avoid a compiler warning on macOS.
48700         * src/xdisp.c (expose_window_tree): Define variable f only if used.
48702 2019-01-02  Nicolas Petton  <nicolas@petton.fr>
48704         Document the new functions of seq.el
48706         * etc/NEWS: New section documenting the addition of `seq-first' and
48707         `seq-rest'.
48709 2019-01-02  Eli Zaretskii  <eliz@gnu.org>
48711         Fix text direction of the HarfBuzz shaping buffer
48713         * src/indent.c (scan_for_column, compute_motion):
48714         * src/xdisp.c (CHAR_COMPOSED_P): Pass PDIR argument to
48715         composition_reseat_it.
48716         * src/composite.c (composition_reseat_it): Accept an
48717         additional argument PDIR that provides the current paragraph's
48718         base direction; all callers changed.  Use PDIR to fix
48719         calculation of the DIRECTION argument to autocmp_chars.
48720         (Bug#33944)
48721         * src/composite.h: Include dispextern.h.
48722         (composition_reseat_it): Update prototype.
48724 2019-01-02  João Távora  <joaotavora@gmail.com>
48726         Extend electric-layout-mode to handle more complex layouts (bug#33794)
48728         Entries in electric-layout-rules can specify multiple
48729         newline-related actions which are executed in order of appearance.
48731         Also, have it play nice with electric-pair-mode when inserting a
48732         newlines, particularly with electric-pair-open-newline-between-pairs.
48734         Entries in electric-layout-rules can also be functions.  Among other
48735         things, the logic behind electric-pair-open-newline-between-pairs
48736         could now be moved to electric-layout-mode, but this commit doesn't do
48737         that yet.
48739         This change was motivated by bug#33794 and is an alternative solution
48740         to the problem reported in that bug.
48742         * lisp/electric.el (electric-layout-rules): Adjust docstring.
48743         (electric-layout-post-self-insert-function): Call
48744         electric-layout-post-self-insert-function-1.
48745         (electric-layout-post-self-insert-function-1): Rename from
48746         electric-layout-post-self-insert-function.  Redesign.
48747         (electric-layout-local-mode): New minor mode.
48749         * test/lisp/electric-tests.el (electric-layout-int-main-kernel-style)
48750         (electric-layout-int-main-allman-style)
48751         (electric-modes-in-c-mode-with-self-insert-command)
48752         (electric-pair-mode-newline-between-parens)
48753         (electric-layout-mode-newline-between-parens-without-e-p-m)
48754         (electric-layout-mode-newline-between-parens-without-e-p-m-2): New
48755         tests.
48756         (plainer-c-mode): New helper.
48758 2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>
48760         Don’t limit range error reports to fixnums
48762         * src/lisp.h (CHECK_RANGED_INTEGER): When signaling an error,
48763         don’t arbitrarily limit the reported valid range to fixnums.
48765 2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>
48767         Bignums from garbage-collect, memory-use-counts
48769         Do not limit the results of garbage-collect and memory-use-counts
48770         to fixnums, as they might be bignums now on 32-bit hosts.
48771         * src/lisp.h (byte_ct): New type.
48772         * src/alloc.c (object_ct): New type.
48773         (consing_since_gc, gc_relative_threshold)
48774         (memory_full_cons_threshold, total_string_bytes):
48775         Now byte_ct, not EMACS_INT.
48776         (total_conses, total_symbols, total_buffers, total_free_conses)
48777         (total_free_symbols, total_free_floats, total_floats)
48778         (total_free_intervals, total_intervals, total_strings)
48779         (total_free_strings, total_vectors, total_vector_slots)
48780         (total_free_vector_slots): Now object_ct, not EMACS_INT.
48781         (bounded_number): Remove.  All uses removed.
48782         (object_bytes): New function.
48783         (total_bytes_of_live_objects, garbage_collect_1): Use byte_ct,
48784         not size_t, to count total GC bytes where multiple objects are
48785         involved.
48786         (garbage_collect_1, Fmemory_use_counts):
48787         Do not limit returned counts to fixnums.
48788         (sweep_conses, sweep_floats, sweep_intervals, sweep_symbols):
48789         Use object_ct, not EMACS_INT, to count GC objects.
48791 2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>
48793         Be consistent about list length fixnum overflow
48795         * src/fns.c (Flength, Fproper_list_p): Use overflow_error to
48796         report the (typically impossible) fixnum overflow.
48798 2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>
48800         Fix woman.el to not confuse scan-sexps
48802         * lisp/woman.el (woman-unpadded-space-char):
48803         Escape the close-bracket (Bug#33940).
48805 2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>
48807         decode-time: allow bignum years
48809         * src/timefns.c (TM_YEAR_BASE):
48810         Now a constant as it need not be a macro.
48811         (Fdecode_time): Do not signal an overflow merely because the
48812         Gregorian year number does not fix in a fixnum (which can
48813         happen on hosts with 64-bit time_t and with 32-bit int and
48814         EMACS_INT).
48816 2018-12-31  Paul Eggert  <eggert@cs.ucla.edu>
48818         Fix integer overflow check in json code
48820         * src/json.c (json_to_lisp): Check for ptrdiff_t overflow,
48821         not fixnum overflow.
48823 2018-12-31  Paul Eggert  <eggert@cs.ucla.edu>
48825         Update more copyright years
48827         Update some other copyright years automatically, by running:
48828         Run 'UPDATE_COPYRIGHT_YEAR=2019 \
48829         UPDATE_COPYRIGHT_USE_INTERVALS=1 \
48830         UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 admin/update-copyright'
48831         followed by 'admin/merge-gnulib'.
48833 2018-12-31  Paul Eggert  <eggert@cs.ucla.edu>
48835         Update from Gnulib
48837         This incorporates mostly just copyright-year changes, plus
48838         recent minor updates from glibc for the non-Emacs regular
48839         expression code.
48841 2018-12-31  Paul Eggert  <eggert@cs.ucla.edu>
48843         Merge from origin/emacs-26
48845         2fcf2df Fix copyright years by hand
48846         26bed8b Update copyright year to 2019
48847         2814292 Fix value of default frame height.  (Bug#33921)
48849 2018-12-31  Paul Eggert  <eggert@cs.ucla.edu>
48851         Remove UCHAR typedef
48853         * src/lisp.h (_UCHAR_T, UCHAR): Remove.  This workaround for
48854         circa-1993 old-AIX has evidently not been needed for decades.
48855         Tested on AIX 7.1, the oldest AIX version IBM still supports.
48857 2018-12-31  Michael Albinus  <michael.albinus@gmx.de>
48859         Reset `tramp-default-proxies-alist' in case of errors
48861         * lisp/net/tramp-sh.el (tramp-compute-multi-hops):
48862         Reset `tramp-default-proxies-alist' in case of errors.
48864 2018-12-31  Michael Albinus  <michael.albinus@gmx.de>
48866         Precise documentation of Tramp ad-hoc proxies
48868         * doc/misc/tramp.texi (Ad-hoc multi-hops): Remove superfluous
48869         first entry about %h and %u.  Describe, how to remove ad-hoc proxy
48870         definitions.
48871         (Cleanup remote connections): Mention, that also ad-hoc proxy
48872         definitions are removed.
48874         * etc/NEWS: Mention default host names in Tramp ad-hoc proxies.
48876 2018-12-31  Michael Albinus  <michael.albinus@gmx.de>
48878         * lisp/files.el (locate-file, files--splice-dirname-file): Fix docstring.
48880 2018-12-30  Paul Eggert  <eggert@cs.ucla.edu>
48882         Fix assertion-violations on non-integers
48884         These bugs were introduced after bignums were added.
48885         * src/data.c (cons_to_unsigned, cons_to_signed):
48886         * src/xdisp.c (calc_line_height_property):
48887         Invoke integer_to_intmax and integer_to_uintmax only on integers.
48889 2018-12-30  Glenn Morris  <rgm@gnu.org>
48891         Merge from origin/emacs-26
48893         82c82b1 (origin/emacs-26) In user manual fix value of default frame h...
48894         2e8825d Improve documentation of 'file-local-name' and related APIs
48895         11f0635 ; Remove comment in esh-proc.el
48897         # Conflicts:
48898         #       lisp/simple.el
48900 2018-12-30  Glenn Morris  <rgm@gnu.org>
48902         Merge from origin/emacs-26
48904         3abebeb * lisp/files.el (cd): Fix last change.  (Bug#33791)
48905         7a60a4f Fix remote directories in Eshell on MS-Windows
48906         822a2d0 Fix :type 'group' in defcustom
48907         a731c56 Fix NS fringe bitmap drawing bug (bug#33864)
48908         0c52459 Fix commentary in dispnew.c
48909         c9fdd1b Improve accept-process-process doc
48910         9578c2a Fix a simple bug in display-buffer-use-some-frame
48911         0f9be72 Clarify thread switching while waiting for process output
48912         24ddea0 Improve process doc. with respect to handling of large input ...
48913         2931016 ; Cosmetic changes in etc/NEWS
48914         85516b8 Minor copyedits in landmark.el
48916         # Conflicts:
48917         #       etc/NEWS
48919 2018-12-30  Alan Mackenzie  <acm@muc.de>
48921         CC Mode - use font-lock-comment-delimiter-face on block comment end delimiters
48923         In particular when the default comment type is currently line comments.  Do
48924         this by setting font-lock-comment-end-skip.
48926         * lisp/progmodes/cc-cmds.el (c-font-lock-comment-end-skip): New lang const.
48927         (font-lock-comment-end-skip): New c-lang-setvar.
48929 2018-12-30  Martin Rudalics  <rudalics@gmx.at>
48931         Handle 'unbound' like nil for 'window-point-insertion-type' (Bug#33871)
48933         * src/window.c (save_window_save): When setting the marker
48934         insertion type of saved window points treat a buffer local
48935         value of 'unbound' for 'window-point-insertion-type' like
48936         nil (Bug#33871).
48938 2018-12-29  Dmitry Gutov  <dgutov@yandex.ru>
48940         Skip 'basic' completion style for project-find-file
48942         * lisp/minibuffer.el (completion-category-defaults): Skip 'basic'
48943         for 'project-file', in order not to prefer files at the top of the
48944         directory tree.
48946 2018-12-29  Mattias Engdegård  <mattiase@acm.org>
48948         Handle raw bytes, and LF in ranges, in rx `any' argument strings
48950         * lisp/emacs-lisp/rx.el (rx-check-any-string): Rewrite to handle raw bytes
48951         in unibyte strings and accept LF as range endpoints (Bug#33205).
48952         * test/lisp/emacs-lisp/rx-tests.el: Add tests for the above.
48954 2018-12-29  Eli Zaretskii  <eliz@gnu.org>
48956         Provide text directionality and language to HarfBuzz shaper
48958         * lisp/language/tv-util.el (tai-viet-composition-function):
48959         * lisp/language/ethio-util.el (ethio-composition-function):
48960         * lisp/language/japanese.el (compose-gstring-for-variation-glyph):
48961         * lisp/language/thai-util.el (thai-composition-function):
48962         * lisp/language/misc-lang.el (arabic-shape-gstring):
48963         * lisp/language/lao-util.el (lao-composition-function):
48964         * lisp/language/hebrew.el (hebrew-shape-gstring):
48965         * lisp/composite.el (compose-gstring-for-graphic)
48966         (compose-gstring-for-dotted-circle, auto-compose-chars)
48967         (compose-gstring-for-terminal): Accept 2nd argument DIRECTION; all
48968         callers changed.
48970         * src/composite.c (composition_reseat_it): Call
48971         auto-composition-function with one more argument DIRECTION.
48972         (syms_of_composite) <auto-composition-function>: Update the doc
48973         string.
48974         * src/ftfont.c (ftfont_shape_by_hb): Compute language and
48975         direction, and set buffer properties accordingly.
48976         * src/composite.c (autocmp_chars):
48977         * src/w32uniscribe.c (uniscribe_shape):
48978         * src/xftfont.c (xftfont_shape):
48979         * src/ftfont.c (ftfont_shape, ftfont_shape_by_hb):
48980         * src/font.c (Ffont_shape_gstring): Accept an additional argument
48981         DIRECTION.
48982         * src/macfont.m (lgstring_direction): New enum.
48983         (mac_font_shape_1, mac_screen_font_shape, mac_font_shape):
48984         Accept an additional argument specifying text direction.  All
48985         callers changed.
48986         * src/font.c (syms_of_font): New symbols QL2R and QR2L.
48987         * src/font.h (shape): Accept new argument DIRECTION.  All
48988         implementations changed.  (Bug#33729)
48989         (ftfont_shape): Update prototype.
48991 2018-12-29  Martin Rudalics  <rudalics@gmx.at>
48993         Avoid that unwind_format_mode_line messes up buffer points (Bug#32777)
48995         * src/xdisp.c (format_mode_line_unwind_data): Before
48996         temporarily selecting a window on another frame, separately save
48997         the point of that window's buffer too.
48998         (unwind_format_mode_line): After undoing the temporary
48999         selection of a window on another frame, separately restore the
49000         buffer point of that window.  This is needed since the
49001         operation that deselects that window will have stored back the
49002         point of that window into its buffer's point which is wrong
49003         since that window was never "officially" selected (Bug#32777).
49005 2018-12-28  Dmitry Gutov  <dgutov@yandex.ru>
49007         project-find-file: Move the common parent directory to the prompt
49009         * lisp/progmodes/project.el (project--completing-read-strict):
49010         Extract the common parent directory of all files first
49011         (https://lists.gnu.org/archive/html/emacs-devel/2018-12/msg00444.html).
49013 2018-12-28  Michael Albinus  <michael.albinus@gmx.de>
49015         * lisp/net/tramp-sh.el (tramp-set-remote-path): Handle platforms w/o getconf.
49017 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
49019         Improve motivations in gomoku messages
49021         * lisp/play/gomoku.el (gomoku-terminate-game):
49022         Don't make six-year-old children cry (Bug#33803).
49024 2018-12-27  Paul Pogonyshev  <pogonyshev@gmail.com>
49026         Accept 1-arg 'substring' calls in byte compiler
49028         Those have been supported by the function implementation since
49029         commit 2014-03-31T12:06:34Z!dmantipov@yandex.ru (Bug#33807).
49030         * lisp/emacs-lisp/bytecomp.el: substring has 1-3 args, not 2-3.
49032 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
49034         Update from Gnulib
49036         * build-aux/config.guess, lib/regcomp.c, lib/regex.c:
49037         * lib/regex_internal.h, lib/regexec.c: Copy from Gnulib.
49039 2018-12-27  Eli Zaretskii  <eliz@gnu.org>
49041         Avoid assertion violation in directory-files
49043         * src/dired.c (directory_files_internal): Make sure MATCH is
49044         either nil or a string.  (Bug#33889)
49046 2018-12-27  Michael Albinus  <michael.albinus@gmx.de>
49048         Bump Tramp version to 2.4.1
49050         * doc/misc/trampver.texi:
49051         * lisp/net/tramp.el:
49052         * lisp/net/trampver.el: Change version to "2.4.1".
49054 2018-12-27  Martin Rudalics  <rudalics@gmx.at>
49056         Fix last change of debug.el
49058         * lisp/emacs-lisp/debug.el (debug): In noninteractive calls do
49059         the buffer text truncation in the debugger buffer.
49061 2018-12-26  Dmitry Gutov  <dgutov@yandex.ru>
49063         Tone down diff-refine-removed and diff-refine-added as well
49065         * lisp/vc/diff-mode.el (diff-refine-removed, diff-refine-added):
49066         Change backgrounds in light backgrounds themes (bug#33567).
49068 2018-12-26  Paul Eggert  <eggert@cs.ucla.edu>
49070         Port message-checksum to bignums
49072         * lisp/gnus/message.el (message--rotate-fixnum-left): New function.
49073         (message-checksum): Use it instead of assuming fixnum-only arithmetic.
49074         This should fix Bug#33083.
49076 2018-12-26  Martin Rudalics  <rudalics@gmx.at>
49078         Set up debugger buffer earlier and fit window to it (Bug#32825)
49080         * lisp/emacs-lisp/debug.el (debug): Set up debugger buffer
49081         before displaying it and advise 'display-buffer' to fit the
49082         window to it (Bug#32825).
49084 2018-12-25  Dmitry Gutov  <dgutov@yandex.ru>
49086         Tone down diff-added and diff-removed in light themes
49088         * lisp/vc/diff-mode.el (diff-removed, diff-added): Tone down
49089         light background colors (bug#33567).
49091 2018-12-25  Juri Linkov  <juri@linkov.net>
49093         * lisp/isearch.el (isearch-done): Reset isearch-lazy-highlight-last-string
49095         to nil (bug#33838).
49096         (isearch-lazy-highlight-new-loop)
49097         (isearch-lazy-highlight-buffer-update): Don't set arg ELLIPSIS of
49098         isearch-message to t to not reset the value of isearch-error.
49100 2018-12-25  Juri Linkov  <juri@linkov.net>
49102         * lisp/vc/diff-mode.el (diff-syntax-fontify-hunk): Add `*' to names
49104         of ephemeral buffers like in " *org-src-fontification:%s*" from
49105         `org-src-font-lock-fontify-block'.  (Bug#33567)
49106         (diff-header, diff-file-header): Tone down light background colors.
49108 2018-12-25  Dmitry Gutov  <dgutov@yandex.ru>
49110         Prepend 'rubocop' with 'bundle exec' when appropriate
49112 2018-12-25  Dmitry Gutov  <dgutov@yandex.ru>
49114         Use rubocop --lint when no .rubocop.yml
49116         * lisp/progmodes/ruby-mode.el (ruby-flymake-rubocop): When no
49117         config file found, only run lint cops (bug#31760).
49119 2018-12-25  Michael Albinus  <michael.albinus@gmx.de>
49121         Provide tramp-adb-handle-make-process
49123         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
49124         Add `tramp-adb-handle-make-process' and
49125         `tramp-handle-start-file-process'.
49126         (tramp-adb-handle-make-process): New defun, derived from
49127         `tramp-adb-handle-start-file-process'.  (Bug#28691)
49129 2018-12-24  Michael Albinus  <michael.albinus@gmx.de>
49131         Provide tramp-sh-handle-make-process
49133         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
49134         Add `tramp-sh-handle-make-process' and
49135         `tramp-handle-start-file-process'.
49136         (tramp-sh-handle-make-process): New defun, derived from
49137         `tramp-sh-handle-start-file-process'.  (Bug#28691)
49139         * lisp/net/tramp.el (tramp-handle-start-file-process): New defun.
49141         * test/lisp/net/tramp-tests.el (tramp-test30-make-process):
49142         New test.
49143         (tramp-test31-interrupt-process, tramp-test32-shell-command)
49144         (tramp-test33-environment-variables)
49145         (tramp-test33-environment-variables-and-port-numbers)
49146         (tramp-test34-explicit-shell-file-name, tramp-test35-exec-path)
49147         (tramp-test35-remote-path, tramp-test36-vc-registered)
49148         (tramp-test37-make-auto-save-file-name)
49149         (tramp-test38-find-backup-file-name)
49150         (tramp-test39-make-nearby-temp-file)
49151         (tramp-test40-special-characters)
49152         (tramp-test40-special-characters-with-stat)
49153         (tramp-test40-special-characters-with-perl)
49154         (tramp-test40-special-characters-with-ls, tramp-test41-utf8)
49155         (tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl)
49156         (tramp-test41-utf8-with-ls, tramp-test42-file-system-info)
49157         (tramp-test43-asynchronous-requests, tramp-test44-auto-load)
49158         (tramp-test44-delay-load, tramp-test44-recursive-load)
49159         (tramp-test44-remote-load-path, tramp-test45-unload): Rename.
49161 2018-12-23  Dmitry Gutov  <dgutov@yandex.ru>
49163         xref-goto-xref: Highlight the exact symbol after the jump
49165         * lisp/progmodes/xref.el (xref-goto-xref): Bind
49166         'xref--current-item' to highlight the exact symbol after the jump
49167         and not the whole line.
49169 2018-12-23  Dmitry Gutov  <dgutov@yandex.ru>
49171         execute-extended-command: Skip waiting in more cases
49173         * lisp/simple.el (execute-extended-command): Don't wait when
49174         there's no binding the current command, and the user doesn't want
49175         to see "shorter" suggestions, or TYPED is nil anyway.
49177 2018-12-23  Khaled Hosny  <khaledhosny@eglug.org>
49179         Clarify one FIXME a bit
49181 2018-12-23  Khaled Hosny  <khaledhosny@eglug.org>
49183         Cache HarfBuzz buffer
49185         Potentially faster and less memory allocations. I did not do any
49186         measurements though, so possibly a micro optimization.
49188 2018-12-23  Khaled Hosny  <khaledhosny@eglug.org>
49190         Remove one more FIXME
49192 2018-12-23  Michael Albinus  <michael.albinus@gmx.de>
49194         Handle `make-process' in Tramp and ange-ftp
49196         * doc/lispref/processes.texi (Asynchronous Processes):
49197         Explain, that not all file name handlers support `make-process'.
49199         * lisp/net/ange-ftp.el:
49200         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
49201         * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
49202         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
49203         * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
49204         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
49205         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
49206         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
49207         * lisp/net/tramp.el (tramp-file-name-for-operation): Add `make-process'.
49209         * lisp/vc/ediff-util.el:
49210         * src/process.c:
49211         * test/src/process-tests.el: Use "file name handler" consequently.
49213 2018-12-22  Juri Linkov  <juri@linkov.net>
49215         * lisp/simple.el (next-error-no-select): Use save-selected-window.
49217         Let-bind display alist of display-buffer-overriding-action to
49218         `(inhibit-same-window . t)'.  (Bug#32607)
49220 2018-12-22  Philipp Stephani  <p.stephani2@gmail.com>
49222         Add file name handler support for 'make-process' (Bug#28691)
49224         * src/process.c (Fmake_process): Add new keyword argument
49225         ':file-handler'.
49226         (syms_of_process) <make-process, :file-handler>: Define new symbols.
49228         * lisp/files.el (file-name-non-special): Add support for
49229         'make-process'.
49231         * test/src/process-tests.el (make-process/file-handler/found)
49232         (make-process/file-handler/not-found)
49233         (make-process/file-handler/disable): New unit tests.
49234         (process-tests--file-handler): New helper function.
49236         * test/lisp/files-tests.el
49237         (files-tests-file-name-non-special-make-process): New unit test.
49239         * doc/lispref/files.texi (Magic File Names): Document that
49240         'make-process' can invoke file name handlers.
49242         * doc/lispref/processes.texi (Asynchronous Processes): Document
49243         ':file-handlers' argument to 'make-process'.
49245         * etc/NEWS (Lisp Changes in Emacs 27.1): Mention new
49246         :file-handler argument for 'make-process'.
49248 2018-12-22  Eli Zaretskii  <eliz@gnu.org>
49250         * etc/HELLO: Add missing charset properties for Japanese and Korean.
49252 2018-12-22  Charles A. Roelli  <charles@aurox.ch>
49254         Macroexpand before evaluating in eval-expression (bis)
49256         * lisp/simple.el (eval-expression): Macroexpand before
49257         evaluating.  This repeats the fix made for Bug#20730 in
49258         another branch of the code a few lines down.
49260 2018-12-22  Khaled Hosny  <khaledhosny@eglug.org>
49262         Replace another FIXME with a TODO and expanded comment
49264         Replace a FIXME with an expanded comment
49266 2018-12-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
49268         ldap.el: Do not set process-connection-type
49270         * lisp/net/ldap.el (ldap-search-internal): Leave
49271         process-connection-type at its default value.  (Bug#33050)
49273 2018-12-22  Michael Albinus  <michael.albinus@gmx.de>
49275         Use "file name handler" consequently
49277         * doc/lispref/files.texi:
49278         * doc/lispref/processes.texi:
49279         * doc/misc/ediff.texi:
49280         * lisp/simple.el:
49281         * lisp/vc/ediff-ptch.el:
49282         * src/buffer.c:
49283         * src/dired.c:
49284         * src/fileio.c:
49285         * src/image.c:
49286         * src/insdel.c:
49287         * src/w32fns.c: Use "file name handler" consequently.
49289 2018-12-22  Khaled Hosny  <khaledhosny@eglug.org>
49291         Subclass default HarfBuzz Unicode functions
49293         Instead of creating new functions from scratch, subclass the default
49294         implementation and override the selected functions we want/can
49295         override.  (Bug#33729)
49297 2018-12-22  Khaled Hosny  <khaledhosny@eglug.org>
49299         Fix previous commit
49301 2018-12-22  Khaled Hosny  <khaledhosny@eglug.org>
49303         Properly fix building with HarfBuzz and without libotf
49305         HarfBuzz support does not depend on libotf, the build breakage when
49306         libotf is missing was because code guarded with:
49308          #if defined HAVE_M17N_FLT && defined HAVE_LIBOTF
49310         was incorrectly changed to:
49312          #if defined HAVE_M17N_FLT || defined HAVE_HARFBUZZ
49314         this is now properly fixed by making it:
49316          #if (defined HAVE_M17N_FLT && defined HAVE_LIBOTF) || defined HAVE_HARFBUZZ
49318         Other changes in previous commits were reverted.
49320 2018-12-21  Michael Albinus  <michael.albinus@gmx.de>
49322         Fix Bug#33735
49324         * lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter):
49325         Delete empty lines.  (Bug#33735)
49326         (tramp-sh-inotifywait-process-filter): Use `string-match'.
49327         (tramp-set-remote-path): Check for PIPE_BUF but PATH_MAX.
49329         * test/lisp/filenotify-tests.el: Handle $REMOTE_FILE_NOTIFY_LIBRARY.
49330         (file-notify--deftest-remote): Suppress vc-handled-backends.
49331         (file-notify-test08-backup): Do not expect failure on hydra.
49332         (Bug#33735).
49334 2018-12-21  Michael Albinus  <michael.albinus@gmx.de>
49336         * test/lisp/filenotify-tests.el, test/lisp/shadowfile-tests.el:
49338         Don't require tramp-sh, bug#33781 is fixed.
49340 2018-12-20  Juri Linkov  <juri@linkov.net>
49342         * lisp/emacs-lisp/debug.el (debug): Add display-buffer-below-selected
49344         to display actions of pop-to-buffer, and `(window-min-height . 10)'
49345         to display alist.  (Bug#32825)
49347 2018-12-20  Juri Linkov  <juri@linkov.net>
49349         * lisp/windmove.el (windmove-delete-in-direction): Change prefix arg C-u
49351         to kill the buffer.  Add prefix arg M-0 to delete the selected window.
49352         (Bug#32790)
49354 2018-12-20  Juri Linkov  <juri@linkov.net>
49356         * lisp/window.el (switch-to-buffer-obey-display-actions): New defcustom.
49358         (switch-to-buffer): Use it.  (Bug#32790)
49359         (switch-to-buffer-preserve-window-point):  Mention it in docstring.
49361         * lisp/windmove.el (windmove-display-in-direction): Mention it in docstring.
49363         * doc/lispref/windows.texi (Switching Buffers):
49364         Document switch-to-buffer-obey-display-actions.
49366 2018-12-20  Juri Linkov  <juri@linkov.net>
49368         * lisp/hi-lock.el (hi-salmon, hi-aquamarine): New faces.  (Bug#33398)
49370         (hi-lock-face-defaults): Add them.
49371         (hi-green-b, hi-red-b): Tone down foreground colors.
49373 2018-12-20  Glenn Morris  <rgm@gnu.org>
49375         Merge from origin/emacs-26
49377         081fb69 (origin/emacs-26) Check result from c-backward-token-2 to avo...
49378         f4ea746 cl-make-random-state was not copying its arg
49380 2018-12-20  Glenn Morris  <rgm@gnu.org>
49382         Merge from origin/emacs-26
49384         4c6c327 Restrict downcasing in elisp xref tests (bug#25534)
49385         ab8ed41 Avoid test failures if directory name looks like a regexp
49387 2018-12-20  Glenn Morris  <rgm@gnu.org>
49389         Merge from origin/emacs-26
49391         5825279 * doc/lispintro/emacs-lisp-intro.texi (Finding More): Fix xref.
49393 2018-12-20  Stefan Monnier  <monnier@iro.umontreal.ca>
49395         * lisp/emacs-lisp/map.el: Add support for plists
49397         (map--plist-p, map--plist-delete): New functions.
49398         (map-elt, map-delete, map-length, map-into, map-put!, map-insert)
49399         (map-apply, map-do): Handle the plist case.
49401         * test/lisp/emacs-lisp/map-tests.el (with-maps-do): Add sample plist.
49402         (test-map-put!): The behavior of map-put! is not the same for plists as
49403         for alists.
49405 2018-12-20  Michael Albinus  <michael.albinus@gmx.de>
49407         * test/lisp/net/tramp-tests.el (tramp-test32-environment-variables):
49409         Remove expected failure.
49411 2018-12-20  Michael Albinus  <michael.albinus@gmx.de>
49413         Fix Bug#33781
49415         * lisp/net/tramp-sh.el (tramp-set-remote-path): Use a temporary
49416         file for setting $PATH, if it exceeds PATH_MAX on the remote system.
49417         (tramp-send-command-and-read): Ignore errors if NOERROR.  (Bug#33781)
49419         * test/lisp/net/tramp-tests.el (tramp-test34-remote-path): New test.
49421 2018-12-19  Glenn Morris  <rgm@gnu.org>
49423         Skip rather than fail in flymake tests
49425         * test/lisp/progmodes/flymake-tests.el
49426         (flymake-tests--wait-for-backends): Skip rather than fail if
49427         backends are slow to respond.  This always seems like a temporary
49428         system glitch and not something that should be reported as a failure.
49430 2018-12-19  Eric Abrahamsen  <eric@ericabrahamsen.net>
49432         Make gnus-newsgroup-name local var available to gnus-summary-mode
49434         * lisp/gnus/gnus-sum.el (gnus-summary-mode-group): New defvar for
49435           passing gnus-newsgroup-name (a local variable) into the body of
49436           gnus-summary-mode, so that it's available to gnus-summary-mode-hook.
49438 2018-12-19  Juri Linkov  <juri@linkov.net>
49440         * lisp/vc/diff-mode.el (diff-syntax-fontify-props): Use font-lock-ensure
49442         unconditionally.  (Bug#33798)
49444 2018-12-19  Paul Eggert  <eggert@cs.ucla.edu>
49446         Minor fixes/simplifications to time functions
49448         * doc/lispintro/emacs-lisp-intro.texi (Files List): Simplify.
49449         * doc/lispref/os.texi (Time of Day): Mention format-time-string
49450         as an alternative to current-time-string.
49451         * lisp/arc-mode.el (archive-unixdate, archive-unixtime):
49452         Port better to future versions of Emacs where (COUNT . HZ)
49453         will take precedence to (HI . LO).
49454         * lisp/arc-mode.el (archive-unixtime):
49455         * lisp/calendar/todo-mode.el (todo-insert-item--basic)
49456         (todo-item-done, todo-read-time):
49457         Prefer format-time-string to substringing current-time-string.
49458         * lisp/calc/calc-forms.el (calc-time, calcFunc-now):
49459         Prefer decode-time to parsing the output of current-time-string.
49460         * lisp/emacs-lisp/cl-extra.el (cl--random-time):
49461         Prefer encode-time to hashing the output of current-time-string.
49462         * lisp/gnus/gnus-score.el (gnus-score-headers)
49463         (gnus-score-adaptive):
49464         Avoid stringifying and then reparsing timestamp.
49465         * src/timefns.c (Fencode_time): Omit redundant assignment.
49467 2018-12-19  Michael Albinus  <michael.albinus@gmx.de>
49469         * lisp/net/tramp-sh.el (tramp-set-remote-path): Send a warning, if
49471         $PATH exceeds PATH_MAX on the remote system.
49473 2018-12-19  Nicholas Drozd  <nicholasdrozd@gmail.com>
49475         * src/editfns.c (Finsert_char): Skip unnecessary fixnum check.
49477 2018-12-18  Glenn Morris  <rgm@gnu.org>
49479         Skip a remote filenotify test on hydra
49481         * test/lisp/filenotify-tests.el (file-notify--deftest-remote):
49482         Add optional argument to skip test.
49483         (file-notify-test07-many-events-remote): Skip on hydra.nixos.org.
49485 2018-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
49487         * lisp/font-lock.el: Use lexical-binding
49489         (font-lock-initial-fontify, font-lock-compile-keywords):
49490         Silence compiler warning.
49491         (font-lock-ensure-function): Fix some problems in last commit.
49493 2018-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
49495         * lisp/font-lock.el (font-lock-ensure-function): Fix bug#33798
49497 2018-12-18  Juri Linkov  <juri@linkov.net>
49499         More font-lock improvements for diff-mode
49501         * lisp/vc/diff-mode.el (diff-font-lock-keywords): Use diff-header face
49502         for git index lines (like already used for bzr index lines).
49503         Use diff-file-header face for binary file headers.
49504         (diff-find-source-location): Use expand-file-name for vc-find-revision.
49505         (diff--font-lock-prettify): Use diff-indicator-* faces for
49506         left-fringe indicators.
49507         (diff-syntax-fontify-props): Optimize to not use text-property-not-all
49508         for font-lock-ensure.
49510         * lisp/replace.el (occur-engine-line): Simplify to use font-lock-ensure
49511         without text-property-not-all.
49513 2018-12-18  Juri Linkov  <juri@linkov.net>
49515         Fontify one-line diffs without the final newline (bug#33567)
49517         * lisp/vc/diff-mode.el (diff-hunk-text, diff-syntax-fontify-hunk):
49518         Skip lines beginning with backslash like "\ No newline at end of file".
49519         (diff-syntax-fontify-hunk): Use string-trim-right.
49520         For one-line diffs use 1 explicitly in the list of line numbers.
49522 2018-12-18  Paul Eggert  <eggert@cs.ucla.edu>
49524         Support (ash INTEGER BIGNUM)
49526         * src/data.c (emacs_mpz_mul_2exp): 2nd arg is now a
49527         nonnegative EMACS_INT not mp_bitcnt_t, to simplify checking.
49528         (Fash): Support COUNT values that are bignums or that
49529         exceed mp_bitcnt_t range.
49530         * test/src/data-tests.el (data-tests-ash-lsh): Test this.
49532 2018-12-18  Eli Zaretskii  <eliz@gnu.org>
49534         Fix one last compilation warning in ftfont.c
49536         * src/ftfont.c (ftfont_get_hb_font): Only define if
49537         HAVE_LIBOTF is defined.  (Bug#33771)
49539 2018-12-18  Glenn Morris  <rgm@gnu.org>
49541         Expect tramp environment test to fail on hydra
49543         * test/lisp/net/tramp-tests.el (tramp-test32-environment-variables):
49544         Expect failure on hydra.nixos.org.
49546 2018-12-18  Glenn Morris  <rgm@gnu.org>
49548         A filenotify test now passes on hydra
49550         * test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
49551         Remote test now passes on hydra.nixos.org, since PATH
49552         workaround for bug#33781.
49554 2018-12-18  Eli Zaretskii  <eliz@gnu.org>
49556         Condition some more hb_* functions on HAVE_LIBOTF.
49558 2018-12-18  Michael Albinus  <michael.albinus@gmx.de>
49560         Fix Bug#33781
49562         * lisp/net/tramp-cache.el (tramp-connection-properties):
49563         * lisp/net/tramp-sh.el (tramp-remote-path)
49564         (tramp-remote-process-environment, tramp-sh-extra-args):
49565         Reinsert autoload cookie.  (Bug#33781)
49567         * test/lisp/net/tramp-tests.el: Do not require tramp-sh before
49568         changing tramp-remote-path.
49570 2018-12-18  Nicolas Petton  <nicolas@petton.fr>
49572         New convenience functions in seq.el
49574         Functions to access the first or all but the first elements of
49575         sequences have been repeatedly asked for (the last occurrence being
49576         https://github.com/NicolasPetton/seq.el/issues/9).
49578         * lisp/emacs-lisp/seq.el (seq-first, seq-rest): New functions.
49579         * test/lisp/emacs-lisp/seq-tests.el (test-seq-first, test-seq-rest):
49580         New tests for seq-first and seq-rest.
49582 2018-12-17  Glenn Morris  <rgm@gnu.org>
49584         Tiny ert-summarize-tests-batch-and-exit improvement
49586         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
49587         Report the details of unexpected passes as well as failures.
49589 2018-12-17  Juri Linkov  <juri@linkov.net>
49591         Syntactic fontification of diff hunks (bug#33567)
49593         * lisp/vc/diff-mode.el (diff-font-lock-syntax): New defcustom.
49594         (diff-default-directory): New buffer-local variable.
49595         (diff-indicator-removed, diff-indicator-added)
49596         (diff-indicator-changed): Set foreground to distinctive colors.
49597         (diff-context): Remove colors to make room for syntax highlighting.
49598         (diff-font-lock-keywords): Add diff--font-lock-syntax.
49599         (diff--font-lock-cleanup): Remove diff-mode syntax overlays.
49600         (diff--font-lock-syntax, diff--font-lock-syntax--refresh)
49601         (diff-syntax-fontify-revisions, diff-syntax-fontify-hunk)
49602         (diff-syntax-fontify-props): New functions.
49604         * lisp/vc/diff.el (diff-no-select): Set diff-default-directory to
49605         default-directory.
49607         * doc/emacs/files.texi (Diff Mode): Document diff-font-lock-syntax.
49609 2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>
49611         Make org-protocol-flatten always an alias
49613         * lisp/org/org-protocol.el (org-protocol-flatten):
49614         Rewrite as top-level alias, as per Stefan’s suggestion,
49615         to avoid compiler warnings.
49617 2018-12-17  Stefan Monnier  <monnier@iro.umontreal.ca>
49619         * lisp/emacs-lisp/map.el: Avoid special casing lists.
49621         (map-not-inplace, map-inplace): New errors.
49622         (map-insert): New generic function.
49623         (map-put!): Signal map-not-inplace rather than a generic 'error'.
49624         (map-elt): Use map-not-inplace and map-insert to avoid hardcoding
49625         a special case for lists.
49627         * test/lisp/emacs-lisp/map-tests.el (test-map-put!): Rename from
49628         test-map-put.  Also test the errors signaled.
49630 2018-12-17  Glenn Morris  <rgm@gnu.org>
49632         Avoid tests failures on hydra due to Tramp autoload changes
49634         * test/lisp/filenotify-tests.el, test/lisp/shadowfile-tests.el:
49635         * test/lisp/net/tramp-tests.el: Require tramp-sh before changing
49636         tramp-remote-path.
49638 2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>
49640         One more flatten-tree test
49642         * test/lisp/subr-tests.el (subr-tests-flatten-tree):
49643         Add a test for lots of nothing.
49645 2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>
49647         Some more flatten-tree aliases
49649         * lisp/allout.el (allout-flatten):
49650         * lisp/progmodes/hideif.el (hif-flatten):
49651         Now an obsolete alias for flatten-tree.  All callers changed.
49652         * lisp/org/org-protocol.el (org-protocol-flatten):
49653         Make it an alias for flatten-tree if available.
49654         * lisp/progmodes/js.el (js--flatten-list):
49655         Remove alias.  We shouldn’t need obsolete function aliases for
49656         private functions.
49658 2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>
49660         Improve flatten-tree documentation
49662         * doc/lispref/lists.texi (Building Lists):
49663         * lisp/subr.el (flatten-tree):
49664         Don’t imply that flatten-tree modifies its argument.
49665         Clarify wording.
49667 2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>
49669         Improve flatten-tree performance
49671         * lisp/subr.el (flatten-tree): Improve performance by calling
49672         ‘cons’ once rather than twice when a cons cell is popped.
49674 2018-12-17  Eli Zaretskii  <eliz@gnu.org>
49676         Avoid compilation warning in ftfont.c
49678         * src/ftfont.c (ftfont_shape_by_hb): Compile only if
49679         HAVE_LIBOTF is defined.  (Bug#33771)
49681 2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>
49683         Assume ‘emacs’ is defined in Emacs-only code
49685         * src/charset.c, src/coding.c, src/coding.h, src/gmalloc.c:
49686         * src/ralloc.c, src/regex-emacs.c: Simplify slightly by
49687         assuming that ‘emacs’ is defined.  These modules have long
49688         been specific to Emacs, and are not used elsewhere.
49690 2018-12-17  Eli Zaretskii  <eliz@gnu.org>
49692         Fix last change.
49694 2018-12-17  Mike Kupfer  <mkupfer@alum.berkeley.edu>
49696         * src/ftcrfont.c (ftcrfont_driver): Really commit last change.
49698 2018-12-17  Mike Kupfer  <mkupfer@alum.berkeley.edu>
49700         More fixes for build without libotf
49702         * src/xftfont.c (xftfont_driver):
49703         * src/ftxfont.c (ftxfont_driver):
49704         * src/ftcrfont.c (ftcrfont_driver): Set the .shape member only
49705         if HAVE_LIBOTF is defined.  (Bug#33771)
49707 2018-12-17  Eli Zaretskii  <eliz@gnu.org>
49709         Fix compilation errors when building without libotf
49711         * src/ftfont.c (ftfont_shape): Only compile if HAVE_LIBOTF is
49712         defined.
49713         (ftfont_driver): Set the .shape member only if HAVE_LIBOTF is
49714         defined.  (Bug#33771)
49716 2018-12-17  Michael Albinus  <michael.albinus@gmx.de>
49718         Use `flatten-tree' in Tramp
49720         * lisp/net/tramp-compat.el (tramp-compat-flatten-tree): New defun.
49721         (tramp-compat-flatten-list): Remove.
49723         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-send-command): Use it.
49725 2018-12-17  Alex Branham  <alex.branham@gmail.com>
49726             Basil L. Contovounesios  <contovob@tcd.ie>
49728         New function flatten-tree
49731         * doc/lispref/lists.texi: Document `flatten-tree'.
49733         * lisp/progmodes/js.el (js--maybe-join):
49734         * lisp/printing.el (pr-switches):
49735         * lisp/lpr.el (lpr-print-region):
49736         * lisp/gnus/nnimap.el (nnimap-find-wanted-parts):
49737         * lisp/gnus/message.el (message-talkative-question):
49738         * lisp/gnus/gnus-sum.el (gnus-remove-thread)
49739         (gnus-thread-highest-number, gnus-thread-latest-date):
49740         * lisp/eshell/esh-util.el (eshell-flatten-and-stringify):
49741         * lisp/eshell/esh-opt.el (eshell-eval-using-options):
49742         * lisp/eshell/esh-ext.el (eshell-external-command):
49743         * lisp/eshell/em-xtra.el (eshell/expr):
49744         * lisp/eshell/em-unix.el (eshell/rm, eshell-mvcpln-template)
49745         (eshell/cat, eshell/make, eshell-poor-mans-grep, eshell-grep)
49746         (eshell/du, eshell/time, eshell/diff, eshell/locate):
49747         * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
49748         * lisp/eshell/em-term.el (eshell-exec-visual):
49749         * lisp/eshell/em-dirs.el (eshell-dirs-substitute-cd, eshell/cd):
49750         * lisp/eshell/em-basic.el (eshell/printnl):
49751         Use new flatten-tree.
49753         * lisp/progmodes/js.el (js--flatten-list):
49754         * lisp/lpr.el (lpr-flatten-list):
49755         * lisp/gnus/message.el (message-flatten-list):
49756         * lisp/eshell/esh-util.el (eshell-flatten-list):
49757         Obsolete in favor of Emacs-wide `flatten-tree'.
49759         * lisp/subr.el (flatten-list): Alias to `flatten-tree' for
49760         discoverability.
49762         * lisp/subr.el (flatten-tree): New defun.
49764         * test/lisp/subr-tests.el (subr-tests-flatten-tree): New test.
49766 2018-12-17  Michael Albinus  <michael.albinus@gmx.de>
49768         Fix Bug#33524
49770         * lisp/progmodes/flymake-proc.el
49771         (flymake-proc-create-temp-with-folder-structure):
49772         Unquote file-name.  (Bug#33524)
49774 2018-12-17  Michael Albinus  <michael.albinus@gmx.de>
49776         Reduce autoloaded objects in Tramp
49778         * lisp/net/tramp-adb.el (tramp-adb-program)
49779         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
49780         Remove autoload cookie.
49782         * lisp/net/tramp-cache.el (tramp-connection-properties)
49783         (tramp-persistency-file-name): Remove autoload cookie.
49785         * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
49786         Use `tramp-autoload' cookie.
49788         * lisp/net/tramp-gvfs.el (tramp-gvfs-zeroconf-domain):
49789         Remove autoload cookie.
49791         * lisp/net/tramp-rclone.el (tramp-rclone-program): Remove autoload
49792         cookie.
49793         (tramp-set-completion-function): Use `tramp--with-startup'.
49795         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
49796         (tramp-copy-size-limit, tramp-histfile-override)
49797         (tramp-use-ssh-controlmaster-options, tramp-remote-path)
49798         (tramp-remote-process-environment, tramp-sh-extra-args):
49799         Remove autoload cookie.
49800         (tramp-stat-marker, tramp-stat-quoted-marker): Move to tramp.el.
49802         * lisp/net/tramp-smb.el (tramp-smb-program)
49803         (tramp-smb-acl-program, tramp-smb-conf)
49804         (tramp-smb-winexe-program, tramp-smb-winexe-shell-command)
49805         (tramp-smb-winexe-shell-command-switch): Remove autoload cookie.
49807         * lisp/net/tramp-sudoedit.el (server, tramp-sh): Do not require.
49809         * lisp/net/tramp.el (tramp--startup-hook): Define.
49810         (tramp-stat-marker, tramp-stat-quoted-marker): New defconsts,
49811         taken from tramp-sh.el.
49813         * test/lisp/net/tramp-archive-tests.el (tramp-copy-size-limit)
49814         (tramp-persistency-file-name): Declare.
49816         * test/lisp/net/tramp-tests.el (tramp-connection-properties)
49817         (tramp-display-escape-sequence-regexp)
49818         (tramp-inline-compress-start-size, tramp-remote-path): Declare.
49820 2018-12-16  Stefan Monnier  <monnier@iro.umontreal.ca>
49822         * lisp/emacs-lisp/macroexp.el: Don't hide backtrace
49824         (macroexp--compiler-macro): Use condition-case-unless-debug.
49826 2018-12-16  João Távora  <joaotavora@gmail.com>
49828         Jsonrpc error handlers can now safely call jsonrpc-shutdown
49830         Previously, if an error handler called jsonrpc-shutdown, and if that
49831         error handler was being called from the process sentinel,
49832         jsonrpc-shutdown would infloop waiting for jsonrpc-sentinel-done to be
49833         set.
49835         Rename the process property jsonrpc-sentinel-done to
49836         jsonrpc-sentinel-cleanup-started, arrange for it to be set earlier
49837         in the sentinel, and also check for it earlier in jsonrpc-shutdown.
49839         * lisp/jsonrpc.el (Version): Bump to 1.0.7.
49840         (jsonrpc--process-sentinel): Set jsonrpc-sentinel-cleanup-started
49841         a bit earlier than previous jsonrpc-sentinel-done.
49842         (jsonrpc-shutdown): Query jsonrpc-sentinel-cleanup-started
49844 2018-12-16  Paul Eggert  <eggert@cs.ucla.edu>
49846         Update from Gnulib
49848         This incorporates:
49849         2018-12-16 regex: propagate fix for glibc bug 18040
49850         2018-12-16 obstack, libc-config: Support HP-UX cc in C99 mode
49851         2018-12-15 regex: work around a bug in glibc-2.27 and prior
49852         2018-12-13 localtime-buffer: Avoid endless recursion
49853         * build-aux/config.guess, build-aux/config.sub, lib/cdefs.h:
49854         * lib/gettext.h, lib/localtime-buffer.c, lib/regexec.c, m4/regex.m4:
49855         Copy from Gnulib.
49857 2018-12-16  Stefan Monnier  <monnier@iro.umontreal.ca>
49859         * lisp/net/tramp.el: Rework mutual dependencies
49861         Functionally split tramp-loaddefs.el into two parts: one part run
49862         while loading it at the very beginning of loading tramp.el (holding plain
49863         autoloads and declarations), and another run at the very end of loading
49864         tramp.el (holding setup code).
49865         This should reduce infinite-recursion problems while loading.
49867         * lisp/net/tramp.el: Require tramp-loaddefs at beginning.
49868         Run (new and internal) tramp--startup-hook at the end.
49869         Remove all tramp-autoloads.  Prefer tramp--with-startup over
49870         eval-after-load.
49871         (tramp--with-startup): New macro.
49872         (tramp-set-syntax): Show the new value rather than the old value in the
49873         error message.
49874         (tramp-syntax-values): Explicitly return 'values'.
49875         (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
49876         (tramp-postfix-method-format, tramp-postfix-method-regexp)
49877         (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
49878         (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
49879         (tramp-postfix-host-format, tramp-postfix-host-regexp)
49880         (tramp-remote-file-name-spec-regexp, tramp-file-name-structure)
49881         (tramp-completion-file-name-regexp): Don't initialize in the declaration,
49882         since it's recomputed at the end anyway.
49883         (tramp-time-dont-know, tramp-time-doesnt-exist): Move before first use.
49885         * lisp/net/tramp-compat.el: Don't require tramp-loaddefs any more.
49886         (tramp-compat-tramp-syntax): Declare tramp-syntax.
49888         * lisp/net/tramp-smb.el:
49889         * lisp/net/tramp-rclone.el:
49890         * lisp/net/tramp-gvfs.el:
49891         * lisp/net/tramp-ftp.el:
49892         * lisp/net/tramp-adb.el: Wrap all autoloaded setup operations within
49893         tramp--with-startup.
49895         * lisp/net/tramp-sh.el: Wrap all autoloaded setup operations within
49896         tramp--with-startup.
49897         (tramp-display-escape-sequence-regexp)
49898         (tramp-device-escape-sequence-regexp): Don't tramp-autoload any more.
49899         (tramp-stat-marker): Use eval-and-compile rather than tramp-autoload.
49901         * lisp/net/tramp-sudoedit.el: Wrap all autoloaded setup operations within
49902         tramp--with-startup.
49903         Require tramp-sh at compile-time to precompute some regexps based on
49904         tramp-stat-marker.
49906 2018-12-16  Michael Albinus  <michael.albinus@gmx.de>
49908         Add Tramp sudoedit method
49910         * doc/misc/tramp.texi (Quick Start Guide): New section "Using sudoedit".
49911         (External methods) <sudoedit>: Describe.
49913         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
49914         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
49915         * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
49916         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
49917         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
49918         Add handler.
49920         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-uid-gid): Rename from
49921         `tramp-sh-handle-set-file-uid-gid'.  Handle only remote file names.
49923         * lisp/net/tramp-sudoedit.el: New file.
49925         * lisp/net/tramp.el (tramp-file-name-for-operation): Handle also
49926         `tramp-set-file-uid-gid'.
49927         (tramp-set-file-uid-gid): New defun.
49928         (tramp-get-local-uid, tramp-get-local-gid): Cache result.
49930         * test/lisp/net/tramp-tests.el (tramp--test-sudoedit-p): New defun.
49931         (tramp-test20-file-modes, tramp-test22-file-times)
49932         (tramp--test-sudoedit-p): Use it.
49934 2018-12-16  João Távora  <joaotavora@gmail.com>
49936         Rephrase a confusing sentence in the jsonrpc.el manual
49938         * doc/lispref/text.texi (JSONRPC Overview): Rephrase first
49939         sentence on building JSONRPC applications.
49941 2018-12-15  Glenn Morris  <rgm@gnu.org>
49943         Expect two epg tests to fail on hydra
49945         * test/lisp/epg-tests.el (epg-decrypt-1, epg-roundtrip-1):
49946         These currently fail for unknown reasons on hydra.nixos.org.
49948 2018-12-15  Glenn Morris  <rgm@gnu.org>
49950         Merge from origin/emacs-26
49952         fa953b5 (origin/emacs-26) Fix an epg test for recent GnuPG versions (...
49953         3015636 Document font structure layout constraints
49954         f14d574 Document font structure layout constraints
49955         f519aa1 Fix display of line numbers in empty lines beyond EOB
49956         24b5026 Fix redisplay when a window's scroll bar or fringes are changed
49957         5d1b158 Tiny markup fix in Elisp manual
49959 2018-12-15  Glenn Morris  <rgm@gnu.org>
49961         Ensure flymake tests use gcc rather than $CC
49963         * test/lisp/progmodes/flymake-resources/Makefile: Force use of gcc.
49964         This seems to be what the tests expect.  (Bug#33735)
49966 2018-12-15  Glenn Morris  <rgm@gnu.org>
49968         Suppress filenotify remote test failures on hydra.nixos.org
49970         * test/lisp/filenotify-tests.el (file-notify--deftest-remote):
49971         Add optional argument to pass expected-result.
49972         (file-notify-test04-autorevert-remote)
49973         (file-notify-test08-backup-remote): Expect failure on hydra (bug#33735).
49975 2018-12-15  Glenn Morris  <rgm@gnu.org>
49977         Fix an eshell ls dired test for non-recent files
49979         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27844):
49980         Work around an eshell issue with non-recent files.  (Bug#33734)
49982 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
49984         Assume hb_ft_font_create_referenced if HarfBuzz
49986         * configure.ac (HAVE_HB_FT_FONT_CREATE_REFERENCED):
49987         Remove test, since we now require 0.9.42 and
49988         hb_ft_font_create_referenced has been present since 0.9.38.
49989         * src/ftfont.c (ft_face_destroy, hb_ft_font_create_referenced):
49990         Remove; no longer needed.
49992 2018-12-14  Glenn Morris  <rgm@gnu.org>
49994         * configure.ac: Guess at minimum harfbuzz version.  (Bug#33748)
49996         * make-dist: Improve no-byte-compile check.
49998 2018-12-14  Glenn Morris  <rgm@gnu.org>
50000         * make-dist: Improve tempfile handling.
50002         Prompted by /tmp/out existing and being owned by another user.
50004 2018-12-14  Glenn Morris  <rgm@gnu.org>
50006         * make-dist: Silence test of tar functionality.
50008 2018-12-14  Basil L. Contovounesios  <contovob@tcd.ie>
50010         * lisp/emacs-lisp/map.el: Fix recent changes
50012         (map-empty-p): Add method for lists which avoids computing their
50013         entire length.
50014         (map-contains-key): Check for alist membership by comparing against
50015         DEFAULT argument returned by alist-get.
50016         (map-put!): Reconcile argument name with that used in docstring.
50018 2018-12-14  Ari Roponen  <ari.roponen@gmail.com>
50020         Fix crash in the Cairo build
50022         * src/ftcrfont.c (struct ftcrfont_info) [HAVE_HARFBUZZ]: New
50023         member 'hb_font'.  (Bug#33739)
50025 2018-12-13  Glenn Morris  <rgm@gnu.org>
50027         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27844): Remove debug.
50029 2018-12-13  Stephen Leake  <stephen_leake@stephe-leake.org>
50031         Get long package description for installed packages from installed files
50033         * doc/lispref/package.texi (Archive Web Server): New; document web
50034         server interface.
50036         * lisp/emacs-lisp/package.el (package--get-description): New; get long
50037         description from installed files.
50038         (describe-package-1): Use it, improve comments. No longer writing
50039         NAME-readme.txt.
50041         * test/lisp/emacs-lisp/package-tests.el:
50042         (package-test-describe-package): There is now a description for an
50043         installed package.
50044         (package-test-describe-installed-multi-file-package): New test.
50046 2018-12-13  Stephen Leake  <stephen_leake@stephe-leake.org>
50048         Merge commit 'd08b75abe0f0cf9ade812b189c374809a2c7836e'
50050 2018-12-13  Paul Eggert  <eggert@cs.ucla.edu>
50052         Fix stray CHECK_FIXNUM_COERCE_MARKER
50054         * src/xdisp.c (Fbidi_resolved_levels): Don’t allow a marker arg;
50055         markers are character positions not vertical positions.
50057 2018-12-13  Paul Eggert  <eggert@cs.ucla.edu>
50059         Default to --with-harfbuzz
50061         * configure.ac: By default, configure with HarfBuzz if available.
50063 2018-12-13  Paul Eggert  <eggert@cs.ucla.edu>
50065         Simplify mainline Harfbuzz-using code
50067         * src/ftfont.c (ft_face_destroy): Omit unnecessary cast.
50068         (hb_ft_font_create_referenced) [!HAVE_HB_FT_FONT_CREATE_REFERENCED]:
50069         New function.
50070         (ftfont_get_hb_font): Use it.
50072 2018-12-13  Glenn Morris  <rgm@gnu.org>
50074         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27844): Add debug.
50076 2018-12-13  Michael Albinus  <michael.albinus@gmx.de>
50078         * doc/misc/tramp.texi (Ad-hoc multi-hops): Reinsert lost line.
50080 2018-12-12  João Távora  <joaotavora@gmail.com>
50082         Allow per-diagnostic overlay properties in Flymake
50084         * lisp/progmodes/flymake.el (Version): Bump to 1.0.3.
50085         (flymake--diag): Add new field overlay-properties.
50086         (flymake-make-diagnostic): New optional arg overlay-properties.
50087         (flymake--highlight-line): Use it.
50089 2018-12-12  Juri Linkov  <juri@linkov.net>
50091         * lisp/vc/vc.el (vc-find-revision-no-save): Use decode-coding-inserted-region
50093         and after-insert-file-set-coding.  Don't let-bind coding-system-for-read
50094         and coding-system-for-write.  For non-interactive use, let-bind
50095         enable-local-variables to :safe and ignore errors from set-auto-mode call.
50096         (Bug#33567)
50098 2018-12-12  Glenn Morris  <rgm@gnu.org>
50100         Improve em-ls-test-bug27844
50102         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27844):
50103         Skip if source-directory absent.
50105 2018-12-12  Paul Eggert  <eggert@cs.ucla.edu>
50107         Simplify validate_interval_range and callers
50109         * src/textprop.c (validate_interval_range):
50110         Remove useless code.  Fix comment to match current behavior.
50111         (set_text_properties, copy_text_properties): Simplify, as
50112         validate_interval_range has not incremented START or END for
50113         quite some time.
50114         (copy_text_properties): Assume C99.  Fix an unlikely
50115         integer overflow bug if WIDE_EMACS_INT.
50117 2018-12-12  Paul Eggert  <eggert@cs.ucla.edu>
50119         set_text_properties_1 can assume START <= END
50121         * src/textprop.c (set_text_properties_1):
50122         Do not swap START and END.  All callers do that already,
50123         and the test for swapping here is redundant.
50125 2018-12-12  Eli Zaretskii  <eliz@gnu.org>
50127         Fix regression in expand-file-name with drive-relative HOME
50129         * src/fileio.c (get_homedir) [DOS_NT]: Expand drive-relative
50130         $HOME to begin with "X:/".
50132         * test/src/fileio-tests.el (fileio-tests--relative-HOME): Add
50133         testing of drive-relative value of $HOME on MS-Windows and
50134         MS-DOS.
50136 2018-12-12  Michael Albinus  <michael.albinus@gmx.de>
50138         Fix Bug#33568
50140         * test/lisp/net/secrets-tests.el (secrets-test02-collections)
50141         (secrets-test03-items): Do not expect "login" collection to
50142         exist.  (Bug#33568)
50144 2018-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>
50146         * lisp/emacs-lisp/map.el: Make the functions generic
50148         Make them document their delegation relationship, to clarify when
50149         a method is needed.
50150         (map--dispatch): Give more info in the error message.
50151         (map-elt): Make it generic and deprecate the 'testfn' arg.
50152         (map-put): Make it obsolete.
50153         (map-length): Make it work on hash-tables.
50154         (map-apply): Define it in terms of map-do.
50155         (map-do, map-into): Use cl-generic dispatch instead of map--dispatch.
50156         (map-empty-p): Define it in terms of map-length.
50157         (map-contains-key): Deprecate 'testfn'.  Make it return a boolean, so
50158         it can return non-nil even if 'key' is nil.  Improve implementation to
50159         avoid constructing an intermediate list of all keys.
50160         (map-merge-with): Use 'eql' rather than `eq'.
50161         (map-put!): Rename from map--put and make it generic, to replace map-put.
50162         (map--apply-alist, map--apply-hash-table, map--apply-array):
50163         Turn them into methods of map-apply.
50164         (map--do-alist, map--do-array): Turn them into methods of map-do.
50165         (map--into-hash-table): Turn it into a method of map-into.
50167 2018-12-11  Stephen Leake  <stephen_leake@stephe-leake.org>
50169         Fix bug in display-buffer-use-some-frame
50171         * lisp/window.el (display-buffer-use-some-frame): Pass 'reuse, not
50172         'frame, to window--display-buffer.
50174 2018-12-10  Martin Rudalics  <rudalics@gmx.at>
50176         Fix typo in 'dired-restore-positions'
50178         * lisp/dired.el (dired-restore-positions): Fix typo in last
50179         change fixing Bug#33458.
50181 2018-12-10  Glenn Morris  <rgm@gnu.org>
50183         Add test/Makefile machinery to exclude test .el files
50185         * test/Makefile.in (EXCLUDE_TESTS): New variable.
50186         (ELFILES): Filter out any specified exclude files.
50188 2018-12-10  Nobuyoshi Nakada  <nobu@ruby-lang.org>
50190         Support Ruby block arguments ending with , or *
50192         * lisp/progmodes/ruby-mode.el (ruby-smie--forward-token):
50193         Recognize punctuation before "closing-|" as a separate token.
50194         (ruby-smie--backward-token): Same (bug#33487).
50196         * test/lisp/progmodes/ruby-mode-tests.el
50197         (ruby-forward-sexp-jumps-do-end-block-with-no-args)
50198         (ruby-backward-sexp-jumps-do-end-block-with-no-args)
50199         (ruby-forward-sexp-jumps-do-end-block-with-empty-args)
50200         (ruby-backward-sexp-jumps-do-end-block-with-empty-args)
50201         (ruby-forward-sexp-jumps-do-end-block-with-args)
50202         (ruby-backward-sexp-jumps-do-end-block-with-args)
50203         (ruby-forward-sexp-jumps-do-end-block-with-any-args)
50204         (ruby-forward-sexp-jumps-do-end-block-with-expanded-one-arg)
50205         (ruby-forward-sexp-jumps-do-end-block-with-one-and-any-args)
50206         (ruby-backward-sexp-jumps-do-end-block-with-one-and-any-args):
50207         New tests.
50209 2018-12-10  Juri Linkov  <juri@linkov.net>
50211         * lisp/isearch.el (isearch-pre-command-hook): Support `isearch-move'
50213         command properties with values `enabled' and `disabled'
50214         also for the value `shift' of isearch-yank-on-move.  (Bug#15839)
50216 2018-12-10  Juri Linkov  <juri@linkov.net>
50218         * lisp/vc/vc.el (vc-root-version-diff): New command (bug#33650).
50220         (vc-root-diff): Call it interactively on a prefix argument.
50222 2018-12-10  Matthias Meulien  <orontee@gmail.com>
50224         Support git commit --no-verify
50226         * lisp/vc/vc-git.el (vc-git-log-edit-toggle-no-verify): New function.
50227         (vc-git-log-edit-mode-map): Add binding.
50228         (vc-git-checkin): Add an entry for that header.
50230 2018-12-10  Paul Eggert  <eggert@cs.ucla.edu>
50232         Fix bug when hashing reversed buffer regions
50234         * src/fns.c (extract_data_from_object): When checking
50235         file-coding-system-alist, calculate the coding system
50236         correctly even if START and END are out of order.
50237         Use bool for booleans.
50239 2018-12-10  Glenn Morris  <rgm@gnu.org>
50241         Merge from origin/emacs-26
50243         2075864 (origin/emacs-26) CC Mode: stop extra parens on expression ca...
50245 2018-12-10  Glenn Morris  <rgm@gnu.org>
50247         Merge from origin/emacs-26
50249         5a7451c CC Mode: stop wrongly recognizing "func(a * 9)" as "pointer t...
50250         b0ed9d1 * lisp/emacs-lisp/cursor-sensor.el: Add motivation
50252 2018-12-10  Glenn Morris  <rgm@gnu.org>
50254         Merge from origin/emacs-26
50256         908af9d Indexing followup to recent changes
50257         505ac9a Improve documentation of cursor-sensor.el (bug#33664)
50258         d817d2c * doc/lispref/commands.texi (Adjusting Point): Bug#33662
50259         18442da Tramp multi-hop methods must be inline
50260         1e3e24d ; * src/xterm.c (x_update_begin): Fix whitespace.
50261         1d743d2 Fix scaling problem in Cairo builds
50262         2b9e993 ; * doc/lispref/text.texi (Special Properties): Fix wording. ...
50263         e568202 * lisp/simple.el (next-line-or-history-element): Use current-...
50264         c7897c2 A few further fixes of window internals description
50266         # Conflicts:
50267         #       doc/misc/tramp.texi
50269 2018-12-10  Glenn Morris  <rgm@gnu.org>
50271         * admin/gitmerge.el (gitmerge-skip-regexp): Add yet another variant.
50273 2018-12-10  Michael Albinus  <michael.albinus@gmx.de>
50275         * lisp/net/tramp-compat.el (tramp-compat-flatten-list): New defun.
50277 2018-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
50279         * lisp/Makefile.in (compile-main): Use a more selective regexp.
50281 2018-12-09  Paul Eggert  <eggert@cs.ucla.edu>
50283         Remove CHECK_FIXNUM_CAR etc.
50285         * src/coding.c (CHECK_FIXNAT_CAR, CHECK_FIXNAT_CDR):
50286         * src/lisp.h (CHECK_FIXNUM_CAR, CHECK_FIXNUM_CDR):
50287         Remove.  All uses removed.  These seem to have been based on
50288         the assumption that the argument cons needs to be modified,
50289         an assumption that is incorrect for fixnums.
50290         (Fdefine_coding_system_internal): Use CHECK_RANGED_INTEGER
50291         instead of a special diagnostic for graphic register numbers.
50293 2018-12-09  Glenn Morris  <rgm@gnu.org>
50295         * test/lisp/eshell/eshell-tests.el (with-temp-eshell):
50296         Avoid permanently changing HISTFILE.
50298 2018-12-09  Juri Linkov  <juri@linkov.net>
50300         Fix occur for non-nil list-matching-lines-jump-to-current-line (bug#33476)
50302         * lisp/replace.el (occur-engine): Move orig-line let-binding higher.
50303         Don't use start-line in forward-line.
50305 2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>
50307         Fix uni_combining()
50309         WIP: implement some Unicode callback functions
50311 2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>
50313         Set cluster level to one
50315         Makes to possible to edit combining marks separately as now they get a
50316         different cluster value from the base glyph.
50318 2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>
50320         Cache hb_font_t
50322         Not sure if the xftfont.c changes are really needed, but followed the
50323         libotf code just in case.
50325 2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>
50327         Allow turning HarfBuzz off at run time
50329         Useful for comparing the shaping result with that of m17n.
50331 2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>
50333         First attempt at HarfBuzz shaping
50335         Barely works, and unoptimized!
50337 2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>
50339         Add support for building with HarfBuzz
50341         Not used yet.
50343 2018-12-09  Michael Albinus  <michael.albinus@gmx.de>
50345         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):
50347         Use proper error symbol.
50349 2018-12-09  Alan Mackenzie  <acm@muc.de>
50351         Don't create *Compile-Log* due to byte-compile.  Amend message to it.
50353         This fixes bug #33602 and is a partial reversion of a commit from
50354         2018-11-28T13:15:50.
50356         * lisp/emacs-lisp/bytecomp.el (byte-compile-log-file): Don't create buffer
50357         *Compile-Log* because it doesn't already exist.  Amend message "Compiling no
50358         file" to be clearer (?and less irritating).
50360 2018-12-09  Paul Eggert  <eggert@cs.ucla.edu>
50362         Add make_vector and make_nil_vector
50364         This makes the callers a bit easier to read, and doubtless
50365         improves efficiency very slightly.  It also simplifies
50366         possible future changes to allow bignum indexes to buffers.
50367         * src/alloc.c (allocate_vectorlike):
50368         Prefer ptrdiff_t to size_t when either will do.
50369         (make_vector): New function.
50370         (Fmake_vector): Use it.
50371         * src/buffer.c (syms_of_buffer):
50372         * src/bytecode.c (syms_of_bytecode):
50373         * src/category.c (Fmake_category_table, init_category_once):
50374         * src/ccl.c (syms_of_ccl):
50375         * src/character.c (syms_of_character):
50376         * src/charset.c (Fdefine_charset_internal)
50377         (Ffind_charset_region, Ffind_charset_string):
50378         * src/chartab.c (copy_char_table):
50379         * src/coding.c (Fdefine_coding_system_internal, syms_of_coding):
50380         * src/composite.c (get_composition_id, Fcomposition_get_gstring):
50381         * src/composite.h (LGLYPH_NEW):
50382         * src/fns.c (concat, Flocale_info, make_hash_table):
50383         * src/font.c (font_otf_ValueRecord, font_otf_anchor)
50384         (build_style_table, syms_of_font):
50385         * src/fontset.c (RFONT_DEF_NEW, fontset_find_font)
50386         (dump_fontset, syms_of_fontset):
50387         * src/image.c (xpm_make_color_table_v):
50388         * src/keyboard.c (modify_event_symbol, menu_bar_items)
50389         (parse_menu_item, parse_tool_bar_item, init_tool_bar_items)
50390         (syms_of_keyboard):
50391         * src/keymap.c (Fdefine_key, describe_map, describe_vector):
50392         * src/lread.c (read_vector):
50393         * src/macfont.m (macfont_shape):
50394         * src/menu.c (init_menu_items):
50395         * src/nsfns.m (ns_make_monitor_attribute_list):
50396         * src/process.c (conv_sockaddr_to_lisp, network_interface_info):
50397         * src/profiler.c (make_log):
50398         * src/window.c (Fcurrent_window_configuration):
50399         * src/xdisp.c (with_echo_area_buffer_unwind_data)
50400         (format_mode_line_unwind_data):
50401         * src/xfaces.c (Finternal_make_lisp_face)
50402         (Fface_attributes_as_vector):
50403         * src/xfns.c (x_make_monitor_attribute_list)
50404         (Fx_display_monitor_attributes_list):
50405         * src/xfont.c (syms_of_xfont):
50406         * src/xselect.c (x_handle_dnd_message):
50407         * src/xwidget.c (save_script_callback):
50408         Prefer make_nil_vector (N) to Fmake_vector (make_fixnum (N), Qnil).
50409         * src/callint.c (Fcall_interactively):
50410         * src/charset.c (load_charset_map):
50411         * src/chartab.c (Fmake_char_table, uniprop_encode_value_numeric):
50412         * src/composite.c (get_composition_id)
50413         * src/dispnew.c (Fframe_or_buffer_changed_p)
50414         (syms_of_display):
50415         * src/fns.c (make_hash_table, maybe_resize_hash_table):
50416         * src/font.c (font_style_to_value):
50417         * src/fontset.c (FONTSET_ADD, fontset_add):
50418         * src/json.c (json_to_lisp):
50419         * src/keymap.c (syms_of_keymap):
50420         * src/lread.c (init_obarray):
50421         * src/profiler.c (make_log, Fprofiler_cpu_log):
50422         * src/term.c (term_get_fkeys_1):
50423         Prefer make_vector (N, V) to Fmake_vector (make_fixnum (N), V).
50424         * src/font.c (build_style_table):
50425         * src/macfont.m (macfont_shape):
50426         * src/process.c (conv_sockaddr_to_lisp, network_interface_info):
50427         Prefer make_uninit_vector if the vector will be initialized soon.
50428         * src/lisp.h (make_nil_vector): New function.
50430 2018-12-08  Eli Zaretskii  <eliz@gnu.org>
50432         Fix resolving symlinks in Eshell history file names
50434         * lisp/eshell/em-dirs.el (eshell-write-last-dir-ring):
50435         * lisp/eshell/em-hist.el (eshell-write-history): Don't call
50436         file-truename with argument of nil.  (Bug#33477)
50438         * test/lisp/eshell/eshell-tests.el (with-temp-eshell): Remove
50439         HISTFILE from the environment, to make sure the Eshell history
50440         file is nil.
50442 2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>
50444         * src/alloc.c (VECTOR_ELTS_MAX): Make sure it’s signed.
50446 2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>
50448         Port VECTOR_ELTS_MAX to older GCC etc.
50450         Problem reported by Eli Zaretskii in:
50451         https://lists.gnu.org/r/emacs-devel/2018-12/msg00182.html
50452         * src/alloc.c (VECTOR_ELTS_MAX): Now a macro.
50453         Needed for portability to older GCC and non-GCC.
50455 2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>
50457         Streamline and fix vector-size checks
50459         * src/alloc.c (VECTOR_ELTS_MAX): New constant.
50460         (allocate_vectorlike): LEN now must be positive.  Assume LEN
50461         is in range.  All callers changed.
50462         (allocate_vector): Arg is now ptrdiff_t, not EMACS_INT.
50463         All callers changed.  Return zero vector here, not in
50464         allocate_vectorlike.
50465         * src/lisp.h (make_uninit_vector): Simplify.
50466         * src/xwidget.c (webkit_js_to_lisp):
50467         Check for overflow in ptrdiff_t calculations.
50469 2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>
50471         Suppress WebKitGTK+ 2.21.1 diagnostics
50473         * src/xwidget.c: Suppress deprecation warnings (Bug#33679).
50475 2018-12-08  Michael Heerdegen  <michael_heerdegen@web.de>
50477         Fix quote in the copyright skeleton
50479         Revert replacing a backquote in the "copyright" skeleton with a quote
50480         done in "Replace insignificant backquotes" which broke the skeleton.
50482         * lisp/emacs-lisp/copyright.el (copyright): Restore the correct
50483         version of the skeleton that used a backquote.
50485 2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>
50487         Fix integer overflow in oversize vectors
50489         * src/alloc.c (allocate_vector): Fix integer overflow when
50490         allocating very large vectors, by taking large_vector_offset
50491         into account.  Assume C99.
50493 2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>
50495         * src/alloc.c (allocate_vectorlike): Simplify.
50497 2018-12-08  Eli Zaretskii  <eliz@gnu.org>
50499         Honor 'vc-bzr-log-switches' in 'vc-bzr-revision-table'
50501         * lisp/vc/vc-bzr.el (vc-bzr-revision-table): Honor
50502         'vc-bzr-log-switches'.
50504 2018-12-08  Steven De Herdt  <steven.deherdt@gmail.com>  (tiny change)
50506         Honor 'vc-bzr-log-switches' in 'vc-bzr-expanded-log-entry'
50508         * lisp/vc/vc-bzr.el (vc-bzr-expanded-log-entry): Honor
50509         'vc-bzr-log-switches'.  (Bug#33494)
50511 2018-12-08  Eli Zaretskii  <eliz@gnu.org>
50513         Document that Eshell follows symlinks in history file names
50515         * etc/NEWS: Mention that Eshell now follows symlinks in
50516         history file names.
50518 2018-12-08  Philip Hudson  <phil.hudson@iname.com>
50520         Follow links in Eshell last-dir-ring
50522         * lisp/eshell/em-hist.el (eshell-write-last-dir-ring):
50523         Follow symlinks in 'eshell-last-dir-ring-file-name'.
50524         (Bug#33477)
50526 2018-12-08  Philip Hudson  <phil.hudson@iname.com>
50528         Follow symlink in Eshell history
50530         * lisp/eshell/em-hist.el (eshell-write-history): Follow
50531         symlinks in 'eshell-history-file-name'.  (Bug#33460)
50533 2018-12-08  Martin Rudalics  <rudalics@gmx.at>
50535         New buffer display action alist entry 'window-min-height' (Bug#32825)
50537         * lisp/window.el (display-buffer-below-selected): Handle
50538         'window-min-height' action alist entry (Bug#32825).
50539         * doc/lispref/windows.texi (Buffer Display Action Functions)
50540         (Buffer Display Action Alists): Add documentation for
50541         'window-min-height' action alist entries.
50542         * etc/NEWS: Mention 'window-min-height' action alist entry.
50544 2018-12-08  Martin Rudalics  <rudalics@gmx.at>
50546         Adjust windows' previous buffers when reverting dired buffers (Bug#33458)
50548         * lisp/dired.el (dired-save-positions, dired-restore-positions):
50549         For each window that showed the reverted buffer before, fix the
50550         point positions in its list of previously shown buffers the way
50551         these routines handle window point for all windows currently
50552         showing the buffer (Bug#33458).
50554 2018-12-08  Martin Rudalics  <rudalics@gmx.at>
50556         Improve how 'balance-windows' handles fixed-size windows (Bug#33254)
50558         * lisp/window.el (balance-windows-2): When a child window has
50559         fixed size, don't count it as resizable (Bug#33254).
50560         Handle case where a window has no resizable child windows.
50562 2018-12-07  Alan Mackenzie  <acm@muc.de>
50564         CC Mode: Compensate for backward-sexp ignoring trailing commas after {...}
50566         This fixes bug #32808.
50568         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): New variable
50569         comma-delimited, set when we're about to scan backward over a comma.  Do not
50570         reckon a brace block as bounding a statement when it is followed or preceded
50571         by a comma (except when argument comma-delim is non-nil).
50572         (c-guess-basic-syntax, CASE 9C): Call c-beginning-of-statement-1 with argument
50573         comma-delim changed to non-nil.
50575 2018-12-07  Michael Albinus  <michael.albinus@gmx.de>
50577         Refactor some Tramp functions
50579         * lisp/net/tramp-compat.el (tramp-compat-file-local-name): New defsubst.
50580         (tramp-compat-file-name-quoted-p, tramp-compat-file-name-quote)
50581         (tramp-compat-file-name-unquote):
50582         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p)
50583         (tramp-handle-file-truename, tramp-get-remote-tmpdir):
50584         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
50585         (tramp-adb-handle-rename-file, tramp-adb-handle-exec-path):
50586         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly)
50587         (tramp-sh-handle-exec-path, tramp-find-inline-encoding)
50588         (tramp-get-remote-touch): Use it.
50590         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
50591         Use `tramp-handle-expand-file-name'.
50592         (tramp-adb-handle-expand-file-name): Move to tramp.el.
50593         (tramp-adb-handle-file-writable-p): Adapt docstring.
50595         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
50596         Use `tramp-handle-file-local-copy', `tramp-handle-file-writable-p'
50597         and `tramp-handle-write-region'.
50598         (tramp-gvfs-handle-file-local-copy)
50599         (tramp-gvfs-handle-file-writable-p)
50600         (tramp-gvfs-handle-write-region): Move to tramp.el.
50602         * lisp/net/tramp-rclone.el: Don't require `tramp-adb' and
50603         `tramp-gvfs' anymore.
50604         (tramp-rclone-file-name-handler-alist):
50605         Use `tramp-handle-expand-file-name', `tramp-handle-file-local-copy',
50606         `tramp-handle-file-writable-p' and `tramp-handle-write-region'.
50607         (tramp-rclone-handle-directory-files): Simplify.
50609         * lisp/net/tramp.el (tramp-methods): Extend docstring.
50610         (tramp-parse-netrc): Require `netrc'.
50611         (tramp-handle-expand-file-name, tramp-handle-file-local-copy)
50612         (tramp-handle-file-writable-p, tramp-handle-write-region): New defuns.
50614 2018-12-07  Eli Zaretskii  <eliz@gnu.org>
50616         Fix the value of default-directory upon startup on MS-Windows
50618         * src/w32.c (w32_get_current_directory): New function.
50619         (GetCachedVolumeInformation, init_environment): Use it.
50620         (w32_init_current_directory): New function.
50621         * src/w32.h (w32_init_current_directory): Add prototype.
50622         * src/emacs.c (main) [WINDOWSNT]: Use w32_init_current_directory
50623         to get the accurate value of cwd.  This is needed to record
50624         the correct directory in emacs_wd, which is now initialized
50625         way earlier in the startup process, when init_environment was
50626         not yet called.  For details, see the problems reported in
50627         http://lists.gnu.org/archive/html/emacs-devel/2018-12/msg00068.html.
50628         Reported by Angelo Graziosi <angelo.g0@libero.it>.
50630 2018-12-06  Juri Linkov  <juri@linkov.net>
50632         * lisp/vc/vc.el (vc-find-revision-no-save): Add optional arg BUFFER.
50634         (Bug#33567)
50636 2018-12-06  Paul Eggert  <eggert@cs.ucla.edu>
50638         Mention EMACS_SOCKET_NAME, not XDG_RUNTIME_DIR.
50640         Mention unsetting XDG_RUNTIME_DIR in doc.
50642 2018-12-06  Paul Eggert  <eggert@cs.ucla.edu>
50644         emacsclient: avoid background chatter
50646         * lib-src/emacsclient.c (process_grouping): New function.
50647         (act_on_signals, main): Use it.
50648         (main): Omit "Waiting for Emacs..." and later "\n" messages
50649         if in background, since that messes up the screen.
50651 2018-12-06  Paul Eggert  <eggert@cs.ucla.edu>
50653         Fix emacsclient hang when backgrounded
50655         Problem reported by Kaushal Modi in:
50656         https://lists.gnu.org/r/emacs-devel/2018-12/msg00083.html
50657         The tcdrain call replaced an fdatasync call which had no
50658         effect on the tty, so removing it entirely shouldn’t cause
50659         problems.  The fdatasync call replaced an fsync call which
50660         also had no effect on the tty, and the fsync call seems to be
50661         badly-merged revenant of emacsclient’s old (circa 2004) way of
50662         communicating to and from Emacs via FILE * streams, where
50663         fsync was apparently needed when talking to sockets.
50664         * lib-src/emacsclient.c [!DOS_NT]: Don’t include termios.h.
50665         (flush_stdout): Remove.  All callers removed.
50666         (main): Do not drain the tty after "Waiting for Emacs..."
50667         message.  There should be no need to drain, and draining it
50668         might send us a SIGTTOU.  Do not fflush stdout just before
50669         exiting, as exiting does that for us.
50671 2018-12-06  Paul Eggert  <eggert@cs.ucla.edu>
50673         struct image_type layout is private to image.c
50675         * src/dispextern.h (struct image_type): Move from here ...
50676         * src/image.c (struct image_type): ... to here.
50678 2018-12-06  Eli Zaretskii  <eliz@gnu.org>
50680         Avoid an error on exit in a build without threads
50682         * lisp/simple.el (list-processes--refresh): Avoid signaling an
50683         error in a build --without-threads.  (Bug#33629)
50685 2018-12-06  Michael Albinus  <michael.albinus@gmx.de>
50687         Add missing handler to tramp-rclone.el, improve robustness
50689         * lisp/net/tramp-rclone.el (tramp-adb): Require.
50690         (tramp-rclone-file-name-handler-alist):
50691         Use `tramp-adb-handle-expand-file-name'.
50692         (tramp-rclone-flush-directory-cache): New defun, derived from
50693         `tramp-rclone-flush-mount'.
50694         (tramp-rclone-do-copy-or-rename-file)
50695         (tramp-rclone-handle-delete-directory)
50696         (tramp-rclone-handle-delete-file)
50697         (tramp-rclone-handle-make-directory): Use it.
50698         (tramp-rclone-handle-directory-files)
50699         (tramp-rclone-local-file-name):
50700         Use `tramp-compat-file-name-quoted-p',  `tramp-compat-file-name-quote'
50701         and ´tramp-compat-file-name-unquote'.
50702         (tramp-rclone-handle-file-executable-p)
50703         (tramp-rclone-handle-file-readable-p): Cache result.
50704         (tramp-rclone-handle-file-name-all-completions)
50705         (tramp-rclone-mounted-p, tramp-rclone-remote-file-name)
50706         (tramp-rclone-maybe-open-connection): Rewrite.
50708         * test/lisp/net/tramp-tests.el (tramp--test-rclone-p): New defun.
50709         (tramp-test05-expand-file-name-relative)
50710         (tramp--test-special-characters): Use it.
50712 2018-12-06  Michael Albinus  <michael.albinus@gmx.de>
50714         Rework Tramp wrt string-match-p, looking-at-p, save-match-data
50716         * lisp/net/tramp.el (tramp-find-method, tramp-find-user)
50717         (tramp-find-host, tramp-dissect-file-name, tramp-make-tramp-file-name)
50718         (tramp-completion-make-tramp-file-name, tramp-debug-message)
50719         (tramp-message, tramp-progress-reporter-update)
50720         (tramp-set-completion-function)
50721         (tramp-rfn-eshadow-update-overlay)
50722         (tramp-find-file-name-coding-system-alist)
50723         (tramp-file-name-for-operation)
50724         (tramp-use-absolute-autoload-file-names)
50725         (tramp-get-completion-methods, tramp-get-completion-user-host)
50726         (tramp-handle-directory-files)
50727         (tramp-handle-file-name-case-insensitive-p)
50728         (tramp-handle-file-name-completion, tramp-handle-file-truename)
50729         (tramp-handle-insert-directory, tramp-handle-load)
50730         (tramp-handle-shell-command, tramp-action-yesno)
50731         (tramp-action-yn, tramp-process-actions)
50732         (tramp-mode-string-to-int, tramp-get-local-locale)
50733         (tramp-local-host-p):
50734         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info)
50735         (tramp-adb-handle-directory-files-and-attributes)
50736         (tramp-adb--gnu-switches-to-ash, tramp-adb-sh-fix-ls-output)
50737         (tramp-adb-handle-file-name-all-completions)
50738         (tramp-adb-handle-shell-command)
50739         (tramp-adb-handle-start-file-process):
50740         * lisp/net/tramp-archive.el (tramp-archive-dissect-file-name):
50741         * lisp/net/tramp-cache.el (tramp-get-hash-table)
50742         (tramp-flush-directory-properties, tramp-flush-file-function):
50743         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
50744         (tramp-append-tramp-buffers):
50745         * lisp/net/tramp-compat.el (tramp-compat-process-running-p):
50746         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
50747         (tramp-gvfs-get-file-attributes)
50748         (tramp-gvfs-handle-file-attributes)
50749         (tramp-gvfs-monitor-process-filter)
50750         (tramp-gvfs-handler-mounted-unmounted)
50751         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec-entry)
50752         (tramp-gvfs-mount-spec, tramp-gvfs-maybe-open-connection):
50753         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
50754         (tramp-do-file-attributes-with-stat)
50755         (tramp-sh-handle-file-selinux-context)
50756         (tramp-sh-handle-directory-files-and-attributes)
50757         (tramp-do-directory-files-and-attributes-with-stat)
50758         (tramp-sh-handle-file-name-all-completions)
50759         (tramp-sh-handle-dired-compress-file)
50760         (tramp-sh-handle-insert-directory)
50761         (tramp-sh-handle-expand-file-name)
50762         (tramp-sh-handle-start-file-process)
50763         (tramp-sh-handle-process-file, tramp-sh-handle-write-region)
50764         (tramp-sh-handle-file-notify-add-watch)
50765         (tramp-sh-gio-monitor-process-filter)
50766         (tramp-sh-gvfs-monitor-dir-process-filter)
50767         (tramp-sh-inotifywait-process-filter)
50768         (tramp-sh-handle-file-system-info, tramp-maybe-send-script)
50769         (tramp-find-executable, tramp-open-shell, tramp-find-shell)
50770         (tramp-open-connection-setup-interactive-shell)
50771         (tramp-find-inline-encoding, tramp-call-local-coding-command)
50772         (tramp-compute-multi-hops, tramp-maybe-open-connection)
50773         (tramp-convert-file-attributes)
50774         (tramp-make-copy-program-file-name, tramp-get-remote-locale)
50775         (tramp-get-test-nt-command, tramp-get-remote-stat)
50776         (tramp-get-inline-coding):
50777         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files)
50778         (tramp-smb-action-get-acl, tramp-smb-handle-file-attributes)
50779         (tramp-smb-handle-file-name-all-completions)
50780         (tramp-smb-handle-file-system-info)
50781         (tramp-smb-handle-file-writable-p)
50782         (tramp-smb-handle-insert-directory)
50783         (tramp-smb-handle-make-directory)
50784         (tramp-smb-handle-make-directory-internal)
50785         (tramp-smb-handle-start-file-process, tramp-smb-get-localname)
50786         (tramp-smb-read-file-entry): Use `string-match-p' and
50787         `looking-at-p'.  Remove superfluous `save-match-data'.  Apply
50788         `eval-when-compile' on constant concat data.
50790         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p-p):
50791         Use `string-prefix-p'.
50792         (tramp-compat-file-name-unquote): Do not use match data.
50794 2018-12-06  Michael Albinus  <michael.albinus@gmx.de>
50796         Make stronger tests for Tramp multi hops
50798         * lisp/net/tramp.el (tramp-dissect-file-name, tramp-dissect-hop-name):
50799         Check, that method is capable of multi hops.
50801         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
50802         (tramp-test02-file-name-dissect-simplified)
50803         (tramp-test02-file-name-dissect-separate): Suppress check for multihops.
50804         (tramp-test03-file-name-method-rules): Check for error if multi
50805         hops cannot be applied.
50807 2018-12-06  João Távora  <joaotavora@gmail.com>
50809         Keep Flymake compatible with Emacs 26.1 builds --without-x
50811         * lisp/progmodes/flymake.el (flymake-double-exclamation-mark):
50812         Don't define if 'define-fringe-bitmap isn't fbound.
50813         (Version): Bump to 1.0.2
50815 2018-12-05  Glenn Morris  <rgm@gnu.org>
50817         * admin/unidata/uvs.el (uvs-print-table-ivd): Add more header detail.
50819 2018-12-04  João Távora  <joaotavora@gmail.com>
50821         Prepare lisp/progmodes/flymake.el for distribution in GNU ELPA
50823         * lisp/progmodes/flymake.el (Package-Requires): Require Emacs
50824         26.1.  (Version): Bump to 1.0.1
50826 2018-12-04  João Távora  <joaotavora@gmail.com>
50828         Allow custom load paths in elisp's byte-compilation Flymake
50830         * lisp/progmodes/elisp-mode.el
50831         (elisp-flymake-byte-compile-load-path): New variable.
50832         (elisp-flymake-byte-compile): Use new variable
50834 2018-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
50836         * lisp/emacs-lisp/eldoc.el: Let the user interrupt the search
50838         (eldoc-print-current-symbol-info): Use while-no-input and non-essential.
50840 2018-12-04  Eli Zaretskii  <eliz@gnu.org>
50842         Support IBM038 (a.k.a. "EBCDIC-INT") encoding
50844         * lisp/international/mule-conf.el (ibm038): New charset.
50845         (ebcdic-int, cp038): Alias charsets of ibm038.
50846         * lisp/language/english.el (ibm038): New coding-system.
50847         (ebcdic-int, cp038): Alias coding-systems of ibm038.
50848         (Bug#33612)
50850         * etc/NEWS: Announce the new coding system ibm038.
50852 2018-12-04  Glenn Morris  <rgm@gnu.org>
50854         Skip an autorevert test on hydra.nixos.org (bug#32645)
50856         * test/lisp/autorevert-tests.el
50857         (auto-revert-test02-auto-revert-deleted-file): Skip on hydra.
50859 2018-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
50861         * lisp/shell.el (shell--parse-pcomplete-arguments): Stop at semi-colon
50863         * test/lisp/shell-tests.el (shell-tests-completion-before-semi):
50864         New corresponding test.
50866 2018-12-03  Juri Linkov  <juri@linkov.net>
50868         * lisp/isearch.el (isearch-yank-on-move): New defcustom
50870         with shift-move related options extracted from `search-exit-option'.
50871         (isearch-pre-command-hook): Rename search-exit-option to
50872         isearch-yank-on-move in shift-move related places.
50873         (isearch-post-command-hook): Check for isearch-pre-move-point
50874         instead of search-exit-option.  (Bug#15839)
50876         * doc/emacs/search.texi (Not Exiting Isearch): Rename
50877         search-exit-option to isearch-yank-on-move.
50879         * lisp/menu-bar.el (menu-bar-i-search-menu): Add more isearch commands.
50881 2018-12-03  Juri Linkov  <juri@linkov.net>
50883         * lisp/isearch.el (isearch-allow-scroll): New option `unlimited'.
50885         (isearch-pre-command-hook): Call isearch-pre-scroll-point unless
50886         isearch-allow-scroll is 'unlimited'.
50887         (isearch-post-command-hook): Use `when' instead of `cond'.
50888         Call isearch-lazy-highlight-new-loop when isearch-allow-scroll is
50889         'unlimited'.  (Bug#15839)
50891 2018-12-03  Juri Linkov  <juri@linkov.net>
50893         * lisp/vc/vc-git.el (vc-git-stash): Call vc-dir-marked-files only
50895         in vc-dir-mode.
50897 2018-12-03  Paul Eggert  <eggert@cs.ucla.edu>
50899         emacsclient: fix typo on recent socket-leak change
50901         This ports to POSIXish platforms like macOS that lack SOCK_CLOEXEC.
50902         Fix suggested by Eli Zaretskii in:
50903         https://lists.gnu.org/r/emacs-devel/2018-12/msg00055.html
50904         * lib-src/emacsclient.c (set_local_socket):
50905         Don’t use SOCK_CLOEXEC; that’s cloexec_socket’s job.
50907 2018-12-03  Eli Zaretskii  <eliz@gnu.org>
50909         Fix WINDOWSNT/DOS_NT build
50911         Recent changes in sysdep.c and emacsclient unnecessarily
50912         removed useful code from DOS_NT builds.  This changeset
50913         reinstates that code.
50914         * nt/inc/ms-w32.h (tcdrain): Redirect to _commit.
50915         (fdatasync): No need to redirect anymore.
50917         * lib-src/emacsclient.c (flush_stdout): Don't avoid calling
50918         tcdrain on DOS_NT platforms.
50920         * src/sysdep.c (reset_sys_modes): Don't ifdef away the call to
50921         tcdrain on DOS_NT platforms.
50923 2018-12-02  Paul Eggert  <eggert@cs.ucla.edu>
50925         emacsclient: don’t leak socket to child processes
50927         * lib-src/emacsclient.c [!WINDOWSNT]: Include fcntl.h.
50928         (cloexec_socket): New function.
50929         (set_tcp_socket, set_local_socket): Use it.
50931 2018-12-02  Paul Eggert  <eggert@cs.ucla.edu>
50933         Use tcdrain, not fdatasync, to drain ttys
50935         fdatasync is for storage devices, not ttys.
50936         * admin/merge-gnulib (GNULIB_MODULES): Remove fdatasync.
50937         * lib/fdatasync.c, m4/fdatasync.m4: Remove.
50938         * lib-src/Makefile.in (LIB_FDATASYNC):
50939         * src/Makefile.in (LIB_FDATASYNC):
50940         Remove.  All uses removed.
50941         * lib-src/emacsclient.c [!DOS_NT]:
50942         Include <termios.h>, for tcdrain.
50943         * lib-src/emacsclient.c (flush_stdout):
50944         * src/sysdep.c (reset_sys_modes): On ttys, use tcdrain instead
50945         of fdatasync (except don’t use either function if DOS_NT).
50946         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
50948 2018-12-02  Paul Eggert  <eggert@cs.ucla.edu>
50950         Update from Gnulib
50952         This incorporates:
50953         2018-11-30 memrchr: port better to clang
50954         2018-11-21 mktime: add libc-config dependency
50955         * build-aux/config.guess, build-aux/config.sub, lib/memrchr.c:
50956         Copy from Gnulib.
50957         * m4/gnulib-comp.m4: Regenerate.
50959 2018-12-02  Paul Eggert  <eggert@cs.ucla.edu>
50961         emacsclient: fix symlink/socket race
50963         * lib-src/emacsclient.c (socket_status): New arg UID.
50964         All uses changed.
50965         (set_local_socket): Don’t create the unbound socket unless the
50966         initial sanity checks on the socket file succeed; this
50967         simplifies cleaning it up.  Check socket ownership again
50968         after connecting, to fix a race (Bug#33366).
50970 2018-12-02  Glenn Morris  <rgm@gnu.org>
50972         Merge from origin/emacs-26
50974         745c9c0 (origin/emacs-26) Revert "Revert "Fix infloop in GC mark_kboa...
50975         c418c85 Revert "Fix infloop in GC mark_kboards"
50976         8fa0d96 * lisp/emacs-lisp/subr-x.el (if-let, when-let): Doc fix: acti...
50978 2018-12-02  Glenn Morris  <rgm@gnu.org>
50980         Merge from origin/emacs-26
50982         317b354 ; Add notes about cross-compiling macOS versions
50983         4b176eb Fix macOS run-time feature check
50984         c03574b * etc/NEWS-*: Fix capitalization of "Emacs"
50986         # Conflicts:
50987         #       etc/NEWS
50989 2018-12-02  Glenn Morris  <rgm@gnu.org>
50991         Merge from origin/emacs-26
50993         e06562c Fix "M-x man" when there's no 'man' program on PATH
50995 2018-12-02  Glenn Morris  <rgm@gnu.org>
50997         Merge from origin/emacs-26
50999         cc3ad9a ; * CONTRIBUTE: Clarify rules for committing to release branc...
51000         a89dbe2 * doc/misc/dbus.texi (Type Conversion): Fix typo.  (Bug#33551)
51001         03ee726 ; Add comment to `customize-package-emacs-version-alist'
51002         bce1d1a Improve documentation of gdb-mi.el
51004 2018-12-01  Paul Eggert  <eggert@cs.ucla.edu>
51006         emacsclient: prefer XDG_RUNTIME_DIR (Bug#33367)
51008         * lib-src/emacsclient.c: Disable -Wformat-truncation=2,
51009         to avoid false alarms about the new snprintf calls.
51010         (local_sockname): New function.
51011         (set_local_socket): Use it.  Prefer XDG_RUNTIME_DIR (if set)
51012         for location of socket directory.  Avoid unnecessary memory
51013         allocation by using snprintf to destination.
51014         * lisp/server.el (server-socket-dir): Prefer XDG_RUNTIME_DIR if set.
51016 2018-12-01  Stefan Monnier  <monnier@iro.umontreal.ca>
51018         * lisp/calendar/holidays.el: Use lexical-binding
51020         Remove redundant :group arguments.
51021         (holiday-sexp): Bind 'year' and 'date' dynamically for 'sexp' and 'string'.
51023 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
51025         Fix infloop in GC mark_kboards
51027         * src/keyboard.c (KBD_BUFFER_SIZE): Now a constant, not a macro.
51028         (kbd_fetch_ptr, kbd_store_ptr): These now always point somewhere
51029         into kbd_buffer, instead of sometimes pointing just past the
51030         end which led to serious bugs (Bug#33547).  All uses changed.
51031         (kbd_store_ptr): No longer volatile.  This variable has not been
51032         accessed by a signal handler for some time, it seems.
51033         (next_kbd_event, prev_kbd_event): New functions.
51034         (kbd_buffer_nr_stored, process_special_events): Simplify.
51036 2018-11-30  Michael Albinus  <michael.albinus@gmx.de>
51038         Fix Bug#33556
51040         * lisp/autorevert.el (auto-revert-notify-add-watch):
51041         Assert that a key in `auto-revert-notify-watch-descriptor-hash-list'
51042         is a valid file notification descriptor.  (Bug#33556)
51044 2018-11-29  Robert Pluim  <rpluim@gmail.com>
51046         Convert NS face colors to RGBA when comparing with frame values
51048         The NS port uses indexes into a color table to specify the colors of
51049         faces, whereas frames use RGBA pixel values.  In
51050         extend_face_to_end_of_line the two needed to be compared to ensure
51051         that the backgrounds of certain faces are not extended to the edge of
51052         the window, which was failing because of this difference, thus causing
51053         a visual difference with other platforms.  Convert from index to RGBA
51054         when doing such comparisons.
51056         * src/dispextern.h (FACE_COLOR_TO_PIXEL) [HAVE_NS]: New macro.  Call
51057         ns_color_index_to_rgba under NS only.
51059         * src/nsgui.h: Add prototype for ns_color_index_to_rgba.
51061         * src/nsterm.m (ns_color_index_to_rgba): New function.  Converts a
51062         color_table entry to corresponding RGBA pixel value.
51064         * src/xdisp.c (extend_face_to_end_of_line): Call FACE_COLOR_TO_PIXEL
51065         on face background color when comparing with frame color.
51067 2018-11-29  Filipp Gunbin  <fgunbin@fastmail.fm>
51069         LDAP: Set process-connection-type to t
51071           * lisp/net/ldap.el (ldap-search-internal): Set
51072           process-connection-type to t.  (Bug#33050)
51074 2018-11-28  Glenn Morris  <rgm@gnu.org>
51076         * lisp/emacs-lisp/bytecomp.el: Don't load compile at runtime.
51078         It isn't needed and slows down compiling other files.
51080 2018-11-28  Eric Abrahamsen  <eric@ericabrahamsen.net>
51082         Further small tweaks to Gnus modes cleanup
51084         * lisp/gnus/gnus-sum.el: Remove explicit definition of
51085           `gnus-summary-mode-hook', this is now created automatically.
51086         * lisp/gnus/nnir.el (nnir-open-server): Attach `nnir-mode' to the
51087           `gnus-summary-prepared-hook', instead of
51088           `gnus-summary-mode-hook'. The latter no longer has access to the
51089           buffer-local value of `gnus-newsgroup-name', which `nnir-mode'
51090           needs.
51092 2018-11-28  Glenn Morris  <rgm@gnu.org>
51094         Merge from origin/emacs-26
51096         74a3a79 (origin/emacs-26) Fix a typo in a doc string
51097         911766d Minor markup fix in frames.texi
51098         19ed1e9 * lisp/net/trampver.el (customize-package-emacs-version-alist...
51099         d7132ad * lisp/mh-e/mh-e.el (customize-package-emacs-version-alist): ...
51100         5f39260 * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Pass format to m...
51101         a291f62 Don't call xwidget functions until GTK has been initialized
51102         f0531b8 Improve documentation of Ediff wordwise commands
51103         2925ce5 Support Hunspell 1.7.0 in ispell.el
51104         03bb7a8 Avoid clearing echo-area message by auto-save-visited-file-name
51106 2018-11-28  Glenn Morris  <rgm@gnu.org>
51108         Merge from origin/emacs-26
51110         094fcf6 Fix more drawing bugs in NS port (bug#32932)
51112 2018-11-28  Michael Albinus  <michael.albinus@gmx.de>
51114         Tramp cleanup
51116         * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions)
51117         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions):
51118         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
51119         Use `string-match-p'.
51121         * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
51122         Set file properties more robust.
51124         * lisp/net/tramp-sh.el (tramp-stat-marker)
51125         (tramp-convert-file-attributes): Add tramp-autoload cookie.
51127 2018-11-28  Alan Mackenzie  <acm@muc.de>
51129         Make compilation mode work with warnings from compiled buffer functions
51131         In particular, warning messages from compile_defun now contain the source
51132         buffer name and line and column numbers.  Typing CR on such a warning now
51133         moves to the pertinent place in the source buffer.
51135         This fixes bug #33475
51137         * lisp/emacs-lisp/bytecomp.el (top-level): Require compile.elc?.
51138         (emacs-lisp-compilation-file-name-or-buffer)
51139         (emacs-lisp-compilation-parse-errors-filename-function): New
51140         variables/constants.
51141         (emacs-lisp-compilation-mode): New mode derived from compilation-mode.
51142         (byte-compile-log-file): Check byte-compile-current-file for being a string,
51143         not merely non-nil.  Change wording in message from "buffer" to "in buffer".
51144         Go into emacs-lisp-compilation-mode rather than the plain compilation-mode.
51145         (compile-defun): Bind byte-compile-current-file to current-buffer, not nil.
51147         * lisp/progmodes/compile.el
51148         (compilation-parse-errors-filename-function): Amend comments to specify that
51149         this function may return a buffer, and that it need not save the match data.
51150         (Several places): Amend comments to allow for the use of a buffer rather than
51151         a file name.
51152         (compilation-next-error-function): If the "file name" in file struct is
51153         actually a buffer, use it rather than compilation-find-file's result.
51154         (compilation-get-file-structure): save-match-data around the call to
51155         compilation-parse-errors-filename-function.  Only call
51156         command-line-normalize-file-name when `filename' is a string.
51158 2018-11-27  Paul Eggert  <eggert@cs.ucla.edu>
51160         Fix core dump in dbus-message-internal
51162         * src/dbusbind.c (Fdbus_message_internal):
51163         Don’t go past array end (Bug#33530).
51165 2018-11-27  Michael Albinus  <michael.albinus@gmx.de>
51167         Fixes in tramp-clone.el
51169         * lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
51170         Wrap by connection property "rclone-device-names".
51171         (tramp-rclone-maybe-open-connection): Do not check for `non-essential'.
51173 2018-11-26  Michael Heerdegen  <michael_heerdegen@web.de>
51175         Revert "Replace insignificant backquotes" for Org files
51177         Revert everything of commit 1808d254a5 "Replace insignificant
51178         backquotes" that touches Org source files since these should not have
51179         been changed.
51181         * lisp/org/ob-C.el:
51182         * lisp/org/ob-core.el:
51183         * lisp/org/ob-exp.el:
51184         * lisp/org/ob-groovy.el:
51185         * lisp/org/ob-haskell.el:
51186         * lisp/org/ob-io.el:
51187         * lisp/org/ob-lisp.el:
51188         * lisp/org/ob-lob.el:
51189         * lisp/org/ob-lua.el:
51190         * lisp/org/ob-octave.el:
51191         * lisp/org/ob-perl.el:
51192         * lisp/org/ob-python.el:
51193         * lisp/org/ob-ref.el:
51194         * lisp/org/ob-ruby.el:
51195         * lisp/org/ob-sql.el:
51196         * lisp/org/org-agenda.el:
51197         * lisp/org/org-capture.el:
51198         * lisp/org/org-clock.el:
51199         * lisp/org/org-colview.el:
51200         * lisp/org/org-duration.el:
51201         * lisp/org/org-element.el:
51202         * lisp/org/org-entities.el:
51203         * lisp/org/org-gnus.el:
51204         * lisp/org/org-indent.el:
51205         * lisp/org/org-info.el:
51206         * lisp/org/org-inlinetask.el:
51207         * lisp/org/org-lint.el:
51208         * lisp/org/org-list.el:
51209         * lisp/org/org-mouse.el:
51210         * lisp/org/org-plot.el:
51211         * lisp/org/org-src.el:
51212         * lisp/org/org-table.el:
51213         * lisp/org/org.el:
51214         * lisp/org/ox-ascii.el:
51215         * lisp/org/ox-html.el:
51216         * lisp/org/ox-latex.el:
51217         * lisp/org/ox-man.el:
51218         * lisp/org/ox-md.el:
51219         * lisp/org/ox-org.el:
51220         * lisp/org/ox-publish.el:
51221         * lisp/org/ox-texinfo.el:
51222         * lisp/org/ox.el: Undo changes made by commit "Replace insignificant
51223         backquotes".
51225 2018-11-26  Eli Zaretskii  <eliz@gnu.org>
51227         Unbreak compilation of emacsclient on MS-Windows
51229         * lib-src/emacsclient.c (main): Make "-suspend" handling
51230         conditional on !WINDOWSNT, as there's no SIGSTOP nor 'kill'
51231         there.
51233 2018-11-26  Paul Eggert  <eggert@cs.ucla.edu>
51235         emacsclient: assume HAVE_INET_SOCKETS
51237         * configure.ac (HAVE_INET_SOCKETS): Remove.
51238         * lib-src/emacsclient.c: Simplify by assuming HAVE_SOCKETS and
51239         HAVE_INET_SOCKETS, which are always true nowadays, except perhaps
51240         for MS-DOS and if so this program shouldn’t be built there anyway.
51241         Don’t bother including sys/types.h, as it’s not needed on modern
51242         systems (and syswait.h does it for us anyway).
51243         (main): Simplify by assuming SIGSTOP (which is always defined
51244         if SIGCONT is), and by assuming HAVE_SOCKETS && HAVE_INET_SOCKETS.
51246 2018-11-26  Paul Eggert  <eggert@cs.ucla.edu>
51248         emacsclient: negate NO_SOCKETS_IN_FILE_SYSTEM
51250         * lib-src/emacsclient.c (SOCKETS_IN_FILE_SYSTEM): Rename from
51251         NO_SOCKETS_IN_FILE_SYSTEM, with inverted sense.  All uses changed.
51252         All uses were of the form ‘#ifndef NO_SOCKETS_IN_FILE_SYSTEM’, and
51253         it’s easier to read ‘#ifdef SOCKETS_IN_FILE_SYSTEM’.
51255 2018-11-26  Paul Eggert  <eggert@cs.ucla.edu>
51257         emacsclient: fix some races on POSIX systems
51259         Fix some longstanding race conditions due to emacsclient’s use of
51260         ‘signal’ instead of ‘sigaction’ and its use of nested signal
51261         handlers.  These races could cause premature exit or incorrect
51262         commands sent to Emacs.
51263         * lib-src/emacsclient.c (signal) [!WINDOWSNT]: Do not undef.
51264         (emacs_socket): Remove this static variable.  It is now a parameter.
51265         (send_to_emacs): Do not exit merely because ‘send’ was interrupted.
51266         Instead, act on the signal if possible, and then retry the ‘send’.
51267         (pass_signal_to_emacs): Remove; now done by act_on_signals.
51268         (reinstall_handler_if_needed, handle_sigttou, handle_sigwinch)
51269         (install_handler): New functions.
51270         (got_sigcont, got_sigtstp, got_sigttou, got_sigwinch):
51271         New globals, used for more-portable signal handling.
51272         (handle_sigcont, handle_sigtstp): Just set the static var; other
51273         actions are now done later by act_on_signals.
51274         (install_handler): New function that arranges for signals to
51275         never be reset to default, on modern POSIX platforms.
51276         This fixes some races.
51277         (act_on_signals): New function.  When acting on SIGCONT,
51278         don’t bother calling getpgrp if tcgetpgrp fails.
51279         (start_daemon_and_retry_set_socket): Return the socket
51280         rather than setting a global variable.  All uses changed.
51281         (flush_stdout): New function that acts on signals received while
51282         flushing.
51283         (main): Use it.  emacs_socket is now a local var.
51284         Act on signals received during recv.
51286 2018-11-26  Michael Albinus  <michael.albinus@gmx.de>
51288         Rework tramp-rclone-mounted-p
51290         * lisp/net/tramp-rclone.el (tramp-rclone-mounted-p): Rewrite.
51291         (tramp-rclone-maybe-open-connection): Set "mounted" file property.
51293 2018-11-26  Wilson Snyder  <wsnyder@wsnyder.org>
51295         Update verilog-mode with upstream patches.
51297         * lisp/progmodes/verilog-mode.el (verilog-auto-templated-rel)
51298         (verilog-load-file-at-point, verilog-read-arg-pins)
51299         (verilog-read-auto-constants, verilog-read-auto-params)
51300         (verilog-read-auto-template-middle, verilog-read-decls)
51301         (verilog-read-includes, verilog-read-inst-pins)
51302         (verilog-read-instants, verilog-read-sub-decls-gate): Don't copy
51303         properties when parsing AUTOs.
51304         (verilog-font-lock-keywords): Fix SystemVerilog font lock keywords to be
51305         more consistent with IEEE 1364 keywords. Reported by Jeff Riley.
51306         (verilog-highlight-p1800-keywords): Now ignored.
51307         (verilog-simplify-range-expression): Simplify shifts in auto wire
51308         declarations, bug1346.  Reported by Maghawan Punde.
51309         (verilog-read-always-signals-recurse): Fix AUTORESET with pattern
51310         assignments. Reported by Bhargava Narumanchi.
51311         (verilog-at-constraint-p): Fix indentation of replicate with parameter.
51312         Reported by Yun He.
51313         (verilog-read-defines, verilog-read-includes)
51314         (verilog-substitute-include-name): Fix handling define names in includes,
51315         bug1324. Reported by John DeRoo.
51316         (verilog-imenu-generic-expression): Fix speedbar for signed functions,
51317         bug1312. Reported by Ian Perryman.
51318         (verilog-indent-buffer): Fix verilog-batch-indent not honoring top mode
51319         line. Reported by James Claffey.
51320         (verilog-set-auto-endcomments): Fix end comments when have variables
51321         starting with class_, bug1259. Reported by Andrea Fedeli.
51322         (verilog-read-decls): Fix AUTOINST for parameterized interfaces,
51323         bug1253. Reported by David Rogoff.
51324         (verilog-read-sub-decls-line, verilog-signals-combine-bus): Fix AUTOOUTPUT
51325         not including nested array references, msg2417.
51326         (verilog-at-constraint-p): begin/end are illegal inside constraint blocks,
51327         so use that knowledge to make smarter indentation decisions.
51328         (verilog-auto-simplify-expressions, verilog-simplify-range-expression):
51329         Add `verilog-auto-simplify-expressions' to disable range simplifications.
51330         (verilog-auto-save-check, verilog-batch-execute-func): Fix .* causing
51331         Emacs batch to always re-save files with no changes, bug1239.  Reported by
51332         Brian Etscheid.
51334 2018-11-25  Juri Linkov  <juri@linkov.net>
51336         * lisp/windmove.el: Directional window deletion (bug#32790)
51338         * lisp/windmove.el (windmove-delete-in-direction)
51339         (windmove-delete-left, windmove-delete-up)
51340         (windmove-delete-right, windmove-delete-down)
51341         (windmove-delete-default-keybindings): New functions.
51343 2018-11-25  Michael Heerdegen  <michael_heerdegen@web.de>
51345         Replace insignificant backquotes
51347         Replace most insignificant occurrences of '`' with a straight quote,
51348         sharp quote or nothing.  This includes backquotes in 'pcase' patterns.
51350         * admin/admin.el:
51351         * lisp/apropos.el:
51352         * lisp/arc-mode.el:
51353         * lisp/auth-source.el:
51354         * lisp/avoid.el:
51355         * lisp/bindings.el:
51356         * lisp/bs.el:
51357         * lisp/calculator.el:
51358         * lisp/calendar/todo-mode.el:
51359         * lisp/cedet/semantic.el:
51360         * lisp/cedet/semantic/analyze/debug.el:
51361         * lisp/cedet/semantic/bovine.el:
51362         * lisp/cedet/semantic/dep.el:
51363         * lisp/cedet/semantic/grammar.el:
51364         * lisp/cedet/semantic/wisent/comp.el:
51365         * lisp/cedet/semantic/wisent/grammar.el:
51366         * lisp/cedet/srecode/mode.el:
51367         * lisp/cus-edit.el:
51368         * lisp/doc-view.el:
51369         * lisp/elec-pair.el:
51370         * lisp/electric.el:
51371         * lisp/emacs-lisp/autoload.el:
51372         * lisp/emacs-lisp/benchmark.el:
51373         * lisp/emacs-lisp/byte-opt.el:
51374         * lisp/emacs-lisp/bytecomp.el:
51375         * lisp/emacs-lisp/cconv.el:
51376         * lisp/emacs-lisp/cl-extra.el:
51377         * lisp/emacs-lisp/cl-generic.el:
51378         * lisp/emacs-lisp/cl-macs.el:
51379         * lisp/emacs-lisp/copyright.el:
51380         * lisp/emacs-lisp/debug.el:
51381         * lisp/emacs-lisp/eieio-compat.el:
51382         * lisp/emacs-lisp/ert.el:
51383         * lisp/emacs-lisp/generator.el:
51384         * lisp/emacs-lisp/inline.el:
51385         * lisp/emacs-lisp/macroexp.el:
51386         * lisp/emacs-lisp/map.el:
51387         * lisp/emacs-lisp/package-x.el:
51388         * lisp/emacs-lisp/package.el:
51389         * lisp/emacs-lisp/radix-tree.el:
51390         * lisp/emacs-lisp/smie.el:
51391         * lisp/epa.el:
51392         * lisp/erc/erc-dcc.el:
51393         * lisp/erc/erc-track.el:
51394         * lisp/erc/erc.el:
51395         * lisp/eshell/em-ls.el:
51396         * lisp/eshell/esh-cmd.el:
51397         * lisp/files.el:
51398         * lisp/filesets.el:
51399         * lisp/font-lock.el:
51400         * lisp/frameset.el:
51401         * lisp/gnus/gnus-agent.el:
51402         * lisp/gnus/gnus-art.el:
51403         * lisp/gnus/gnus-cite.el:
51404         * lisp/gnus/gnus-group.el:
51405         * lisp/gnus/gnus-msg.el:
51406         * lisp/gnus/gnus-salt.el:
51407         * lisp/gnus/gnus-srvr.el:
51408         * lisp/gnus/gnus-sum.el:
51409         * lisp/gnus/gnus-topic.el:
51410         * lisp/gnus/gnus-util.el:
51411         * lisp/gnus/gnus.el:
51412         * lisp/gnus/message.el:
51413         * lisp/gnus/mm-util.el:
51414         * lisp/gnus/mml.el:
51415         * lisp/gnus/nnheader.el:
51416         * lisp/gnus/nnimap.el:
51417         * lisp/gnus/nnmairix.el:
51418         * lisp/gnus/spam.el:
51419         * lisp/hexl.el:
51420         * lisp/hi-lock.el:
51421         * lisp/ibuf-ext.el:
51422         * lisp/ibuffer.el:
51423         * lisp/ido.el:
51424         * lisp/info.el:
51425         * lisp/international/mule-cmds.el:
51426         * lisp/international/mule-util.el:
51427         * lisp/json.el:
51428         * lisp/jsonrpc.el:
51429         * lisp/language/cyrillic.el:
51430         * lisp/language/european.el:
51431         * lisp/language/georgian.el:
51432         * lisp/language/tibetan.el:
51433         * lisp/language/utf-8-lang.el:
51434         * lisp/language/vietnamese.el:
51435         * lisp/ldefs-boot.el:
51436         * lisp/mail/mail-extr.el:
51437         * lisp/man.el:
51438         * lisp/menu-bar.el:
51439         * lisp/mh-e/mh-acros.el:
51440         * lisp/mh-e/mh-folder.el:
51441         * lisp/mh-e/mh-mime.el:
51442         * lisp/mh-e/mh-show.el:
51443         * lisp/mh-e/mh-speed.el:
51444         * lisp/minibuffer.el:
51445         * lisp/mpc.el:
51446         * lisp/net/ange-ftp.el:
51447         * lisp/net/hmac-def.el:
51448         * lisp/net/newst-backend.el:
51449         * lisp/net/quickurl.el:
51450         * lisp/net/tramp-archive.el:
51451         * lisp/net/tramp-compat.el:
51452         * lisp/notifications.el:
51453         * lisp/obsolete/pgg-parse.el:
51454         * lisp/obsolete/vc-arch.el:
51455         * lisp/obsolete/xesam.el:
51456         * lisp/org/ob-C.el:
51457         * lisp/org/ob-core.el:
51458         * lisp/org/ob-exp.el:
51459         * lisp/org/ob-groovy.el:
51460         * lisp/org/ob-haskell.el:
51461         * lisp/org/ob-io.el:
51462         * lisp/org/ob-lisp.el:
51463         * lisp/org/ob-lob.el:
51464         * lisp/org/ob-lua.el:
51465         * lisp/org/ob-octave.el:
51466         * lisp/org/ob-perl.el:
51467         * lisp/org/ob-python.el:
51468         * lisp/org/ob-ref.el:
51469         * lisp/org/ob-ruby.el:
51470         * lisp/org/ob-sql.el:
51471         * lisp/org/org-agenda.el:
51472         * lisp/org/org-capture.el:
51473         * lisp/org/org-clock.el:
51474         * lisp/org/org-colview.el:
51475         * lisp/org/org-duration.el:
51476         * lisp/org/org-element.el:
51477         * lisp/org/org-entities.el:
51478         * lisp/org/org-gnus.el:
51479         * lisp/org/org-indent.el:
51480         * lisp/org/org-info.el:
51481         * lisp/org/org-inlinetask.el:
51482         * lisp/org/org-lint.el:
51483         * lisp/org/org-list.el:
51484         * lisp/org/org-mouse.el:
51485         * lisp/org/org-plot.el:
51486         * lisp/org/org-src.el:
51487         * lisp/org/org-table.el:
51488         * lisp/org/org.el:
51489         * lisp/org/ox-ascii.el:
51490         * lisp/org/ox-html.el:
51491         * lisp/org/ox-latex.el:
51492         * lisp/org/ox-man.el:
51493         * lisp/org/ox-md.el:
51494         * lisp/org/ox-org.el:
51495         * lisp/org/ox-publish.el:
51496         * lisp/org/ox-texinfo.el:
51497         * lisp/org/ox.el:
51498         * lisp/play/bubbles.el:
51499         * lisp/play/gamegrid.el:
51500         * lisp/progmodes/autoconf.el:
51501         * lisp/progmodes/cc-defs.el:
51502         * lisp/progmodes/cc-engine.el:
51503         * lisp/progmodes/cc-fonts.el:
51504         * lisp/progmodes/cc-langs.el:
51505         * lisp/progmodes/cperl-mode.el:
51506         * lisp/progmodes/ebrowse.el:
51507         * lisp/progmodes/elisp-mode.el:
51508         * lisp/progmodes/flymake-cc.el:
51509         * lisp/progmodes/flymake.el:
51510         * lisp/progmodes/fortran.el:
51511         * lisp/progmodes/grep.el:
51512         * lisp/progmodes/gud.el:
51513         * lisp/progmodes/idlwave.el:
51514         * lisp/progmodes/js.el:
51515         * lisp/progmodes/m4-mode.el:
51516         * lisp/progmodes/make-mode.el:
51517         * lisp/progmodes/mixal-mode.el:
51518         * lisp/progmodes/modula2.el:
51519         * lisp/progmodes/octave.el:
51520         * lisp/progmodes/opascal.el:
51521         * lisp/progmodes/prolog.el:
51522         * lisp/progmodes/ps-mode.el:
51523         * lisp/progmodes/python.el:
51524         * lisp/progmodes/ruby-mode.el:
51525         * lisp/progmodes/sh-script.el:
51526         * lisp/progmodes/sql.el:
51527         * lisp/progmodes/verilog-mode.el:
51528         * lisp/ps-mule.el:
51529         * lisp/rtree.el:
51530         * lisp/ruler-mode.el:
51531         * lisp/ses.el:
51532         * lisp/simple.el:
51533         * lisp/startup.el:
51534         * lisp/subr.el:
51535         * lisp/term/ns-win.el:
51536         * lisp/textmodes/bibtex.el:
51537         * lisp/textmodes/conf-mode.el:
51538         * lisp/textmodes/css-mode.el:
51539         * lisp/textmodes/refill.el:
51540         * lisp/textmodes/sgml-mode.el:
51541         * lisp/textmodes/tex-mode.el:
51542         * lisp/tutorial.el:
51543         * lisp/url/url-dav.el:
51544         * lisp/url/url-gw.el:
51545         * lisp/url/url-http.el:
51546         * lisp/url/url-methods.el:
51547         * lisp/url/url-privacy.el:
51548         * lisp/vc/cvs-status.el:
51549         * lisp/vc/diff-mode.el:
51550         * lisp/vc/ediff-init.el:
51551         * lisp/vc/ediff-ptch.el:
51552         * lisp/vc/log-edit.el:
51553         * lisp/vc/log-view.el:
51554         * lisp/vc/pcvs-info.el:
51555         * lisp/vc/pcvs.el:
51556         * lisp/vc/smerge-mode.el:
51557         * lisp/vc/vc-git.el:
51558         * lisp/vc/vc-hg.el:
51559         * lisp/vc/vc-mtn.el:
51560         * lisp/vc/vc-rcs.el:
51561         * lisp/whitespace.el:
51562         * lisp/window.el:
51563         * test/lisp/electric-tests.el:
51564         * test/lisp/emacs-lisp/cl-lib-tests.el:
51565         * test/lisp/emacs-lisp/ert-tests.el:
51566         * test/lisp/epg-tests.el:
51567         * test/lisp/jsonrpc-tests.el:
51568         * test/src/data-tests.el:
51569         * test/src/json-tests.el: Replace most insignificant backquotes.
51571 2018-11-25  Stephen Berman  <stephen.berman@gmx.net>
51573         Handle narrowing when marking entries of included diary files
51575         * lisp/calendar/diary-lib.el (diary-mark-entries): Widen before
51576         marking entries (bug#33423).
51578 2018-11-24  Juri Linkov  <juri@linkov.net>
51580         Add new Isearch commands to new Isearch menu (bug#29321, bug#32990)
51582         * lisp/isearch.el (isearch-menu-bar-map): Add menu items for
51583         isearch-beginning-of-buffer and isearch-end-of-buffer.
51584         (isearch-forward): Add them to docstring.
51586 2018-11-24  Glenn Morris  <rgm@gnu.org>
51588         Merge from origin/emacs-26
51590         9877c03 (origin/emacs-26) Fix bug #33416, where typing a ) in a comme...
51592 2018-11-24  Glenn Morris  <rgm@gnu.org>
51594         Merge from origin/emacs-26
51596         56e3e4f Improve indexing in the ELisp manual
51597         7a4992a More Symbola-related extensions for default fontset
51598         4ae0a75 Better support for display of U+1F900..U+1F9FF block
51599         8f0c788 Improve documentation of 'edit-abbrevs-mode'
51600         3c643e7 ; NEWS tweak
51601         477414a Improve documentation of 'dired-do-compress'
51602         9c09b1d ; * etc/NES: Minor change in the description of Dired's 'Z'.
51603         52715e3 Improve doc string and display of 'describe-character'
51604         93242b1 * etc/NEWS: Clarify what 'Z' does in Dired.  (Bug#33450)
51605         0d59ae3 Update the docs of object internals
51607         Conflicts:
51608                 etc/NEWS
51610 2018-11-24  Michael Albinus  <michael.albinus@gmx.de>
51612         Add Tramp rclone method
51614         * doc/misc/tramp.texi (Top): Remove "History".
51615         (History): Remove node.
51616         (Quick Start Guide): New section "Using rclone".
51617         (External methods) <rclone>: Describe.
51619         * etc/NEWS: Mention Tramp rclone method.
51621         * lisp/net/tramp-rclone.el: New file.
51623 2018-11-24  Michael Albinus  <michael.albinus@gmx.de>
51625         Revert patch in tramp-equal-remote
51627         * lisp/net/tramp-sh.el (tramp-timeout-session):
51628         Use `tramp-file-name-equal-p'.
51630         * lisp/net/tramp.el (tramp-equal-remote): Revert patch.
51632 2018-11-24  Charles A. Roelli  <charles@aurox.ch>
51634         Add tool-bar and menu-bar menu for Isearch (Bug#32990)
51636         * etc/NEWS (Search and Replace): Mention this change.
51638         * lisp/isearch.el: Declare the new, non-autoloaded function
51639         'tmm-menubar-keymap'.
51640         (isearch-tmm-menubar): New function.
51641         (isearch-menu-bar-commands): New variable.
51642         (isearch-menu-bar-yank-map, isearch-menu-bar-map): New variables.
51643         (isearch-mode-map): Define a menu-bar search menu and remap
51644         'tmm-menubar' bindings to point to 'isearch-tmm-menubar'.
51645         (isearch-tool-bar-old-map): New variable.
51646         (isearch-tool-bar-image): New function.
51647         (isearch-tool-bar-map): New variable.
51648         (minor-mode-map-alist): Add an entry for Isearch so that
51649         'isearch-menu-bar-map' shows during search.
51650         (isearch-mode, isearch-done): Save and restore possible
51651         buffer-local 'tool-bar-map' using 'isearch-tool-bar-old-map'.
51652         (iseacrh-mouse-commands): New variable.
51653         (isearch-mouse-leave-buffer): Allow commands in
51654         isearch-mouse-commands.
51655         (with-isearch-suspended): Only push changed states of Isearch
51656         after running the body argument of this macro.
51657         (isearch-pre-command-hook): Additionally allow bindings in
51658         'isearch-tool-bar-map' to pass through, as well as commands
51659         in isearch-menu-bar-commands.
51660         (isearch-post-command-hook): Call 'force-mode-line-update' at its
51661         end to make sure the menu- and tool-bars are up-to-date.
51663         * lisp/tmm.el (tmm-menubar-keymap): New function factored out from
51664         'tmm-menubar'.
51665         (tmm-menubar): Use 'tmm-menubar-keymap'.
51666         (tmm-prompt): New optional argument 'no-execute'.
51668 2018-11-24  Michael Albinus  <michael.albinus@gmx.de>
51670         Remove find-file-noselect in Tramp, it was handled in XEmacs
51672         * lisp/net/tramp.el (tramp-file-name-for-operation):
51673         Remove `find-file-noselect'.
51675 2018-11-23  Eric Abrahamsen  <eric@ericabrahamsen.net>
51677         Provide new gnus-mode, derive all gnus major modes from this
51679         * lisp/gnus/gnus.el (gnus-mode): New do-nothing major mode, derived
51680           from special mode.
51681         * lisp/gnus/gnus-sum.el (gnus-summary-mode): Change from a function to
51682           a major mode, derive from gnus-mode.
51683           (gnus-summary-setup-buffer): Change call a bit -- can no longer pass
51684           an argument to the mode function.
51685         * lisp/gnus/gnus-srvr.el (gnus-browse-mode): Derive from gnus-mode.
51686           (gnus-server-setup-buffer): Remove unnecessary function.
51687           (gnus-enter-server-buffer): Call gnus-server-mode here, and call it
51688           whether the server buffer already existed or not.
51689           (gnus-server-mode): Change from a function to a major mode.
51690           (gnus-server-mode-hook): Delete custom option, this is automatically
51691           created.
51692         * lisp/gnus/gnus-salt.el (gnus-tree-mode): Derive from gnus-mode.
51693           (gnus-tree-mode-hook): Delete custom option, this is automatically
51694           created.
51695         * lisp/gnus/gnus-kill.el (gnus-kill-file-mode-hook): Delete custom
51696           option.
51697         * lisp/gnus/gnus-group.el (gnus-group-mode):
51698         * lisp/gnus/gnus-art.el (gnus-article-mode):
51699         * lisp/gnus/gnus-agent.el (gnus-category-mode): Derive from gnus-mode.
51700           (gnus-category-mode-hook): Delete custom option.
51702         (Bug#33263)
51704 2018-11-23  Filipp Gunbin  <fgunbin@fastmail.fm>
51706         search.texi fix for leftover from C-M-w to C-M-d change
51708         * doc/emacs/search.texi: Replace C-M-w with C-M-d.
51710 2018-11-23  Eli Zaretskii  <eliz@gnu.org>
51712         Avoid compilation warning in emacsclient.c
51714         * lib-src/emacsclient.c (set_tcp_socket): Avoid compilation
51715         warning in MS-Windows build.
51717 2018-11-23  Paul Eggert  <eggert@cs.ucla.edu>
51719         emacsclient: fix child exit when exec fails
51721         * lib-src/emacsclient.c (start_daemon_and_retry_set_socket):
51722         If the execvp of Emacs fails exit instead of having the child
51723         run on and do the work of the parent.  Coalesce duplicate code.
51725 2018-11-23  Paul Eggert  <eggert@cs.ucla.edu>
51727         emacsclient: one ‘main’ function
51729         * lib-src/emacsclient.c (main): Simplify by having just one
51730         ‘main’ function instead of two.  Don’t assume argc is positive (!).
51732 2018-11-22  Paul Eggert  <eggert@cs.ucla.edu>
51734         emacsclient: tidy socket failure cleanup
51736         * lib-src/emacsclient.c (set_tcp_socket, set_local_socket):
51737         Close socket (instead of leaking it) when ‘connect’ fails.
51738         (socket_status): Return errno if stat fails and -1 if we don’t own.
51739         (set_local_socket): Simplify based on socket_status change.
51741 2018-11-22  Juri Linkov  <juri@linkov.net>
51743         Add Isearch commands for going to absolute occurrence of matches (bug#29321)
51745         * lisp/isearch.el (isearch-mode-map): Bind 'M-s M-<' to
51746         'isearch-beginning-of-buffer' and 'isearch-end-of-buffer' to 'M-s M->'.
51747         (isearch-beginning-of-buffer, isearch-end-of-buffer): New commands.
51749 2018-11-22  Paul Eggert  <eggert@cs.ucla.edu>
51751         emacsclient: coalesce WINDOWSNT-specific code
51753         * lib-src/emacsclient.c (sock_err_message) [WINDOWSNT]:
51754         Do nothing if w32_window_app () && alternate_editor.
51755         Both callers changed.
51757 2018-11-22  Paul Eggert  <eggert@cs.ucla.edu>
51759         emacsclient: sockaddr portability fixes
51761         * lib-src/emacsclient.c (get_server_config, set_tcp_socket)
51762         (set_local_socket): Initialize any platform-specific extensions
51763         of struct to zero, just in case.
51764         (set_tcp_socket, set_local_socket): Don’t assume struct
51765         layout details that POSIX does not specify.
51766         Use union to sidestep some problems with strict aliasing.
51767         Remove unnecessary casts.
51769 2018-11-22  Michael Albinus  <michael.albinus@gmx.de>
51771         Some minor Tramp cleanups
51773         * lisp/net/tramp-adb.el (tramp-adb-file-name-p):
51774         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-p):
51775         * lisp/net/tramp-smb.el (tramp-smb-file-name-p): Make it more robust.
51777         * lisp/net/tramp.el (tramp-handle-file-truename): Cache only the
51778         localname.
51780 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
51782         emacsclient: getopt minor cleanup
51784         * lib-src/emacsclient.c (shortopts): New constant.
51785         (decode_options): Use it.  Do not assume EOF == -1.
51787 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
51789         emacsclient: omit EXTRA_SPACE guesswork
51791         * lib-src/emacsclient.c: Include <intprops.h>.
51792         (EXTRA_SPACE): Remove; code no longer guesses this is enough.
51793         (open_config): New function.
51794         (get_server_config): Use it.
51795         (set_local_socket): Compute upper bound of buffer size
51796         instead of guessing via EXTRA_SPACE.
51798 2018-11-21  Juri Linkov  <juri@linkov.net>
51800         Add prefix arg to isearch-forward-symbol-at-point (bug#29321)
51802         * lisp/isearch.el (isearch-forward-symbol-at-point): Add optional arg.
51804 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
51806         emacsclient: take more care with int width
51808         * lib-src/emacsclient.c: Include inttypes.h, stddef.h.
51809         (emacs_pid, main): Don’t assume pid fits in int.
51810         (fail): Don’t assume pointer difference fits in int.
51811         (set_local_socket): Don’t assume uid fits in long.
51813 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
51815         emacsclient.c: use C99 to avoid {}
51817         * lib-src/emacsclient.c (set_local_socket):
51818         Assume C99 decl-after-statement and reindent.
51820 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
51822         emacsclient: improve use of locals
51824         * lib-src/emacsclient.c (main):
51825         Use smaller scopes for some locals.
51827 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
51829         emacsclient: fix unlikely crash with "&"
51831         * lib-src/emacsclient.c (quote_argument):
51832         Mention *DATA in comment so it’s clear DATA must be non-null.
51833         (quote_argument, unquote_argument): Simplify.
51834         (unquote_argument): Don’t crash if the string ends in "&".
51836 2018-11-21  Eric Abrahamsen  <eric@ericabrahamsen.net>
51838         Fix "Allow use of Gnus search groups as notmuch path: search term"
51840         * lisp/gnus/nnir.el (nnir-notmuch-filter-group-names-function):
51841           Default to nil -- getting correct behavior requires user
51842           intervention too often to have this enabled by default.
51843         * lisp/gnus/nnir.el (nnir-run-notmuch): If the user has turned this
51844           on, then also hardcode `gnus-group-short-name' as a filter -- things
51845           will never work without it. Also move leading space to before the
51846           opening parenthesis.
51847         * doc/misc/gnus.texi: Document option.
51849         (Bug#33122)
51851 2018-11-21  Eric Abrahamsen  <eric@ericabrahamsen.net>
51853         Check Gnus group names when reading from browse server
51855         * lisp/gnus/gnus-srvr.el (gnus-browse-read-group): If the group in
51856           question belongs to the native server, the name has to be shortened
51857           before we check it with `gnus-get-info'. It might work otherwise
51858           with nntp, but for backends like nnmaildir that have their own
51859           accounting system, creating an ephemeral group won't work.
51861 2018-11-21  Michael Albinus  <michael.albinus@gmx.de>
51863         * doc/misc/tramp.texi: Fix last commit.
51865 2018-11-21  Michael Albinus  <michael.albinus@gmx.de>
51867         Let Tramp sudo sessions expire after a timeout
51869         * doc/misc/tramp.texi (Inline methods) <sudo, doas>: Both methods expire
51870         the underlying session per default.
51871         (Predefined connection information): Explain "session-timeout".
51873         * etc/NEWS: Mention Tramp session expiration.
51875         * lisp/net/tramp-sh.el (tramp-methods) <sudo, doas>:
51876         Add `tramp-session-timeout'.
51877         (tramp-timeout-session): New defun.
51878         (tramp-maybe-open-connection): Handle session timeout.
51880         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
51881         (tramp-equal-remote): Extend.
51883 2018-11-20  Juri Linkov  <juri@linkov.net>
51885         Add prefix arg to isearch-repeat-forward/backward (bug#14563, bug#29321)
51887         * lisp/isearch.el (isearch-repeat): Add optional arg COUNT.
51888         Add a while-loop that calls `isearch-search' COUNT times.
51889         (isearch-repeat-forward, isearch-repeat-backward):
51890         Add optional prefix ARG passed down to `isearch-repeat'.
51891         Handle reversed directions.
51893 2018-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
51895         calc.el, calc-(ext|poly), calccomp: Use lexical-binding
51897         * lisp/calc/calc-ext.el: Use lexical-binding, silence warnings.
51898         (calc-init-extensions): Remove a few functions which can't be called
51899         directly since they depend on dynamically scoped vars.
51900         (calc-embedded-quiet): Declare.
51901         (math-defcache): Use 'declare'.
51902         (math-normalize-a): Remove declaration.
51903         (math-normalize-nonstandard): Receive 'a' as arg instead.
51904         (math-defintegral): Use 'declare'.
51905         (math-exp-pos, math-exp-old-pos, math-exp-keep-spaces, math-rb-h2)
51906         (math-read-big-baseline, math-read-big-h2, math-read-big-err-msg)
51907         (math-exp-token, math-expr-data, math-exp-str): Declare.
51908         (math-map-tree, math-read-expr): Avoid dynvars as formal arguments.
51910         * lisp/calc/calc-poly.el: Use lexical-binding, silence warnings.
51911         Turn some comments into docstrings.
51912         (math-poly-div): Avoid dynvars as formal arguments.
51913         (math-poly-base-top-expr): Move declaration before first use.
51914         (calcFunc-factors, math-factor-expr, math-factor-expr-try)
51915         (calcFunc-factor): Avoid dynvars as formal arguments.
51917         * lisp/calc/calc.el: Use lexical-binding, silence warnings.
51918         (math-normalize-a): Remove.
51919         (math-normalize): Use lexical var 'a' instead.
51920         (math-svo-c): Remove.
51921         (math-stack-value-offset): Pass 'c' explicitly as arg to
51922         math-stack-value-offset-fancy instead.
51924         * lisp/calc/calccomp.el: Use lexical-binding, silence warnings.
51925         (math-svo-c): Remove.
51926         (math-stack-value-offset-fancy): Use new arg 'c' instead.
51927         (math-comp-to-string-flat): Avoid dynvars as formal arguments.
51929 2018-11-20  Glenn Morris  <rgm@gnu.org>
51931         Merge from origin/emacs-26
51933         d667318 (origin/emacs-26) Fix two Edebug defcustoms (bug#33428)
51935 2018-11-20  Glenn Morris  <rgm@gnu.org>
51937         Merge from origin/emacs-26
51939         070e82b ; * src/window.c (window_scroll): Improve commentary.
51940         60457d7 Improve documentation of the window tree
51941         ea1a014 Fix window scrolling on TTY frames when there's no mode line
51942         df7ed10 Fix decoding XML files encoded in ISO-8859
51943         7851ae8 (tag: emacs-26.1.90) ; ChangeLog.3 update
51944         1958808 * etc/AUTHORS: Update.
51945         7252507 Fix description of some window hooks
51946         88762b4 Run 'window--adjust-process-windows' when frame size changes ...
51947         d6542ea Avoid errors in zone.el when there's overlay at EOB
51949 2018-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
51951         * lisp/calc/calc-alg.el: Use lexical-binding and silence warnings
51953         * lisp/calc/calc-alg.el: Use lexical-binding and silence warnings.
51954         (math-defsimplify): Let-bind 'expr' instead of math-simplify-expr.
51955         Adjust all users.
51956         (math-simplify-expr): Don't declare any more.
51957         (math--simplify-divide-expr): New dynbound var.
51958         (math-simplify-divide): Bind it when needed.
51959         (math-simplify-divisor): Use it instead of math-simplify-expr.
51960         (math-simplify-divisor): Only bind math-simplify-divisor-[nd]over
51961         around the calls to math-simplify-one-divisor.
51962         (math-expr-subst, math-is-polynomial): Don't use dynbound vars as
51963         formal arguments.
51964         (math-polynomial-base): Move binding of math-poly-base-pred.
51965         Don't bind math-poly-base-top-expr any more...
51966         * lisp/calc/calc-poly.el (math-total-polynomial-base): Bind it here instead!
51968         * lisp/calc/calc-units.el: Use lexical-binding and silence warnings.
51969         Adjust to the new 'expr' name in math-defsimplify.
51970         (math-find-base-units, math-to-standard-units, math-convert-units):
51971         Don't use dynbound vars as formal arguments.
51972         (math-simplify-expr): Don't declare any more.
51974 2018-11-20  Robert Pluim  <rpluim@gmail.com>
51976         Remove space from end of coding cookie
51978         * lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
51979         Remove unnecessary space from end of coding cookie.
51981 2018-11-19  Eli Zaretskii  <eliz@gnu.org>
51983         Fix last change
51985         * lib-src/emacsclient.c (start_daemon_and_retry_set_socket)
51986         [!WINDOWSNT]: Condition usage of socket_name on
51987         NO_SOCKETS_IN_FILE_SYSTEM being undefined.
51989 2018-11-19  Eli Zaretskii  <eliz@gnu.org>
51991         Avoid compiler warning in emacsclient.c
51993         * lib-src/emacsclient.c (socket_name): Define only if
51994         NO_SOCKETS_IN_FILE_SYSTEM is not defined, to avoid a compiler
51995         warning.
51997 2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>
51999         emacsclient.c: file name component fixes
52001         * lib-src/emacsclient.c: Include <dosname.h>.
52002         (file_name_absolute_p): Remove, as a code duplicate.
52003         All uses replaced by IS_ABSOLUTE_FILE_NAME.
52004         (set_local_socket): Don’t treat \ as a file name separator
52005         on GNU and POSIX hosts.
52007 2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>
52009         emacsclient.c: reindent to fit in 80
52011         * lib-src/emacsclient.c: Reindent slightly.
52013 2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>
52015         emacsclient.c: use C99 better
52017         * lib-src/emacsclient.c (get_current_dir_name)
52018         (send_to_emacs, set_tcp_socket, set_local_socket, main):
52019         Take advantage of C99 stmt before decl.
52021 2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>
52023         emacsclient.c: use STDOUT_FILENO
52025         * lib-src/emacsclient.c (find_tty, handle_sigcont, main):
52026         Use STDOUT_FILENO instead of fileno (stdout) or magic 1.
52028 2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>
52030         emacsclient.c: use bool for boolean
52032         * lib-src/emacsclient.c (nowait, quiet, suppress_output, eval, tty)
52033         (decode_options, file_name_absolute_p, get_server_config)
52034         (strprefix, find_tty, set_socket, main):
52035         Use bool for boolean.
52036         (create_frame): New static var, replacing the old current_frame
52037         and with inverted sense, as this is clearer.
52039 2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>
52041         emacsclient.c: make identifiers more local
52043         * lib-src/emacsclient.c (progname, main_argc, main_argv):
52044         (nowait, quiet, suppress_output, eval, current_frame, display):
52045         (alt_display, parent_id, tty, alternate_editor, socket_name):
52046         (server_file, tramp_prefix, emacs_pid, frame_parameters):
52047         (longopts, xstrdup, send_bufffer, sblen, emacs_socket):
52048         Now static.
52049         (SEND_BUFFER_SIZE, send_buffer, sblen):
52050         Now local to send_to_emacs.
52052 2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>
52054         emacsclient.c: clean up preprocessing directives
52056         * lib-src/emacsclient.c [WINDOWSNT]: Omit duplicate stdlib.h include.
52057         Include min-max.h.
52058         (EXIT_SUCCESS, EXIT_FAILURE, min): Remove; no longer needed.
52059         (AUTH_KEY_LENGTH, SEND_BUFFER_SIZE): Now constants instead of macros.
52061 2018-11-19  Ulrich Müller  <ulm@gentoo.org>
52063         Update the calc units table
52065         On 2018-11-16, the 26th meeting of the General Conference on Weights
52066         and Measures (CGPM) has redefined the International System of Units by
52067         adopting fixed values for the Planck constant, the elementary charge,
52068         the Boltzmann constant, and the Avogadro constant:
52069         https://www.bipm.org/utils/en/pdf/CGPM/Draft-Resolution-A-EN.pdf
52070         * lisp/calc/calc-units.el (math-standard-units): Update according
52071         to redefinition of the SI in 2018.
52073 2018-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
52075         * lisp/mouse.el (mouse-posn-property): Add comment
52077 2018-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
52079         Remove uses of obsolete 'CUA' symbol property
52081         * lisp/emulation/cua-base.el (cua-scroll-up, cua-scroll-down):
52082         * lisp/progmodes/subword.el (subword-forward, subword-backward):
52083         * lisp/obsolete/crisp.el (crisp-home, crisp-end):
52084         Remove 'CUA' prop; not used any more.
52086 2018-11-17  Juri Linkov  <juri@linkov.net>
52088         * lisp/vc/diff-mode.el (diff-find-source-location): Use vc-working-revision
52090         when diff shows changes in working revision.  (Bug#33319)
52091         (diff-goto-source): Rename variables to avoid ambiguity.
52093 2018-11-17  Juri Linkov  <juri@linkov.net>
52095         Don't exit Isearch while resizing windows with mouse (bug#32990)
52097         * lisp/isearch.el (isearch-mouse-leave-buffer): New function.
52098         (isearch-mode): Use isearch-mouse-leave-buffer instead of
52099         isearch-done for mouse-leave-buffer-hook.
52100         (isearch-done): Remove isearch-mouse-leave-buffer from
52101         mouse-leave-buffer-hook.
52102         (enlarge-window-horizontally, shrink-window-horizontally)
52103         (shrink-window, mouse-drag-mode-line, mouse-drag-vertical-line):
52104         Put property isearch-scroll with t.
52105         (isearch-mode): Reset isearch-pre-scroll-point and
52106         isearch-pre-move-point to nil for the case when Isearch exits
52107         between isearch-pre-command-hook (that sets these values) and
52108         isearch-post-command-hook (that used to reset them).
52110 2018-11-17  Stefan Monnier  <monnier@iro.umontreal.ca>
52112         * src/cmds.c (Fself_insert_command): Get last-command-event via (new) arg.
52114 2018-11-16  Glenn Morris  <rgm@gnu.org>
52116         Merge from origin/emacs-26
52118         936a8f3 (origin/emacs-26) Document Emacs 26 behavior of Dired's 'Z' o...
52119         99f99a1 ; Minor editing change in windows.texi
52120         13bb665 Fix a typo in the Emacs manual
52122         # Conflicts:
52123         #       etc/NEWS
52125 2018-11-16  Glenn Morris  <rgm@gnu.org>
52127         Merge from origin/emacs-26
52129         edcd6b7 Small documentation correction.
52130         168a8c2 * src/coding.c (Fcheck_coding_systems_region): Doc fix.  (Bug...
52131         3287a7c Fix Bug#33364
52132         acee0a8 ; Cosmetic changes in etc/NEWS
52133         a6ef167 * test/README: Explain $REMOTE_TEMPORARY_FILE_DIRECTORY.
52135         # Conflicts:
52136         #       etc/NEWS
52138 2018-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52140         Update from glibc and Gnulib
52142         This incorporates:
52143         2018-11-15 mktime: DEBUG_MKTIME cleanup
52144         2018-11-15 mktime: fix non-EOVERFLOW errno handling
52145         2018-11-15 mktime: fix bug with Y2038 DST transition
52146         2018-11-15 mktime: make more room for overflow
52147         2018-11-15 mktime: simplify offset guess
52148         2018-11-15 mktime: new test for mktime failure
52149         2018-11-15 mktime: fix EOVERFLOW bug
52150         2018-11-13 longlong: fix comment typo
52151         * lib/gnulib.mk.in: Regenerate.
52152         * lib/mktime.c, m4/longlong.m4: Copy from Gnulib.
52154 2018-11-16  Michael Albinus  <michael.albinus@gmx.de>
52156         Mention ELPA packages which add new methods to Tramp
52158         * doc/misc/tramp.texi (Customizing Methods): Mention ELPA packages
52159         which add new methods to Tramp.
52161 2018-11-15  Juri Linkov  <juri@linkov.net>
52163         * lisp/windmove.el: Directional window display (bug#32790)
52165         * lisp/windmove.el (windmove-display-no-select): New defcustom.
52166         (windmove-display-in-direction, windmove-display-left)
52167         (windmove-display-up, windmove-display-right)
52168         (windmove-display-down, windmove-display-same-window)
52169         (windmove-display-default-keybindings): New functions.
52171 2018-11-15  Juri Linkov  <juri@linkov.net>
52173         * lisp/windmove.el: Support more prefix args (bug#32790)
52175         * lisp/windmove.el (windmove-left, windmove-up, windmove-right)
52176         (windmove-down): Use prefix-numeric-value to support more prefix args
52177         like 'C-u' and 'M--'.  Doc fix.
52179 2018-11-15  Michael Albinus  <michael.albinus@gmx.de>
52181         Fix Bug#33394
52183         * lisp/net/trampver.el (tramp-repository-branch)
52184         (tramp-repository-version): Handle out-of-tree builds.  (Bug#33394)
52186 2018-11-14  Juri Linkov  <juri@linkov.net>
52188         Isearch hit count.  (Bug#29321)
52190         * lisp/isearch.el (isearch-lazy-count): New defcustom.
52191         (lazy-count): New defgroup.
52192         (lazy-count-prefix-format, lazy-count-suffix-format): New defcustom.
52193         (isearch-lazy-count-format): New function.
52194         (isearch-message-prefix, isearch-message-suffix): Use it.
52195         (isearch-lazy-highlight-window-start-changed)
52196         (isearch-lazy-highlight-window-end-changed)
52197         (isearch-lazy-count-current, isearch-lazy-count-total)
52198         (isearch-lazy-count-hash): New variables.
52199         (isearch-lazy-highlight-new-loop): Reset isearch-lazy-count-total
52200         and update isearch-lazy-count-current for isearch-message.
52201         (isearch-lazy-highlight-update): Run full-buffer loop for
52202         isearch-lazy-count.
52203         (isearch-lazy-highlight-buffer-update): Count isearch-lazy-count-total.
52204         Set isearch-lazy-count-current at the end.
52206 2018-11-14  Eli Zaretskii  <eliz@gnu.org>
52208         Minor copyedits in documentation of HOME handling
52210         * etc/NEWS: Reword the recent entry regarding the change in
52211         how relative file names are interpreted in $HOME.
52213         * doc/emacs/cmdargs.texi (General Variables): Advise against
52214         using relative directory names in $HOME.
52216 2018-11-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
52218         Fix probing for pre-1970 DST
52220         * lisp/calendar/cal-dst.el (calendar-next-time-zone-transition):
52221         Fix recently-introduced rounding bug when probing for DST
52222         transitions before 1970 (Bug#33380).
52224 2018-11-14  Paul Eggert  <eggert@cs.ucla.edu>
52226         Document recent change to HOME handling
52228         * doc/emacs/cmdargs.texi (General Variables):
52229         * doc/emacs/custom.texi (Find Init):
52230         * doc/lispref/files.texi (File Name Expansion):
52231         * etc/NEWS: Document behavior when HOME is a relative file name.
52233 2018-11-14  Eli Zaretskii  <eliz@gnu.org>
52235         Fix a thinko in fileio.c
52237         * src/fileio.c (get_homedir): Fix last change.  Suggested by
52238         Paul Eggert <eggert@cs.ucla.edu>.
52240 2018-11-13  Juri Linkov  <juri@linkov.net>
52242         New option vc-find-revision-no-save to not write revision to file
52244         * lisp/vc/vc.el (vc-find-revision-no-save): New defcustom (bug#33319).
52245         (vc-find-revision): Depending on vc-find-revision-no-save,
52246         call either vc-find-revision-no-save or vc-find-revision-save.
52247         (vc-find-revision-save): Rename from vc-find-revision.
52248         (vc-find-revision-no-save): New function.
52250         * lisp/vc/diff-mode.el (diff-find-source-location):
52251         Let-bind vc-find-revision-no-save to t.
52253 2018-11-13  Juri Linkov  <juri@linkov.net>
52255         Support VC revisions in diff-goto-source (bug#33319)
52257         * lisp/vc/diff-mode.el (diff-vc-revisions): New defvar.
52258         (diff-find-source-location): Call vc-find-revision for
52259         non-nil values of 'other', diff-vc-backend, diff-vc-revisions.
52261         * lisp/vc/vc.el (vc-diff-internal): Set buffer-local
52262         diff-vc-revisions to the list of used revisions.
52264         * doc/emacs/files.texi (Diff Mode): Update diff-goto-source
52265         for VC-related prefix argument.
52267 2018-11-13  Eli Zaretskii  <eliz@gnu.org>
52269         Fix recent change in fileio.c
52271         * src/fileio.c (get_homedir) [WINDOWSNT]: Convert $HOME to UTF-8.
52272         (Fexpand_file_name): Don't convert it here.
52274 2018-11-13  Glenn Morris  <rgm@gnu.org>
52276         No need to pass absolute program name to call-process
52278         * lisp/doc-view.el (doc-view-revert-buffer):
52279         * lisp/net/eudcb-mab.el (eudc-mab-query-internal):
52280         Remove superfluous executable-find.
52282 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
52284         Update from Gnulib
52286         This incorporates:
52287         2018-11-03 nstrftime: simplify test for mktime failure
52288         2018-11-02 gnulib-common.m4: port _Noreturn to C++
52289         2018-10-22 std-gnu11: Support Autoconf versions < 2.64
52290         2018-10-22 Assume Autoconf >= 2.63
52291         2018-10-16 Remove support for Ultrix
52292         2018-10-16 getloadavg: Remove support for ConvexOS
52293         2018-10-16 getloadavg: Remove support for Sony NEWS
52294         2018-10-16 Remove support for Dynix/ptx
52295         2018-10-16 fsusage: Remove support for AIX 3
52296         2018-10-16 fsusage, stat-size, getloadavg: Remove support for AIX PS/2
52297         2018-10-16 getloadavg: Remove support for HP-UX on m68k
52298         2018-10-16 fsusage, mountlist: Remove support for DolphinOS
52299         2018-10-16 getloadavg: Remove support for Alliant FX/2800
52300         2018-10-16 getloadavg: Remove support for tek4300
52301         2018-10-16 getloadavg: Remove support for Ardent
52302         * build-aux/config.guess, build-aux/config.sub, lib/_Noreturn.h:
52303         * lib/fsusage.c, lib/getgroups.c, lib/getloadavg.c:
52304         * lib/nstrftime.c, lib/time.in.h, m4/errno_h.m4:
52305         * m4/fsusage.m4, m4/getgroups.m4, m4/gnulib-common.m4, m4/longlong.m4:
52306         * m4/std-gnu11.m4, m4/stdint.m4:
52307         Copy from Gnulib.
52308         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate:
52310 2018-11-13  Glenn Morris  <rgm@gnu.org>
52312         Root emacsclient no longer connects to non-root sockets
52314         * lib-src/emacsclient.c (set_local_socket): Don't ignore socket
52315         ownership when run by root.
52316         Ref: http://lists.gnu.org/r/emacs-devel/2018-11/msg00019.html
52318 2018-11-13  Eli Zaretskii  <eliz@gnu.org>
52320         Avoid byte-compilation warning in emacsbug.el
52322         * lisp/mail/emacsbug.el (w32--os-description): Declare it, to
52323         avoid byte-compilation warning.  Reported by Live System User
52324         <nyc4bos@aol.com>.
52326 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
52328         Act like POSIX sh if $HOME is relative
52330         POSIX says sh ~/foo should act like $HOME/foo even if $HOME is
52331         relative, so be consistent with that (Bug#33255).
52332         * admin/merge-gnulib (GNULIB_MODULES): Add dosname.
52333         * src/buffer.c (init_buffer): Use emacs_wd to get
52334         initial working directory with slash appended if needed.
52335         (default-directory): Say it must be absolute.
52336         * src/emacs.c (emacs_wd): New global variable.
52337         (init_cmdargs): Dir arg is now char const *.
52338         (main): Set emacs_wd.
52339         * src/emacs.c (main) [NS_IMPL_COCOA]:
52340         * src/fileio.c (Fexpand_file_name):
52341         Use get_homedir instead of egetenv ("HOME").
52342         * src/fileio.c: Include dosname.h, for IS_ABSOLUTE_FILE_NAME.
52343         (splice_dir_file, get_homedir): New functions.
52344         * src/xrdb.c (gethomedir): Remove.  All callers changed
52345         to use get_homedir and splice_dir_file.
52346         * test/src/fileio-tests.el (fileio-tests--relative-HOME): New test.
52348 2018-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>
52350         * lisp/files.el: Justify binding of read-circle with comments
52352 2018-11-13  Noam Postavsky  <npostavs@gmail.com>
52354         Fix build fail on files.el change (Bug#32352)
52356         * lisp/files.el (dir-locals-read-from-dir): Reduce scope of
52357         `read-circle' let-binding to go around the `read' call only.
52358         Otherwise it can interfere with loading of files which use the
52359         circular read syntax (e.g., executing the setf expression in
52360         `dir-locals-set-class-variables' may require loading gv.elc).
52362 2018-11-12  Glenn Morris  <rgm@gnu.org>
52364         Merge from origin/emacs-26
52366         189c49e * etc/AUTHORS: Update.
52367         9723c21 ; ChangeLog.3 update
52369 2018-11-12  Glenn Morris  <rgm@gnu.org>
52371         Merge from origin/emacs-26
52373         913c001 * lisp/files.el (write-file): Clarify the doc string.  (Bug#3...
52374         d614b84 Fix typos in midnight.el
52375         8c2778a Improve documentation of 'move-file-to-trash'
52376         c7b8a51 ; * doc/lispref/functions.texi (Anonymous Functions): Fix typo.
52377         92296de * src/data.c (Ftype_of): xwidget objects are possible! (bug#3...
52378         a3242cc Improve documentation of Diff mode
52379         39e85a0 Note that lex bound lambda forms are not self-quoting (Bug#33...
52380         fa605f2 Rewrite buffer display related doc-strings and doc
52381         aa55659 Fix call to GlobalMemoryStatusEx in w32.c
52383         # Conflicts:
52384         #       doc/emacs/files.texi
52385         #       src/data.c
52387 2018-11-12  Sam Steingold  <sds@gnu.org>
52389         maybe_disable_address_randomization always returns "int argc"
52391         maybe_disable_address_randomization needs a consistent signature
52392         regardless of HAVE_PERSONALITY_ADDR_NO_RANDOMIZE.
52394 2018-11-11  Paul Eggert  <eggert@cs.ucla.edu>
52396         Fix dumping on GNU/Linux ppc64le
52398         Problem reported by Thomas Fitzsimmons (Bug#33174).
52399         * src/emacs.c (main): Adjust to sysdep.c changes.
52400         * src/sysdep.c (exec_personality): New static var.
52401         (disable_address_randomization): Remove, replacing with ...
52402         (maybe_disable_address_randomization): ... this new function.
52403         Do not set or use an environment variable; use a command-line
52404         argument instead, and set the new static var.  Migrate the emacs.c
52405         personality-change code to here, where it belongs.
52406         (emacs_exec_file): Simplify by using new static var.
52408 2018-11-11  Paul Eggert  <eggert@cs.ucla.edu>
52410         Pacify gcc -Wmaybe-uninitialized without X11-XCB
52412         I ran into this problem on Ubuntu 18.04.1 LTS.
52413         * src/xterm.c (get_current_wm_state) [!USE_XCB]:
52414         Mark reply_data as UNINIT here too.
52416 2018-11-11  Paul Eggert  <eggert@cs.ucla.edu>
52418         Pacify gcc -Wunused-macros in older GnuTLS
52420         I ran into this problem on Ubuntu 18.04.1 LTS.
52421         * src/gnutls.c (HAVE_GNUTLS_CIPHER_GET_IV_SIZE)
52422         (HAVE_GNUTLS_CIPHER_GET_TAG_SIZE, HAVE_GNUTLS_DIGEST_LIST):
52423         New macros.  This uses the same style as the other
52424         macros that depend on GnuTLS version, as opposed to trying
52425         to do things a bit more cleverly.
52426         (gnutls_cipher_get_iv_size, gnutls_cipher_get_tag_size)
52427         (gnutls_digest_list, gnutls_digest_get_name):
52428         Define these macros only if they will be used.
52430 2018-11-11  Simen Heggestøyl  <simenheg@gmail.com>
52432         Add masking module to CSS property list
52434         * lisp/textmodes/css-mode.el (css-property-alist)
52435         (css-value-class-alist): Add properties and value classes from CSS
52436         Masking Module.
52438 2018-11-10  Glenn Morris  <rgm@gnu.org>
52440         * test/src/editfns-tests.el (test-group-name): Improve test.
52442         Make more portable and hopefully more robust using getent.  (Bug#33195)
52444 2018-11-10  Eli Zaretskii  <eliz@gnu.org>
52446         Make 'move-file-to-trash' behave according to the documentation
52448         * lisp/files.el (move-file-to-trash): Behave like the doc
52449         string says: check whether 'system-move-file-to-trash' is
52450         defined before testing that 'trash-directory' is non-nil.
52451         (Bug#33335)
52453 2018-11-10  Glenn Morris  <rgm@gnu.org>
52455         * test/src/editfns-tests.el (test-group-name): Small fix.
52457         Do not assume user 1000 has group name = user name.
52459 2018-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52461         Dissociate controlling tty better on Darwin
52463         * src/process.c (dissociate_controlling_tty): New function.
52464         (create_process): Use it to dissociate controlling tty if setsid
52465         fails, which happens on Darwin after a vfork (Bug#33154).
52466         Do this on all platforms, not just on Darwin, as a similar
52467         problem is plausible elsewhere.
52468         * src/callproc.c (call_process): Use the new function here, too,
52469         for consistency and to avoid duplicate code.
52471 2018-11-10  Michael Albinus  <michael.albinus@gmx.de>
52473         Provide branch information for both Emacs and Tramp (Bug#33328)
52475         * doc/lispref/intro.texi (Version Info):
52476         Document `emacs-repository-version' and `emacs-repository-branch'.
52478         * etc/NEWS: Mention `emacs-repository-branch'.
52480         * lisp/loadup.el: Initialize `emacs-repository-branch'.
52482         * lisp/version.el (emacs-repository-branch): New variable.
52483         (emacs-repository-branch-git, emacs-repository-get-branch):
52484         New defuns.
52486         * lisp/mail/emacsbug.el (report-emacs-bug):
52487         Insert `emacs-repository-branch'.
52489         * lisp/net/tramp.el (tramp-get-local-gid):
52490         Use `group-name' if available.
52491         (tramp-debug-message):
52492         * lisp/net/tramp-cmds.el (tramp-bug): Report also
52493         `tramp-repository-branch' and `tramp-repository-version'.
52495         * lisp/net/trampver.el (tramp-repository-branch)
52496         (tramp-repository-version): New defconst.
52497         (tramp-repository-get-version): Remove.
52499 2018-11-10  Michael Albinus  <michael.albinus@gmx.de>
52501         * lisp/net/tramp.el (tramp-get-local-gid): Use `group-name' if available.
52503 2018-11-10  Allen Li  <darkfeline@felesatra.moe>
52505         Add setter for 'xref-marker-ring-length'
52507         * lisp/progmodes/xref.el (xref-marker-ring-length): Add setter.
52508         * etc/NEWS: Document last change.  (Bug#32849)
52510 2018-11-10  Allen Li  <darkfeline@felesatra.moe>
52512         Add 'ring-resize' function
52514         * lisp/emacs-lisp/ring.el (ring-resize): New function.  (Bug#32849)
52515         * doc/lispref/sequences.texi (Rings): Document new function 'ring-resize'.
52516         * etc/NEWS: Document new function 'ring-resize'.
52517         * test/lisp/emacs-lisp/ring-tests.el (ring-test-ring-resize): New tests.
52519 2018-11-10  Eli Zaretskii  <eliz@gnu.org>
52521         Fix last commit
52523         * doc/lispref/os.texi (User Identification): Fix function name
52524         of 'group-name'.
52526 2018-11-10  Eli Zaretskii  <eliz@gnu.org>
52528         Fix last change
52530         * src/editfns.c (Fgroup_name): Fix the doc string.  Move
52531         closer to the "group" functions.
52532         * src/w32.c (getgrgid): Return NULL if GID is not the group ID
52533         of the user of this Emacs session
52535         * test/src/editfns-tests.el (test-group-name): Rename from
52536         'group-name'.  Add tests for non-Posix hosts.  Test error when
52537         the argument to group-name is invalid.
52539         * etc/NEWS: Fix wording of last added entry.
52541 2018-11-10  Jules Tamagnan  <jtamagnan@gmail.com>
52543         src/editfns.c (group-name): New function.
52545 2018-11-09  Eli Zaretskii  <eliz@gnu.org>
52547         Improve doc strings generated by 'easy-mmode-define-navigation'
52549         * lisp/emacs-lisp/easy-mmode.el
52550         (easy-mmode-define-navigation): Include the documentation of
52551         prefix argument in the generated doc string.
52553 2018-11-08  Pierre-Yves Luyten  <py@luyten.fr>
52555         Add functions to open a bookmark in another frame
52557         * lisp/bookmark.el (bookmark-jump-other-frame): New function.
52558         Bind in bookmark-map.
52559         (bookmark-bmenu-other-frame): New function.
52560         Bind in bookmark-bmenu-mode-map.
52562         Patch applied by Karl Fogel.
52564 2018-11-08  Juri Linkov  <juri@linkov.net>
52566         * lisp/windmove.el (windmove-create-window): New defcustom (bug#32790).
52568         (windmove-do-window-select): Use it.
52570 2018-11-08  Michael Albinus  <michael.albinus@gmx.de>
52572         * doc/misc/tramp.texi (Password handling): Explain Ange FTP case.
52574 2018-11-08  Michael Albinus  <michael.albinus@gmx.de>
52576         Get rid of own netrc parsing implementation in Tramp
52578         * lisp/net/tramp.el (tramp-parse-netrc): Reimplement, using
52579         `netrc-parse'.
52580         (tramp-parse-netrc-group): Remove.
52582 2018-11-07  Juri Linkov  <juri@linkov.net>
52584         Support VC single file operations from Dired (bug#32596).
52586         * lisp/vc/vc.el (vc-ensure-vc-buffer): Use dired-get-filename for dired-mode.
52587         Move error-checking outside of the last branch of cond.
52588         (vc-dired-deduce-fileset): Remove unused error signaling.
52590 2018-11-07  Juri Linkov  <juri@linkov.net>
52592         * lisp/vc/log-view.el: Better error handling (bug#33295).
52594         * lisp/vc/log-view.el (log-view-find-revision)
52595         (log-view-annotate-version): Add condition to signal an error
52596         when log-view-vc-fileset contains a directory.
52597         Use user-error instead of error.
52599         * lisp/dired.el (dired-get-file-for-visit):
52600         * lisp/locate.el (locate-do-setup):
52601         Use user-error instead of error.
52603 2018-11-07  Juri Linkov  <juri@linkov.net>
52605         Advertise new hi-lock 'M-s h' key prefix in lisp/bindings.el
52607         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00104.html
52609 2018-11-07  Juri Linkov  <juri@linkov.net>
52611         * lisp/files-x.el (modify-dir-local-variable): Use assoc-delete-all
52613         instead of assq-delete-all for cases when mode is a subdirectory name.
52614         (dir-locals-to-string): Call pp-to-string and string-trim-right
52615         on values.  (Bug#32817)
52617 2018-11-07  Juri Linkov  <juri@linkov.net>
52619         * lisp/window.el (window-state-put): Create a new window
52621         to replace the existing one on the same frame in case
52622         when WINDOW is not live.  (Bug#32850)
52624         * doc/lispref/windows.texi (Window Configurations):
52625         Describe changes related to WINDOW arg of window-state-put.
52627 2018-11-07  Michael Albinus  <michael.albinus@gmx.de>
52629         * lisp/net/tramp.el (tramp-get-debug-buffer): Fix error in setting local map.
52631 2018-11-06  Michael Albinus  <michael.albinus@gmx.de>
52633         Handle also port and domain in Tramp proxy definitions
52635         * doc/misc/tramp.texi (Multi-hops): Exclude ports and domains from
52636         pattern expansion.
52638         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections):
52639         Remove ad-hoc proxies.
52641         * lisp/net/tramp-sh.el (tramp-compute-multi-hops): Handle also
52642         port and domain in the proxy.  Propertize ad-hoc proxies.
52644         * lisp/net/tramp.el (tramp-default-proxies-alist): Adapt docstring.
52646         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
52647         (tramp-test02-file-name-dissect-simplified)
52648         (tramp-test02-file-name-dissect-separate): Extend tests.
52650 2018-11-05  Juri Linkov  <juri@linkov.net>
52652         Support lazy-highlight-buffer in Info (bug#29321, bug#29360).
52654         * lisp/isearch.el (isearch-lazy-highlight-point-min)
52655         (isearch-lazy-highlight-point-max): New variables.
52656         (isearch-lazy-highlight-new-loop): When lazy-highlight-buffer is
52657         non-nil, compare (point-min) with isearch-lazy-highlight-point-min,
52658         and (point-max) with isearch-lazy-highlight-point-max, for buffers
52659         like Info where narrowing changes the values point-min and point-max.
52661 2018-11-05  Juri Linkov  <juri@linkov.net>
52663         * lisp/image-mode.el (image--imagemagick-wanted-p): Check for nil filename.
52665         (Bug#33241)
52667 2018-11-04  Glenn Morris  <rgm@gnu.org>
52669         * src/xfaces.c (face_at_buffer_position): Adapt lookup_basic_face call.
52671 2018-11-04  Glenn Morris  <rgm@gnu.org>
52673         Merge from origin/emacs-26
52675         6937c35 (origin/emacs-26) Improve recent changes in documentation of ...
52676         c04b48c Rewrite documentation of buffer display
52677         7cadb32 ; * doc/lispref/control.texi (pcase Macro): Fix another typo.
52678         963f1d9 ; * doc/lispref/control.texi (pcase Macro): Fix a typo.
52679         e824c91 Improve documentation of destructuring-binding macros
52681 2018-11-04  Glenn Morris  <rgm@gnu.org>
52683         Merge from origin/emacs-26
52685         bd1d617 Avoid race in rcirc process filter (bug#33145)
52686         88ef31a Avoid file-name errors when viewing PDF from Gnus
52687         c939042 Avoid crashes with remapped default face in Org mode
52688         97660fa Doc fix for checkdoc-continue
52689         96f055b Fix a typo in autoload.el
52691 2018-11-04  Glenn Morris  <rgm@gnu.org>
52693         Merge from origin/emacs-26
52695         9962cf9 * doc/lispref/control.texi (Destructuring patterns): New subs...
52697 2018-11-04  Eli Zaretskii  <eliz@gnu.org>
52699         A further fix for locally remapped fringe face
52701         * src/xdisp.c (expose_window): Temporarily switch to the
52702         window's buffer, in case the fringe face was remapped locally
52703         in that buffer.  (Bug#33244)
52705 2018-11-04  Michael Albinus  <michael.albinus@gmx.de>
52707         Fix Bug#33194
52709         * lisp/autorevert.el (auto-revert-notify-add-watch):
52710         Handle buffers with same descriptor properly.
52711         (auto-revert-notify-handler): Handle all buffers with same
52712         descriptor.  (Bug#33194)
52714         * lisp/filenotify.el (file-notify-callback): Simplify.
52716 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
52718         Improve time error reporting
52720         * src/timefns.c (emacs_mktime_z): Remove; no longer needed.
52721         (time_error): New function, replacing invalid_time.
52722         All callers changed.
52723         (decode_float_time, decode_ticks_hz, decode_time_components):
52724         Return an error number instead of merely a boolean.
52725         All callers changed.
52726         (decode_lisp_time): Signal an error based on the error number,
52727         instead of merely returning a boolean to the caller.
52728         All callers changed.
52729         (format_time_string, Fdecode_time, Fencode_time)
52730         (Fcurrent_time_string):
52731         Do not assume that a failure of a system time function
52732         must be due to time overflow.
52733         (Fencode_time): Don't report an error merely because mktime
52734         returned ((time_t) -1), as that may be a valid time_t value.
52735         Use a simpler error check.  See:
52736         https://www.sourceware.org/ml/libc-alpha/2018-11/msg00062.html
52738 2018-11-03  Eli Zaretskii  <eliz@gnu.org>
52740         Allow the fringe face to be remapped locally in a buffer
52742         * src/fringe.c (draw_window_fringes): Switch to window's
52743         buffer to get the local value of face-remapping-alist, if
52744         necessary.  (Bug#33244)
52745         * src/xfaces.c (syms_of_xfaces) <Qface_remapping_alist>: New
52746         DEFSYM.
52748 2018-11-03  David Edmondson  <dme@dme.org>
52750         Add URL truncation support to rcirc (bug#33043)
52752         Suggested by David Edmondson <dme@dme.org>.
52753         * lisp/net/rcirc.el (rcirc-url-max-length): New user option
52754         controlling extent of URL truncation, defaulting to none.
52755         (rcirc-markup-urls): Use it.
52756         * etc/NEWS: Announce it.
52758 2018-11-03  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
52760         'minor-mode-menu-from-indicator' now display full minor mode.
52762         When there is no menu for a mode, display the mode name after the
52763         indicator instead of just the indicator (which is sometime cryptic).
52764         Ex:
52765         before : SP
52766         now    : SP - Smartparens Mode
52768         * etc/NEWS: Add en entry for this new feature.
52769         * lisp/mouse.el (minor-mode-menu-from-indicator): Append the mode name
52770           after the indicator when there is no menu defined by the mode.
52772 2018-11-03  Eric Abrahamsen  <eric@ericabrahamsen.net>
52774         Allow use of Gnus search groups as notmuch path: search term
52776         * lisp/gnus/nnir.el (nnir-notmuch-filter-group-names-function): New
52777         option governing whether and how to use Gnus' search groups as path:
52778         search terms to notmuch.
52779         (nnir-run-notmuch): Check and possibly use above variable.
52780         (Bug#33122)
52782 2018-11-03  Daniel Pittman  <slippycheeze@google.com>
52784         Fix interaction between vc-hg find-file-hook and vc state caching
52786         Bad assumptions in the `vc-hg-find-file-hook' prevented it from
52787         working. This correctly them.  (Bug#33129).
52789         2018-10-23  Daniel Pittman  <slippycheeze@google.com>
52791                 * lisp/vc/vc-hg.el (vc-hg-find-file-hook): This function made two
52792                 assumptions about conflicted files that were not accurate,
52793                 preventing conflicts in files ever being detected.
52795                 The first was that the `vc-state' was cache by the time this was
52796                 invoked, which it is not - at least when visiting the file, or
52797                 using `vc-refresh-state'.
52799                 The second was that a file with the ".orig" extension would be
52800                 present, next to the file being visited.  This is the default
52801                 behavior of Mercurial, but can be overridden by the user.
52803                 Since the VC mode-line code will shortly calculate the state for
52804                 display, the optimization of testing for the ".orig" file only
52805                 delayed this work by a few moments.
52807 2018-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
52809         * lisp/emacs-lisp/syntax.el (syntax-propertize-rules): Allow empty rules
52811         * lisp/help-fns.el (describe-symbol): Use help--symbol-completion-table
52813         * src/data.c (Ffset): Don't signal gratuitous errors
52815 2018-11-02  Eric Abrahamsen  <eric@ericabrahamsen.net>
52817         Obsolete gnus-correct-length in favor of string-width
52819         * lisp/gnus/gnus-spec.el: Define an obsolete alias.
52821 2018-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
52823         * lisp/progmodes/ruby-mode.el: Cosmetic changes
52825         Remove redundant :groups.
52826         (ruby-font-lock-syntax-table): Delete var.
52827         (ruby-mode): Use font-lock-default's syntax-alist instead.
52829 2018-11-01  Stefan Monnier  <monnier@iro.umontreal.ca>
52831         * lisp/progmodes/cc-mode.el: Silence compiler warnings
52833         (c-parse-quotes-before-change, c-parse-quotes-after-change):
52834         Flag unused args according to convention.
52836 2018-10-31  Michael Albinus  <michael.albinus@gmx.de>
52838         Remote file name completion is also performed by auth-sources search
52840         * doc/misc/tramp.texi (File name completion): User and host name
52841         completion is also performed by auth-sources search.
52843         * etc/NEWS: Document remote file name completion using auth-sources.
52845         * lisp/net/tramp.el (tramp-completion-use-auth-sources):
52846         New user option.
52847         (tramp-parse-auth-sources): New defun.
52848         (tramp-get-completion-function): Call it.
52850 2018-10-31  Glenn Morris  <rgm@gnu.org>
52852         Merge from origin/emacs-26
52854         eb903d8 * lisp/emacs-lisp/pcase.el: Improve docstrings.
52855         86abbb3 * lisp/emacs-lisp/rx.el (rx): Fix typo in doc string.  (Bug#3...
52856         ced58d3 Improve doc string of 'call-process'
52857         38f88a7 Document that generic functions cannot be commands
52858         5aeddfa * lisp/mail/rmailsum.el (rmail-summary-output): Add lost word...
52859         10e0fd8 Add index entries for more isearch commands/bindings (Bug#32990)
52860         de28184 * lisp/simple.el (filter-buffer-substring): Clarify doc (Bug#...
52861         d192c16 Fix recent change in lispref/processes.texi.
52863 2018-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
52865         * lisp/emacs-lisp/cl-generic.el: Clarify we can't define commands
52867         (cl--generic-lambda): Warn about the presence of interactive specs.
52869 2018-10-30  Paul Eggert  <eggert@cs.ucla.edu>
52871         Improve fix for Bug#33014
52873         Although the previously-applied fix worked for its platform,
52874         it doesn’t suffice in general.
52875         * src/bytecode.c (exec_byte_code): Save VECTOR into stack slot
52876         so that it survives GC.  The stack slot was otherwise unused,
52877         so this doesn’t cost us memory, only a store insn.
52878         * src/eval.c (Ffuncall): Do not make FUN volatile, reverting
52879         2018-10-14T19:12:04Z!gazally@runbox.com.  Adding ‘volatile’
52880         does not suffice, since storage for a volatile local can be
52881         reclaimed after its last access (e.g., by tail recursion
52882         elimination), which would make VECTOR invisible to GC.
52884 2018-10-30  Glenn Morris  <rgm@gnu.org>
52886         * admin/bzrmerge.el: Remove file, long since replaced by gitmerge.el.
52888 2018-10-30  Michael Heerdegen  <michael_heerdegen@web.de>
52890         Don't quote self-quoting pcase patterns
52892         * admin/bzrmerge.el:
52893         * lisp/char-fold.el:
52894         * lisp/dired.el:
52895         * lisp/emacs-lisp/derived.el:
52896         * lisp/emacs-lisp/easy-mmode.el:
52897         * lisp/emacs-lisp/easymenu.el:
52898         * lisp/emacs-lisp/eieio-core.el:
52899         * lisp/emacs-lisp/package.el:
52900         * lisp/emacs-lisp/smie.el:
52901         * lisp/faces.el:
52902         * lisp/filesets.el:
52903         * lisp/progmodes/modula2.el:
52904         * lisp/progmodes/octave.el:
52905         * lisp/progmodes/opascal.el:
52906         * lisp/progmodes/perl-mode.el:
52907         * lisp/progmodes/prolog.el:
52908         * lisp/progmodes/ruby-mode.el:
52909         * lisp/progmodes/sh-script.el:
52910         * lisp/server.el:
52911         * lisp/subr.el:
52912         * lisp/textmodes/css-mode.el:
52913         * test/lisp/emacs-lisp/pcase-tests.el: Don't quote self-quoting
52914         'pcase' patterns.
52916 2018-10-30  Alan Mackenzie  <acm@muc.de>
52918         Fix C++ Mode dynamic error with string delimiters.
52920         Fixes bug #33163
52922         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings):
52923         Use the correct variable `end' in place of the wrong `c-new-END'.
52924         (c-after-change-re-mark-unbalanced-strings): Correct a logic error whilst
52925         skipping over comments.
52927 2018-10-29  Glenn Morris  <rgm@gnu.org>
52929         * configure.ac (emacs_config_features): Add notify backends.
52931 2018-10-29  Juri Linkov  <juri@linkov.net>
52933         * lisp/window.el (window--state-get-1): Check buffer-live-p in next-buffers
52935         and prev-buffers.  (Bug#32850)
52937 2018-10-29  Gemini Lasswell  <gazally@runbox.com>
52939         Keep a stack reference to bytecode objects being executed (Bug#33014)
52941         * src/eval.c (Ffuncall): Make local variable 'fun' volatile.
52942         * test/src/eval-tests.el
52943         (eval-tests-byte-code-being-evaluated-is-protected-from-gc):
52944         Add regression test for Bug#33014.
52945         (eval-tests-33014-var): New variable.
52946         (eval-tests-33014-func, eval-tests-33014-redefine): New functions.
52948 2018-10-29  Michael Albinus  <michael.albinus@gmx.de>
52950         Fix Bug#33006
52952         * lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search):
52953         * lisp/progmodes/xref.el (xref-collect-matches)
52954         (xref--collect-matches): Handle remote files.  (Bug#33006)
52956 2018-10-29  João Távora  <joaotavora@gmail.com>
52958         Fix Flymake's diagnostic count with custom error types
52960         (Bug#33187)
52962         * lisp/progmodes/flymake.el (flymake--mode-line-format): Replace
52963         cl-union with iterative cl-pushnew.
52965 2018-10-27  Juri Linkov  <juri@linkov.net>
52967         * lisp/isearch.el (lazy-highlight-buffer): New defcustom.  (Bug#29360)
52969         (lazy-highlight-buffer-max-at-a-time): New defcustom.
52970         (isearch-lazy-highlight-buffer): New defvar.
52971         (isearch-lazy-highlight-new-loop): Don't check changes in window
52972         boundaries when lazy-highlight-buffer is non-nil.
52973         Move code that extends start/end to match whole string at point
52974         here from isearch-lazy-highlight-search.
52975         (isearch-lazy-highlight-search): Add args string and bound
52976         like in other search functions.  Move calculation of bound
52977         to isearch-lazy-highlight-update.
52978         (isearch-lazy-highlight-match): New function with code extracted from
52979         isearch-lazy-highlight-update to be called also from
52980         isearch-lazy-highlight-buffer-update.
52981         (isearch-lazy-highlight-update): Reuse the values returned from
52982         window-group-start and window-group-end.  At the end schedule the
52983         timer to call isearch-lazy-highlight-buffer-update when
52984         isearch-lazy-highlight-buffer is non-nil.
52985         (isearch-lazy-highlight-buffer-update): New function.
52987 2018-10-27  Glenn Morris  <rgm@gnu.org>
52989         Merge from origin/emacs-26
52991         df64da8 (origin/emacs-26) * lisp/simple.el (region-extract-function):...
52992         520c486 * lisp/simple.el (region-bounds): Doc fix.  (Bug#33168)
52993         9193db0 Improve documentation of 'process-connection-type'
52994         106b9e1 Unify prompt for gnupg passphrase between GNU/Linux and MS-Wi...
52995         2a41616 Doc fix of 'gnus-fetch-old-headers'
52996         29a7644 Deactivate incorrect hyperlinking in gnus-build-sparse-thread...
52997         53ae90f Minor copyedits in cmdargs.texi
52998         fc2e65a Improve documentation of X resource loading
52999         13132b3 * lisp/net/tramp-sh.el (tramp-inline-compress-commands):
53000         8361292 ; Fix sorting in admin/MAINTAINERS
53001         92de44f Don't error when indenting malformed Lisp (Bug#30891)
53002         c3adbc8 Improve 'isearch-delete-char' documentation (Bug#32990)
53003         6ca71ce ; * lisp/help.el (with-help-window): Remove extra space in doc.
53004         f5f9583 Improve XPM load failure message (bug#33126)
53005         f3d01d4 Avoid infloop in CPerl mode fontification
53006         71a2d50 Fix minibuffer-help-form for lexical binding
53007         7e8eee6 Fix some NS drawing issues (bug#32932)
53008         d72975a * lisp/gnus/mm-util.el (mm-decompress-buffer): Fix split-stri...
53009         c97a5f1 * doc/misc/calc.texi (Summary): The +/- key is 'p', not 'P'.
53011         # Conflicts:
53012         #       lisp/gnus/mm-util.el
53014 2018-10-27  Daniel Pittman  <slippycheeze@google.com>  (tiny change)
53016         Add support in emacsclient for EMACS_SOCKET_NAME
53018         If the '--socket-name' argument is unspecified, the environment
53019         variable 'EMACS_SOCKET_NAME' is now consulted with the same
53020         semantics.  This mirrors the behavior of the '--server-file' argument,
53021         and allows for easier configuration of emacsclient when the socket is
53022         in a location other than 'TMPDIR' or '/tmp'.
53024         * emacsclient.c (set_socket): Add support for the
53025         EMACS_SOCKET_NAME environment variable.  (Bug#33095)
53027         * doc/emacs/misc.texi (emacsclient Options):
53028         * emacsclient.1: Document the EMACS_SOCKET_NAME environment
53029         variable.
53031         * etc/NEWS: Announce the new feature.
53033 2018-10-26  Federico Tedin  <federicotedin@gmail.com>
53035         Subject: (mouse-drag-and-drop-region): Simplify and remove assumptions
53037         * lisp/mouse.el (mouse-drag-and-drop-region): Use insert-for-yank for
53038         insertion, remove rectangular-region-specific variables.
53039         Use text-property-not-all.
53040         * lisp/rect.el (rectangle-dimensions): New function.
53041         (rectangle-position-as-coordinates): Use the usual 1-origin for lines.
53043 2018-10-26  Stefan Monnier  <monnier@iro.umontreal.ca>
53045         * lisp/files.el (abbreviate-file-name): Avoid save-match-data
53047         Also, don't assume homedir doesn't contain special regexp chars.
53048         And prefer \` ... \' over ^ ... $.
53049         (recover-file): Use user-error.
53051 2018-10-25  Glenn Morris  <rgm@gnu.org>
53053         * admin/automerge: Abort if NEWS gets modified.
53055 2018-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
53057         * lisp/emacs-lisp/pcase.el (pcase--u1): Fix bignums
53059         Use 'eql' to compare integers
53061 2018-10-24  Michael Albinus  <michael.albinus@gmx.de>
53063         Fix Bug#33141
53065         * lisp/net/tramp.el (tramp-make-tramp-file-name): Avoid check for
53066         empty method with simplified `tramp-syntax'.  (Bug#33141)
53068 2018-10-24  Glenn Morris  <rgm@gnu.org>
53070         * admin/gitmerge.el (gitmerge-resolve): Check NEWS patch exit status.
53072 2018-10-23  Glenn Morris  <rgm@gnu.org>
53074         Merge from origin/emacs-26
53076         2efd400 (origin/emacs-26) Correct typo in GNU ELPA url
53077         6239016 * doc/misc/dired-x.texi (Omitting Variables): Fix wording. (B...
53078         1531bca Fix help-form binding in dired-create-files
53079         cf79327 Fix a pasto in a Gnus doc string
53080         a4e40f6 ; * doc/emacs/files.texi (Reverting): Improve wording in last...
53081         f632ecb Update revert-buffer documentation
53082         eb67689 * lisp/mail/smtpmail.el (smtpmail-send-queued-mail): Load fil...
53083         433e364 ; * etc/NEWS: Announce that emacs-module.h is now installed.
53085         # Conflicts:
53086         #       lisp/mail/smtpmail.el
53088 2018-10-23  Alan Mackenzie  <acm@muc.de>
53090         edebug.el: Move window focus switch into edebug-pop-to-buffer
53092         * lisp/follow.el (edebug-focus-frame): Remove.
53093         (edebug-pop-to-buffer): Call x-focus-frame for GUI frames.
53094         (edebug-default-enter, edebug--display-1): Replace call to
53095         edebug-focus-frame with x-focus-frame.
53096         (edebug-where, edebug-bounce-point, edebug-visit-eval-list): Remove no longer
53097         needed calls to edebug-focus-frame.
53099 2018-10-22  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
53101         Improve rounding in recent timer fix
53103         * lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
53104         Use more-precise arithmetic to handle some boundary cases better
53105         when rounding errors occur (Bug#33071).
53106         * test/lisp/emacs-lisp/timer-tests.el:
53107         (timer-next-integral-multiple-of-time-3):
53108         New test, to test one of the boundary cases.
53109         (timer-next-integral-multiple-of-time-2):
53110         Redo so as to not assume a particular way of rounding 0.01.
53112 2018-10-22  Paul Eggert  <eggert@cs.ucla.edu>
53114         Fix epg bug with (TICKS . HZ) timestamp
53116         Problem reported by Joseph Mingrone in:
53117         https://lists.gnu.org/r/emacs-devel/2018-10/msg00380.html
53118         * lisp/epg.el (epg--time-from-seconds): Just use a seconds count;
53119         don’t generate an obsolete-format timestamp.
53121 2018-10-22  Stefan Monnier  <monnier@iro.umontreal.ca>
53123         * src/minibuf.c (read_minibuf_noninteractive): Remove unused args.
53125 2018-10-22  Michael Albinus  <michael.albinus@gmx.de>
53127         Improve Tramp backward compatibility
53129         * lisp/net/tramp-compat.el: (tramp-unload-file-name-handlers):
53130         Declare it, for backward compatibility.
53132 2018-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
53134         Always define 'define-fringe-bitmap'
53136         * lisp/cus-start.el: Test 'fringe-bitmaps' to see if fringe.c was compiled.
53138         * lisp/fringe.el: Use lexical-binding.
53139         (define-fringe-bitmap): Provide a fallback implementation.
53141         * lisp/progmodes/flymake.el (flymake-double-exclamation-mark):
53142         Define unconditionally.
53144         * lisp/progmodes/gdb-mi.el (define-fringe-bitmap): Don't declare any more.
53145         (breakpoint, hollow-right-triangle): Define unconditionally.
53147 2018-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
53149         * lisp/vc/diff-mode.el: Improve diff-font-lock-prettify
53151         A few tweaks to the previous code for corner case problems, and a new
53152         feature, which is to move the +/- signs to the left fringe.
53154         (diff--font-lock-cleanup, diff--filter-substring): New functions.
53155         (diff-mode): Use them.
53156         (diff--font-lock-refined): Mark the overall overlays as `diff-mode
53157         fine` as well, so they get properly cleaned up when changing mode.
53158         (diff-fringe-add, diff-fringe-del, diff-fringe-rep, diff-fringe-nul):
53159         New bitmaps.
53160         (diff--font-lock-prettify): Move the +/- signs to the fringe.
53161         (diff-wiggle): Use 'user-error'.
53163 2018-10-20  Michael Albinus  <michael.albinus@gmx.de>
53165         Expand host names in Tramp's ad-hoc multi-hop file names
53167         * doc/misc/tramp.texi (Quick Start Guide): Improve wording.
53168         (Change file name syntax): Say, that `tramp-file-name-regexp' is
53169         not constant.
53170         (Ad-hoc multi-hops): Explain host name expansion.
53172         * etc/NEWS: Mention that host names in Tramp ad-hoc multi-hop file
53173         names must match the previous hop for methods like "su" or "sudo".
53174         Fix typos.
53176         * lisp/net/tramp.el (tramp-find-method, tramp-find-user):
53177         Adapt docstring.
53178         (tramp-find-host): Mark default value.
53179         (tramp-dissect-file-name): Expand host name for hops.
53180         (tramp-dissect-hop-name, tramp-make-tramp-hop-name): New defuns.
53181         (tramp-clear-passwd): Simplify.
53183         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
53184         (tramp-test02-file-name-dissect-simplified)
53185         (tramp-test02-file-name-dissect-separate)
53186         (tramp-test26-file-name-completion): Extend tests.
53188 2018-10-20  Eli Zaretskii  <eliz@gnu.org>
53190         Fix 'timer-next-integral-multiple-of-time'
53192         * lisp/emacs-lisp/timer.el
53193         (timer-next-integral-multiple-of-time): Fix recent change for
53194         fractional values of SECS.  (Bug#33071)
53195         * test/lisp/emacs-lisp/timer-tests.el
53196         (timer-next-integral-multiple-of-time-2): New test.
53198 2018-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>
53200         * lisp/mail/smtpmail.el: (smtpmail-send-queued-mail): Avoid 'load'
53202         (smtpmail-send-it): Send metadata directly to the
53203         files without bothering to write it into a temp buffer.
53205 2018-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>
53207         * lisp/emacs-lisp/package.el (package-get-version): Change into a function
53209         (package-quickstart-refresh): Mangle string so it doesn't turn into
53210         a false positive for "no-byte-compile: t".
53212 2018-10-19  Alan Mackenzie  <acm@muc.de>
53214         In edebug in GUIs, move focus to the selected frame.
53216         Thus when entering edebug, the focus will be moved to the frame with the
53217         source being debugged, and when its finished, the focus will move back.
53218         Commands edebug-visit-eval-list (`E') and edebug-bounce-point (`p') have been
53219         likewise amended.
53221         * src/keyboard.c (readable_events): Handle FOCUS_OUT_EVENT as an invisible
53222         event.  This prevents input-pending-p returning t when one of these events
53223         arrives, and thus obviates an instant termination of sit-for when there's no
53224         "real" event waiting.
53226         * lisp/emacs-lisp/edebug.el (edebug-focus-frame): New function.
53227         (edebug-default-enter, edebug--display-1, edbug-where, edebug-bounce-point)
53228         (edebug-visit-eval-list): Call edebug-focus-frame to move focus into the
53229         window newly selected by edebug-pop-to-buffer.
53231 2018-10-19  Paul Eggert  <eggert@cs.ucla.edu>
53233         Fix struct thread alignment on FreeBSD x86
53235         Problem reported by Joseph Mingrone in:
53236         https://lists.gnu.org/r/emacs-devel/2018-10/msg00238.html
53237         While we’re at it, apply a similar fix to struct Lisp_Subr; this
53238         removes the need for GCALIGNED_STRUCT_MEMBER and thus can shrink
53239         struct Lisp_Subr a bit.
53240         * configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Bring back this macro.
53241         Although used only for performance (not to actually align
53242         structures), we might as well take advantage of it.
53243         * src/lisp.h (GCALIGNED_STRUCT_MEMBER): Remove; all uses removed.
53244         (union Aligned_Lisp_Subr): New type, like struct Lisp_Subr but aligned.
53245         * src/lisp.h (XSUBR, DEFUN):
53246         * src/lread.c (defsubr): Use it.  All callers changed.
53247         * src/thread.c (union aligned_thread_state): New type.
53248         (main_thread): Now of this type, so it’s aligned.
53249         All uses changed.
53250         * src/xmenu.c (syms_of_xmenu) [USE_GTK || USE_X_TOOLKIT]:
53251         Adjust to union Aligned_Lisp_Subr change.
53253 2018-10-19  Alan Mackenzie  <acm@muc.de>
53255         In follow mode windows in a GUI, don't display inactive cursors
53257         This is done by setting cursor-in-non-selected-windows buffer locally.
53259         * lisp/follow.el (follow-hide-ghost-cursors): New customizable option.
53260         (follow-mode): Create and set, or kill buffer-local copy of
53261         cursor-in-non-selected-windows when the mode gets enabled or disabled.
53262         (follow-prev-buffer): New variable.
53263         (follow-adjust-window): Manipulate cursor-in-non-selected-windows when the
53264         current buffer changes, to ensure that cursors stay visible in non-selected
53265         follow window groups.
53267         * etc/NEWS: Add an entry for this change.
53269 2018-10-18  Martin Rudalics  <rudalics@gmx.at>
53271         Have 'split-window' handle 'up' and 'down' values (Bug#32790)
53273         * lisp/window.el (split-window): Handle values of 'up' and 'down'
53274         for SIDE argument (Bug#32790).
53275         (window-in-direction): Amend doc-string as of yesterday's change.
53277 2018-10-18  Juri Linkov  <juri@linkov.net>
53279         * lisp/emacs-lisp/lisp.el (delete-pair): Add optional prefix arg.
53281         (Bug#32896)
53283 2018-10-18  Juri Linkov  <juri@linkov.net>
53285         Use buffer objects for non-writable states in window-state-get.
53287         * lisp/window.el (window--state-get-1): Use buffer objects for
53288         buffer, next-buffers, prev-buffers if 'writable' is nil.  (Bug#32850)
53290 2018-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
53292         * lisp/emacs-lisp/package.el (package-get-version): New macro
53294 2018-10-18  Martin Rudalics  <rudalics@gmx.at>
53296         Have 'window-in-direction' handle 'up' and 'down' values (Bug#32790)
53298         * lisp/window.el (window-in-direction): Handle values of 'up'
53299         and 'down' for DIRECTION argument (Bug#32790).  Suggested by
53300         Juri Linkov <juri@linkov.net>.
53301         * lisp/windmove.el (windmove-find-other-window): Don't convert
53302         first argument of 'window-in-direction'.
53304 2018-10-17  Paul Eggert  <eggert@cs.ucla.edu>
53306         Bring back nocombreloc if dumping
53308         Without this patch, Emacs dumps core on Fedora 28 x86-64
53309         when configured via "CC='gcc -m32' --enable-gcc-warnings
53310         --without-imagemagick --without-gif --with-modules
53311         PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/share/pkgconfig".
53312         and then when run normally in a windowing system.
53313         'make check' and 'emacs -nw' work OK even without the patch.
53314         * configure.ac (LD_SWITCH_SYSTEM_TEMACS): Prepend
53315         -znocombreloc if supported and if dumping.  This mostly
53316         reverts 2018-06-15T21:37:39!eggert@cs.ucla.edu "Remove old
53317         combreloc hack".
53319 2018-10-17  Eli Zaretskii  <eliz@gnu.org>
53321         Avoid assertion violation when comparing with main-thread
53323         * src/thread.c (unmark_main_thread): New function.
53324         * src/lisp.h (unmark_main_thread): Prototype it.
53325         * src/alloc.c (garbage_collect_1): Call it after sweeping.
53326         (Bug#33073)
53328         * test/src/thread-tests.el (threads-test-bug33073): New test.
53330 2018-10-16  Federico Tedin  <federicotedin@gmail.com>
53332         Allow two mouse functions to work with Rectangle Mark mode
53334         * lisp/mouse.el (mouse-save-then-kill): Make
53335         mouse-save-then-kill work with rectangular regions, including
53336         when mouse-drag-copy-region is set to t. (Bug#31240)
53337         (mouse-drag-and-drop-region): Allow dragging and dropping
53338         rectangular regions. (Bug#31240)
53339         * lisp/rect.el (rectangle-intersect-p)
53340         (rectangle-position-as-coordinates): New functions.
53342 2018-10-16  Juri Linkov  <juri@linkov.net>
53344         Use next-buffers and prev-buffers in window-state-get and window-state-put
53346         * lisp/window.el (window--state-get-1): Get next-buffers and prev-buffers.
53347         (window--state-put-2): Set next-buffers and prev-buffers.  (Bug#32850)
53349 2018-10-16  Michael Albinus  <michael.albinus@gmx.de>
53351         Fix Bug#32983
53353         * lisp/net/soap-client.el: Bump version to 3.1.5.
53354         (soap-parse-server-response): Handle also "multipart/related"
53355         Content-Type.  (Bug#32983)
53357 2018-10-16  Glenn Morris  <rgm@gnu.org>
53359         Merge from origin/emacs-26
53361         73babba (origin/emacs-26) Clarify documentation of fractional vertica...
53362         b20c51d * lisp/isearch.el (isearch-cmds): Recall absent isearch--stat...
53363         700acbd doc/lispref/edebug.texi (Specification List) Remove obstrusiv...
53364         1902450 Fix wording in module API documentation
53365         e724a8f Fix redisplay of glyphless characters
53366         8fc892d Update --without-toolkit-scroll-bars doc
53367         80e0bfa Call GTK functions only on GTK scrollbars
53368         91c4c46 Update the description of startup in ELisp manual
53369         18b42c6 Use the 'line-number' face for line-number fields past EOB
53370         a6ab8db Ensure NS frame is redrawn correctly  after scroll
53372         Conflicts:
53373                 lisp/isearch.el
53375 2018-10-16  Michael Albinus  <michael.albinus@gmx.de>
53377         Add process thread to list-processes
53379         * lisp/simple.el (process-menu-mode, list-processes--refresh):
53380         Add process thread.
53382 2018-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
53384         * doc/lispref/display.texi (Fringe Bitmaps): Remove redundant items
53386         * lisp/image-mode.el (image-toggle-display-image): Avoid string-make-unibyte
53388 2018-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
53390         * lisp/progmodes/octave.el: Register on auto-mode-alist
53392         (octave-maybe-mode): New function.
53394 2018-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
53396         * etc/NEWS.18: Tweak header to be more like the others
53398 2018-10-15  Juri Linkov  <juri@linkov.net>
53400         * lisp/image-mode.el (image--imagemagick-wanted-p): Check for file extension.
53402         (Bug#32994)
53403         (image-toggle-display-text): Let-bind create-lockfiles to nil
53404         like in image-toggle-display-image.
53406 2018-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
53408         * lisp/textmodes/tex-mode.el (tex-uptodate-p): Recognize [N.N] pages
53410 2018-10-15  Alan Mackenzie  <acm@muc.de>
53412         In follow mode, prevent the cursor resting on a partially displayed line
53414         This fixes bug #32848
53416         * lisp/follow.el (follow-adjust-window): If point ends up in a partially
53417         displayed line in a left hand or middle window, move it one line forward, to
53418         prevent unwanted scrolling should make-cursor-line-fully-visible be non-nil.
53420 2018-10-14  Paul Eggert  <eggert@cs.ucla.edu>
53422         Update lib/regex from glibc via Gnulib
53424         This syncs recent refactorings from glibc, and incorporates:
53425         2018-10-15 libc-config: merge from glibc
53426         2018-10-15 regex: depend on libc-config
53427         * .gitignore: Do not ignore m4/_*.m4.
53428         * lib/cdefs.h: New file, copied from Gnulib.
53429         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
53430         * lib/libc-config.h, m4/__inline.m4: New files, copied from Gnulib.
53431         * lib/regcomp.c, lib/regex.c, lib/regex_internal.c:
53432         * lib/regex_internal.h, lib/regexec.c:
53433         Copy from glibc via Gnulib.
53435 2018-10-14  Paul Eggert  <eggert@cs.ucla.edu>
53437         Update from Gnulib
53439         This is minor refactoring that should not affect Emacs builds.
53440         It incorporates:
53441         2018-10-12 Make better use of Autoconf
53442         * m4/environ.m4, m4/fsusage.m4, m4/manywarnings.m4, m4/socklen.m4:
53443         Copy from Gnulib.
53445 2018-10-14  Alan Mackenzie  <acm@muc.de>
53447         Add ~44 edebug specs to CC Mode.
53449         * lisp/progmodes/cc-cmds.el, lisp/progmodes/cc-defs.el
53450         lisp/progmodes/cc-engine.el, lisp/progmodes/cc-fonts.el
53451         lisp/progmodes/cc-langs.el: Add lots of edebug specs.
53453         * lisp/progmodes/cc-engine.el (c-state-maybe-marker): Tidy up so as to
53454         evaluate an argument only once at runtime.
53456 2018-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
53458         * src/buffer.c (Fmove_overlay): Don't call Fdelete_overlay
53460         ... because the data structure is not in a consistent state.
53462         * test/src/buffer-tests.el (overlay-evaporation-after-killed-buffer):
53463         New test.
53465 2018-10-14  Paul Eggert  <eggert@cs.ucla.edu>
53467         Fix lisp_eval_depth in unwind-protect cleanup
53469         Problem reported by Paul Pogonyshev (Bug#33034).
53470         * src/lisp.h (union specbinding): New member unwind.eval_depth.
53471         * src/eval.c (record_unwind_protect, set_unwind_protect): Set it.
53472         (do_one_unbind): Use it.
53474 2018-10-13  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>
53476         Fix sieve-mode font lock
53478         * lisp/net/sieve-mode.el (sieve-font-lock-keywords): Fix the
53479         definition of font-lock faces.  (Bug#32881)
53481 2018-10-13  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
53483         Fix sieve-upload when sieve-buffer is nil
53485         * lisp/net/sieve.el (sieve-upload): Don't rely on sieve-buffer being
53486         non-nil.  (Bug#32880)
53488 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
53490         Improve 'json-insert' so it doesn't cons a string from JSON
53492         * src/json.c (struct json_buffer_and_size): New member
53493         inserted_bytes.
53494         (json_insert): Instead of creating a string and inserting it
53495         into the current buffer, copy the unibyte text into the gap.
53496         (struct json_insert_data): New member inserted_bytes.
53497         (json_insert_callback): Update commentary.  Pass the
53498         inserted_bytes value to json_insert and on its return copy the
53499         updated value back into DATA.
53500         (Fjson_insert): Decode the unibyte text inserted into the gap.
53501         Call before-change-functions and after-change-functions only
53502         once, before and after processing the insertion of the entire
53503         JSON representation.
53505         * test/src/json-tests.el (json-insert/throw): Adapt to the
53506         modified implementation of json-insert: it no longer calls the
53507         modification hooks once for each inserted chunk of JSON
53508         representation.
53510 2018-10-12  Glenn Morris  <rgm@gnu.org>
53512         Merge from origin/emacs-26
53514         643df63 (origin/emacs-26) Avoid byte-compiler warning in em-rebind.el
53515         d0eca49 ; * doc/emacs/mark.texi (Disabled Transient Mark): Fix last c...
53516         af80b10 Improve indexing of 'C-SPC C-SPC'
53517         89a7301 ; * doc/lispref/internals.texi (Writing Dynamic Modules): Fix...
53518         a108eaa Fix bug with precious entries in Gnus registry
53519         ce8b458 Document in the ELisp manual how to write loadable modules
53520         a7ebc6b dired-do-shell-command: Notify users after abort the command
53522         # Conflicts:
53523         #       lisp/registry.el
53525 2018-10-12  Glenn Morris  <rgm@gnu.org>
53527         Merge from origin/emacs-26
53529         6e54762 Fix Apple Script permissions error
53530         19f705c Fix typo in 'timerp' documentation
53532 2018-10-12  Michael Albinus  <michael.albinus@gmx.de>
53534         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
53536         Add docstring.  Remove `interactive' call.
53538 2018-10-12  Michael Albinus  <michael.albinus@gmx.de>
53540         * lisp/net/trampver.el (customize-package-emacs-version-alist):
53542         Adapt Tramp version integrated in Emacs 26.2.
53544 2018-10-12  Michael Albinus  <michael.albinus@gmx.de>
53546         Fix error in Tramp loading, uncovered by tramp-test43-*
53548         * lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler):
53549         New defalias.
53550         (tramp-register-archive-file-name-handler): Use it.
53552         * lisp/net/tramp.el (tramp-file-name-for-operation): Change it for
53553         `expand-file-name'.
53554         (tramp-file-name-handler): Unset `file-name-handler-alist' when
53555         autoloading a Tramp file name handler.
53556         (tramp-autoload-file-name-handler): Always unload Tramp file name
53557         handlers.
53558         (tramp-register-file-name-handlers)
53559         (tramp-unload-file-name-handlers): Simplify.
53561 2018-10-12  Allen Li  <darkfeline@felesatra.moe>
53563         Rework empty abbrev table omitting
53565         There were two problems with the original implementation:
53567         1. It changed the behavior of insert-abbrev-table-description when
53568         READABLE is nil to sometimes insert one Emacs Lisp expression and
53569         sometimes insert nothing.
53570         2. It broke the tests.
53572         This commit reworks this so that insert-abbrev-table-description
53573         always inserts an expressions even if no abbrevs need to be saved and
53574         making only write-abbrev-file check that a table has any abbrevs to
53575         save before calling insert-abbrev-table-description.  This duplicates
53576         the work of filtering the table for saveable abbrevs, but the benefit
53577         of keeping the API is worth it.
53579         * doc/lispref/abbrevs.texi (Abbrev Tables): Update documentation.
53580         * lisp/abbrev.el (write-abbrev-file): Skip tables without user abbrevs
53581         (insert-abbrev-table-description): Always insert the define
53582         expression.
53583         (abbrev--table-symbols): New function.
53584         * test/lisp/abbrev-tests.el (abbrev--table-symbols-test):
53585         Add test for abbrev--table-symbols.
53587 2018-10-10  Paul Eggert  <eggert@cs.ucla.edu>
53589         Fix mishandling of symbols that look like numbers
53591         * src/bignum.c (make_neg_biguint): New function.
53592         * src/lread.c (read1): Do not mishandle an unquoted symbol
53593         with name equal to something like "1\0x", i.e., a string
53594         of numeric form followed by a NUL byte.
53595         Formerly these symbols were misread as numbers.
53596         (string_to_number): Change last argument from an integer flag
53597         to a pointer to the length.  This lets the caller figure out
53598         how much of the prefix was used.  All callers changed.
53599         Add a fast path if the integer (sans sign) fits in uintmax_t.
53600         Update comments and simplify now that bignums are present.
53601         * src/print.c (print_object): Fix quoting of symbols that look
53602         like numbers, by relying on string_to_number for the tricky
53603         cases rather than trying to redo its logic, incorrectly.  For
53604         example, (read (prin1-to-string '\1e+NaN)) formerly returned
53605         "1e+NaN", which was wrong: a backslash is needed in the output
53606         to prevent it from being read as a NaN.  Escape NO_BREAK_SPACE
53607         too, since lread.c treats it like SPACE.
53608         * test/src/print-tests.el (print-read-roundtrip):
53609         Add tests illustrating the abovementioned bugs.
53611 2018-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
53613         * lisp/auth-source.el: Minor simplification
53615         Remove redundant :group args.
53616         (auth-source-backend-parse): Use run-hook-with-args-until-success.
53618 2018-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
53620         * lisp/emacs-lisp/lisp-mnt.el: Use lexical-binding
53622         Remove redundant :group
53624 2018-10-09  Glenn Morris  <rgm@gnu.org>
53626         Merge from origin/emacs-26
53628         4cf1eb8 (origin/emacs-26) ; * src/data.c (Fkeywordp): Remove inaccura...
53629         3f1470d * doc/emacs/mark.texi (Mark): Index "(de)activating the mark".
53631 2018-10-09  Glenn Morris  <rgm@gnu.org>
53633         Merge from origin/emacs-26
53635         14c032d Avoid assertion violations in nonsensical calls to 'signal'
53636         b99192f * lisp/simple.el (transient-mark-mode): Correct documentation...
53637         7e42294 Update the locale and language database
53638         8c53d9f Fix a typo in a doc string.
53639         79bda3b Make nneething allow CRLF-encoded files (bug#32940)
53641 2018-10-09  Glenn Morris  <rgm@gnu.org>
53643         Merge from origin/emacs-26
53645         86d2169 Avoid ridiculously high stack limit requests on macOS
53646         ac3622c Improve documentation of 'read-hide-char'
53648         # Conflicts:
53649         #       src/emacs.c
53651 2018-10-09  Charles A. Roelli  <charles@aurox.ch>
53653         * lisp/vc/vc.el (vc-retrieve-tag-hook): Remove autoload cookie.
53655         See https://lists.gnu.org/r/emacs-devel/2018-10/msg00108.html.
53657 2018-10-09  Paul Eggert  <eggert@cs.ucla.edu>
53659         Port --enable-gcc-warnings to recent clang
53661         * configure.ac: Disable -Wnull-pointer-arithmetic if clang (Bug#32924).
53663 2018-10-09  Paul Eggert  <eggert@cs.ucla.edu>
53665         Fix malfunctioning cursor display on 32-bit Gtk
53667         This bug on 32-bit platforms was caused by the timespec_hz
53668         definition going haywire because the C expression
53669         FIXNUM_OVERFLOW_P (MOST_POSITIVE_FIXNUM) did not work in #if.
53670         Eventually the numeric problem showed up as a malfunctioning
53671         cursor (Bug#32992).  Fix the problem with MOST_POSITIVE_FIXNUM.
53672         By the way, make_fixnum should check for integer overflow when
53673         debugging; this would have made it easier to track this bug down.
53674         But one fix at a time.
53675         * src/lisp.h (INTTYPEBITS): Now a macro, so usable in #if.
53676         (MOST_POSITIVE_FIXNUM): Mention it’s used in #if.
53678 2018-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
53680         * lisp/replace.el (occur--garbage-collect-revert-args): New function
53682         (occur-mode, occur-1): Use it.
53683         (occur--region-start, occur--region-end, occur--region-start-line)
53684         (occur--orig-line): Remove vars.
53685         (occur-engine): Fix left over use of occur--region-start-line.
53687 2018-10-09  Eli Zaretskii  <eliz@gnu.org>
53689         Revert part of last commit
53691         * lisp/replace.el (occur-revert-function): Revert last change,
53692         as it's no longer needed.  (Bug#32987)
53694 2018-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
53696         * lisp/replace.el: Rework implementation of the occur region
53698         Put the region info in the "list of buffers" used for multi-occur.
53700         (occur--parse-occur-buffer): Remove.
53701         (occur): Pass the region to occur-1 as an overlay.
53702         (occur-1): 'bufs' is now a list of buffers or overlays.
53703         (occur-engine): 'buffers' is now a list of buffers or overlays.
53705 2018-10-09  Eli Zaretskii  <eliz@gnu.org>
53707         Unbreak 'revert-buffer' in Occur buffers
53709         * lisp/replace.el (occur-revert-function): Use the value of
53710         occur-revert-function from the correct buffer.  (Bug#32987)
53712         * test/lisp/replace-tests.el (replace-occur-revert-bug32543)
53713         (replace-occur-revert-bug32987): New tests.
53715 2018-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
53717         * lisp/calendar/timeclock.el: Use lexical-binding
53719         Require cl-lib.  Remove redundant :group args.
53720         (timeclock-status-string): Avoid 'setq'.
53721         (timeclock-ask-for-project, timeclock-ask-for-reason):
53722         Completionu tables can be simple lists of strings.
53723         (timeclock-read-moment): Doesn't deserve to be defsubst (most of the
53724         others don't either, admittedly).
53725         (timeclock-entry): New type.
53726         (timeclock-entry-begin, timeclock-entry-end, timeclock-entry-project)
53727         (timeclock-entry-comment): Define via 'cl-defstruct'.
53728         (timeclock-entry-list-projects, timeclock-day-list-projects):
53729         Avoid add-to-list on lexical vars.
53730         (timeclock-day-list): Use 'push'.
53731         (timeclock-log-data): Use 'pcase'.
53732         (timeclock-mean): Simplify.
53733         (timeclock-generate-report): Use dotimes.
53735 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
53737         Update from Gnulib
53739         This incorporates:
53740         2018-10-05 explicit_bzero: make it possible to namespace
53741         2018-10-04 fcntl: make it possible to namespace
53742         2018-10-01 mkostemp, mkostemps: fix C++ compilation on Mac OS X
53743         2018-09-19 maint: mktime.c now shared with glibc
53744         2018-09-18 file-has-acl: fix test failure on Cygwin 2.9
53745         2018-09-18 gettime: nanotime never existed
53746         * admin/merge-gnulib (AVOIDED_MODULES): Add mkdir.
53747         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
53748         * lib/acl_entries.c, lib/explicit_bzero.c, lib/fcntl.c:
53749         * lib/get-permissions.c, lib/gettime.c, lib/mktime.c:
53750         * lib/set-permissions.c, lib/stdlib.in.h, m4/acl.m4, m4/gettime.m4:
53751         Copy from Gnulib.
53752         * lib/gnulib.mk.in: Regenerate.
53754 2018-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
53756         * lisp/net/ntlm.el: Use lexical-binding
53758         (ntlm-string-as-unibyte): Remove.
53759         (ntlm-build-auth-response): Use encode-coding-string instead.
53760         (ntlm-build-auth-request, ntlm-build-auth-response, ntlm-ascii2unicode)
53761         (ntlm-smb-owf-encrypt, ntlm-smb-hash, ntlm-smb-dohash, ntlm-md4hash):
53762         Use fewer setq more Lisp-style.
53764 2018-10-08  Charles A. Roelli  <charles@aurox.ch>
53766         New hook 'vc-retrieve-tag-hook' (Bug#32754)
53768         * etc/NEWS: Mention the new variable.
53770         * lisp/vc/vc.el (vc-retrieve-tag-hook): New hook.
53771         (vc-retrieve-tag): Run the new hook and update its
53772         documentation string.
53774 2018-10-07  Eli Zaretskii  <eliz@gnu.org>
53776         Fix MinGW compilation problem in timefns.c
53778         * src/timefns.c (lisp_to_timespec): Fix a mismatch between
53779         time_t and timespec.tv_sec data types.
53781 2018-10-07  Paul Eggert  <eggert@cs.ucla.edu>
53783         * src/scroll.c (calculate_scrolling): Remove casts.
53785 2018-10-07  Scott Corley  <scott@scorley.com>  (tiny change)
53787         Fix overflow lockup with frames > 255 lines
53789         * src/scroll.c (struct matrix_elt): Change unsigned char fields to
53790         int to handle frames with more than 255 lines (Bug#32951).
53792 2018-10-06  Paul Eggert  <eggert@cs.ucla.edu>
53794         Improvements on (TICKS . HZ)
53796         This patch is in response to Eli's review (Bug#32902#10).
53797         * src/systime.h: Doc strings of affected functions now refer
53798         to format-time-string instead of to Lisp manual, and
53799         format-time-string's doc string covers time values.
53800         * test/src/timefns-tests.el (format-time-string-with-zone):
53801         Check decode-time too.
53802         (decode-then-encode-time, time-arith-tests): New tests.
53804 2018-10-06  Paul Eggert  <eggert@cs.ucla.edu>
53806         New (TICKS . HZ) timestamp format
53808         This follows on a suggestion by Stefan Monnier in:
53809         https://lists.gnu.org/r/emacs-devel/2018-08/msg00991.html
53810         (Bug#32902).
53811         * doc/lispref/buffers.texi (Modification Time):
53812         * doc/lispref/os.texi (Processor Run Time, Time Calculations)
53813         * doc/lispref/processes.texi (System Processes):
53814         * doc/lispref/text.texi (Undo):
53815         Let the "Time of Day" section cover timestamp format details.
53816         * doc/lispref/os.texi (Time of Day):
53817         Say that timestamp internal format should not be assumed.
53818         Document new (ticks . hz) format.  Omit mention of seconds-to-time
53819         since it is now just an alias for encode-time.
53820         (Time Conversion): Document encode-time extension.
53821         * etc/NEWS: Mention changes.
53822         * lisp/calendar/cal-dst.el (calendar-system-time-basis): Now const.
53823         * lisp/calendar/cal-dst.el (calendar-absolute-from-time)
53824         (calendar-time-from-absolute)
53825         (calendar-next-time-zone-transition):
53826         * lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
53827         Simplify by using bignums, (TICKS . HZ), and new encode-time.
53828         * lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
53829         Simplify by using bignums and new encode-time.
53830         * lisp/calendar/parse-time.el (parse-iso8601-time-string):
53831         Handle DST more accurately, by using new encode-time.
53832         * lisp/calendar/time-date.el (seconds-to-time):
53833         * lisp/calendar/timeclock.el (timeclock-seconds-to-time):
53834         Now just an alias for encode-time.
53835         * lisp/calendar/time-date.el (days-to-time):
53836         * lisp/emacs-lisp/timer.el (timer--time-setter):
53837         * lisp/net/ntlm.el (ntlm-compute-timestamp):
53838         * lisp/obsolete/vc-arch.el (vc-arch-add-tagline):
53839         * lisp/org/org-id.el (org-id-uuid, org-id-time-to-b36):
53840         * lisp/tar-mode.el (tar-octal-time):
53841         Don't assume timestamps default to list form.
53842         * lisp/tar-mode.el (tar-parse-octal-long-integer):
53843         Now an obsolete alias for tar-parse-octal-integer.
53844         * src/keyboard.c (decode_timer): Adjust to changes to
53845         time decoding functions elsewhere.
53846         * src/timefns.c: Include bignum.h, limits.h.
53847         (FASTER_TIMEFNS): New macro.
53848         (WARN_OBSOLETE_TIMESTAMPS, CURRENT_TIME_LIST)
53849         (timespec_hz, trillion, ztrillion):
53850         New constants.
53851         (make_timeval): Use TIME_T_MAX instead of its definiens.
53852         (check_time_validity, time_add, time_subtract):
53853         Remove.  All uses removed.
53854         (disassemble_lisp_time): Remove; old code now folded into
53855         decode_lisp_time.  All callers changed.
53856         (invalid_hz, s_ns_to_double, ticks_hz_list4, mpz_set_time)
53857         (timespec_mpz, timespec_ticks, time_hz_ticks)
53858         (lisp_time_hz_ticks, lisp_time_seconds)
53859         (time_form_stamp, lisp_time_form_stamp, decode_ticks_hz)
53860         (decode_lisp_time, mpz_time, list4_to_timespec):
53861         New functions.
53862         (decode_float_time, decode_time_components, lisp_to_timespec):
53863         Adjust to new struct lisp_time, which does not lose
53864         information like the old one did.
53865         (enum timeform): New enum.
53866         (decode_time_components): New arg FORM.  All callers changed.
53867         RESULT and DRESULT are now mutually exclusive; no callers need
53868         to change because of this.
53869         (decode_time_components, lisp_time_struct)
53870         (lisp_seconds_argument, time_arith, make_lisp_time, Ffloat_time)
53871         (Fencode_time):
53872         Add support for (TICKS . HZ) form.
53873         (DECODE_SECS_ONLY): New constant.
53874         (lisp_time_struct): 2nd arg is now enum timeform, not int.
53875         All callers changed.
53876         (check_tm_member): Support bignums.m
53877         (Fencode_time): Add new two-arg functionality.
53878         * src/systime.h (struct lisp_time): Now ticks+hz rather than
53879         hi+lo+us+ps, since ticks+hz does not lose info.
53880         * test/lisp/time-stamp-tests.el (time-equal-p-nil-nil):
53881         New test.
53883 2018-10-06  Paul Eggert  <eggert@cs.ucla.edu>
53885         Export converting mpz to [u]intmax
53887         This refactoring will help improve timestamp handling later
53888         (Bug#32902).
53889         * src/bignum.c (mpz_set_uintmax): Move to bignum.h,
53890         and make inline.
53891         (mpz_set_uintmax_slow): Now extern.
53892         (mpz_to_intmax, mpz_to_uintmax): New functions, with
53893         implementation taken from the old bignum_to_intmax
53894         and bignum_to_uintmax.
53895         (bignum_to_intmax, bignum_to_uintmax): Use them.
53897 2018-10-06  Paul Eggert  <eggert@cs.ucla.edu>
53899         Coalesce duplicate make_lisp_timeval etc.
53901         * src/sysdep.c (timeval_to_timespec, make_lisp_timeval):
53902         Coalesce duplicate definitions (Bug#32902).
53904 2018-10-06  Paul Eggert  <eggert@cs.ucla.edu>
53906         Move timestamp-related stuff to timefns.c
53908         This does not change behavior; it’s just long-overdue
53909         refactoring (Bug#32902).
53910         * src/emacs.c (main): Call init_timefns, syms_of_timefns.
53911         * src/timefns.c: New file, containing timestamp-related stuff
53912         from editfns.c and sysdep.c.
53913         * src/Makefile.in (base_obj): Add timefns.o.
53914         * src/editfns.c: Simplify by moving a big chunk to timefns.c.
53915         Do not include systime.h, sys/resource.h, sys/param.h,
53916         strftime.h, coding.h.
53917         (HAVE_TZALLOC_BUG, TM_YEAR_BASE, HAVE_TM_GMTOFF, tzeqlen)
53918         (local_tz, utc_tz, emacs_localtime_rz, emacs_mktime_z)
53919         (invalid_time_zone_specification, xtzfree, tzlookup)
53920         (TIME_T_MIN, TIME_T_MAX, time_overflow, invalid_time)
53921         (check_time_validity, hi_time, lo_time, Fcurrent_time)
53922         (time_add, time_subtract, time_arith, Ftime_add)
53923         (Ftime_subtract, Ftime_less_p, Fget_internal_run_time)
53924         (make_lisp_time, disassemble_lisp_time, decode_float_time)
53925         (lisp_to_timespec, lisp_time_struct, lisp_time_argument)
53926         (lisp_seconds_argument, Ffloat_time, emacs_nmemftime)
53927         (Fformat_time_string, format_time_string, Fdecode_time)
53928         (check_tm_member, Fencode_time, Fcurrent_time_string)
53929         (tm_gmtoff, Fcurrent_time_zone, Fset_time_zone_rule)
53930         (emacs_getenv_TZ, emacs_setenv_TZ): Move to timefns.c.
53931         * src/emacs.c (main): Adjust to initialization changes.
53932         * src/sysdep.c: Include <sys/resource.h> if it's present.
53933         Regularize includes a bit.
53934         (Fget_internal_run_time): Move here from editfns.c.
53935         (init_timefns, syms_of_timefns): New functions.
53936         * src/w32.h (w32_get_internal_run_time): Move decl here
53937         so that it need not be cloned.
53938         * test/src/editfns-tests.el:
53939         * test/src/editfns-tests.el (format-time-string-with-zone)
53940         (format-time-string-with-outlandish-zone)
53941         (editfns-tests--have-leap-seconds)
53942         (format-time-string-with-bignum-on-32-bit):
53943         Move to ...
53944         * test/src/timefns-tests.el: ... this new file.
53946 2018-10-04  Michael Albinus  <michael.albinus@gmx.de>
53948         Some reaarangements in tramp*.texi
53950         * doc/misc/trampver.texi (trampfn): Change check for definition of macro.
53951         (tramp-bug-report-address): New variable.
53953         * doc/misc/tramp.texi (Top, Bug Reports): Use it.
53955 2018-10-03  Paul Eggert  <eggert@cs.ucla.edu>
53957         Fix emacs_re_safe_alloca calculation
53959         Problem and draft fix noted by Eli Zaretskii in:
53960         https://lists.gnu.org/r/emacs-devel/2018-10/msg00022.html
53961         * src/emacs.c (main): Fix arithmetic used in calculation
53962         of emacs_re_safe_alloca.
53964 2018-10-03  Glenn Morris  <rgm@gnu.org>
53966         * Makefile.in (uninstall): Remove some stray icon files.
53968 2018-10-03  Glenn Morris  <rgm@gnu.org>
53970         Tweak Makefile emacs-module.h handling
53972         * Makefile.in (install-arch-indep, uninstall): Respect DESTDIR.
53973         Handle whitespace.  Remove non-portable mkdir argument.
53975 2018-10-03  Philipp Stephani  <phst@google.com>
53977         Install emacs-module.h (Bug#31929)
53979         * Makefile.in (includedir): New variable.
53980         (install-arch-indep): Install emacs-module.h.
53981         (uninstall): Uninstall emacs-module.h.
53983 2018-10-03  Michael Albinus  <michael.albinus@gmx.de>
53985         * doc/misc/trampver.texi (trampfn): Call `unmacro' prior defining
53987         * doc/misc/trampver.texi (trampfn): Call `unmacro' prior
53988         defining.  trampver.texi is included several times; it raises an
53989         error otherwise.
53991 2018-10-03  Glenn Morris  <rgm@gnu.org>
53993         Merge from origin/emacs-26
53995         ea77c65 Revert "Temporary workaround for bug #32848 for branch emacs-26"
53996         2c8ea46 Revert "* etc/NEWS: Note setting make-cursor-line-fully-visib...
53997         f8df6f2 * etc/NEWS: Note setting make-cursor-line-fully-visible to ni...
53998         cdca208 Fix note about interactive advice (Bug#32905)
53999         508c40e Comple fix for Bug#32550
54001 2018-10-03  Glenn Morris  <rgm@gnu.org>
54003         Merge from origin/emacs-26
54005         9c028d6 * lisp/savehist.el (savehist-mode): Doc fix.  (Bug#32889)
54006         3a2b5a7 ; * lisp/bindings.el (bindings--define-key): Doc fix.  (Bug#3...
54007         6a7a869 Org manual: Rewrite the Org Mobile section
54009         # Conflicts:
54010         #       lisp/savehist.el
54012 2018-10-03  Glenn Morris  <rgm@gnu.org>
54014         Merge from origin/emacs-26
54016         7296b6f Improve cl-do, cl-do* docstrings
54017         d416109 Avoid returning early in 'while-no-input' due to subprocesses
54018         e8a4d94 Cleanup when opening a new terminal fails. (Bug#32794)
54020         # Conflicts:
54021         #       etc/NEWS
54023 2018-10-03  Alan Mackenzie  <acm@muc.de>
54025         Put follow-mode's engine on pre-redisplay-hook instead of post-command-hook
54027         This fixes bug #32874.
54029         * lisp/follow.el (follow-mode): Put follow-pre-redisplay-function onto
54030         pre-redisplay-function instead of putting follow-post-command-hook onto
54031         post-command-hook.  Amend the removal operation analogously.
54032         (follow-pre-redisplay-function): New function.
54034 2018-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
54036         * lisp/emacs-lisp/autoload.el (autoload-ignored-definitions): New var
54038         (autoload-generate-file-autoloads): Use it.
54040 2018-10-02  Michael Albinus  <michael.albinus@gmx.de>
54042         Rearrangements in tramp*.texi
54044         * doc/misc/trampver.texi (trampfn): New macro, taken from tramp.texi.
54046         * doc/misc/tramp.texi (trampfn): Moved to trampver.texi.
54047         (Top): Add sections `System Requirement' and `Basic Installation'.
54049 2018-10-01  Charles A. Roelli  <charles@aurox.ch>
54051         * lisp/vc/vc.el (vc-checkin): Simplify 'run-hook' call.
54053 2018-10-01  Michael Albinus  <michael.albinus@gmx.de>
54055         Use `float-time' in tramp-sh.el where needed
54057         * lisp/net/tramp-sh.el (tramp-sh-handle-verify-visited-file-modtime):
54058         Use `float-time'.
54060 2018-10-01  Michael Albinus  <michael.albinus@gmx.de>
54062         Minor edits in tramp.texi
54064         * doc/misc/tramp.texi (Password handling): Say "user option".
54065         (Remote shell setup): Say "environment variable".
54066         (External packages): Add `non-essential' to variable index.
54068 2018-09-30  Michael R. Mauger  <michael@mauger.com>
54070         Automate support for `sql-indent' ELPA package
54072         * lisp/progmodes/sql.el (sql-use-indent-support): New variable.
54073         (sql-is-indent-available): New function.
54074         (sql-indent-enable): Use above.
54075         (sql-mode-hook, sql-interactive-mode-hook): Add `sql-indent-enable'.
54077 2018-09-30  Charles A. Roelli  <charles@aurox.ch>
54079         * doc/emacs/help.texi (Misc Help): Document 'info-other-window'.
54081 2018-09-30  Sam Steingold  <sds@gnu.org>
54083         Document 2d54710c36: vc-git-stash & *vc-dir*
54085 2018-09-30  Eli Zaretskii  <eliz@gnu.org>
54087         Allow 'make-cursor-line-fully-visible' name a function
54089         * src/xdisp.c (cursor_row_fully_visible_p): Handle the case of
54090         make-cursor-line-fully-visible being a function.  Accept a 3rd
54091         argument; if non-zero, assume the caller already tested the
54092         conditions for the cursor being fully-visible, and don't
54093         recheck them.  All callers changed.
54094         (try_cursor_movement, try_window_id): Call
54095         cursor_row_fully_visible_p instead of testing the value of
54096         make-cursor-line-fully-visible directly.
54097         (syms_of_xdisp) <make-cursor-line-fully-visible>: Update the
54098         doc string.  Define a symbol Qmake_cursor_line_fully_visible.
54099         (Bug#32848)
54101         * lisp/cus-start.el (standard): Update the Custom form.
54103         * etc/NEWS: Mention the change in possible values of
54104         'make-cursor-line-fully-visible'.
54106 2018-09-29  Alan Third  <alan@idiocy.org>
54108         Merge from origin/emacs-26
54110         9ad0f1d15c Fix deprecation warning
54111         7946445962 Make all NS drawing be done from drawRect
54112         41fa88b99b ; Fix some doc typos
54114 2018-09-29  Michael Albinus  <michael.albinus@gmx.de>
54116         Rework time-* functions in Tramp
54118         * doc/misc/emacs-mime.texi (time-date): Add time-equal-p.
54120         * lisp/net/tramp-compat.el (tramp-compat-time-equal-p): New defsubst.
54122         * lisp/net/tramp.el (tramp-file-name-handler): Remove `debug'
54123         error handler.
54124         (tramp-half-a-year): Remove.
54125         (tramp-time-dont-know, tramp-time-doesnt-exist): New defconst.
54126         (tramp-time-diff): Remove compat code.
54127         (tramp-handle-set-visited-file-modtime)
54128         (tramp-handle-verify-visited-file-modtime):
54129         * lisp/net/tramp-adb.el (tramp-do-parse-file-attributes-with-ls)
54130         (tramp-adb-handle-set-file-times):
54131         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
54132         (tramp-sh-handle-set-visited-file-modtime)
54133         (tramp-sh-handle-verify-visited-file-modtime)
54134         (tramp-sh-handle-set-file-times)
54135         (tramp-sh-handle-file-newer-than-file-p):
54136         Use `tramp-time-dont-know', `tramp-time-doesnt-exist' and
54137         `tramp-compat-time-equal-p'.
54138         (tramp-sh-handle-verify-visited-file-modtime): Simplify check.
54140         * lisp/net/tramp-smb.el (tramp-smb-handle-file-attributes)
54141         (tramp-smb-read-file-entry): Use `tramp-time-dont-know'.
54142         (tramp-smb-handle-insert-directory): Adapt half-a-year check.
54144         * src/editfns.c (Ftime_equal_p): Adapt docstring.
54146         * test/lisp/net/tramp-tests.el
54147         (tramp-test19-directory-files-and-attributes)
54148         (tramp-test22-file-times): Use `tramp-compat-time-equal-p' and
54149         `tramp-time-dont-know'.
54150         (tramp-test23-visited-file-modtime): Extend test.
54152 2018-09-29  Michael Albinus  <michael.albinus@gmx.de>
54154         Fix minor problem in tramp-handle-substitute-in-file-name
54156         * lisp/net/tramp.el (tramp-handle-substitute-in-file-name):
54157         Suppress cygwin-mount file name handlers.
54159 2018-09-29  Michael Albinus  <michael.albinus@gmx.de>
54161         Finish fix for Bug#21559
54163         * lisp/vc/vc-git.el (vc-git--call):
54164         If `revert-buffer-in-progress-p' flag is set, prepend
54165         "GIT_OPTIONAL_LOCKS=0" to "process-environment".  (Bug#21559)
54167 2018-09-29  Tino Calancha  <tino.calancha@gmail.com>
54168             Noam Postavsky  <npostavs@gmail.com>
54170         Ibuffer filter by modes: Accept several mode names
54172         Extend all mode filters so that they handle >1 mode.
54173         For instance, if the users want to filter all buffers in
54174         C or C++ mode, then they can call the filter interactively
54175         with input: 'c-mode,c++-mode' (Bug#32731).
54177         * lisp/ibuf-macs.el(define-ibuffer-filter): Add key :accept-list.
54178         If the value of this key is non-nil, then the filter accepts
54179         either a single qualifier or a list of them; in the latter case,
54180         the resultant filter is the `or' composition of the individual ones.
54182         * lisp/ibuf-ext.el (ibuffer-filter-by-used-mode)
54183         (ibuffer-filter-by-mode, ibuffer-filter-by-derived-mode)
54184         Set :accept-list value non-nil.
54185         Interactively, accept a comma separated list of mode names.
54187         * etc/NEWS(Ibuffer): Announce this change.
54189 2018-09-29  Allen Li  <darkfeline@felesatra.moe>
54191         Avoid writing empty abbrev tables
54193         Fixes bug#29923
54195         'insert-abbrev-table-description' with a non-nil READABLE inserts Lisp
54196         forms suitable for evaluation to restore the defined abbrevs.  We
54197         don't have to insert a form for tables that do not have any abbrevs.
54199         To implement this, we need to filter out system abbrevs before
54200         checking if a table is empty, because system abbrevs were previously
54201         skipped in the 'abbrev--write' call, at which point we would already
54202         have started inserting the beginning of a table definition form.
54204         * lisp/abbrev.el (insert-abbrev-table-description):
54205         Skip inserting empty tables when READABLE is non-nil.
54206         Clarify behavior in documentation string.
54207         (abbrev--write): Remove system abbrev check.
54209         * doc/lispref/abbrevs.texi (Abbrev Tables): Document behavior
54210         with empty tables.
54212         * etc/NEWS: Mention the change in behavior of
54213         'insert-abbrev-table-description'.
54215 2018-09-28  Andrew Schwartzmeyer  <andrew@schwartzmeyer.com>  (tiny change)
54217         Support mode aliases in 'provided-mode-derived-p'
54219         * lisp/subr.el (provided-mode-derived-p): Check aliases of
54220         MODES as well as MODES themselves.  (Bug#32795)
54222         * test/lisp/subr-tests.el (provided-mode-derived-p): New test.
54224 2018-09-28  Trevor Murphy  <trevor.m.murphy@gmail.com>
54226         Allow user customization to affect display of *Find* buffer.
54228         * lisp/find-dired.el (find-dired): Use 'pop-to-buffer-same-window'
54229         instead of 'switch-to-buffer'.
54231 2018-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
54233         * etc/NEWS.18: Use outline-mode and a more standard format
54235         * etc/NEWS.1-17: Use outline-mode and a more standard format
54237 2018-09-28  Paul Eggert  <eggert@cs.ucla.edu>
54239         Rename time-equal to time-equal-p
54241         This is for consistency with time-less-p.
54242         * doc/lispref/os.texi (Time Calculations), etc/NEWS:
54243         * src/editfns.c (Ftime_equal_p, syms_of_editfns):
54244         * test/lisp/emacs-lisp/timer-tests.el (timer-test-multiple-of-time):
54245         Rename.
54247 2018-09-28  Glenn Morris  <rgm@gnu.org>
54249         Merge from origin/emacs-26
54251         1908173 (origin/emacs-26) Fix Bug#32828
54252         7f5086d * lisp/net/shr.el (shr-copy-url): Fix docstring.
54253         d309994 Fix typos in documentation
54254         25cdd65 ; Spellcheck two more documentation strings
54255         c8bda05 ; * lisp/simple.el (save-interprogram-paste-before-kill): Fix...
54256         dc7fdee * doc/emacs/kmacro.texi (Basic Keyboard Macro): Mention old b...
54257         17766a1 Improve docs of functions/variables related to 'display-buffer'
54258         a363931 * lisp/mouse.el (tear-off-window): Fix non-mouse use (bug#32799)
54259         8b8a4c0 Improve documentation of directory-local variables
54260         c9c9756 Don't use obsolete variable 'save-place' in documentation
54261         ca208e8 Use save-place-mode instead of save-place
54263 2018-09-28  Sam Steingold  <sds@gnu.org>
54265         lisp/vc/vc-git.el (vc-git-stash): Respect vc-dir marked files
54267 2018-09-27  Paul Eggert  <eggert@cs.ucla.edu>
54269         time-equal, and time values of infinity and NaN
54271         * doc/lispref/os.texi (Time Calculations):
54272         Document time-equal, and the behavior on NaNs and infinities of
54273         time-less-p, time-add, time-subtract.
54274         * etc/NEWS: Mention the change.
54275         * src/editfns.c (time_arith): Change last arg from function
54276         to bool.  All callers changed.  Do the right thing with
54277         infinities and NaNs.
54278         (time_cmp): New function, which handlesx infinities and NaNs.
54279         (Ftime_less_p): Use it.
54280         (Ftime_equal): New function.
54281         * test/lisp/emacs-lisp/timer-tests.el (timer-test-multiple-of-time):
54282         Use it.
54284 2018-09-26  Juri Linkov  <juri@linkov.net>
54286         * etc/NEWS: Mention syntax change in add-dir-local-variable (bug#32817)
54288 2018-09-26  Charles A. Roelli  <charles@aurox.ch>
54290         * lisp/vc-bzr.el (log-view-current-tag-function): Remove unused defvar.
54292 2018-09-26  Alan Mackenzie  <acm@muc.de>
54294         CC Mode: consider tails of compound identifiers when seeking found types.
54296         * lisp/progmodes/cc-engine.el (c-forward-over-token): New function, extracted
54297         from ...
54298         (c-forward-over-token-and-ws): Refactor to use the above.
54299         (c-forward-type): Use c-check-qualified-type in place of c-check-type
54300         (twice).
54301         (c-forward-over-compound-identifier): New function.
54302         (c-check-qualified-type): New function.
54304 2018-09-25  Juri Linkov  <juri@linkov.net>
54306         Rename add-dir-local-variables-to-string to dir-locals-to-string (bug#32817)
54308 2018-09-24  Paul Eggert  <eggert@cs.ucla.edu>
54310         Remove some assumptions about timestamp format
54312         These changes remove some assumptions of Lisp code on timestamp
54313         format.  Although we’re not going to change the default format any
54314         time soon, I went looking for code that was too intimate about
54315         details of timestamp format and removed assumptions where this was
54316         easy to do with current Emacs primitives.
54317         * lisp/ido.el (ido-wash-history):
54318         Fix test for zero timestamp.
54319         * lisp/time.el (display-time-event-handler):
54320         Use time-less-p rather than doing it by hand.
54321         (display-time-update): Simplify by using float-time
54322         instead of doing the equivalent by hand.
54323         * lisp/url/url-auth.el (url-digest-auth-make-cnonce):
54324         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
54325         * test/lisp/emacs-lisp/timer-tests.el (timer-test-multiple-of-time):
54326         * test/lisp/net/tramp-tests.el:
54327         (tramp-test19-directory-files-and-attributes)
54328         (tramp-test22-file-times, tramp-test23-visited-file-modtime):
54329         Don’t assume detailed format of returned Lisp timestamps.
54331 2018-09-24  Juri Linkov  <juri@linkov.net>
54333         Output alists with dotted pair notation in .dir-locals.el
54335         * lisp/files-x.el (add-dir-local-variables-to-string): New function.
54336         (modify-dir-local-variable): Use it.  (Bug#32817)
54338 2018-09-24  Paul Eggert  <eggert@cs.ucla.edu>
54340         Fix ‘make clean’ with a file named ‘-.o’
54342         Problem reported by T.V Raman in:
54343         https://lists.gnu.org/r/emacs-devel/2018-09/msg00866.html
54344         * Makefile.in (clean, extraclean):
54345         * doc/emacs/Makefile.in (mostlyclean):
54346         * doc/lispintro/Makefile.in (mostlyclean):
54347         * doc/lispref/Makefile.in (mostlyclean):
54348         * doc/misc/Makefile.in (mostlyclean, clean):
54349         * etc/refcards/Makefile (clean):
54350         * lib-src/Makefile.in (mostlyclean, extraclean):
54351         * lib/Makefile.in (clean):
54352         * lwlib/Makefile.in (clean mostlyclean):
54353         * oldXMenu/Makefile.in (clean mostlyclean):
54354         * src/Makefile.in (mostlyclean, extraclean):
54355         * test/Makefile.in (mostlyclean):
54356         Say ‘rm ./*.o’ instead of ‘rm *.o’ to avoid undesirable failure
54357         when a file name begins with ‘-’.
54359 2018-09-23  Paul Eggert  <eggert@cs.ucla.edu>
54361         file-attributes cleanup
54363         Mostly, this replaces magic-number calls like (nth 4 A) with
54364         more-informative calls like (file-attribute-access-time A).
54365         It also fixes some documentation and minor timestamp coding
54366         issues that I noticed while looking into this.
54367         * doc/lispref/files.texi (File Attributes):
54368         * lisp/files.el (file-attribute-size)
54369         (file-attribute-inode-number, file-attribute-device-number):
54370         * src/dired.c (Fdirectory_files_and_attributes)
54371         (Ffile_attributes):
54372         Mention which attributes must be integers, or nonnegative integers,
54373         as opposed to merely being numbers.  Remove no-longer-correct
54374         talk about representing large integers as conses of integers.
54375         * doc/lispref/files.texi (Magic File Names):
54376         * doc/misc/gnus.texi (Low-level interface to the spam-stat dictionary):
54377         * lisp/autorevert.el (auto-revert-find-file-function)
54378         (auto-revert-tail-mode, auto-revert-handler):
54379         * lisp/auth-source.el (auth-source-netrc-parse):
54380         * lisp/cedet/ede/files.el (ede--inode-for-dir):
54381         * lisp/cedet/semantic/db-file.el (object-write):
54382         * lisp/cedet/semantic/db-mode.el (semanticdb-kill-hook):
54383         * lisp/cedet/semantic/db.el (semanticdb-needs-refresh-p)
54384         (semanticdb-synchronize):
54385         * lisp/cedet/srecode/table.el (srecode-mode-table-new):
54386         * lisp/desktop.el (desktop-save, desktop-read):
54387         * lisp/dired-aux.el (dired-file-set-difference)
54388         (dired-do-chxxx, dired-do-chmod, dired-copy-file-recursive)
54389         (dired-create-files):
54390         * lisp/dired.el (dired-directory-changed-p, dired-readin):
54391         * lisp/dos-w32.el (w32-direct-print-region-helper):
54392         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads)
54393         (autoload-find-destination, update-directory-autoloads):
54394         * lisp/emacs-lisp/shadow.el (load-path-shadows-same-file-or-nonexistent):
54395         * lisp/epg.el (epg--start, epg-wait-for-completion):
54396         * lisp/eshell/em-ls.el (eshell-ls-filetype-p)
54397         (eshell-ls-applicable, eshell-ls-size-string)
54398         (eshell-ls-file, eshell-ls-dir, eshell-ls-files)
54399         (eshell-ls-entries):
54400         * lisp/eshell/em-pred.el (eshell-predicate-alist)
54401         (eshell-pred-file-type, eshell-pred-file-links)
54402         (eshell-pred-file-size):
54403         * lisp/eshell/em-unix.el (eshell-shuffle-files, eshell/cat)
54404         (eshell-du-sum-directory, eshell/du):
54405         * lisp/eshell/esh-util.el (eshell-read-passwd)
54406         (eshell-read-hosts):
54407         * lisp/files.el (remote-file-name-inhibit-cache)
54408         (find-file-noselect, insert-file-1, dir-locals-find-file)
54409         (dir-locals-read-from-dir, backup-buffer)
54410         (file-ownership-preserved-p, copy-directory)
54411         (read-file-modes):
54412         * lisp/find-lisp.el (find-lisp-format):
54413         * lisp/gnus/gnus-agent.el (gnus-agent-unfetch-articles)
54414         (gnus-agent-read-agentview, gnus-agent-expire-group-1)
54415         (gnus-agent-request-article, gnus-agent-regenerate-group)
54416         (gnus-agent-update-files-total-fetched-for)
54417         (gnus-agent-update-view-total-fetched-for):
54418         * lisp/gnus/gnus-cache.el (gnus-cache-read-active)
54419         (gnus-cache-update-file-total-fetched-for)
54420         (gnus-cache-update-overview-total-fetched-for):
54421         * lisp/gnus/gnus-cloud.el (gnus-cloud-file-new-p):
54422         * lisp/gnus/gnus-score.el (gnus-score-score-files):
54423         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file)
54424         (gnus-master-read-slave-newsrc):
54425         * lisp/gnus/gnus-sum.el (gnus-summary-import-article):
54426         * lisp/gnus/gnus-util.el (gnus-file-newer-than)
54427         (gnus-cache-file-contents):
54428         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming)
54429         (mail-source-callback, mail-source-movemail):
54430         * lisp/gnus/nneething.el (nneething-create-mapping)
54431         (nneething-make-head):
54432         * lisp/gnus/nnfolder.el (nnfolder-read-folder):
54433         * lisp/gnus/nnheader.el (nnheader-file-size)
54434         (nnheader-insert-nov-file):
54435         * lisp/gnus/nnmail.el (nnmail-activate):
54436         * lisp/gnus/nnmaildir.el (nnmaildir--group-maxnum)
54437         (nnmaildir--new-number, nnmaildir--update-nov)
54438         (nnmaildir--scan, nnmaildir-request-scan)
54439         (nnmaildir-request-update-info)
54440         (nnmaildir-request-expire-articles):
54441         * lisp/gnus/nnmh.el (nnmh-request-list-1)
54442         (nnmh-request-expire-articles, nnmh-update-gnus-unreads):
54443         * lisp/gnus/nnml.el (nnml-request-expire-articles):
54444         * lisp/gnus/spam-stat.el (spam-stat-save, spam-stat-load)
54445         (spam-stat-process-directory, spam-stat-test-directory):
54446         * lisp/ido.el (ido-directory-too-big-p)
54447         (ido-file-name-all-completions):
54448         * lisp/image-dired.el (image-dired-get-thumbnail-image)
54449         (image-dired-create-thumb-1):
54450         * lisp/info.el (info-insert-file-contents):
54451         * lisp/ls-lisp.el (ls-lisp-insert-directory)
54452         (ls-lisp-handle-switches, ls-lisp-classify-file)
54453         (ls-lisp-format):
54454         * lisp/mail/blessmail.el:
54455         * lisp/mail/feedmail.el (feedmail-default-date-generator)
54456         (feedmail-default-message-id-generator):
54457         * lisp/mail/mailabbrev.el (mail-abbrevs-sync-aliases)
54458         (mail-abbrevs-setup):
54459         * lisp/mail/mspools.el (mspools-size-folder):
54460         * lisp/mail/rmail.el (rmail-insert-inbox-text):
54461         * lisp/mail/sendmail.el (sendmail-sync-aliases):
54462         * lisp/mh-e/mh-alias.el (mh-alias-tstamp):
54463         * lisp/net/ange-ftp.el (ange-ftp-parse-netrc)
54464         (ange-ftp-write-region, ange-ftp-file-newer-than-file-p)
54465         (ange-ftp-cf1):
54466         * lisp/net/eudcb-mab.el (eudc-mab-query-internal):
54467         * lisp/net/eww.el (eww-read-bookmarks):
54468         * lisp/net/netrc.el (netrc-parse):
54469         * lisp/net/newst-backend.el (newsticker--image-get):
54470         * lisp/nxml/rng-loc.el (rng-get-parsed-schema-locating-file):
54471         * lisp/obsolete/fast-lock.el (fast-lock-save-cache):
54472         * lisp/obsolete/vc-arch.el (vc-arch-state)
54473         (vc-arch-diff3-rej-p):
54474         * lisp/org/ob-eval.el (org-babel--shell-command-on-region):
54475         * lisp/org/org-attach.el (org-attach-commit):
54476         * lisp/org/org-macro.el (org-macro-initialize-templates):
54477         * lisp/org/org.el (org-babel-load-file)
54478         (org-file-newer-than-p):
54479         * lisp/org/ox-html.el (org-html-format-spec):
54480         * lisp/org/ox-publish.el (org-publish-find-date)
54481         (org-publish-cache-ctime-of-src):
54482         * lisp/pcmpl-gnu.el (pcomplete/tar):
54483         * lisp/pcmpl-rpm.el (pcmpl-rpm-packages):
54484         * lisp/play/cookie1.el (cookie-snarf):
54485         * lisp/progmodes/cmacexp.el (c-macro-expansion):
54486         * lisp/ps-bdf.el (bdf-file-mod-time):
54487         * lisp/server.el (server-ensure-safe-dir):
54488         * lisp/simple.el (shell-command-on-region):
54489         * lisp/speedbar.el (speedbar-item-info-file-helper)
54490         (speedbar-check-obj-this-line):
54491         * lisp/thumbs.el (thumbs-cleanup-thumbsdir):
54492         * lisp/time.el (display-time-mail-check-directory)
54493         (display-time-file-nonempty-p):
54494         * lisp/url/url-cache.el (url-is-cached):
54495         * lisp/url/url-file.el (url-file-asynch-callback):
54496         * lisp/vc/diff-mode.el (diff-delete-if-empty):
54497         * lisp/vc/pcvs-info.el (cvs-fileinfo-from-entries):
54498         * lisp/vc/vc-bzr.el (vc-bzr-state-heuristic):
54499         * lisp/vc/vc-cvs.el (vc-cvs-checkout-model)
54500         (vc-cvs-state-heuristic, vc-cvs-merge-news)
54501         (vc-cvs-retrieve-tag, vc-cvs-parse-status, vc-cvs-parse-entry):
54502         * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1)
54503         (vc-hg--ignore-patterns-valid-p)
54504         (vc-hg--cached-dirstate-search, vc-hg-state-fast):
54505         * lisp/vc/vc-hooks.el (vc-after-save):
54506         * lisp/vc/vc-rcs.el (vc-rcs-workfile-is-newer):
54507         * lisp/vc/vc-svn.el (vc-svn-merge-news, vc-svn-parse-status):
54508         * lisp/vc/vc.el (vc-checkout, vc-checkin, vc-revert-file):
54509         * lisp/xdg.el (xdg-mime-apps):
54510         Prefer (file-attribute-size A) to (nth 7 A), and similarly
54511         for other file attributes accessors.
54512         * doc/lispref/files.texi (File Attributes):
54513         * doc/lispref/intro.texi (Version Info):
54514         * doc/lispref/os.texi (Idle Timers):
54515         * lisp/erc/erc.el (erc-string-to-emacs-time):
54516         * lisp/files.el (file-attribute-access-time)
54517         (file-attribute-modification-time)
54518         (file-attribute-status-change-time):
54519         * lisp/net/tramp-compat.el:
54520         (tramp-compat-file-attribute-modification-time)
54521         (tramp-compat-file-attribute-size):
54522         * src/buffer.c (syms_of_buffer):
54523         * src/editfns.c (Fget_internal_run_time):
54524         * src/fileio.c (Fvisited_file_modtime)
54525         (Fset_visited_file_modtime):
54526         * src/keyboard.c (Fcurrent_idle_time):
54527         * src/process.c (Fprocess_attributes):
54528         Defer implementation details about timestamp format to the
54529         section that talks about timestamp format, to make it easier
54530         to change the documentation later if timestamp formats are
54531         extended.
54532         * lisp/gnus/gnus-util.el (gnus-file-newer-than):
54533         * lisp/speedbar.el (speedbar-check-obj-this-line):
54534         * lisp/vc/vc-rcs.el (vc-rcs-workfile-is-newer):
54535         Prefer time-less-p to doing it by hand.
54536         * lisp/ls-lisp.el (ls-lisp-format): Inode numbers are no longer conses.
54537         * lisp/vc/vc-bzr.el (vc-bzr-state-heuristic):
54538         Use eql, not eq, to compare integers that might be bignums.
54539         * lisp/org/ox-publish.el (org-publish-cache-ctime-of-src):
54540         Prefer float-time to doing time arithmetic by hand.
54542 2018-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
54544         * doc/emacs/maintaining.texi: Fix one more occurrence of `next-file`
54546 2018-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
54548         * lisp/play/bubbles.el: Use lexical-binding
54550 2018-09-22  Paul Eggert  <eggert@cs.ucla.edu>
54552         Round bignums consistently with other integers
54554         * src/bignum.c (mpz_bufsize): New function.
54555         (bignum_bufsize): Use it.
54556         (mpz_get_d_rounded): New function.
54557         (bignum_to_double): Use it.
54558         * src/bignum.c (bignum_to_double):
54559         * src/data.c (bignum_arith_driver):
54560         When converting bignums to double, round instead of
54561         truncating, to be consistent with what happens with fixnums.
54562         * test/src/floatfns-tests.el (bignum-to-float): Test rounding.
54564 2018-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
54566         Complement to last commit
54568 2018-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
54570         * lisp/multifile.el: New file, extracted from etags.el
54572         The main motivation for this change was the introduction of
54573         project-query-replace.  dired's multi-file query&replace was implemented
54574         on top of etags.el even though it did not use TAGS in any way, so I moved
54575         this generic multifile code into its own package, with a nicer interface,
54576         and then used that in project.el.
54578         * lisp/progmodes/project.el (project-files): New generic function.
54579         (project-search, project-query-replace): New commands.
54581         * lisp/dired-aux.el (dired-do-search, dired-do-query-replace-regexp):
54582         Use multifile.el instead of etags.el.
54584         * lisp/progmodes/etags.el: Remove redundant :groups.
54585         (next-file-list): Remove var.
54586         (tags-loop-revert-buffers): Make it an obsolete alias.
54587         (next-file): Don't autoload (it can't do anything useful before some
54588         other etags.el function setup the multifile operation).
54589         (tags--all-files): New function, extracted from next-file.
54590         (tags-next-file): Rename from next-file.
54591         Rewrite using tags--all-files and multifile-next-file.
54592         (next-file): Keep it as an obsolete alias.
54593         (tags-loop-operate, tags-loop-scan): Mark as obsolete.
54594         (tags--compat-files, tags--compat-initialize): New function.
54595         (tags-loop-continue): Rewrite using multifile-continue.  Mark as obsolete.
54596         (tags--last-search-operate-function): New var.
54597         (tags-search, tags-query-replace): Rewrite using multifile.el.
54599         * lisp/emacs-lisp/generator.el (iter-end-of-sequence): Use 'define-error'.
54600         (iter-make): New macro.
54601         (iter-empty): New iterator.
54603         * lisp/menu-bar.el (menu-bar-search-menu, menu-bar-replace-menu):
54604         tags-loop-continue -> multifile-continue.
54606 2018-09-21  Paul Eggert  <eggert@cs.ucla.edu>
54608         Fix (+ bignum float) bug
54610         * src/data.c (bignum_arith_driver): Fix typo: missing ‘return’.
54611         * test/src/data-tests.el (data-tests-bignum): Test for the typo.
54613 2018-09-21  Paul Eggert  <eggert@cs.ucla.edu>
54615         Fix ambiguity in nil DST flag
54617         Formerly nil meant both that DST was not in effect and that
54618         the DST flag was unknown, and different functions interpreted
54619         the flag differently.  Now the meaning is consistently nil for
54620         DST not in effect, and -1 for DST flag not known.
54621         * doc/lispref/os.texi (Time Conversion): The DST slot is
54622         now three-valued, not two-.
54623         * doc/misc/emacs-mime.texi (time-date): Adjust to new behavior.
54624         * etc/NEWS: Mention this.
54625         * lisp/calendar/parse-time.el (parse-time-string):
54626         * src/editfns.c (Fdecode_time):
54627         Return -1 for unknown DST flag.
54628         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
54629         Adjust tests to match new behavior, and add a new
54630         test for nil vs -1.
54632 2018-09-21  Philipp Stephani  <phst@google.com>
54634         Avoid an overflow error in emacs-module.c
54636         * src/emacs-module.c (Fmodule_load): Allow creating a bignum
54637         to avoid overflow error
54639 2018-09-21  Philipp Stephani  <phst@google.com>
54641         Use new function overflow_error in a few places
54643         * src/emacs-module.c (module_make_global_ref, module_funcall)
54644         (module_make_string, Fmodule_load):
54645         * src/json.c (json_to_lisp): Use overflow_error.
54647 2018-09-21  Philipp Stephani  <phst@google.com>
54649         Support bignums when serializing JSON
54651         * src/json.c (lisp_to_json): Support bignums.
54652         * test/src/json-tests.el (json-serialize/bignum): New test.
54654 2018-09-20  Paul Eggert  <eggert@cs.ucla.edu>
54656         Bindat examples in source, not manual
54658         * doc/lispref/processes.texi (Bindat Examples): Remove, fixing
54659         a FIXME in the manual.  The long example had bitrotted to some
54660         extent, compared to the more-up-to-date example in bindat.el
54661         commentary, which apparently what people were referring to
54662         anyway.  The short example was confusing and not that useful
54663         and will be obsolescent anyway if we change timestamp format.
54665 2018-09-20  Tino Calancha  <tino.calancha@gmail.com>
54667         Fix a previous commit
54669         Suggested by Stefan Monnier here:
54670         https://lists.gnu.org/archive/html/emacs-devel/2018-09/msg00783.html
54671         * lisp/replace.el (occur--parse-occur-buffer): Since point is at the
54672         beginning of the buffer, use `point'.
54674         (occur-revert-function): Prefer `pcase-let' and `point-min'.
54675         Check whether `region-start' or `region-end' are non-nil.
54677 2018-09-20  Glenn Morris  <rgm@gnu.org>
54679         Merge from origin/emacs-26
54681         d28d54c (origin/emacs-26) More accurate docs for 'text-char-description'
54682         b3baf99 Document synchronous behavior of eshell/make (Bug#32513)
54683         98544ea Fix bs-show with wide characters (Bug#17822)
54684         85af51b Improve Custom menu labels for 2 options
54685         72a2a36 Improve wording of last change in dired-x.texi
54686         d4fa83b Fix GnuTLS test suite with GnuTLS versions 3.4.x
54687         b5bee6b Fix build with gnutls versions 3.0 to 3.2 (Bug#32446)
54688         67eb80e ; * etc/enriched.txt (hanging-indents): Remove extra indent.
54689         c71cfb7 Fix the Bubbles game on TTY frames
54690         3bbf21b Add choice to reshow certificate information (Bug#31877)
54691         6f2c471 * src/alloc.c (Fbool_vector, Flist, Fvector): Doc tweak.
54692         39eecb3 * src/alloc.c (vector): Fix grammatical error in doc string: ...
54694 2018-09-20  Bob Newell  <bobnewell@bobnewell.net>
54696         New input methods hawaiian-postfix and hawaiian-prefix
54698         * lisp/leim/quail/latin-pre.el ("hawaiian-prefix"):
54699         * lisp/leim/quail/latin-post.el ("hawaiian-postfix"): New
54700         input methods.  (Bug#32714)
54701         * etc/NEWS: Mention the new input methods.
54703 2018-09-18  Tino Calancha  <tino.calancha@gmail.com>
54705         Fix bug 32543
54707         Store the region and orig line into the *Occur* header line.
54708         Retrieve this information in `occur-revert-function'.
54709         * lisp/replace.el (occur--parse-occur-buffer): New defun.
54710         (occur-revert-function): Use it.
54711         (occur-engine): Store region and original position as text properties
54712         into the *Occur* header line.
54713         * lisp/replace.el (occur-engine): Add sensible default values for
54714         (occur--orig-line and nlines.
54716 2018-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
54718         * lisp/emacs-lisp/advice.el: Only use defmacro when needed
54720         (ad-get-advice-info): Mark it inlinable.
54721         (ad-get-advice-info-macro): Make it an obsolete alias.
54722         (ad-copy-advice-info, ad-is-advised, ad-get-advice-info-field)
54723         (ad-find-advice, ad-macrofy, ad-lambdafy, ad-lambda-p, ad-advice-p)
54724         (ad-compiled-p, ad-compiled-code, ad-get-cache-definition)
54725         (ad-get-cache-id, ad-set-cache): Turn macros into defsubsts.
54726         (ad-defadvice-flags): Make it into a plain list.
54727         (ad-set-advice-info-field): Apply a bit of CSE.
54729 2018-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
54731         * lisp/emacs-lisp/advice.el (ad-advised-functions): Make it a plain list
54733         (ad-read-advised-function, ad-do-advised-functions): Adjust accordingly.
54734         (ad-pushnew-advised-function, ad-pop-advised-function): Also make them
54735         into functions.
54737 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
54739         Move current_timespec decl to timespec.h
54741         This change was motivated by the desire to remove the weird
54742         dependency of lib-src/profile.o on src/systime.h.  profile.c
54743         included systime.h only for current_timespec, and this
54744         inclusion required systime.h to have #ifdef emacs in multiple
54745         places and complicated further changes I have in mind.
54746         The current_timespec decl belongs in timespec.h anyway,
54747         and the main effect of this change is to move it there.
54748         * lib-src/profile.c (INLINE): Remove.
54749         Include timespec.h, not systime.h.
54750         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
54751         and don’t worry about it failing on a CLOCK_REALTIME arg.
54752         POSIX requires it to succeed and I don’t know of any
54753         counterexamples where the fallbacks would work.
54754         (current_timespec): Move here from src/systime.h.
54755         Nowadays it seems to be better to not have this function
54756         be inline.
54757         * lib/timespec.h: Include arg-nonnull.h.
54758         (current_timespec): New declaration.
54759         (gettime, settime): Declare args to be nonnull.
54760         * lib/gettime.c, lib/timespec.h: Copy from Gnulib.
54761         * src/systime.h: Simplify by assuming ‘emacs’ is defined,
54762         which it always is now.
54763         (current_timespec): Move to lib/timespec.h.
54765 2018-09-16  Stefan Monnier  <monnier@iro.umontreal.ca>
54767         * lisp/delsel.el (minibuffer-keyboard-quit): Remove old redundant code.
54769         The various minibuffer maps all inherit from minibuffer-local-map nowadays,
54770         so a single binding in it is all it takes.
54772 2018-09-16  Noam Postavsky  <npostavs@gmail.com>
54774         Clarify condition-case docstring
54776         * src/eval.c (Fcondition_case): Note that it handles non-error symbols
54777         too.
54779 2018-09-16  Pierre Lorenzon  <devel@pollock-nageoire.net>  (tiny change)
54781         Update pconf for compile.el mode-line-process changes
54783         * lisp/cedet/ede/pconf.el (ede-proj-configure-synchronize): Check the
54784         first list element of mode-line-process (Bug#32564).
54786 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
54788         * src/thread.h: Do not include systime.h; no longer needed.
54790 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
54792         Don’t assume obsolescent setitimer function
54794         * src/atimer.c (start_atimer, debug_timer_callback):
54795         Don’t assume support for setitimer merely because struct
54796         itimerspec works.  POSIX no longer requires support for the
54797         obsolescent setitimer function.
54799 2018-09-15  Paul Eggert  <eggert@cs.ucla.edu>
54801         Simplify get_up_time on GNU/Linux
54803         * src/sysdep.c (get_up_time) [GNU_LINUX && HAVE_LONG_LONG_INT]:
54804         Omit unused locals.
54806 2018-09-15  Paul Eggert  <eggert@cs.ucla.edu>
54808         Go back to old method for nnmaildir names
54810         * lisp/gnus/nnmaildir.el (nnmaildir-request-accept-article):
54811         Omit leading 0s after "M" in file name.
54812         Problem reported by Glenn Morris in:
54813                 https://lists.gnu.org/r/emacs-devel/2018-09/msg00660.html
54815 2018-09-15  Paul Eggert  <eggert@cs.ucla.edu>
54817         Fix icalendar tests to match new behavior
54819         * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
54820         Do not intrude into or rely upon undocumented internal
54821         implementation details of icalendar--create-uid.
54822         Problem reported by Glenn Morris in:
54823         https://lists.gnu.org/r/emacs-devel/2018-09/msg00660.html
54825 2018-09-15  Glenn Morris  <rgm@gnu.org>
54827         Merge from origin/emacs-26
54829         e133b63 (origin/emacs-26) Avoid adverse side effects of fixing bug#21824
54830         cc8f334 Document changes called out in NEWS
54831         20ecc52 ; * etc/NEWS: Document recent change in 'thing-at-point'.
54832         1fc5283 ; INSTALL: Fix a typo in the last commit.
54833         24f240d Tiny doc updates re yum/dnf etc
54834         41c2d25 Remove unused variable
54835         1e3b3fa Fix (thing-at-point 'list) regression (Bug#31772)
54836         219893a Clarify meaning of '*'
54837         41cdda2 * etc/PROBLEMS: Document Ubuntu 16.04 issue.
54838         1c22f03 Increase default value for imenu-auto-rescan-maxout
54839         ee84389 Improve recent change to ELisp manual
54840         ff374e4 * doc/lispref/display.texi (SVG Images): Improve wording.
54841         3a0caf6 * doc/lispref/display.texi (SVG Images): Fix a typo.  (Bug#32...
54843         Conflicts:
54844                 doc/lispref/lists.texi
54845                 etc/NEWS
54847 2018-09-15  Noam Postavsky  <npostavs@gmail.com>
54849         Don't call modification hooks unprepared
54851         Inhibit modification hooks when performing message coalescing because
54852         in that case, we aren't doing the necessary preparation for running
54853         modification hooks (i.e., we pass PREPARE=false for the insert_1_both
54854         and del_range_both calls).  See also Bug#30823 and Bug#21824.
54855         * src/xdisp.c (message_dolog): Let-bind inhibit-modification-hooks
54856         to t around del_range_both calls.
54858 2018-09-15  Wenjamin Petrenko  <wenjamin.petrenko@yandex.ru>  (tiny change)
54860         Make 'filesets-save-config' save filesets added by 'filesets-add-buffer'
54862         * lisp/filesets.el (filesets-set-config): Use 'customize-set-variable'
54863         so that filesets are saved by 'customize-save-customized' in
54864         'filesets-save-config'.  (Bug#20630)
54866 2018-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
54868         * lisp/progmodes/idlw-shell.el: Use lexical-binding
54870         (idlwave-shell-source-frame): Remove unused var 'frame'.
54871         (idlwave-shell): Remove unused arg 'quick'.
54872         (idlwave-shell-complete-filename, idlwave-shell-edit-default-command-line)
54873         (idlwave-shell-retall, idlwave-shell-closeall): Remove unused arg 'arg'.
54874         (idlwave-shell-move-to-bp): Remove unused var 'got-bp'.
54875         (zmacs-regions): Declare.
54876         (idlwave-shell-update-bp-overlays): Remove unused var 'win'.
54877         (idlwave-shell-delete-expression-overlay)
54878         (idlwave-shell-mouse-nop): Delete function.  Use 'ignore' instead.
54879         (idlwave-shell-delete-output-overlay): Ignore 'ignore' commands rather
54880         than idlwave-shell-mouse-nop commands.
54881         (idlwave-shell-mode-map, idlwave-shell-electric-debug-mode-map):
54882         Move (part of) the initialization into the declaration.
54883         (idlwave-shell-electric-debug-mode-on-hook)
54884         (idlwave-shell-electric-debug-mode-off-hook): Keep them empty, move
54885         code into the minor mode's definition instead.
54886         (idlwave-shell-electric-debug-mode): Don't use advice needlessly.
54888 2018-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
54890         * lisp/progmodes/ada-mode.el (comment-region): Avoid defadvice
54892         Don't load 'advice' if it won't be used!
54894 2018-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
54896         * lisp/eshell/em-dirs.el (eshell-expand-multiple-dots): Avoid defadvice.
54898 2018-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
54900         * lisp/mail/feedmail.el: Use lexical-binding
54902         (feedmail-queue-buffer-file-name): Improve advising example.
54903         (feedmail-vm-mail-mode): Improve auto-mode-alist example.
54904         (feedmail-queue-runner-prompt): Remove unused function.
54906 2018-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
54908         * lisp/progmodes/js.el (js--fill-c-advice): New function
54910         (c-forward-sws, c-backward-sws, c-beginning-of-macro): Use it.
54911         (js-fill-paragraph): Rename from js-c-fill-paragraph.
54913 2018-09-13  Paul Eggert  <eggert@cs.ucla.edu>
54915         Simplify use of timestamps
54917         * lisp/calendar/icalendar.el (icalendar--create-uid):
54918         * lisp/gnus/nnmaildir.el (nnmaildir-request-accept-article):
54919         Simplify by using format-time-string.
54920         * lisp/gnus/nnmaildir.el (nnmaildir--scan):
54921         Simplify by using float-time and time-less-p.
54923 2018-09-13  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
54925         Fix (floor 54043195528445955 3.0) bug
54927         * src/floatfns.c (rounding_driver): Fix rounding error
54928         that can occur when both args have values exactly
54929         representable as integers but at least one arg is a float.
54930         * test/src/floatfns-tests.el (big-round): New test.
54932 2018-09-13  Stephen Berman  <stephen.berman@gmx.net>
54934         Fix wdired handling of symlinks when restoring filename property
54936         * lisp/wdired.el (wdired--restore-dired-filename-prop): Use
54937         dired-permission-flags-regexp instead of dired-filename to test
54938         whether the file is a symlink, since calling file-symlink-p on the
54939         latter may fail in wdired-mode (bug#32673).
54941 2018-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
54943         (viper-read-key, viper-read-key-sequence): Remove
54945         Ever since the time-dependent ESC handling was moved to input-decode-map,
54946         viper-read-key-sequence has been obsolete.  Clean up accordingly.
54948         * lisp/emulation/viper-keym.el: Use lexical-binding.
54949         (viper-overriding-map): Remove.
54951         * lisp/emulation/viper-macs.el: Use lexical-binding and 'read-key'.
54953         * lisp/emulation/viper-util.el: Use lexical-binding.
54954         (viper-read-key, viper-read-key-sequence): Remove.
54956         * lisp/emulation/viper.el (viper-non-hook-settings): Remove obsolete advice.
54958 2018-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
54960         No need to run gnus-article-highlight (bug#32706)
54962         * lisp/gnus/deuglify.el (gnus-outlook-display-article-buffer):
54963         No need to run gnus-article-highlight (bug#32706).
54965 2018-09-12  Juri Linkov  <juri@linkov.net>
54967         * lisp/vc/vc-git.el (vc-git-grep): Set dir to default-directory
54969         when it's not available (like it's implemented in lgrep/rgrep)
54970         to prevent error in case of `C-u C-u vc-git-grep'.
54972 2018-09-12  Juri Linkov  <juri@linkov.net>
54974         * lisp/dired-x.el (dired-jump): Support archive-subfile-mode
54976         exactly like tar-subfile-mode is already supported.
54978 2018-09-12  Juri Linkov  <juri@linkov.net>
54980         * lisp/simple.el (next-error-no-select): Set display-buffer-overriding-action
54982         to display-buffer-reuse-window (bug#32607).
54984 2018-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
54986         Don't highlight article if gnus-visual-p is nil (bug#32706)
54988         * lisp/gnus/deuglify.el (gnus-outlook-display-article-buffer):
54989         Don't highlight article if gnus-visual-p is nil (bug#32706).
54991 2018-09-11  Filipp Gunbin  <fgunbin@fastmail.fm>
54993         Fix incorrect spelling of dabbrev-ignored-buffer-regexps in docstrings.
54995         * lisp/dabbrev.el (dabbrev-check-all-buffers, dabbrev-expand): Fix docstrings.
54997 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
54999         Minor rounding_driver simplification
55001         * src/floatfns.c (rounding_driver): Omit last arg, which is
55002         now unused.  All callers changed.
55004         Signal overflow-error for bignum overflow
55006 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
55008         Fix (round 1e+INF) core dump
55010         * src/bignum.c (double_to_integer): Signal an error
55011         if D cannot be converted, instead of dumping core.
55012         * test/src/floatfns-tests.el (special-round): New test.
55014 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
55016         Use overflow-error for bignum overflow
55018         This better corresponds to what emacs-26 did in the
55019         rare cases where it checked for integer overflow.
55020         * src/alloc.c (range_error): Remove.
55021         All uses changed to overflow_error.
55022         * src/eval.c (overflow_error): New function.
55024 2018-09-11  Michael Albinus  <michael.albinus@gmx.de>
55026         Precise Secret Service API in auth.texi (Bug#29575)
55028         * doc/misc/auth.texi (Secret Service API): Item labels are not
55029         unique.  Document this.  (Bug#29575)
55031 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
55033         Adjust to TIMESPEC_HZ renaming
55035         Adjust to lib/timespec.h’s renaming of TIMESPEC_RESOLUTION and
55036         LOG10_TIMESPEC_RESOLUTION to TIMESPEC_HZ and
55037         LOG10_TIMESPEC_HZ.  The old names were misnomers.
55038         All uses changed.
55040 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
55042         Update from Gnulib
55044         This incorporates:
55045         2018-09-10 timespec: fix resolution confusion
55046         2018-09-09 mktime: simplify in prep for glibc merge
55047         2018-09-07 intprops: minor clarification of code
55048         2018-09-06 stddef: Override max_align_t on NetBSD 8.0/x86
55049         2018-09-06 fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku
55050         2018-09-06 strtoll, strtoull: Rely on limits-h module
55051         2018-09-06 limits-h: Provide numerical limits macros
55052         2018-09-06 fcntl: Don't access nonexistent optional argument
55053         2018-09-02 mktime: fix unlikely race+overflow bug
55054         2018-08-31 mktime, timegm: simplify glibc time64_t
55055         2018-08-31 mktime, timegm: simplify merge to glibc
55056         * build-aux/config.guess, build-aux/config.sub:
55057         * lib/dtotimespec.c, lib/fcntl.c, lib/intprops.h:
55058         * lib/limits.in.h, lib/mktime-internal.h, lib/mktime.c:
55059         * lib/stat-time.h, lib/strtol.c, lib/timegm.c:
55060         * lib/timespec-add.c, lib/timespec-sub.c, lib/timespec.h:
55061         * lib/utimens.c, m4/limits-h.m4, m4/stddef_h.m4:
55062         Copy from Gnulib.
55064 2018-09-10  Glenn Morris  <rgm@gnu.org>
55066         Merge from origin/emacs-26
55068         7efcdf7 (origin/emacs-26) Clarify completion text in the ELisp manual
55069         30b0b0e Fix handling of abbreviated control command in gdb-mi.el
55070         5cf282d Clarify documentation of functions reading character events
55071         96281c5 Record :version for built-in variables while dumping
55072         82160cf * src/process.c (connect_network_socket): Fix memory leak.  (...
55073         6c616e4 * Makefile.in (appdatadir): Use the non-obsolete location "me...
55074         9618e16 Better fix for bug#32550
55075         30d94e4 Fix Bug#32550
55076         57bcdc7 Don't call XGetGeometry for frames without outer X window (Bu...
55077         82fc6b6 * lisp/calculator.el: Fix doc typo.
55078         ddc7c64 Standardize calc bug reporting instructions
55080         Conflicts:
55081                 lisp/cus-start.el
55083 2018-09-10  Glenn Morris  <rgm@gnu.org>
55085         * lisp/thread.el: Remove more useless runtime requires.
55087 2018-09-10  Glenn Morris  <rgm@gnu.org>
55089         Remove useless requires of subr-x at runtime
55091         * lisp/thread.el, lisp/net/nsm.el, lisp/erc/erc.el:
55092         Don't require subr-x at runtime.
55094 2018-09-10  Karl Fogel  <kfogel@red-bean.com>
55096         Fix build error: use string :version in defcustom
55098         * lisp/textmodes/flyspell.el (flyspell-case-fold-duplications): Use a
55099           string value for the :version keyword to `defcustom'.  Otherwise,
55100           building Emacs will fail with an error like this:
55102             Scanning ./textmodes for custom
55103             Scanning ./url for custom
55104             Scanning ./vc for custom
55105             Generating ./cus-load.el...
55106             Version must be a string
55107             make[2]: *** [Makefile:152: cus-load.el] Error 255
55109         This follows up to Reuben Thomas's commit 61f3a4b4fc of 10 Sep 2018.
55111 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
55113         Fix misleading name ‘double_to_bignum’
55115         * src/bignum.c (double_to_integer): Rename from double_to_bignum,
55116         since the result is not necessarily a bignum.  All uses changed.
55118 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
55120         * src/charset.c (Fencode_char): Tweak comment.
55122 2018-09-10  Reuben Thomas  <rrt@sc3d.org>
55124         Add flyspell option to ignore duplicates of different case
55126         * lisp/textmodes/flyspell.el (flyspell-case-fold-duplications): Add
55127           option.
55129 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
55131         Avoid compiler warnings due to get_proc_addr
55133         * src/w32common.h (get_proc_addr): Add prototype, to shut up
55134         GCC compilation warning.  Reported by Martin Rudalics
55135         <rudalics@gmx.at>.
55137 2018-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
55139         * src/charset.c (Fencode_char): Explain when/why bignums are used
55141 2018-09-10  Martin Rudalics  <rudalics@gmx.at>
55143         Fix last change of 'run_window_size_change_functions'
55145         * src/window.c (run_window_size_change_functions): Fix two
55146         type mixups in last change.  Reported by Michael Albinus
55147         <michael.albinus@gmx.de> on emacs-devel.
55149 2018-09-10  Martin Rudalics  <rudalics@gmx.at>
55151         Handle buffer-local 'window-size-change-functions' specially (Bug#32637)
55153         * src/window.c (run_window_size_change_functions): Run a
55154         buffer-local value once per each frame and only if at least
55155         one window showing the buffer on that frame has changed its
55156         size.  (Bug#32637)
55157         * doc/lispref/windows.texi (Window Hooks): Describe new
55158         behavior of buffer-local 'window-size-change-functions'.
55160 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
55162         Merge branch 'scratch/list-threads'
55164 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
55166         Use thread-live-p instead of obsolete thread-alive-p
55168         * lisp/thread.el (thread-list--get-status)
55169         (thread-list--send-signal, thread-list-pop-to-backtrace)
55170         (thread-list-backtrace--revert-hook-function)
55171         (thread-list-backtrace--insert-header): Use thread-live-p instead of
55172         thread-alive-p.
55174 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
55176         Improve documentation of thread list buffer
55178         * doc/lispref/threads.texi (The Thread List): Cross-reference
55179         'Basic Thread Functions'.  Use defvar for thread-list-refresh-seconds.
55180         Improve descriptions of the backtrace and signal commands.
55182 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
55184         Add tests for list-threads and the *Threads* buffer
55186         * test/lisp/thread-tests.el: New file.
55188 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
55190         Add check in list-threads for --without-threads configuration
55192         * lisp/thread.el (list-threads): Signal an error if the Emacs configuration
55193         doesn't have threads.
55195 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
55197         Document list-threads and its buffer
55199         * doc/lispref/threads.texi (Threads): Add menu item.
55200         (The Thread List): New node.
55201         * doc/lispref/elisp.texi (Top): Add menu item.
55203 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
55205         Show backtraces of threads from thread list buffer
55207         * src/eval.c (backtrace_thread_p, backtrace_thread_top)
55208         (backtrace_thread_next, Fbacktrace_frames_from_thread): New functions.
55209         * lisp/thread.el (thread-list-mode-map): Add keybinding and
55210         menu item for 'thread-list-pop-to-backtrace'.
55211         (thread-list-mode): Make "Thread Name" column wide enough
55212         for the result of printing a thread with no name with 'prin1'.
55213         (thread-list--get-entries): Use 'thread-list--name'.
55214         (thread-list--send-signal): Remove unnecessary calls to 'threadp'.
55215         (thread-list-backtrace--thread): New variable.
55216         (thread-list-pop-to-backtrace): New command.
55217         (thread-list-backtrace--revert-hook-function)
55218         (thread-list--make-backtrace-frame)
55219         (thread-list-backtrace--insert-header, thread-list--name): New
55220         functions.
55222 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
55224         Make small fixes to Edebug and debugger documentation
55226         * doc/lispref/elisp.texi (Top): Update menu.
55227         * doc/lispref/edebug.texi (Edebug Misc): Index
55228         edebug-backtrace-show-instrumentation and
55229         edebug-backtrace-hide-instrumentation.
55231 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
55233         Make list-threads refresh the *Threads* buffer if it already exists
55235         * lisp/thread.el (list-threads): Call revert-buffer instead of waiting
55236         for the timer function to do it.
55238 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
55240         Improve docstrings of thread-list functions
55242         * lisp/thread.el (thread-list--timer-func): Change
55243         argument from 'buf' to 'buffer'.
55244         (thread-list--get-entries, thread-list--get-status): Improve
55245         docstring.
55246         (thread-list--send-signal): Change argument from 'sgnl' to
55247         'signal'.  Tell the user when the thread is no longer alive.
55249 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
55251         Make lisp/thread.el the new home for thread-related Lisp functions
55253         * lisp/emacs-lisp/thread-list.el: Remove.
55254         * lisp/emacs-lisp/thread.el: Remove.
55255         * lisp/thread.el: New file.
55257 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
55259         Add list-threads command and thread-list-mode
55261         * lisp/emacs-lisp/thread-list.el: New file.
55263 2018-09-08  Eli Zaretskii  <eliz@gnu.org>
55265         Fix documentation for conversion to bignums
55267         * src/xselect.c (selection_data_to_lisp_data):
55268         * src/w32fns.c (Fw32_read_registry):
55269         * src/process.c (Fprocess_id):
55270         * src/font.c (Ffont_variation_glyphs, Finternal_char_font):
55271         * src/fns.c (Fsafe_length):
55272         * src/editfns.c (Fuser_uid, Fuser_real_uid, Fgroup_gid)
55273         (Fgroup_real_gid, Femacs_pid):
55274         * src/dired.c (Ffile_attributes):
55275         * src/charset.c (Fencode_char): Update commentary and doc
55276         strings for recent changes that produce bignums where
55277         previously cons cells of integers were produced.
55279 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
55281         * src/puresize.h (BASE_PURESIZE): Bump to 2000000.
55283         Needed on Fedora 28 x86.
55285 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
55287         One more GC-aligned struct
55289         * src/lisp.h (struct Lisp_Sub_Char_Table):
55290         Mark this with GCALIGNED_STRUCT, too.
55292 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
55294         Fix overenthusiastic header size check
55296         Problem reported by Eli Zaretskii in:
55297         https://lists.gnu.org/r/emacs-devel/2018-09/msg00222.html
55298         * doc/lispref/internals.texi (Garbage Collection):
55299         Document vector sizes and slot counts more accurately.
55300         * src/lisp.h: Omit header_size sanity check that was too picky.
55301         Add some less-picky checks.
55303 2018-09-07  Eli Zaretskii  <eliz@gnu.org>
55305         Read Windows OS info for report-emacs-bug from Registry
55307         * lisp/w32-fns.el (w32--os-description): New function.
55308         * lisp/mail/emacsbug.el (report-emacs-bug--os-description):
55309         Use 'w32--os-description' instead of launching the
55310         'systeminfo' program, which can be very slow, and is also
55311         missing on versions of Windows before XP Professional.
55313 2018-09-06  Paul Eggert  <eggert@cs.ucla.edu>
55315         Shrink pseudovectors a bit
55317         sizeof (struct Lisp_Marker) was 32 on x86, where 24 would do.
55318         Problem noted by Stefan Monnier in:
55319         https://lists.gnu.org/r/emacs-devel/2018-09/msg00165.html
55320         * src/bignum.h (struct Lisp_Bignum):
55321         * src/frame.h (struct frame):
55322         * src/lisp.h (struct Lisp_Vector, struct Lisp_Bool_Vector)
55323         (struct Lisp_Char_Table, struct Lisp_Hash_Table)
55324         (struct Lisp_Marker, struct Lisp_Overlay)
55325         (struct Lisp_Misc_Ptr, struct Lisp_User_Ptr)
55326         (struct Lisp_Finalizer, struct Lisp_Float)
55327         (struct Lisp_Module_Function):
55328         * src/process.h (struct Lisp_Process):
55329         * src/termhooks.h (struct terminal):
55330         * src/thread.h (struct thread_state, struct Lisp_Mutex)
55331         (struct Lisp_CondVar):
55332         * src/window.c (struct save_window_data):
55333         * src/window.h (struct window):
55334         * src/xterm.h (struct scroll_bar):
55335         * src/xwidget.h (struct xwidget, struct xwidget_view):
55336         Add GCALIGNED_STRUCT attribute.
55337         * src/lisp.h (GCALIGNED_UNION_MEMBER): Renamed from GCALIGNED_UNION.
55338         All uses changed.
55339         (GCALIGNED_STRUCT_MEMBER, GCALIGNED_STRUCT, GCALIGNED): New macros.
55340         All uses of open-coded GCALIGNED changed to use GCALIGNED.
55341         (union vectorlike_header): No longer GC-aligned.
55342         (PSEUDOVECSIZE): Yield 0 for pseudovectors without Lisp
55343         objects that place a member before where the first Lisp object
55344         member would be.
55346 2018-09-06  Michael Albinus  <michael.albinus@gmx.de>
55348         Fix Bug#31704
55350         * lisp/eshell/esh-proc.el (eshell-gather-process-output): Do not
55351         let `expand-file-name' prefix remote file names with MS Windows
55352         volume letter.
55354         * lisp/net/tramp.el (tramp-eshell-directory-change):
55355         Use `path-separator' as it does eshell.  (Bug#31704)
55357 2018-09-06  Michael Albinus  <michael.albinus@gmx.de>
55359         * test/lisp/autorevert-tests.el
55361         (auto-revert-test02-auto-revert-deleted-file): Extend test.
55363 2018-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
55365         Fix timer.el minor rounding error
55367         * lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
55368         Fix rounding error by using integers rather than floats.
55369         * test/lisp/emacs-lisp/timer-tests.el (timer-test-multiple-of-time):
55370         New test.
55372 2018-09-05  Stephen Gildea  <stepheng+emacs@gildea.com>
55374         Do not call mh-next-msg from mh-junk-process-* fns
55376         * lisp/mh-e/mh-junk.el (mh-junk-process-blacklist, mh-junk-process-whitelist): Do
55377         not call mh-next-msg.  Now that these functions are called from
55378         mh-execute-commands, they should not change the current message pointer.
55379         The calls to mh-next-msg are probably left over from when blacklist and
55380         whitelist message processing was done immediately.
55382 2018-09-05  Paul Eggert  <eggert@cs.ucla.edu>
55384         Improve (round FIXNUM FIXNUM) performance
55386         * src/floatfns.c (rounding_driver):
55387         New arg fixnum_divide.  All callers changed.
55388         (ceiling2, floor2, truncate2, round2): New functions.
55389         Not that new, actually; these are essentially taken from Emacs 26.
55390         (Fceiling, Ffloor, Fround, Ftruncate): Use them.
55392 2018-09-04  Paul Eggert  <eggert@cs.ucla.edu>
55394         Fix format-time-string bignum bug
55396         The problem can occur on 32-bit platforms with current timestamps.
55397         * src/editfns.c (disassemble_lisp_time, decode_time_components):
55398         Support seconds counts that are bignums.
55399         * test/src/editfns-tests.el (editfns-tests--have-leap-seconds):
55400         New function.
55401         (format-time-string-with-bignum-on-32-bit): New test.
55403 2018-09-04  Paul Eggert  <eggert@cs.ucla.edu>
55405         Simplify bignum->intmax conversion
55407         * src/lisp.h (integer_to_intmax, integer_to_uintmax): New functions.
55408         * src/data.c (cons_to_unsigned, cons_to_signed)
55409         (arith_driver):
55410         * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
55411         * src/dispnew.c (sit_for):
55412         * src/editfns.c (styled_format):
55413         * src/emacs-module.c (module_extract_integer):
55414         * src/fileio.c (file_offset):
55415         * src/font.c (font_unparse_xlfd, Fopen_font):
55416         * src/xdisp.c (calc_line_height_property):
55417         * src/process.c (handle_child_signal):
55419 2018-09-04  Federico Tedin  <federicotedin@gmail.com>
55421         Add variable vc-git-grep-template
55423         * lisp/vc/vc-git.el (vc-git-grep-template): New variable, allows
55424         changing the default arguments passed to git-grep when using
55425         'vc-git-grep'.
55426         * etc/NEWS: Mention 'vc-git-grep-template'.  (Bug#32549)
55428 2018-09-04  Noam Postavsky  <npostavs@gmail.com>
55430         Handle non-error signals in emacsclient --eval (Bug#10989)
55432         * lisp/server.el (server-process-filter): Handle any signal, not just
55433         errors.
55435 2018-09-04  Noam Postavsky  <npostavs@gmail.com>
55437         Allow t as a catch-all condition-case handler (Bug#24618)
55439         * src/eval.c (find_handler_clause): Accept a handler of t as always
55440         matching.
55441         (Fcondition_case):
55442         * doc/lispref/control.texi (Handling Errors): Document this.
55443         * etc/NEWS: Announce it.
55445 2018-09-04  Paul Eggert  <eggert@cs.ucla.edu>
55447         Fix (round FLOAT BIGNUM) bug
55449         * src/floatfns.c (rounding_driver): Fix bug when one
55450         argument is a float and the other is a bignum.
55451         * test/src/floatfns-tests.el (bignum-round): Test for the bug.
55453 2018-09-04  Paul Eggert  <eggert@cs.ucla.edu>
55455         Tweak nthcdr for bignum efficiency
55457         * src/fns.c (Fnthcdr): Use mpz_tdiv_ui and mpz_tdiv_r
55458         instead of mpz_mod_ui and mpz_mod, as they are more efficient.
55459         Suggested by Pip Cet in:
55460         https://lists.gnu.org/r/emacs-devel/2018-09/msg00073.html
55462 2018-09-04  Paul Eggert  <eggert@cs.ucla.edu>
55464         Fix bignum initialization
55466         Problem reported by Andy Moreton in:
55467         https://lists.gnu.org/r/emacs-devel/2018-09/msg00072.html
55468         and crystal-ball diagnosis by Eli Zaretskii in:
55469         https://lists.gnu.org/r/emacs-devel/2018-09/msg00075.html
55470         * src/alloc.c (xrealloc_for_gmp, xfree_for_gmp): Move to bignum.c.
55471         (init_alloc): Move bignum initialization to init_bignum.
55472         * src/bignum.c (init_bignum): Rename from init_bignum_once.
55473         All users changed.
55474         * src/emacs.c (main): Call init_bignum after init_alloc,
55475         instead of calling init_bignum_once after init_bignum.
55477 2018-09-03  Paul Eggert  <eggert@cs.ucla.edu>
55479         Speed up (+ 2 2) by a factor of 10
55481         Improve arithmetic performance by avoiding bignums until needed.
55482         Also, simplify bignum memory management, fixing some unlikely leaks.
55483         This patch improved the performance of (+ 2 2) by a factor of ten
55484         on a simple microbenchmark computing (+ x 2), byte-compiled,
55485         with x a local variable initialized to 2 via means the byte
55486         compiler could not predict: performance improved from 135 to 13 ns.
55487         The platform was Fedora 28 x86-64, AMD Phenom II X4 910e.
55488         Performance also improved 0.6% on ‘make compile-always’.
55489         * src/bignum.c (init_bignum_once): New function.
55490         * src/emacs.c (main): Use it.
55491         * src/bignum.c (mpz): New global var.
55492         (make_integer_mpz): Rename from make_integer.  All uses changed.
55493         * src/bignum.c (double_to_bignum, make_bignum_bits)
55494         (make_bignum, make_bigint, make_biguint, make_integer_mpz):
55495         * src/data.c (bignum_arith_driver, Frem, Flogcount, Fash)
55496         (expt_integer, Fadd1, Fsub1, Flognot):
55497         * src/floatfns.c (Fabs, rounding_driver, rounddiv_q):
55498         * src/fns.c (Fnthcdr):
55499         Use mpz rather than mpz_initting and mpz_clearing private
55500         temporaries.
55501         * src/bignum.h (bignum_integer): New function.
55502         * src/data.c (Frem, Fmod, Fash, expt_integer):
55503         * src/floatfns.c (rounding_driver):
55504         Use it to simplify code.
55505         * src/data.c (FIXNUMS_FIT_IN_LONG, free_mpz_value):
55506         Remove.  All uses removed.
55507         (floating_point_op): New function.
55508         (floatop_arith_driver): New function, with much of the guts
55509         of the old float_arith_driver.
55510         (float_arith_driver): Use it.
55511         (floatop_arith_driver, arith_driver):
55512         Simplify by assuming NARGS is at least 2.
55513         All callers changed.
55514         (float_arith_driver):
55515         New arg, containing the partly converted value of the next arg.
55516         Reorder args for consistency.  All uses changed.
55517         (bignum_arith_driver): New function.
55518         (arith_driver): Use it.  Do fixnum-only integer calculations
55519         in intmax_t instead of mpz_t, when they fit.
55520         Break out mpz_t calculations into bignum_arith_driver.
55521         (Fquo): Use floatop_arith_driver instead of float_arith_driver,
55522         since the op is known to be valid.
55523         (Flogcount, Fash): Simplify by coalescing bignum and fixnum code.
55524         (Fadd1, Fsub1): Simplify by using make_int.
55526 2018-09-03  Stephen Berman  <stephen.berman@gmx.net>
55528         Make todo-show work when adding and deleting a new todo file
55530         * lisp/calendar/todo-mode.el (todo-add-file): Since
55531         todo-current-todo-file must be set before calling todo-show, but
55532         the buffer is not yet in todo-mode, which makes it buffer local,
55533         explicitly set it buffer locally (bug#32627).
55535         * test/lisp/calendar/todo-mode-tests.el (todo-test--add-file)
55536         (todo-test--delete-file): New functions.
55537         (todo-test-add-and-delete-file): New test.
55539 2018-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
55541         * src/lisp.h: Add explanation in a comment
55543 2018-09-01  Charles A. Roelli  <charles@aurox.ch>
55545         * src/process.c (send_process): Fix typo in commentary.
55547 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
55549         Rename Emacs-specific INFINITY constants
55551         Although these constants were not erroneous, as they were
55552         used only in modules that did not include <math.h>, it's
55553         less confusing to names that cannot be confused with
55554         the now-standard INFINITY macro.
55555         * src/dispextern.h (SCROLL_INFINITY): New constant.
55556         * src/dispnew.c, src/scroll.c (INFINITY):
55557         Remove.  All uses replaced with SCROLL_INFINITY.
55558         * src/process.c (wait_reading_process_output):
55559         Rename private constant.
55561 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
55563         Port better to non-IEEE platforms
55565         * src/lread.c (string_to_number) [!IEEE_FLOATING_POINT]:
55566         Do not use the INFINITY macro, since the C standard requires
55567         it to provoke a compile-time error on platforms that do not
55568         support infinities.
55570 2018-08-31  Michael Albinus  <michael.albinus@gmx.de>
55572         Mark thread-alive-p as obsolete
55574         * etc/NEWS (thread-alive-p):
55575         * lisp/emacs-lisp/thread.el (thread-alive-p): Mark it as obsolete.
55577         * test/src/thread-tests.el (threads-join-error)
55578         (threads-signal-main-thread): Use `thread-live-p'.
55580 2018-08-31  Michael Albinus  <michael.albinus@gmx.de>
55582         Merge from origin/emacs-26
55584         ac7936cb8f Rename thread-alive-p to thread-live-p
55585         3d09d533d1 rcirc: Document /reconnect as a built-in command (Bug#29656)
55586         a1e615618d * test/lisp/calc/calc-tests.el (calc-imaginary-i): New test.
55588 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
55590         Several fixes for formatting bignums
55592         * src/bignum.c: Include stdlib.h, for abs.
55593         (bignum_bufsize, bignum_to_c_string): New functions.
55594         * src/bignum.c (bignum_to_string):
55595         * src/print.c (print_vectorlike): Use them.
55596         * src/editfns.c (styled_format): Instead of having a separate
55597         buffer for sprintf (which does not work for bignums), just append
55598         to the main buffer.  When formatting bignums, add support for the
55599         standard integer flags -, #, 0, + and space.  Fix some comments.
55600         Capitalize properly when formatting bignums with %X.  Use
55601         functions like c_isdigit rather than reinventing the wheel.
55602         Simplify computation of excess precision.
55603         * src/print.c: Do not include bignum.h; no longer needed.
55604         (print_vectorlike): Avoid recalculating string length.
55605         * test/src/editfns-tests.el (format-bignum):
55606         Test some of the above fixes.
55608 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
55610         * src/alloc.c (sweep_vectors): Simplify.
55612 2018-08-31  Michael Albinus  <michael.albinus@gmx.de>
55614         Construct a thread_event only if THREADS_ENABLED
55616         * src/thread.c (Fthread_signal): Construct a thread_event only if
55617         THREADS_ENABLED.
55619 2018-08-30  Paul Eggert  <eggert@cs.ucla.edu>
55621         Fix bignum FIXME in emacs-module.c
55623         * src/emacs-module.c: Do not include bignum.h; no longer needed.
55624         (module_extract_integer): Use bignum_to_intmax to avoid
55625         incorrectly signaling overflow on platforms where intmax_t
55626         is wider than long int.
55628 2018-08-30  Juri Linkov  <juri@linkov.net>
55630         * lisp/vc/vc.el (vc-log-internal-common): Reuse the buffer object.
55632         (Bug#32475)
55634 2018-08-30  Juri Linkov  <juri@linkov.net>
55636         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Carry diff-mode overlays
55638         to inline MIME attachments from the temp buffer along with text properties.
55639         (Bug#32474)
55641 2018-08-30  Paul Eggert  <eggert@cs.ucla.edu>
55643         Fix off-by-1 typo in recent bignum changes
55645         Problem reported by Yuri D’Elia in:
55646         https://lists.gnu.org/r/emacs-devel/2018-08/msg00977.html
55647         and crucial clue provided by Michael Heerdegen in:
55648         https://lists.gnu.org/r/emacs-devel/2018-08/msg01043.html
55649         * src/font.c (font_unparse_xlfd): Fix off-by-1 typo.
55651 2018-08-30  Michael Albinus  <michael.albinus@gmx.de>
55653         Handle thread-signal towards the main thread  (Bug#32502)
55655         * doc/lispref/threads.texi (Basic Thread Functions):
55656         * etc/NEWS: Document thread-signal towards the main thread.
55658         * lisp/emacs-lisp/thread.el: New package.
55660         * src/keyboard.c (read_char): Check for Qthread_event.
55661         (kbd_buffer_get_event, make_lispy_event): Handle THREAD_EVENT.
55662         (syms_of_keyboard): Declare Qthread_event.
55663         (keys_of_keyboard): Add thread-handle-event to special-event-map.
55665         * src/termhooks.h (enum event_kind): Add THREAD_EVENT.
55667         * src/thread.c: Include "keyboard.h".
55668         (poll_suppress_count) Don't declare extern.
55669         (Fthread_signal): Raise event if THREAD is the main thread.  (Bug#32502)
55671         * test/src/thread-tests.el (thread): Require it.
55672         (threads-signal-main-thread): New test.
55674 2018-08-30  Glenn Morris  <rgm@gnu.org>
55676         * configure.ac: Fix goofs in my recent ImageMagick change.
55678 2018-08-30  Paul Eggert  <eggert@cs.ucla.edu>
55680         Pacify -Wdouble-promotion in ImageMagick code
55682         * src/image.c (imagemagick_load_image): Use double division, and
55683         eliminate a cast.  This avoids a -Wdouble-promotion warning with
55684         GCC 7.3 on Ubuntu 18.04.
55686 2018-08-29  Glenn Morris  <rgm@gnu.org>
55688         Merge from origin/emacs-26
55690         2670cbf (origin/emacs-26) ; * configure.ac: Remove outdated comment (...
55691         3b71bef admin.el: respect environment settings for makeinfo etc
55692         3764ab4 * etc/PROBLEMS: New entry about GTK+ 3 crash with some X serv...
55693         9d61344 Index profiler commands in elisp manual
55694         f088817 Fix math-imaginary-i check
55695         fca935e ; Let pre-commit git hook check merged in changes (Bug#29197)
55696         fe06fcc Avoid infinite hscrolling loops when line numbers are displayed
55697         63e59c8 Avoid crashes in malformed defvar
55698         785682c * configure.ac (emacs_config_features): Add GLIB, XDBE, XIM.
55699         2695b7e * configure.ac: Doc fixes related to --with-xim.
55700         d0d162c Small checkdoc quoting fix (bug#32546)
55702         Conflicts:
55703                 configure.ac
55705 2018-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
55707         * src/keymap.c: Make better use of access_keymap's functionality
55709         (Flookup_key): Allow `keymap' to be a list of keymaps.
55710         (Fcommand_remapping, Fkey_binding): Simplify accordingly.
55711         (shadow_lookup, describe_map_tree): Simplify.
55713 2018-08-29  Michael Albinus  <michael.albinus@gmx.de>
55715         Improve tramp-convert-file-attributes backward compatibility
55717         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
55718         Use `seconds-to-time' for {access, modification, status change}
55719         time.  Simplify check for inode.
55721         * test/lisp/net/tramp-tests.el (tramp-test22-file-times):
55722         Use `seconds-to-time'.
55724 2018-08-28  Glenn Morris  <rgm@gnu.org>
55726         * lisp/mail/emacsbug.el (report-emacs-bug--os-description): Add BSD.
55728         * lisp/mail/emacsbug.el (report-emacs-bug--os-description):
55729         Add MS Windows.
55731 2018-08-28  Paul Eggert  <eggert@cs.ucla.edu>
55733         Improve (format "%g" bignum) precision
55735         * src/editfns.c (styled_format): When formatting bignums with
55736         floating-point conversions like %g, use long double if that
55737         would lose less information than double, which is what the
55738         code was already doing for fixnums.  On Fedora 28 x86-64, for
55739         example, (format "%.100g" (1- (ash 1 64))) now yields
55740         "18446744073709551615" instead of the numerically incorrect
55741         "18446744073709549568".  Also, fix a stray INTEGERP that
55742         can just be FIXNUMP, since bignums are not possible there.
55744 2018-08-28  Paul Eggert  <eggert@cs.ucla.edu>
55746         Fix Fnatnump typos
55748         Problem reported by Glenn Morris in:
55749         https://lists.gnu.org/r/emacs-devel/2018-08/msg00946.html
55750         * src/floatfns.c (Fexpt):
55751         * src/xselect.c (cons_to_x_long):
55752         Don't assume Lisp_Object values are scalars.
55754 2018-08-28  Eli Zaretskii  <eliz@gnu.org>
55756         Fix a recent change
55758         * src/dispnew.c (sit_for): Don;t treat nil as zero.  Reported
55759         by Glenn Morris <rgm@gnu.org>.
55761 2018-08-28  Michael Albinus  <michael.albinus@gmx.de>
55763         Add bignum support in Tramp
55765         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info):
55766         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-system-info):
55767         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-stat)
55768         (tramp-do-directory-files-and-attributes-with-stat)
55769         (tramp-sh-handle-file-system-info):
55770         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): Do
55771         not add "e0" to integers.
55773         * lisp/net/tramp-sh.el (tramp-perl-file-attributes)
55774         (tramp-convert-file-attributes): Do not use a consp for the inode
55775         if there is bignum support.
55777 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
55779         Improve bignum support for system types
55781         Use bignums when Emacs converts to and from system types like
55782         off_t for file sizes whose values can exceed fixnum range.
55783         Formerly, Emacs sometimes generted floats and sometimes ad-hoc
55784         conses of integers.  Emacs still accepts floats and conses for
55785         these system types, in case some stray Lisp code is generating
55786         them, though this usage is obsolescent.
55787         * doc/lispref/files.texi (File Attributes):
55788         * doc/lispref/hash.texi (Defining Hash):
55789         * doc/lispref/nonascii.texi (Character Sets):
55790         * doc/lispref/os.texi (User Identification):
55791         * doc/lispref/processes.texi (System Processes):
55792         * etc/NEWS:
55793         Document changes.
55794         * src/bignum.c (mpz_set_uintmax, make_biguint)
55795         (mpz_set_uintmax_slow, bignum_to_intmax, bignum_to_uintmax):
55796         New functions.
55797         (mpz_set_intmax_slow): Implement via mpz_limbs_write,
55798         to avoid the need for an extra pass through a negative number.
55799         * src/charset.c (Fencode_char):
55800         * src/composite.h (LGLYPH_SET_CODE):
55801         * src/dired.c (file_attributes):
55802         * src/dosfns.c, src/w32.c (list_system_processes)
55803         (system_process_attributes):
55804         * src/editfns.c (init_editfns, Fuser_uid, Fuser_real_uid)
55805         (Fgroup_gid, Fgroup_real_gid, Femacs_pid):
55806         * src/emacs-module.c (check_vec_index):
55807         * src/fns.c (Fsafe_length):
55808         * src/process.c (record_deleted_pid, Fprocess_id):
55809         * src/sysdep.c (list_system_processes, system_process_attributes):
55810         * src/xselect.c (x_own_selection, selection_data_to_lisp_data):
55811         * src/xterm.c (set_wm_state):
55812         * src/inotify.c (inotifyevent_to_event, add_watch)
55813         (inotify_callback):
55814         If an integer is out of fixnum range, use a bignum
55815         instead of converting it to a float or a cons of integers.
55816         * src/coding.c (Fdefine_coding_system_internal):
55817         * src/frame.c (frame_windows_min_size)
55818         (x_set_frame_parameters):
55819         * src/fringe.c (Fdefine_fringe_bitmap):
55820         * src/nsterm.m (mouseDown:):
55821         * src/syntax.c (find_defun_start):
55822         * src/w32fns.c (x_set_undecorated, w32_createwindow)
55823         (w32_wnd_proc, Fx_create_frame, Fx_show_tip)
55824         (w32_console_toggle_lock_key):
55825         * src/w32inevt.c (key_event):
55826         * src/w32proc.c (Fw32_get_locale_info):
55827         Do not mishandle floats by treating their addresses as their
55828         values.
55829         * src/data.c (store_symval_forwarding):
55830         * src/gnutls.c (Fgnutls_error_fatalp, Fgnutls_error_string):
55831         * src/keyboard.c (command_loop_1, make_lispy_event):
55832         * src/lread.c (read_filtered_event, read1)
55833         (substitute_object_recurse):
55834         * src/window.c (Fcoordinates_in_window_p, Fwindow_at)
55835         (window_resize_apply, Fset_window_vscroll):
55836         * src/xdisp.c (handle_single_display_spec, try_scrolling)
55837         (redisplay_window, calc_pixel_width_or_height)
55838         (calc_line_height_property, on_hot_spot_p):
55839         * src/xfaces.c (check_lface_attrs):
55840         * src/xselect.c (x_get_local_selection, cons_to_x_long)
55841         (lisp_data_to_selection_data, clean_local_selection_data)
55842         (x_check_property_data, x_fill_property_data):
55843         (x_send_client_event):
55844         Do not reject bignums.
55845         * src/data.c (INTBIG_TO_LISP, intbig_to_lisp)
55846         (uintbig_to_lisp):
55847         Remove.  All uses removed.
55848         * src/data.c (cons_to_unsigned, cons_to_signed):
55849         * src/dbusbind.c (xd_signature, xd_extract_signed)
55850         (xd_extract_unsigned):
55851         * src/dispnew.c (sit_for):
55852         * src/dosfns.c, src/w32.c (system_process_attributes):
55853         * src/editfns.c (Fuser_full_name):
55854         * src/fileio.c (file_offset):
55855         * src/fileio.c (write_region):
55856         * src/font.c (font_unparse_xlfd, font_open_for_lface, Fopen_font):
55857         * src/frame.c (x_set_screen_gamma):
55858         * src/frame.h (NUMVAL, FRAME_PIXEL_X_FROM_CANON_X)
55859         (FRAME_PIXEL_Y_FROM_CANON_Y):
55860         * src/image.c (parse_image_spec, x_edge_detection)
55861         (compute_image_size):
55862         * src/json.c (json_to_lisp):
55863         * src/lcms.c (PARSE_LAB_LIST_FIELD, Flcms_cie_de2000)
55864         (PARSE_XYZ_LIST_FIELD, PARSE_JCH_LIST_FIELD)
55865         (PARSE_JAB_LIST_FIELD, PARSE_VIEW_CONDITION_FLOAT)
55866         (Flcms_temp_to_white_point):
55867         * src/nsimage.m (ns_load_image, setSizeFromSpec):
55868         * src/process.c (Fsignal_process, handle_child_signal):
55869         * src/sysdep.c (system_process_attributes):
55870         * src/xdisp.c (calc_line_height_property):
55871         Handle bignums.
55872         * src/data.c (Fnumber_to_string): Use proper predicate name in
55873         signal if the argument is not a number.
55874         * src/lisp.h (make_uint): New function.
55875         (INT_TO_INTEGER): New macro.
55876         (FIXED_OR_FLOATP, CHECK_FIXNUM_OR_FLOAT)
55877         (CHECK_FIXNUM_OR_FLOAT_COERCE_MARKER, INTEGER_TO_CONS)
55878         (make_fixnum_or_float): Remove; no longer used.
55879         * src/nsfns.m, src/w32fns.c, src/xfns.c (Fx_create_frame):
55880         Reject floating-point min-width or min-height.
55881         * src/process.c (handle_child_signal): Do not worry
55882         about floating-point pids, as they are no longer generated.
55884 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
55886         Modularize bignums better
55888         * src/bignum.c, src/bignum.h: New files.  Only modules that
55889         need to know how bignums are implemented should include
55890         bignum.h.  Currently these are alloc.c, bignum.c (of course),
55891         data.c, emacs.c, emacs-module.c, floatfns.c, fns.c, print.c.
55892         * src/Makefile.in (base_obj): Add bignum.o.
55893         * src/alloc.c (make_bignum_str): Move to bignum.c.
55894         (make_number): Remove; replaced by bignum.c’s make_integer.
55895         All callers changed.
55896         * src/conf_post.h (ARG_NONNULL): New macro.
55897         * src/json.c (json_to_lisp): Use it.
55898         * src/data.c (Fnatnump):
55899         Move NATNUMP’s implementation here from lisp.h.
55900         * src/data.c (Fnumber_to_string):
55901         * src/editfns.c (styled_format):
55902         Move conversion of string to bignum to bignum_to_string, and
55903         call it here.
55904         * src/emacs-module.c (module_make_integer):
55905         * src/floatfns.c (Fabs):
55906         Simplify by using make_int.
55907         * src/emacs.c: Include bignum.h, to expand its inline fns.
55908         * src/floatfns.c (Ffloat): Simplify by using XFLOATINT.
55909         (rounding_driver): Simplify by using double_to_bignum.
55910         (rounddiv_q): Clarify use of temporaries.
55911         * src/lisp.h: Move decls that need to know bignum internals to
55912         bignum.h.  Do not include gmp.h or mini-gmp.h; that is now
55913         bignum.h’s job.
55914         (GMP_NUM_BITS, struct Lisp_Bignum, XBIGNUM, mpz_set_intmax):
55915         Move to bignum.h.
55916         (make_int): New function.
55917         (NATNUMP): Remove; all callers changed to use Fnatnump.
55918         (XFLOATINT): If arg is a bignum, use bignum_to_double, so that
55919         bignum internals are not exposed here.
55920         * src/print.c (print_vectorlike): Use SAFE_ALLOCA to avoid the
55921         need for a record_unwind_protect_ptr.
55923 2018-08-27  Glenn Morris  <rgm@gnu.org>
55925         * configure.ac, src/image.c: Tweak previous ImageMagick change.
55927 2018-08-27  Karl Otness  <karl@karlotness.com>  (tiny change)
55929         Support ImageMagick version 7 (bug#25967)
55931         * configure.ac, src/image.c: Add support for ImageMagick version 7.
55933 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
55935         Update from Gnulib
55937         * build-aux/config.sub, lib/intprops.h, lib/regex_internal.c:
55938         * lib/regex_internal.h, lib/unistd.in.h, m4/limits-h.m4:
55939         * m4/stdint.m4, m4/unistd_h.m4:
55940         Copy from Gnulib.
55941         * lib/gnulib.mk.in: Regenerate.
55943 2018-08-27  Alex Branham  <alex.branham@gmail.com>
55945         New commands bibtex-next/previous-entry (Bug#32378)
55947         * lisp/textmodes/bibtex.el (bibtex-next-entry)
55948         (bibtex-previous-entry): New commands.
55949         (bibtex-mode-map): Bind to to forward-paragraph and
55950         backward-paragraph.  Add to menu under "Moving inside an Entry".
55952 2018-08-27  Noam Postavsky  <npostavs@gmail.com>
55954         shr: Allow skipping tags with aria-hidden (Bug#32348)
55956         * lisp/net/shr.el (shr-discard-aria-hidden): New option.
55957         (shr-descend): Suppress aria-hidden=true tags if it's set.
55958         * doc/misc/eww.texi (Advanced): Document shr-discard-aria-hidden.
55959         * etc/NEWS: Announce it.
55961 2018-08-27  Noam Postavsky  <npostavs@gmail.com>
55963         Allow setf of buffer-modified-p without argument (Bug#21201)
55965         * lisp/emacs-lisp/cl-lib.el (setf buffer-modified-p): Take current
55966         buffer if optional argument BUF is not passed.
55968 2018-08-27  Alan Mackenzie  <acm@muc.de>
55970         CC Mode: Fix syntactic context of BOD sometimes being 'topmost-intro-cont
55972         This happened when the type of the previous function was a struct, etc.,
55973         declaration.
55975         * lisp/progmodes/cc-mode.el (c-guess-basic-syntax CASE 5N): Check here (for
55976         'topmost-intro-cont) that the first opening brace after BOD is the opening
55977         brace preceding the starting point.
55979 2018-08-27  Alan Mackenzie  <acm@muc.de>
55981         c-where-wrt-brace-construct: deal with point following a struct's semicolon.
55983         More precisely, when point is right after the terminating semicolon of a
55984         construct like "struct foo { .... } bar;", the function must return
55985         'at-function-end.
55987         * lisp/progmodes/cc-cmds.el (c-where-wrt-brace-construct): Surround an
55988         existing test for 'at-function-end with an `or' form, the other arm testing
55989         for being after the semicolon above.
55991 2018-08-27  Gemini Lasswell  <gazally@runbox.com>
55993         Fix links in backtraces to work on advised built-ins (Bug#25393)
55995         * lisp/emacs-lisp/backtrace.el (backtrace--print-func-and-args): Make
55996         links to the original definition of advised functions.  Handle the
55997         case when the function slot of the backtrace frame contains the
55998         definition of a built-in function.
56000 2018-08-27  Michael Albinus  <michael.albinus@gmx.de>
56002         Bump Tramp version to 2.4.1-pre
56004         * doc/misc/trampver.texi:
56005         * lisp/net/trampver.el: Change version to "2.4.1-pre".
56007         * lisp/net/tramp.el: Add "Package-Requires" header.
56009 2018-08-26  Glenn Morris  <rgm@gnu.org>
56011         Merge from origin/emacs-26
56013         54fb383 (origin/emacs-26) Fix detection of freed emacs_values (Bug#32...
56014         769d0cd ; Fix out-of-tree build for mod-test.so
56015         9a1329e Avoid crashes with very wide TTY frames on MS-Windows
56016         9a613d3 Prevent `modify-file-local-variable-prop-line' from adding ex...
56017         624e7dc Update GNOME bugtracker URLs
56018         51ef6d5 Clarify in the Emacs manual that ChangeLog files are not used
56019         6e08019 Recognize codepage 65001 as a valid encoding
56020         1a350d7 ; * etc/NEWS: Fix format of first lines of some entries.
56021         22d1f53 Avoid compilation warning in nt/addpm.c
56022         7bc9ce7 Fix duplicate custom group names in bibtex.el
56023         a9cf938 Fix outdated text in the Calc manual
56025         Conflicts:
56026                 etc/NEWS
56027                 etc/PROBLEMS
56028                 src/emacs-module.c
56029                 src/gtkutil.c
56030                 src/image.c
56031                 src/xterm.c
56032                 test/Makefile.in
56034 2018-08-26  Eli Zaretskii  <eliz@gnu.org>
56036         Fix a typo in alloc.c
56038         * src/alloc.c (Fmemory_use_counts): The list we return now has
56039         only 7 elements, not 8.  (Bug#32531)
56041 2018-08-26  Alan Mackenzie  <acm@muc.de>
56043         CC Mode: make c-display-defun-name work with a pointer return type.
56045         Fixes bug #32403.
56047         * lisp/progmodes/cc-cmds.el (c-in-function-trailer-p): No longer insist on
56048         c-beginning-of-decl-1 returning 'same.
56049         (c-where-wrt-brace-construct): Tighten up the test for looking at a symbol by
56050         excluding keywords.  When point is after a }, do not return 'at-function-end
56051         for a struct/union/class/...
56052         (c-defun-name-1): Considerably simplify, by amalgamating the two cond arms
56053         which find structs etc., and by using functions like c-forward-declarator
56054         rather than the faulty analysis of the source by hand.
56056 2018-08-26  Stefan Monnier  <monnier@iro.umontreal.ca>
56058         * lisp/net/tramp.el: Add "Version" header.
56060 2018-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56062         Improve format-seconds accuracy
56064         * doc/lispref/os.texi (Time Parsing): It works with bignums.
56065         * lisp/calendar/time-date.el (format-seconds):
56066         Take the floor so that the resulting arithmetic is exact.
56068 2018-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56070         Prefer CONSP etc. to XTYPE
56072         * src/nsmenu.m (process_dialog:):
56073         (initFromContents:isQuestion:):
56074         Prefer CONSP (x) to XTYPE (x) == Lisp_Cons,
56075         and similarly for STRINGP (x).
56077 2018-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56079         Improve performance of CONSP, FIXNUMP, etc.
56081         Optimization opportunity noted by Pip Cet in:
56082         https://lists.gnu.org/r/emacs-devel/2018-08/msg00828.html
56083         On my platform (Fedora 28 x86-64, AMD Phenom II X4 910e,
56084         user+system time), this improved ‘make compile-always’
56085         performance by 0.4% and shrank text size by a similar amount.
56086         * src/lisp.h (TAGGEDP, lisp_h_TAGGEDP): New macros and function.
56087         (lisp_h_CONSP, lisp_h_FLOATP, lisp_h_SYMBOLP)
56088         (lisp_h_VECTORLIKEP, make_lisp_ptr, STRINGP): Use them.
56089         (lisp_h_FIXNUMP): Use the same idea that lisp_h_TAGGEDP uses.
56091 2018-08-23  Noam Postavsky  <npostavs@gmail.com>
56093         Detect Chinese sudo password prompts (Bug#31075)
56095         * lisp/comint.el (comint-password-prompt-regexp): Allow text between
56096         the prompt prefix and password equivalent.
56097         * lisp/eshell/esh-mode.el (eshell-password-prompt-regexp): Accept some
56098         unicode alternatives to ":".
56099         * test/lisp/comint-tests.el (comint-testsuite-password-strings): Add
56100         test case.
56102 2018-08-23  Noam Postavsky  <npostavs@gmail.com>
56104         Fix comint-password-prompt-regexp
56106         The change from 2017-12-22 "Support French password prompts in shell"
56107         tried to allow nonbreaking space in addition to whitespace syntax
56108         characters around the colon, but used square brackets which cause "\s"
56109         to be interpreted literally rather than as a backslash construct.
56110         * lisp/comint.el (comint-password-prompt-regexp): Use [[:blank:]]
56111         instead, which also has the benefit of not relying on the major mode's
56112         whitespace syntax setting.
56113         * test/lisp/comint-tests.el (comint-testsuite-password-strings):
56114         Update French localized entry to have a space before the colon, as
56115         reported in Bug#29729.
56117 2018-08-23  Charles A. Roelli  <charles@aurox.ch>
56119         Replace 2 checks in rmailsum.el with 'pos-visible-in-window-p'
56121         * lisp/mail/rmailsum.el (rmail-summary-scroll-msg-up)
56122         (rmail-summary-scroll-msg-down): Use 'pos-visible-in-window-p'
56123         instead of checking the condition by hand.
56125 2018-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
56127         Fix binding error in nnfolder-read-folder
56129         * lisp/gnus/nnfolder.el (nnfolder-read-folder): Fix previous
56130         checkin that left `active' unbound before using it.
56132 2018-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56134         Prune most-positive-fixnum from Lisp source
56136         I looked through all instances of most-negative-fixnum
56137         and most-positive-fixnum in the Lisp source code, and
56138         when it was easy I removed assumptions that integers
56139         fit in fixnums.  The remaining instances are either
56140         nontrivial to fix, or are inherent to the algorithm.
56141         * lisp/arc-mode.el (archive-l-e): Do not convert to float,
56142         since we have bignums now.  All uses changed.
56143         * lisp/calc/calc.el (math-bignum):
56144         Don’t special-case most-negative-fixnum.
56145         * lisp/calendar/parse-time.el (parse-time-string):
56146         * lisp/emacs-lisp/edebug.el (edebug-read-special):
56147         * lisp/emacs-lisp/package.el (package--remove-hidden):
56148         * lisp/gnus/nnfolder.el (nnfolder-read-folder):
56149         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
56150         * lisp/menu-bar.el (menu-bar-update-buffers):
56151         * lisp/net/rcirc.el (rcirc-handler-317):
56152         * lisp/org/org-agenda.el (org-cmp-ts):
56153         * lisp/window.el (window--resize-child-windows):
56154         Avoid arbitrary limit to most-positive-fixnum or to
56155         most-negative-fixnum.
56156         * lisp/calendar/time-date.el (days-to-time):
56157         * lisp/erc/erc-dcc.el (erc-unpack-int):
56158         Don’t worry about integer overflow.
56159         * lisp/cedet/semantic/wisent/comp.el (wisent-BITS-PER-WORD):
56160         * lisp/gnus/message.el (message-unique-id):
56161         * lisp/org/org-footnote.el (org-footnote-new):
56162         Simplify.
56163         * lisp/erc/erc-dcc.el (erc-most-positive-int-bytes)
56164         (erc-most-positive-int-msb): Remove; no longer needed.
56165         * lisp/net/imap.el (imap-string-to-integer): Remove; unused.
56166         * lisp/org/org-element.el (org-element--cache-generate-key):
56167         Document fixnum limitation.
56169 2018-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56171         Fix bugs when rounding to bignums
56173         Also, since Emacs historically reported a range error when
56174         rounding operations overflowed, do that consistently for all
56175         bignum overflows.
56176         * doc/lispref/errors.texi (Standard Errors):
56177         * doc/lispref/numbers.texi (Integer Basics): Document range errors.
56178         * src/alloc.c (range_error): Rename from integer_overflow.
56179         All uses changed.
56180         * src/floatfns.c (rounding_driver): When the result of a floating
56181         point rounding operation does not fit into a fixnum, put it
56182         into a bignum instead of always signaling an range error.
56183         * test/src/floatfns-tests.el (divide-extreme-sign):
56184         These tests now return the mathematically-correct answer
56185         instead of signaling an error.
56186         (bignum-round): Check that integers round to themselves.
56188 2018-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56190         Undo part of previous change
56192         Issue spotted by Pip Cet in:
56193         https://lists.gnu.org/r/emacs-devel/2018-08/msg00758.html
56194         * lisp/vc/vc-hg.el (vc-hg--raw-dirstate-search):
56195         Go back to using eq on flen, since it must be a fixnum.
56197 2018-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56199         Make vc-hg safe for bignums
56201         * lisp/vc/vc-hg.el (vc-hg--raw-dirstate-search):
56202         Use eql, not eq, on integers that could be bignums.
56203         (vc-hg--time-to-integer): Rename from vc-hg--time-to-fixnum.
56204         All uses changed.
56205         (vc-hg-state-fast): Remove test that 32-bit unsigned values
56206         must be fixnums.
56208 2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56210         * src/buffer.h (DECODE_POSITION): Remove; unused.
56212 2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56214         Add bignum support to floor, ceiling, etc.
56216         Problem reported by Andy Moreton (Bug#32463#35 (d)).
56217         * src/floatfns.c (rounding_driver): Change the signature
56218         of the integer rounder to use mpz_t rather than EMACS_INT.
56219         All uses changed.  Support bignums.
56220         (ceiling2, floor2, truncate2, round2): Remove.
56221         All uses changed to rounddiv_q or to a GMP library function.
56222         (rounddiv_q): New function.
56223         * test/src/floatfns-tests.el (bignum-round): New test.
56225 2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56227         Move bignump, fixnump from C to Lisp
56229         * doc/lispref/objects.texi (Integer Type): Mention
56230         most-negative-fixnum and most-positive-fixnum as alternatives
56231         to fixnump and bignump.
56232         * lisp/subr.el (fixnump, bignump): Now written in Lisp.
56233         * src/data.c (Ffixnump, Fbignump): No longer written in C,
56234         as these new functions are not crucial for performance.
56236 2018-08-21  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
56238         Fix assertion failure when reading 'BIGNUM.'
56240         Problem reported by Stefan Monnier (Bug#32476).
56241         * src/lread.c (string_to_number): Don't pass leading "+"
56242         or trailing "." or junk to make_bignum_str.
56243         * test/src/lread-tests.el (lread-string-to-number-trailing-dot):
56244         New test.
56246 2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56248         Audit use of lsh and fix glitches
56250         I audited use of lsh in the Lisp source code, and fixed the
56251         glitches that I found.  While I was at it, I replaced uses of lsh
56252         with ash when either will do.  Replacement is OK when either
56253         argument is known to be nonnegative, or when only the low-order
56254         bits of the result matter, and is a (minor) win since ash is a bit
56255         more solid than lsh nowadays, and is a bit faster.
56256         * lisp/calc/calc-ext.el (math-check-fixnum):
56257         Prefer most-positive-fixnum to (lsh -1 -1).
56258         * lisp/vc/vc-hg.el (vc-hg-state-fast): When testing fixnum width,
56259         prefer (zerop (ash most-positive-fixnum -32)) to (zerop (lsh -1
56260         32)) (Bug#32485#11).
56261         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode):
56262         Tighten sanity-check for bytecode overflow, by checking that the
56263         result of (ash pc -8) is nonnegative.  Formerly this check was not
56264         needed since lsh was used and the number overflowed differently.
56265         * lisp/net/dns.el (dns-write): Fix some obvious sign typos in
56266         shift counts.  Evidently this part of the code has never been
56267         exercised.
56268         * lisp/progmodes/hideif.el (hif-shiftleft, hif-shiftright):
56269         * lisp/term/common-win.el (x-setup-function-keys):
56270         Simplify.
56271         * admin/unidata/unidata-gen.el, admin/unidata/uvs.el:
56272         * doc/lispref/keymaps.texi, doc/lispref/syntax.texi:
56273         * doc/misc/calc.texi, doc/misc/cl.texi, etc/NEWS.19:
56274         * lisp/arc-mode.el, lisp/calc/calc-bin.el, lisp/calc/calc-comb.el:
56275         * lisp/calc/calc-ext.el, lisp/calc/calc-math.el:
56276         * lisp/cedet/semantic/wisent/comp.el, lisp/composite.el:
56277         * lisp/disp-table.el, lisp/dos-fns.el, lisp/edmacro.el:
56278         * lisp/emacs-lisp/bindat.el, lisp/emacs-lisp/byte-opt.el:
56279         * lisp/emacs-lisp/bytecomp.el, lisp/emacs-lisp/cl-extra.el:
56280         * lisp/erc/erc-dcc.el, lisp/facemenu.el, lisp/gnus/message.el:
56281         * lisp/gnus/nndoc.el, lisp/gnus/nnmaildir.el, lisp/image.el:
56282         * lisp/international/ccl.el, lisp/international/fontset.el:
56283         * lisp/international/mule-cmds.el, lisp/international/mule.el:
56284         * lisp/json.el, lisp/mail/binhex.el, lisp/mail/rmail.el:
56285         * lisp/mail/uudecode.el, lisp/md4.el, lisp/net/dns.el:
56286         * lisp/net/ntlm.el, lisp/net/sasl.el, lisp/net/socks.el:
56287         * lisp/net/tramp.el, lisp/obsolete/levents.el:
56288         * lisp/obsolete/pgg-parse.el, lisp/org/org.el:
56289         * lisp/org/ox-publish.el, lisp/progmodes/cc-defs.el:
56290         * lisp/progmodes/ebnf2ps.el, lisp/progmodes/hideif.el:
56291         * lisp/ps-bdf.el, lisp/ps-print.el, lisp/simple.el:
56292         * lisp/tar-mode.el, lisp/term/common-win.el:
56293         * lisp/term/tty-colors.el, lisp/term/xterm.el, lisp/vc/vc-git.el:
56294         * lisp/vc/vc-hg.el, lisp/x-dnd.el, test/src/data-tests.el:
56295         Prefer ash to lsh when either will do.
56297 2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56299         Fix bignum bugs with nth, elt, =
56301         * src/bytecode.c (exec_byte_code): Support bignums
56302         when implementing nth, elt, and =.
56303         * src/lisp.h (SMALL_LIST_LEN_MAX): New constant.
56304         * src/fns.c (Fnthcdr): Use it.
56305         (Felt): Do not reject bignum indexes.
56307 2018-08-21  Glenn Morris  <rgm@gnu.org>
56309         Restore compatibility with Texinfo < 6
56311         * doc/lispref/numbers.texi (Integer Basics, Bitwise Operations):
56312         Don't use Texinfo 6.0's "@sup" command.
56314 2018-08-21  Eli Zaretskii  <eliz@gnu.org>
56316         Improve documentation of 'integer-width'
56318         * etc/NEWS: Minor rewording of the recent addition.
56320         * doc/lispref/numbers.texi (Bitwise Operations): Use @dots{}
56321         for ellipsis.  Improve indexing.
56323 2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56325         Avoid libgmp aborts by imposing limits
56327         libgmp calls ‘abort’ when given numbers too big for its
56328         internal data structures.  The numeric limit is large and
56329         platform-dependent; with 64-bit GMP 6.1.2 it is around
56330         2**2**37.  Work around the problem by refusing to call libgmp
56331         functions with arguments that would cause an abort.  With luck
56332         libgmp will have a better way to do this in the future.
56333         Also, introduce a variable integer-width that lets the user
56334         control how large bignums can be.  This currently defaults
56335         to 2**16, i.e., it allows bignums up to 2**2**16.  This
56336         should be enough for ordinary computation, and should
56337         help Emacs to avoid thrashing or hanging.
56338         Problem noted by Pip Cet (Bug#32463#71).
56339         * doc/lispref/numbers.texi, etc/NEWS:
56340         Document recent bignum changes, including this one.
56341         Improve documentation for bitwise operations, in the light
56342         of bignums.
56343         * src/alloc.c (make_number): Enforce integer-width.
56344         (integer_overflow): New function.
56345         (xrealloc_for_gmp, xfree_for_gmp):
56346         Move here from emacs.c, as it's memory allocation.
56347         (init_alloc): Initialize GMP here, rather than in emacs.c.
56348         (integer_width): New var.
56349         * src/data.c (GMP_NLIMBS_MAX, NLIMBS_LIMIT): New constants.
56350         (emacs_mpz_size, emacs_mpz_mul)
56351         (emacs_mpz_mul_2exp, emacs_mpz_pow_ui): New functions.
56352         (arith_driver, Fash, expt_integer): Use them.
56353         (expt_integer): New function, containing integer code
56354         that was out of place in floatfns.c.
56355         (check_bignum_size, xmalloc_for_gmp): Remove.
56356         * src/emacs.c (main): Do not initialize GMP here.
56357         * src/floatfns.c (Fexpt): Use expt_integer, which
56358         now contains integer code moved from here.
56359         * src/lisp.h (GMP_NUMB_BITS): Define if gmp.h doesn’t.
56361 2018-08-21  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
56363         Fix glitches introduced by nthcdr changes
56365         * src/fns.c (Fnthcdr): Fix recently-introduced bug when
56366         nthcdr is supposed to yield a non-nil non-cons.
56367         Reported by Glenn Morris and by Pip Cet here:
56368         https://lists.gnu.org/r/emacs-devel/2018-08/msg00699.html
56369         https://lists.gnu.org/r/emacs-devel/2018-08/msg00708.html
56370         Speed up nthcdr for small N, as suggested by Pip Cet here:
56371         https://lists.gnu.org/r/emacs-devel/2018-08/msg00707.html
56372         * test/src/fns-tests.el (test-nthcdr-simple): New test.
56374 2018-08-20  Paul Eggert  <eggert@cs.ucla.edu>
56376         Speed up (nthcdr N L) when L is circular
56378         Also, fix bug when N is a positive bignum, a problem reported
56379         by Eli Zaretskii and Pip Cet in:
56380         https://lists.gnu.org/r/emacs-devel/2018-08/msg00690.html
56381         * src/fns.c (Fnthcdr): If a cycle is found, reduce the count
56382         modulo the cycle length before continuing.  This reduces the
56383         worst-case cost of (nthcdr N L) from N to min(N, C) where C is
56384         the number of distinct cdrs of L.  Reducing modulo the cycle
56385         length also allows us to do arithmetic with machine words
56386         instead of with GMP.
56387         * test/src/fns-tests.el (test-nthcdr-circular): New test.
56389 2018-08-20  Andy Moreton  <andrewjmoreton@gmail.com>
56391         Define get_proc_addr in Cygwin-w32 build
56393         * src/w32common.h (get_proc_addr, DEF_DLL_FN, LOAD_DLL_FN): Move
56394         definitions here from src/w32.h.
56395         * src/decompress.c [WINDOWSNT]:
56396         * src/gnutls.c [WINDOWSNT]:
56397         * src/image.c [WINDOWSNT]:
56398         * src/json.c [WINDOWSNT]:
56399         * src/lcms.c [WINDOWSNT]:
56400         * src/w32font.c [WINDOWSNT]:
56401         * src/w32uniscribe.c:
56402         * src/xml.c [WINDOWSNT]: Include w32common.h.
56404 2018-08-20  Paul Eggert  <eggert@cs.ucla.edu>
56406         nthcdr now works with bignums
56408         Problem reported by Karl Fogel in:
56409         https://lists.gnu.org/r/emacs-devel/2018-08/msg00671.html
56410         * src/fns.c (Fnthcdr): Support bignum counts.
56412 2018-08-19  Paul Eggert  <eggert@cs.ucla.edu>
56414         Fix expt signedness bug --without-wide-int
56416         Problem reported by Federico in:
56417         https://lists.gnu.org/r/emacs-devel/2018-08/msg00619.html
56418         * src/floatfns.c (Fexpt): Use TYPE_RANGED_FIXNUMP, not
56419         RANGED_FIXNUMP, to fix bug with unsigned comparison on
56420         platforms built --without-wide-int.
56422 2018-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
56424         * lisp/progmodes/cc-mode.el: Add version header
56426 2018-08-19  Paul Eggert  <eggert@cs.ucla.edu>
56428         Add bignum support to expt
56430         Problem and initial solution reported by Andy Moreton in:
56431         https://lists.gnu.org/r/emacs-devel/2018-08/msg00503.html
56432         * doc/lispref/numbers.texi (Math Functions): expt integer
56433         overflow no longer causes truncation; it now signals an error
56434         since bignum overflow is a big deal.
56435         * src/floatfns.c (Fexpt): Support bignum arguments.
56436         * test/src/floatfns-tests.el (bignum-expt): New test.
56438 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
56440         Fix bug with ‘mod’ and float+bignum
56442         Problem reported by Andy Moreton in:
56443         https://lists.gnu.org/r/emacs-devel/2018-08/msg00442.html
56444         * src/floatfns.c (fmod_float): Work even if an arg is a bignum.
56445         * test/src/floatfns-tests.el (bignum-mod): New test.
56447 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
56449         Update from Gnulib
56451         This incorporates:
56452         2018-08-18 Avoid -Wcast-function-type warnings from casts
56453         * build-aux/config.sub, lib/gettimeofday.c: Copy from Gnulib.
56455 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
56457         Tweak integer division
56459         * src/data.c (arith_driver): Reorder to remove unnecessary
56460         FIXNUMP.  Tighten test for whether to convert the divisor from
56461         fixnum to mpz_t.  Simplify.
56463 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
56465         Simplify float_arith_driver
56467         * src/data.c (float_arith_driver): Simplify, as we needn’t
56468         worry about that 30-year-old compiler bug any more.
56470 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
56472         Minor fixups for intmax_t→mpz_t conversion
56474         * src/alloc.c (mpz_set_intmax_slow): Tighten assertion.
56475         Work even in the unlikely case where libgmp uses nails.
56476         * src/data.c (FIXNUMS_FIT_IN_LONG): New constant.
56477         (arith_driver): Use it to tighten compile-time checks.
56478         * src/lisp.h (mpz_set_intmax): Do not assume that converting
56479         an out-of-range value to ‘long’ is harmless, as it might raise
56480         a signal.  Use simpler expression; compiler can optimize.
56482 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
56484         Improve --with-wide-int mpz_t→fixnum conversion
56486         These tuneups and minor simplifications should affect only
56487         platforms with EMACS_INT wider than ‘long’.
56488         * src/alloc.c (make_number): If the number fits in long but
56489         not in fixnum, do not attempt to convert to fixnum again.
56490         Tighten the compile-time check for whether the second attempt
56491         is worth trying, from sizeof (long) < sizeof (EMACS_INT) to
56492         LONG_WIDTH < FIXNUM_BITS.  Do not bother computing the sign of
56493         the value to tighten the bounds for whether to try the second
56494         attempt, as it’s not worth the effort.  Do not call mpz_size,
56495         which is unnecessary since the number of bits is already known
56496         and the loop can iterate over a shift count instead.  Avoid
56497         unnecessary casts.  Use + instead of | where either will do,
56498         as + is typically better for optimization.
56500         Improve mpz_t to fixnum when --with-wide-int
56501         * src/alloc.c (make_number): Avoid undefined behavior
56502         when shifting an EMACS_UINT by more than EMACS_UINT_WIDTH bits.
56503         Check for integer overflow when shifting.
56505 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
56507         Improve bignum comparison (Bug#32463#50)
56509         * src/data.c (isnan): Remove, as we can assume C99.
56510         (bignumcompare): Remove, folding its functionality
56511         into arithcompare.
56512         (arithcompare): Compare bignums directly here.
56513         Fix bugs when comparing NaNs to bignums.
56514         When comparing a bignum to a fixnum, just look at the
56515         bignum’s sign, as that’s all that is needed.
56516         Decrease scope of locals when this is easy.
56517         * test/src/data-tests.el (data-tests-bignum): Test bignum vs NaN.
56519 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
56521         Document that ‘random’ is limited to fixnums
56523         Problem reported by Pip Cet (Bug#32463#20).
56524         * doc/lispref/numbers.texi (Random Numbers):
56525         * src/fns.c (Frandom): Adjust doc.
56527 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
56529         Restore traditional lsh behavior on fixnums
56531         * doc/lispref/numbers.texi (Bitwise Operations): Document that
56532         the traditional (lsh A B) behavior is for fixnums, and that it
56533         is an error if A and B are both negative and A is a bignum.
56534         See Bug#32463.
56535         * lisp/subr.el (lsh): New function, moved here from src/data.c.
56536         * src/data.c (ash_lsh_impl): Remove, moving body into Fash
56537         since it’s the only caller now.
56538         (Fash): Check for out-of-range counts.  If COUNT is zero,
56539         return first argument instead of going through libgmp.  Omit
56540         lsh code since lsh is now done in Lisp.  Add code for shifting
56541         fixnums right, to avoid a round trip through libgmp.
56542         (Flsh): Remove; moved to lisp/subr.el.
56543         * test/lisp/international/ccl-tests.el (shift):
56544         Test for traditional lsh behavior, instead of assuming
56545         lsh is like ash when bignums are present.
56546         * test/src/data-tests.el (data-tests-logand)
56547         (data-tests-logior, data-tests-logxor, data-tests-ash-lsh):
56548         New tests.
56550 2018-08-17  Eli Zaretskii  <eliz@gnu.org>
56552         Avoid compilation warning in w32fns.c
56554         * src/w32fns.c (Fw32_read_registry): Avoid compiler warning
56555         regarding possible use of 'rootkey' without initializing it
56556         first.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
56558 2018-08-17  Paul Eggert  <eggert@cs.ucla.edu>
56560         Improve ‘abs’ performance
56562         * src/floatfns.c (Fabs): Improve performance by not copying
56563         the argument if it would eql the result.  As a minor detail,
56564         don't assume fixnums are two’s complement.
56566 2018-08-17  Eli Zaretskii  <eliz@gnu.org>
56568         Improve documentation of bignums
56570         * etc/NEWS: Enhance the announcement of bignums.
56572         * doc/lispref/numbers.texi (Integer Basics): Add a missing
56573         period.  Reported by Basil L. Contovounesios <contovob@tcd.ie>.
56575 2018-08-17  Andy Moreton  <andrewjmoreton@gmail.com>
56577         Pacify -Wcast-function-type warnings in GCC 8.1
56579         * src/image.c: Move attributes into DEF_DLL_FN call.
56580         * src/dynlib.c (dynlib_addr): Use get_proc_addr.
56581         * src/w32.h: (get_proc_addr): New function.
56582         (LOAD_DLL_FN): Use it.
56583         (DEF_DLL_FN): Allow function attributes after argument
56584         list.  Add function pointer type used by LOAD_DLL_FN.
56585         * src/w32.c (open_process_token, get_token_information)
56586         (lookup_account_sid, get_sid_sub_authority)
56587         (get_sid_sub_authority_count, get_security_info)
56588         (get_file_security, set_file_security)
56589         (set_named_security_info)
56590         (get_security_descriptor_owner, get_security_descriptor_group)
56591         (get_security_descriptor_dacl, is_valid_sid, equal_sid)
56592         (get_length_sid, copy_sid, get_native_system_info)
56593         (get_system_times, create_symbolic_link)
56594         (is_valid_security_descriptor, convert_sd_to_sddl)
56595         (convert_sddl_to_sd, get_adapters_info, reg_open_key_ex_w)
56596         (reg_query_value_ex_w, expand_environment_strings_w)
56597         (init_environment, create_toolhelp32_snapshot)
56598         (process32_first, process32_next, open_thread_token)
56599         (impersonate_self, revert_to_self, get_process_memory_info)
56600         (get_process_working_set_size, global_memory_status)
56601         (global_memory_status_ex, init_winsock)
56602         (maybe_load_unicows_dll, globals_of_w32): Use get_proc_addr.
56603         * src/w32fns.c (setup_w32_kbdhook, Ffile_system_info)
56604         (get_dll_version, w32_reset_stack_overflow_guard)
56605         (w32_backtrace, globals_of_w32fns): Use get_proc_addr.
56606         * src/w32font.c (get_outline_metrics_w, get_text_metrics_w)
56607         (get_glyph_outline_w, get_char_width_32_w): Use get_proc_addr.
56608         * src/w32heap.c (init_heap): Use get_proc_addr.
56609         * src/w32menu.c (globals_of_w32menu): Use get_proc_addr.
56610         * src/w32proc.c (init_timers, sys_kill, w32_compare_strings):
56611         Use get_proc_addr.
56612         * src/w32uniscribe.c (syms_of_w32uniscribe): Use get_proc_addr.
56614 2018-08-17  Allen Li  <darkfeline@felesatra.moe>
56616         Don't include text properties when making autoloads
56618         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
56619         Ignore text properties when finding autoload defs.  Otherwise,
56620         autoload generation is less deterministic, as the exact format of the
56621         generated autoloads depends on whether the files are visited in
56622         Emacs.  (Bug#32395)
56624 2018-08-17  Paul Eggert  <eggert@cs.ucla.edu>
56626         Fix problems with logxor etc. and fixnums
56628         These operations incorrectly treated negative fixnums as
56629         bignums greater than most-positive-fixnum.
56630         * src/alloc.c (mpz_set_intmax_slow): Avoid undefined
56631         behavior if signed unary negation overflows, while
56632         we’re in the neighborhood.
56633         (mpz_set_uintmax_slow): Remove.  All uses removed.
56634         * src/data.c (arith_driver): Treat fixnums as signed, not
56635         unsigned, even for logical operations.
56636         * src/lisp.h (mpz_set_uintmax): Remove.  All uses removed.
56637         * test/src/data-tests.el (data-tests-logand)
56638         (data-tests-logior, data-tests-logxor): New tests.
56640 2018-08-16  Paul Eggert  <eggert@cs.ucla.edu>
56642         Reject outlandishly-wide bignums
56644         Do not allow bignums that are so wide that their log base 2
56645         might not fit into a fixnum, as this will cause problems elsewhere.
56646         We already have a similar limitation for bool-vectors.
56647         * src/emacs.c (check_bignum_size, xmalloc_for_gmp): New function.
56648         (xrealloc_for_gmp): Check for too-large bignum.
56649         (main): Use xmalloc_for_gmp.
56651 2018-08-16  Paul Eggert  <eggert@cs.ucla.edu>
56653         Speed up logcount on bignums
56655         * src/data.c (Flogcount): Speed up by using the mpz equivalent
56656         of ~X instead of -X-1.
56658 2018-08-16  Michael Albinus  <michael.albinus@gmx.de>
56660         Fix Bug#32454
56662         * lisp/files.el (find-alternate-file): Handle the wildcards case.
56663         (Bug#32454)
56665 2018-08-16  Ken Brown  <kbrown@cornell.edu>
56667         Pacify GCC with -Wunused-but-set-variable
56669         * src/unexcw.c (read_exe_header):
56670         (fixup_executable):
56671         (unexec): Specify the "unused" attribute for variables that
56672         are used only in assertions.
56674 2018-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
56676         EUDC: Add more BBDB >= 3 support
56678         * lisp/net/eudcb-bbdb.el: Declare BBDB >= 3 functions.
56679         (eudc-bbdb-field): Add translation from company to
56680         organization.
56681         (eudc-bbdb-extract-phones, eudc-bbdb-extract-addresses)
56682         (eudc-bbdb-format-record-as-result): Call BBDB >= 3 functions.
56684 2018-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
56686         EUDC: Remove XEmacs support
56688         * lisp/net/eudc.el (eudc-mode, eudc-install-menu): Remove
56689         XEmacs support.
56690         * lisp/net/eudc-hotlist.el (eudc-hotlist-mode)
56691         (eudc-hotlist-emacs-menu): Likewise.
56692         * lisp/net/eudc-bob.el (eudc-bob-toggle-inline-display)
56693         (eudc-bob-popup-menu, eudc-bob-generic-keymap)
56694         (eudc-bob-sound-keymap, eudc-bob-url-keymap)
56695         (eudc-bob-mail-keymap): Likewise.
56696         * etc/NEWS (EUDC): Mention removal of XEmacs support.
56698 2018-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
56700         EUDC: Shorten eudc-tools-menu autoload
56702         * lisp/net/eudc.el: Remove XEmacs support from eudc-tools-menu
56703         autoload.
56705 2018-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
56707         EUDC: Add commentary to eudc-bob.el
56709         * lisp/net/eudc-bob.el: Add commentary.
56711 2018-08-14  Eli Zaretskii  <eliz@gnu.org>
56713         Improve documentation of last change
56715         * lisp/hi-lock.el (hi-lock-set-pattern, hi-lock-face-buffer):
56716         Improve the doc strings.  (Bug#32365)
56718         * etc/NEWS:
56719         * doc/emacs/display.texi (Highlight Interactively): Clarify
56720         wording.
56722 2018-08-14  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
56724         Interactive Highlighting: prefix argument to select subexp
56726         * doc/emacs/display.texi (Highlight Interactively):
56727         * etc/NEWS: Document the change.
56728         * lisp/hi-lock.el (hi-lock-face-buffer, hi-lock-set-pattern): Use
56729         the prefix argument to highlight only the corresponding sub-expression
56730         of the regexp (Bug#32365).
56732 2018-08-14  Paul Eggert  <eggert@cs.ucla.edu>
56734         Rename --without-mini-gmp to --with-libgmp
56736         * configure.ac (HAVE_GMP): Rename ‘configure’ option from
56737         --without-mini-gmp to --with-libgmp.  All uses changed.
56738         * doc/lispref/numbers.texi (Predicates on Numbers): Large
56739         integers are always available.  Clarify how eq works on them.
56741 2018-08-14  Stephen Berman  <stephen.berman@gmx.net>
56743         Fix last todo-edit-mode change
56745         * lisp/calendar/todo-mode.el (todo-edit-mode): For editing an item
56746         instead of the whole file, the current todo-file must be set from
56747         todo-global-current-todo-file.
56749         * test/lisp/calendar/todo-mode-tests.el (todo-test-current-file-in-edit-mode):
56750         New test.
56752 2018-08-14  Stephen Berman  <stephen.berman@gmx.net>
56754         Fix exiting from editing todo archive file (bug#32437)
56756         * lisp/calendar/todo-mode.el (todo-edit-file): Make the warning
56757         also suitable for Todo Archive mode, and add more space to it.
56758         (todo-edit-quit): On quitting editing an archive file, return to
56759         the Todo Archive mode buffer editing was invoked in.
56760         (todo-check-format): Display a warning instead of a message when
56761         the categories sexp isn't as expected.
56762         (todo-mode-external-set): Remove.
56763         (todo-edit-mode): Set buffer local values of
56764         todo-current-todo-file and todo-categories from the todo or
56765         archive file being edited.
56766         (todo-categories-mode): Set buffer local values of
56767         todo-current-todo-file and todo-categories as before but directly
56768         instead of using superfluous todo-mode-external-set function.
56770         * test/lisp/calendar/todo-mode-tests.el (todo-test-edit-quit): New test.
56772 2018-08-14  Paul Eggert  <eggert@cs.ucla.edu>
56774         Remove more traces of misc (Bug#32405)
56776         Remove misc-objects-consed and the misc component of
56777         memory-use-count, since misc objects no longer exist.
56778         * doc/lispref/internals.texi, etc/NEWS: Mention this,
56779         and adjust better to recent removal of misc objects.
56780         * src/alloc.c (MEM_TYPE_MISC): Remove; no longer used.
56781         (Fmemory_use_counts): Omit misc count, since miscs
56782         no longer exist.
56783         (misc-objects-consed): Remove.
56785 2018-08-14  Glenn Morris  <rgm@gnu.org>
56787         Merge from origin/emacs-26
56789         34e75c1 Add comment about floating point test
56790         e73e683 Ibuffer: Add toggle ibuffer-do-toggle-lock
56791         12f7116 Ibuffer: Detect correctly the buffers running a process
56793 2018-08-14  Glenn Morris  <rgm@gnu.org>
56795         Merge from origin/emacs-26
56797         614cc65 ; * lisp/simple.el (line-move-visual): Fix typo.
56798         d2ad4ba Do not consider external packages to be removable (Bug#27822)
56799         ec0995c * src/alloc.c: Remove obsolete comments.
56800         ec6f588 Better support utf-8-with-signature and utf-8-hfs in HTML
56801         eb026a8 Don't use -Wabi compiler option
56803 2018-08-14  Paul Eggert  <eggert@cs.ucla.edu>
56805         Port recent changes to older GCC
56807         Problem reported by Glenn Morris in:
56808         https://lists.gnu.org/r/emacs-devel/2018-08/msg00446.html
56809         * src/lisp.h (make_pointer_integer_unsafe):
56810         Port to older GCC.
56812 2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>
56814         Update doc strings for fixnum constants
56816         * src/data.c (most-positive-fixnum, most-negative-fixnum):
56817         Update doc strings in the light of fixnums.
56819 2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>
56821         Fix check for unsafe watch descriptor
56823         * src/lisp.h (make_pointer_integer_unsafe): New function.
56824         (make_pointer_integer): Use it.
56825         * src/gfilenotify.c (dir_monitor_callback): Omit redundant eassert.
56826         (Fgfile_add_watch): Signal an error instead of failing an
56827         assertion if the pointer does not work.
56829 2018-08-13  Raimon Grau  <raimonster@gmail.com>
56831         Add uuid as allowed thingatpt symbol (Bug#32372)
56833         * etc/NEWS: Mention changes in thingatpt.el.
56834         * lisp/thingatpt.el (thing-at-point-uuid-regexp): Add regexp for uuid.
56835         (top-level): Add 'bounds-of-thing-at-point' operation for 'uuid'.
56836         * test/lisp/thingatpt-tests.el: Add tests for uuid at point.
56838 2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>
56840         Pacify gcc -Og -Wuninitialized
56842         This addresses the -Og uninitialized variable warnings I ran
56843         into on Fedora 28, which uses 8.1.1 20180712 (Red Hat 8.1.1-5).
56844         It also changes some explicit initializations to UNINIT
56845         when the variable does not actually need to be initialized.
56846         * src/process.c (connect_network_socket):
56847         * src/sysdep.c (system_process_attributes):
56848         * src/xfns.c (x_real_pos_and_offsets):
56849         * src/xterm.c (get_current_wm_state) [USE_XCB]:
56850         Add UNINIT.
56851         * src/editfns.c (tzlookup):
56852         * src/fns.c (Fnconc):
56853         * src/font.c (font_parse_fcname):
56854         * src/frame.c (x_set_frame_parameters):
56855         Prefer UNINIT to explicit initialization.
56857 2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>
56859         * configure.ac (GMP_LIB): Set to -lgmp if --without-mini-gmp.
56861 2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>
56863         Port better to x86 -fexcess-precision=fast
56865         Problem reported by Eli Zaretskii in:
56866         https://lists.gnu.org/r/emacs-devel/2018-08/msg00380.html
56867         * src/data.c (arithcompare): Work around incompatibility
56868         between gcc -fexcess-precision=fast and the C standard on x86,
56869         by capturing the results of floating-point comparisons before
56870         the excess precision spontaneously decays.  Although this fix
56871         might not work in general, it does work here and is probably
56872         good enough for the platforms we care about.
56874 2018-08-12  Stephen Berman  <stephen.berman@gmx.net>
56876         Update and improve todo-mode item insertion and editing code
56878         * lisp/calendar/todo-mode.el (todo-insert-item--param-key-alist)
56879         (todo-insert-item--keyof, todo-insert-item--this-key)
56880         (todo-insert-item--keys-so-far, todo-insert-item--args)
56881         (todo-insert-item--argleft. todo-insert-item--argsleft)
56882         (todo-insert-item--newargsleft, todo-insert-item--apply-args)
56883         (todo-edit-item--param-key-alist, todo-edit-item--prompt)
56884         (todo-edit-item--date-param-key-alist)
56885         (todo-edit-done-item--param-key-alist): Remove.
56886         (todo-insert-item--next-param): Reimplement to take advantage of
56887         lexical binding.
56888         (todo-insert-item): Adjust to new implementation of the above.
56889         (todo-edit-item--next-key): Incorporate now removed global
56890         variables, adjust signature accordingly, update use of pcase.
56891         (todo-edit-item): Adjust to changed signature of the above.
56893 2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>
56895         Adjust .gdbinit to removal of misc objects
56897         * src/.gdbinit (xtype, xpr): Adjust.
56898         (xmisctype, xmiscfree): Remove.
56900 2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>
56902         Make mini-gmp safe for --enable-gcc-warnings
56904         * configure.ac (GMP_OBJ): When building mini-gmp, compile
56905         mini-gmp-emacs.c, not mini-gmp.c.
56906         * lib-src/etags.c (NDEBUG): Don't attempt to redefine, in
56907         case the builder compiles with -DNDEBUG.
56908         * src/conf_post.h (NDEBUG) [!ENABLE_CHECKING && !NDEBUG]: Define.
56909         This avoids bloat in mini-gmp-emacs.o.
56910         * src/mini-gmp-emacs.c: New file, which pacifies --enable-gcc-warnings.
56912 2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>
56914         Fix typo caught by zsh
56916         * lisp/Makefile.in (compile-clean): Fix typo; missing ";" (Bug#32423).
56918 2018-08-12  João Távora  <joaotavora@gmail.com>
56920         jsonrpc-shutdown's cleanup also kills stderr buffer
56922         * lisp/jsonrpc.el
56923         (Version): Bump to 1.0.6
56924         (jsonrpc-shutdown): Also kill stderr buffer
56926 2018-08-12  João Távora  <joaotavora@gmail.com>
56928         Revert "Make jsonrpc-shutdown a noop if process isn't running"
56930         This reverts commit c580443325a3d071625185876a8f28e04793c625.  It
56931         leads to situations where the sentinel hasn't run yet, which brings
56932         problems if the normal process isn't running, but the stderr
56933         pseudo-process still is.
56935         * lisp/jsonrpc.el (jsonrpc-shutdown): Always enter loop.
56937 2018-08-12  Andreas Schwab  <schwab@linux-m68k.org>
56939         Ensure no padding after union vectorlike_header
56941         Instead of increasing GCALIGNMENT align union vectorlike_header by
56942         adding a Lisp_Object member.
56944         * src/lisp.h (GCALIGNMENT): Revert last change.
56945         (union vectorlike_header): Add align member.
56946         (header_size): Verify the same as sizeof (union
56947         vectorlike_header)
56949 2018-08-12  Andreas Schwab  <schwab@linux-m68k.org>
56951         Avoid padding after union vectorlike_header
56953         The PSEUDOVECTORSIZE macro requires that the first member after union
56954         vectorlike_header has the same offset in all pseudo vector structures.
56956         * src/lisp.h (GCALIGNMENT) [!USE_LSB_TAG]: Use alignment of
56957         Lisp_Object.
56959 2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>
56961         New 'configure' arg --with-mini-gmp
56963         * configure.ac: It lets the builder override default of whether
56964         mini-gmp is used.  Use AC_SEARCH_LIBS as per Autoconf manual.
56966 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
56968         Update from Gnulib
56970         This incorporates:
56971         2018-08-11 verify: port 'assume' to traditional tools
56972         * build-aux/config.sub, lib/regcomp.c, lib/verify.h:
56973         Copy from Gnulib.
56974         * lib/gnulib.mk.in: Regenerate.
56976 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
56978         Remove stray union Lisp_Misc doc (Bug#32405#35).
56980 2018-08-11  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
56982         Simplify mark_object for pseudovectors
56984         Suggested by Pip Cet (Bug#32405#14).
56985         * src/alloc.c (mark_object): Remove unnecessary special cases for
56986         PVEC_MARKER, PVEC_BOOL_VECTOR, PVEC_MISC_PTR, PVEC_USER_PTR, and
56987         PVEC_FINALIZER.
56989         change is to free up an enum Lisp_Type tag value, a scarce
56991 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
56993         Turn misc objects into pseudovectors
56995         Eliminate the category of miscellaneous objects, and turn all
56996         such objects into pseudovectors.  The immediate motivation
56997         for this change is to free up an enum Lisp_Type tag value, a
56998         scarce resource that can be better used elsewhere.  However,
56999         this change is worthwhile in its own right, as it improves
57000         performance slightly on my platform, 0.3% faster for 'make
57001         compile-always' on Fedora 28, and it simplifies the garbage
57002         collector and interpreter (Bug#32405).
57003         * doc/lispref/internals.texi (Garbage Collection):
57004         * etc/NEWS:
57005         Document change to garbage-collect return value.
57006         * src/alloc.c (total_markers, total_free_markers):
57007         (union aligned_Lisp_Misc, MARKER_BLOCK_SIZE)
57008         (struct marker_block, marker_block, marker_block_index)
57009         (misc_free_list, allocate_misc, live_misc_holding)
57010         (live_misc_p, sweep_misc):
57011         * src/lisp.h (lisp_h_MARKERP, lisp_h_MISCP, MARKERP, MISCP)
57012         (Lisp_Misc, enum Lisp_Misc_Type, Lisp_Misc_Free)
57013         (Lisp_Misc_Marker, Lisp_Misc_Overlay, Lisp_Misc_Finalizer)
57014         (Lisp_Misc_Ptr, Lisp_Misc_User_Ptr, Lisp_Misc_Limit)
57015         (Lisp_Misc_Bignum)
57016         (XSETMISC, struct Lisp_Misc_Any, XMISCANY, XMISCTYPE)
57017         (struct Lisp_Free, union Lisp_Misc, XMISC):
57018         Remove.  All uses removed.
57019         (cleanup_vector): Clean up objects that were formerly misc
57020         and are now pseudovectors.
57021         (make_misc_ptr, build_overlay, Fmake_marker, build_marker)
57022         (make_bignum_str, make_number, make_pure_bignum)
57023         (make_user_ptr, Fmake_finalizer):
57024         Build as pseudovectors, not as misc objects.
57025         (mark_finalizer_list, queue_doomed_finalizers)
57026         (compact_undo_list, mark_overlay, mark_object)
57027         (unchain_dead_markers):
57028         Mark as vector-like objects, not as misc objects.
57029         (mark_maybe_object, mark_maybe_pointer, valid_lisp_object_p)
57030         (total_bytes_of_live_objects, survives_gc_p):
57031         * src/fns.c (sxhash):
57032         No need to worry about misc objects.
57033         (garbage_collect_1): Do not generate a 'misc' component.
57034         (syms_of_alloc): No need for 'misc' symbol.
57035         * src/buffer.c (overlays_at, overlays_in, overlay_touches_p)
57036         (overlay_strings, recenter_overlay_lists)
57037         (fix_start_end_in_overlays, fix_overlays_before)
57038         (Foverlay_lists, report_overlay_modification)
57039         (evaporate_overlays):
57040         * src/editfns.c (overlays_around):
57041         * src/data.c (Ftype_of):
57042         * src/fns.c (internal_equal):
57043         * src/lisp.h (mint_ptrp, xmint_pointer, FINALIZERP)
57044         (XFINALIZER, MARKERP, XMARKER, OVERLAYP, XOVERLAY, USER_PTRP)
57045         (XUSER_PTR, BIGNUMP, XBIGNUM):
57046         * src/print.c (print_vectorlike, print_object):
57047         * src/undo.c (record_marker_adjustments):
57048         * src/xdisp.c (load_overlay_strings):
57049         Formerly misc objects are now pseudovectors.
57050         * src/lisp.h (PVEC_MARKER, PVEC_OVERLAY, PVEC_FINALIZER)
57051         (PVEC_BIGNUM, PVEC_MISC_PTR, PVEC_USER_PTR):
57052         New constants, replacing their misc versions.  All uses changed.
57053         (struct Lisp_Marker, struct Lisp_Overlay, struct Lisp_Misc_Ptr)
57054         (struct Lisp_Bignum, struct Lisp_User_Ptr, struct Lisp_Finalizer):
57055         Make usable as a pseudovector by using a pseudovector header,
57056         replacing any DIY components, and putting Lisp_Object members
57057         first.  All uses changed.
57059 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
57061         Pacify Oracle Studio 12.6
57063         * src/xfns.c (Fx_frame_restack):
57064         * src/xterm.c (x_io_error_quitter): Omit unreachable code.
57066 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
57068         Reject old libgmp that lack mpz_roinit_n
57070         * configure.ac (HAVE_GMP): Port to RHEL 6.9, which has
57071         libgmp 3.5, which predates mpz_roinit_n.
57073 2018-08-11  Tom Tromey  <tom@tromey.com>
57075         Merge branch 'feature/bignum'
57077 2018-08-11  Michael Albinus  <michael.albinus@gmx.de>
57079         Fix Bug#32226, hopefully
57081         * test/lisp/shadowfile-tests.el: Set Tramp variables for hydra.
57083 2018-08-11  João Távora  <joaotavora@gmail.com>
57085         Fix blunder in last commit for lisp/jsonrpc.el
57087         * lisp/jsonrpc.el (jsonrpc-shutdown): Use jsonrpc--process.
57089 2018-08-11  João Távora  <joaotavora@gmail.com>
57091         Add option to cleanup buffers to jsonrpc-shutdown
57093         * lisp/jsonrpc.el (Version): Bump to 1.0.5
57094         (jsonrpc-shutdown): Add an option to cleanup process buffer.
57096 2018-08-11  João Távora  <joaotavora@gmail.com>
57098         * lisp/jsonrpc.el (jsonrpc-request): Clarify comment.
57100 2018-08-11  João Távora  <joaotavora@gmail.com>
57102         Make jsonrpc-shutdown a noop if process isn't running
57104         * lisp/jsonrpc.el
57105         (Version): Bump to 1.0.4
57106         (jsonrpc-shutdown): Noop if server isn't running.
57108 2018-08-11  Andy Moreton  <andrewjmoreton@gmail.com>
57110         Avoid calling vc backend if 'vc-display-status' is nil
57112         * lisp/vc/vc-hooks.el (vc-mode-line): Avoid calling VC backend if
57113         'vc-display-status' is nil.  (Bug#32225)
57115 2018-08-11  Eli Zaretskii  <eliz@gnu.org>
57117         Give auto-save-no-message a proper version attribute
57119         * lisp/cus-start.el (standard): Give 'auto-save-no-message' the
57120         proper version attribute.  (Bug#31039)
57122 2018-08-11  Federico Tedin  <federicotedin@gmail.com>
57124         Add variable auto-save-no-message
57126         * src/keyboard.c (auto-save-no-message): New variable, allows
57127         suppressing auto-saving message.
57128         * lisp/cus-start.el (standard): Add 'auto-save-no-message' variable.
57129         * doc/emacs/files.texi (Auto Save): Document 'auto-save-no-message'.
57130         * etc/NEWS: Mention 'auto-save-no-message'.  (Bug#31039)
57132 2018-08-11  Eli Zaretskii  <eliz@gnu.org>
57134         Reinstate the 'tis620-2533' character set
57136         This is a partial revert of "Make 'tis620-2533' character set be an
57137         alias for 'thai-iso8859-11'" commit from Jul 28, 2018.
57138         * lisp/international/mule-conf.el (tis620-2533): No longer an
57139         alias for thai-iso8859-11.  Instead, reinstate the original
57140         definition of tis620-2533, but without eight-bit-control in
57141         the :superset attribute.  For the details, see
57142         http://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00117.html
57143         and the surrounding discussions.
57144         * lisp/international/fontset.el (font-encoding-alist)
57145         (font-encoding-charset-alist): Reinstate tis620-2533 charset.
57146         * lisp/language/thai.el (thai-tis620): Restore the original
57147         :charset-list.
57148         ("Thai"): Restore the original nonascii-translation.
57149         * lisp/w32-fns.el: Use tis620-2533 instead of thai-iso8859-11.
57151 2018-08-11  Michael Albinus  <michael.albinus@gmx.de>
57153         Editorial changes in tramp.texi
57155         * doc/misc/tramp.texi (Bug Reports): Tramp buffers shall be
57156         appended as attachments to bug reports.
57157         (Frequently Asked Questions): New item, determining remote buffers.
57159 2018-08-11  Nikolaus Rath  <Nikolaus@rath.org>
57161         Make nnimap support IMAP namespaces
57163         * lisp/gnus/nnimap.el (nnimap-use-namespaces): Introduce new
57164         server variable.
57165         (nnimap-group-to-imap, nnimap-get-groups): Transform IMAP group
57166         names to Gnus group name by stripping / prefixing personal
57167         namespace prefix.
57168         (nnimap-open-connection-1): Ask server for namespaces and store
57169         them.
57171         * lisp/gnus/nnimap.el (nnimap-request-group-scan)
57172         (nnimap-request-create-group, nnimap-request-delete-group)
57173         (nnimap-request-rename-group, nnimap-request-move-article)
57174         (nnimap-process-expiry-targets)
57175         (nnimap-request-update-group-status)
57176         (nnimap-request-accept-article, nnimap-request-list)
57177         (nnimap-retrieve-group-data-early, nnimap-change-group)
57178         (nnimap-split-incoming-mail): Use nnimap-group-to-imap.
57179         (nnimap-group-to-imap): New function to map Gnus group names to
57180         IMAP folder names.  (Bug#21057)
57182 2018-08-11  Eli Zaretskii  <eliz@gnu.org>
57184         Improve error message when Hunspell dictionaries are misconfigured
57186         * lisp/textmodes/ispell.el
57187         (ispell-find-hunspell-dictionaries): Produce a meaningful
57188         error message if Hunspell dictionaries are misconfigured.
57189         (Bug#32319)
57191 2018-08-10  Glenn Morris  <rgm@gnu.org>
57193         Merge from origin/emacs-26
57195         71c92d8 Fix copying text properties by 'format'
57196         96be6b6 Improve error messages regarding initial-buffer-choice (Bug#2...
57197         00fb127 * test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01):...
57199         Conflicts:
57200                 lisp/startup.el
57202 2018-08-10  Glenn Morris  <rgm@gnu.org>
57204         Merge from origin/emacs-26
57206         5afbf62 Fix emacsclient check for term.el buffer (Bug#21041)
57207         5132a58 Improve documentation of 'set-fontset-font'
57208         cd90325 Improve documentation of M-?
57209         155a885 Reinterpret Esperanto characters in iso-transl as iso-8859-3.
57210         a0ef733 Fix Flyspell mode when several languages are mixed in a buffer
57212 2018-08-10  Michael Albinus  <michael.albinus@gmx.de>
57214         Another try to fix Bug#32226
57216         * test/lisp/shadowfile-tests.el (shadow-test06-literal-groups)
57217         (shadow-test07-regexp-groups, shadow-test08-shadow-todo)
57218         (shadow-test09-shadow-copy-files): Use `set-visited-file-name'
57219         instead of setting the value in `buffer-file-name' directly.
57220         (Bug#32226)
57222 2018-08-09  João Távora  <joaotavora@gmail.com>
57224         Allow completely disabling event logging in jsonrpc.el
57226         Pretty printing the event sexp can be very slow when very big messages
57227         are involved.
57229         * lisp/jsonrpc.el (Version): Bump to 1.0.3
57230         (jsonrpc-connection): Tweak docstring for
57231         jsonrpc--event-buffer-scrollback-size.
57232         (jsonrpc--log-event): Only log if max size is positive.
57234 2018-08-09  Tom Tromey  <tom@tromey.com>
57236         Fix up for bignums after merge from trunk
57238         * src/character.c (char_width): Use XFIXNUM.
57239         * src/editfns.c (styled_format): Use XFIXNUM, XUFIXNUM.
57240         * src/fns.c (Fproper_list_p): Use make_fixnum.
57242 2018-08-09  Tom Tromey  <tom@tromey.com>
57244         Merge remote-tracking branch 'origin/master' into feature/bignum
57246 2018-08-09  Tom Tromey  <tom@tromey.com>
57248         Use mpz_sgn rather than comparisons against 0
57250         * src/data.c (Fmod): Use mpz_sgn.
57251         * src/lisp.h (NATNUMP): Use mpz_sgn.
57253 2018-08-09  Andy Moreton  <andrewjmoreton@gmail.com>
57255         Do not use GMP_NUMB_BITS
57257         * src/alloc.c (make_number): Use mp_bits_per_limb, not GMP_NUMB_BITS.
57259 2018-08-09  Charles A. Roelli  <charles@aurox.ch>
57261         Update src/{ns,mac}*.m to use bignum-compatible macros
57263         * src/nsterm.m:
57264         * src/nsselect.m:
57265         * src/nsmenu.m:
57266         * src/nsimage.m:
57267         * src/nsfont.m:
57268         * src/nsfns.m:
57269         * src/macfont.m: Replace
57270         "make_number"           -> "make_fixnum",
57271         "XINT"                  -> "XFIXNUM",
57272         "XFASTINT"              -> "XFIXNAT",
57273         "TYPE_RANGED_INTEGERP"  -> "TYPE_RANGED_FIXNUMP",
57274         "RANGED_INTEGERP"       -> "RANGED_FIXNUMP",
57275         "CHECK_NATNUM"          -> "CHECK_FIXNAT",
57276         "CHECK_NUMBER"          -> "CHECK_FIXNUM",
57277         "INTEGERP"              -> "FIXNUMP",
57278         "NUMBERP"               -> "FIXED_OR_FLOATP",
57279         as done in the following changes:
57280         2018-07-06 Rename integerp->fixnum, etc, in preparation
57281         for bignums (42fe787b)
57282         2018-08-07 More macro renamings for bignum (d1ec3a0a)
57284 2018-08-09  Michael Albinus  <michael.albinus@gmx.de>
57286         Fix Bug#32304
57288         * test/lisp/net/tramp-tests.el (tramp-test45-unload):
57289         Handle tramp-archive autoloaded objects.  Remove tag :unstable.
57291 2018-08-09  João Távora  <joaotavora@gmail.com>
57293         Trim JSONRPC events buffer when it's too large
57295         * lisp/jsonrpc.el (Version): Bump to 1.0.2
57296         (jsonrpc--events-buffer-scrollback-size): New
57297         jsonrpc-connection slot.
57298         (jsonrpc--log-event): Use it to trim buffer.
57300 2018-08-09  João Távora  <joaotavora@gmail.com>
57302         Synchronous JSONRPC requests can be cancelled on user input
57304         This allows building more responsive interfaces, such as a snappier
57305         completion backend.
57307         * lisp/jsonrpc.el (Version): Bump to 1.0.1
57308         (jsonrpc-connection-receive): Don't warn when continuation isn't
57309         found.
57310         (jsonrpc-request): Add parameters CANCEL-ON-INPUT and
57311         CANCEL-ON-INPUT-RETVAL.
57313 2018-08-08  Paul Eggert  <eggert@cs.ucla.edu>
57315         Minor pseudovector allocation cleanups
57317         * src/alloc.c (VECTOR_BLOCK_SIZE, VECTOR_BLOCK_BYTES)
57318         (VBLOCK_BYTES_MIN, VBLOCK_BYTES_MAX, VECTOR_MAX_FREE_LIST_INDEX):
57319         Prefer enums to macros where either will do.
57320         (allocate_vector_from_block): Arg is ptrdiff_t, not size_t.
57321         Use eassume instead of eassert.
57322         (PSEUDOVEC_STRUCT): New macro, which verifies the already-existing
57323         assumption that the vector-like objects are small.
57324         (cleanup_vector): Use it.  Use if-then-else systematically;
57325         this lets GCC do a bit better job.
57327         2018-08-08  Paul Eggert  <eggert@cs.ucla.edu>
57329         * src/alloc.c (VBLOCK_BYTES_MAX): Use vroundup_ct, not
57330         vroundup, so that can be used in static assertions.
57332 2018-08-08  Tom Tromey  <tom@tromey.com>
57334         Fix mod-test-sum-test for bignums
57336         * test/src/emacs-module-tests.el (mod-test-sum-test): Update
57337         for bignums.
57339 2018-08-08  Tom Tromey  <tom@tromey.com>
57341         Handle leading "+" when converting string to bignum
57343         * src/lread.c (string_to_number): Skip leading "+" when calling
57344         make_bignum_str.
57346 2018-08-08  Tom Tromey  <tom@tromey.com>
57348         Use mpz_import in mpz_set_uintmax_slow
57350         * src/alloc.c (mpz_set_uintmax_slow): Use mpz_import.
57352 2018-08-08  Tom Tromey  <tom@tromey.com>
57354         Make purecopy work for bignums
57356         * src/alloc.c (make_pure_bignum): New function.
57357         (purecopy): Use it.
57359 2018-08-08  Michael Albinus  <michael.albinus@gmx.de>
57361         Fix problems in tramp-tests
57363         * test/lisp/net/tramp-tests.el (tramp-test45-unload): Filter out
57364         tramp-archive objects.  (Bug#32304)
57366         * test/lisp/net/tramp-tests.el (tramp-test43-auto-load):
57367         Add skip condition.  (Bug#32304)
57368         (tramp-test43-unload): Tag as :unstable.
57370 2018-08-08  Michael Albinus  <michael.albinus@gmx.de>
57372         Filter out tramp-archive objects in tramp-test45-unload
57374         * test/lisp/net/tramp-tests.el (tramp-test45-unload): Filter out
57375         tramp-archive objects.  (Bug#32304)
57377 2018-08-08  Michael Albinus  <michael.albinus@gmx.de>
57379         Tag expensive tests in tramp-archive.el  (Bug#30807)
57381         * test/lisp/net/tramp-archive-tests.el (tramp-archive-test44-auto-load)
57382         (tramp-archive-test44-delay-load): Rename.
57383         (tramp-archive-test07-file-exists-p)
57384         (tramp-archive-test08-file-local-copy)
57385         (tramp-archive-test09-insert-file-contents)
57386         (tramp-archive-test11-copy-file)
57387         (tramp-archive-test15-copy-directory)
57388         (tramp-archive-test16-directory-files)
57389         (tramp-archive-test17-insert-directory)
57390         (tramp-archive-test18-file-attributes)
57391         (tramp-archive-test19-directory-files-and-attributes)
57392         (tramp-archive-test20-file-modes)
57393         (tramp-archive-test21-file-links)
57394         (tramp-archive-test26-file-name-completion)
57395         (tramp-archive-test44-auto-load)
57396         (tramp-archive-test44-delay-load): Tag them as :expensive-test,
57397         because they run longer than 10 seconds.  (Bug#30807)
57399 2018-08-07  Tom Tromey  <tom@tromey.com>
57401         More macro renamings for bignum
57403         * src/alloc.c, src/bidi.c, src/buffer.c, src/buffer.h, src/bytecode.c,
57404         src/callint.c, src/callproc.c, src/casefiddle.c, src/casetab.c,
57405         src/category.c, src/ccl.c, src/character.c, src/character.h,
57406         src/charset.c, src/charset.h, src/chartab.c, src/cmds.c, src/coding.c,
57407         src/composite.c, src/composite.h, src/data.c, src/dbusbind.c,
57408         src/decompress.c, src/dired.c, src/dispextern.h, src/dispnew.c,
57409         src/disptab.h, src/doc.c, src/dosfns.c, src/editfns.c,
57410         src/emacs-module.c, src/emacs.c, src/eval.c, src/fileio.c,
57411         src/floatfns.c, src/fns.c, src/font.c, src/font.h, src/fontset.c,
57412         src/frame.c, src/frame.h, src/fringe.c, src/ftcrfont.c, src/ftfont.c,
57413         src/gfilenotify.c, src/gnutls.c, src/gtkutil.c, src/image.c,
57414         src/indent.c, src/insdel.c, src/intervals.c, src/json.c,
57415         src/keyboard.c, src/keymap.c, src/kqueue.c, src/lcms.c, src/lisp.h,
57416         src/lread.c, src/macros.c, src/marker.c, src/menu.c, src/minibuf.c,
57417         src/msdos.c, src/print.c, src/process.c, src/profiler.c, src/search.c,
57418         src/sound.c, src/syntax.c, src/syntax.h, src/sysdep.c, src/term.c,
57419         src/termhooks.h, src/textprop.c, src/undo.c, src/w32.c,
57420         src/w32console.c, src/w32fns.c, src/w32font.c, src/w32inevt.c,
57421         src/w32proc.c, src/w32select.c, src/w32term.c, src/w32term.h,
57422         src/w32uniscribe.c, src/window.c, src/xdisp.c, src/xfaces.c,
57423         src/xfns.c, src/xfont.c, src/xftfont.c, src/xmenu.c, src/xml.c,
57424         src/xrdb.c, src/xselect.c, src/xsettings.c, src/xterm.c, src/xwidget.c
57425         Rename XINT->XFIXNUM, XFASTINT->XFIXNAT, XUINT->XUFIXNUM.
57427 2018-08-07  Eli Zaretskii  <eliz@gnu.org>
57429         Avoid segfaults in jason-serialize on MS-Windows
57431         * src/json.c (Fjson_serialize): Free the string with
57432         'json_free', not 'free', since it was allocated with
57433         'json_malloc'.  (Bug#32381)
57435 2018-08-06  Stephen Berman  <stephen.berman@gmx.net>
57437         Fix todo-mode bug involving active region (bug#32379)
57439         * lisp/calendar/todo-mode.el (todo-forward-category)
57440         (todo-jump-to-category, todo-toggle-view-done-items)
57441         (todo-toggle-view-done-only, todo-edit-quit, todo-search)
57442         (todo-go-to-source-item, todo-diary-goto-entry): Deactivate the
57443         mark when the region is active.
57445 2018-08-06  Stephen Berman  <stephen.berman@gmx.net>
57447         Correct and improve part of previous todo-mode.el fix
57449         * lisp/calendar/todo-mode.el (todo-jump-to-category): Improve code
57450         by using bound-and-true-p.  This leaves a byte-compiler warning
57451         unsilenced, but ideally, there shouldn't be a warning here (see
57452         https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00131.html).
57453         (todo--fifiles-history): New variable.
57454         (todo-find-filtered-items-file): Use it to fix the filtered items
57455         files history list for completing-read.
57457 2018-08-06  Eli Zaretskii  <eliz@gnu.org>
57459         Fix the MS-Windows build as followup to Gnulib regex import
57461         * lib-src/ntlib.c (nl_langinfo): New function.  (Bug#32194)
57463 2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>
57465         Spruce up some regex-emacs comments
57467         * src/regex-emacs.c, src/regex-emacs.h: Update comments.
57469 2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>
57471         Remove always-0 struct re_pattern_buffer members
57473         * src/regex-emacs.h (struct re_pattern_buffer):
57474         Remove no_sub, not_bol, not_eol.  They are always zero.
57475         All uses removed, and code simplified.
57477 2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>
57479         Simplify regex-emacs by assuming Emacs syntax
57481         * src/regex-emacs.c (reg_syntax_t)
57482         (RE_BACKSLASH_ESCAPE_IN_LISTS, RE_BK_PLUS_QM)
57483         (RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS)
57484         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS)
57485         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE)
57486         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT)
57487         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS)
57488         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES)
57489         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING)
57490         (RE_NO_GNU_OPS, RE_FRUGAL, RE_SHY_GROUPS)
57491         (RE_NO_NEWLINE_ANCHOR, RE_SYNTAX_EMACS, RE_TRANSLATE_P):
57492         Remove.  All uses removed and resulting code simplified.
57493         (TRANSLATE): Treat nil as an absent translation table, not zero.
57494         All uses changed.
57496 2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>
57498         Simplify regex-emacs code by assuming Emacs
57500         * src/regex-emacs.c: Omit no-longer-needed AIX code.
57501         Don’t ignore GCC warnings.
57502         Include regex-emacs.h immediately after config.h,
57503         to test that it’s independent.
57504         Omit the "#ifndef emacs" and "#ifdef REGEX_MALLOC" and
57505         "#if WIDE_CHAR_SUPPORT" or "#ifdef _REGEX_RE_COMP",
57506         code, as we are no longer interested in compiling outside
57507         Emacs (with or without debugging or native wide char support)
57508         or in avoiding alloca.
57509         (REGEX_EMACS_DEBUG, regex_emacs_debug): Rename from DEBUG and debug,
57510         to avoid collision with other DEBUGS.  All uses changed.
57511         In debugging output, change %ld and %zd to %zu when appropriate.
57512         No need to include stddef.h, stdlib.h, sys/types.h, wchar.h,
57513         wctype.h, locale/localeinfo.h, locale/elem-hash.h, langinfo.h,
57514         libintl.h, unistd.h, stdbool.h, string.h, stdio.h, assert.h.
57515         All uses of assert changed to eassert.
57516         (RE_DUP_MAX, reg_syntax_t, RE_BACKSLASH_ESCAPE_IN_LISTS)
57517         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS)
57518         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS, RE_DOT_NEWLINE)
57519         (RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE, RE_INTERVALS)
57520         (RE_LIMITED_OPS, RE_NEWLINE_ALT, RE_NO_BK_BRACES)
57521         (RE_NO_BK_PARENS, RE_NO_BK_REFS, RE_NO_BK_VBAR)
57522         (RE_NO_EMPTY_RANGES, RE_UNMATCHED_RIGHT_PAREN_ORD)
57523         (RE_NO_POSIX_BACKTRACKING, RE_NO_GNU_OPS, RE_FRUGAL)
57524         (RE_SHY_GROUPS, RE_NO_NEWLINE_ANCHOR, RE_SYNTAX_EMACS)
57525         (REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE)
57526         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN)
57527         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT)
57528         (REG_EEND, REG_ESIZE, REG_ERPAREN, REG_ERANGEX, REG_ESIZEBR)
57529         (reg_errcode_t, REGS_UNALLOCATED, REGS_REALLOCATE, REGS_FIXED)
57530         (RE_NREGS, RE_TRANSLATE, RE_TRANSLATE_P):
57531         Move here from regex-emacs.h.
57532         (RE_NREGS): Define unconditionally.
57533         (boolean): Remove.  All uses replaced by bool.
57534         (WIDE_CHAR_SUPPORT, regfree, regexec, regcomp, regerror):
57535         (re_set_syntax, re_syntax_options, WEAK_ALIAS, gettext, gettext_noop):
57536         Remove.  All uses removed.
57537         (malloc, realloc, free): Do not redefine.  Adjust all callers
57538         to use xmalloc, xrealloc, xfree instead.
57539         (re_error_msgid): Use C99 to avoid need to keep in same order
57540         as reg_error_t.
57541         (REGEX_USE_SAFE_ALLOCA): Simplify by using USE_SAFE_ALLOCA.
57542         (REGEX_ALLOCATE, REGEX_REALLOCATE, REGEX_FREE, REGEX_ALLOCATE_STACK)
57543         (REGEX_REALLOCATE_STACK, REGEX_FREE_STACK): Remove.
57544         All callers changed to use the non-REGEX_MALLOC version.
57545         (REGEX_TALLOC): Remove.  All callers changed to use SAFE_ALLOCA.
57546         (re_set_syntax): Remove; unused.
57547         (MATCH_MAY_ALLOCATE): Remove; now always true.  All uses simplified.
57548         (INIT_FAILURE_ALLOC): Define unconditionally.
57549         (re_compile_fastmap): Now static.
57550         (re_compile_pattern): Avoid unnecessary cast.
57551         * src/regex-emacs.h (EMACS_REGEX_H): Renamed from _REGEX_H to
57552         avoid possible collision with glibc.
57553         Don’t include sys/types.h.  All uses of ssize_t changed to ptrdiff_t.
57554         Don’t worry about C++ or VMS.
57555         Assume emacs is defined and that _REGEX_RE_COMP and WIDE_CHAR_SUPPORT
57556         are not.
57557         Define struct re_registers before including lisp.h.
57558         (REG_ENOSYS, RE_TRANSLATE_TYPE): Remove; all uses replaced by
57559         Lisp_Object.
57560         (regoff_t): Remove.  All uses replaced with ptrdiff_t.
57561         (re_match, regcomp, regexec, regerror, regfree):
57562         Remove decl of nonexistent functions.
57563         (RE_DEBUG, RE_SYNTAX_AWK, RE_SYNTAX_GNU_AWK)
57564         (RE_SYNTAX_POSIX_AWK, RE_SYNTAX_GREP, RE_SYNTAX_EGREP)
57565         (RE_SYNTAX_POSIX_EGREP, RE_SYNTAX_ED, RE_SYNTAX_SED)
57566         (_RE_SYNTAX_POSIX_COMMON, RE_SYNTAX_POSIX_BASIC)
57567         (RE_SYNTAX_POSIX_MINIMAL_BASIC, RE_SYNTAX_POSIX_EXTENDED)
57568         (RE_SYNTAX_POSIX_MINIMAL_EXTENDED, REG_EXTENDED, REG_ICASE)
57569         (REG_NEWLINE, REG_NOSUB, REG_NOTBOL, REG_NOTEOL, regmatch_t):
57570         Remove; unused.
57571         * src/search.c (Fset_match_data): Simplify range test now that
57572         we know it’s ptrdiff_t.
57574 2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>
57576         Use Gnulib regex for lib-src
57578         Emacs regular expressions forked from everyone else long ago.
57579         This makes it official and should allow simplification later.
57580         etags.c now uses the glibc regex API, falling back on a
57581         Gnulib-supplied substitute lib/regex.c if necessary.
57582         Emacs proper now uses its own regular expression module.
57583         Although this patch may look dauntingly large, most of it
57584         was generated automatically by admin/merge-gnulib
57585         and contains an exact copy of the glibc regex source,
57586         and the by-hand changes do not grow the Emacs source code.
57587         * admin/merge-gnulib (GNULIB_MODULES): Add regex.
57588         (AVOIDED_MODULES): Add btowc, langinfo, lock, mbrtowc, mbsinit,
57589         nl_langinfo, wchar, wcrtomb, wctype-h.
57590         * lib-src/Makefile.in (regex-emacs.o): Remove; Gnulib does it now.
57591         (etags_deps, etags_libs): Remove regex-emacs.o.
57592         * lib-src/etags.c: Go back to including regex.h.
57593         (add_regex): Use unsigned char translation array,
57594         since glibc regex requires that.
57595         * lib/Makefile.in (not_emacs_OBJECTS, for_emacs_OBJECTS): New macros.
57596         (libegnu_a_OBJECTS): Use them, to avoid building e-regex.o.
57597         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
57598         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
57599         * lib/regex_internal.h, lib/regexec.c, m4/builtin-expect.m4:
57600         * m4/eealloc.m4, m4/glibc21.m4, m4/mbstate_t.m4, m4/regex.m4:
57601         New files, copied from Gnulib.
57602         * src/regex-emacs.h, src/conf_post.h:
57603         (RE_TRANSLATE_TYPE, RE_TRANSLATE, RE_TRANSLATE_P):
57604         Move from src/conf_post.h to src/regex-emacs.h,
57605         so that they don’t interfere with compiling lib/regex.c.
57607 2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>
57609         Rename src/regex.c to src/regex-emacs.c.
57611         This is in preparation for using Gnulib regex for etags,
57612         to avoid collisions in include directives.
57613         * src/regex-emacs.c: Rename from src/regex.c.
57614         * src/regex-emacs.h: Rename from src/regex.h.  All uses changed.
57615         * test/src/regex-emacs-tests.el: Rename from test/src/regex-tests.el.
57617 2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>
57619         Update from gnulib
57621         This incorporates:
57622         2018-08-05 Fix link error regarding 'rpl_environ'
57623         * build-aux/config.guess, lib/unistd.in.h, lib/warn-on-use.h:
57624         * m4/extern-inline.m4: Copy from Gnulib.
57626 2018-08-05  Andy Moreton  <andrewjmoreton@gmail.com>
57628         Fix test and comment in CCL change
57630         * lisp/international/ccl.el (ccl-fixnum): Update comment.
57631         * test/lisp/international/ccl-tests.el (prog-midi-dump): Add
57632         trailing space to expected result.
57634 2018-08-04  Mike Kupfer  <mkupfer@alum.berkeley.edu>
57635             Jeffrey C Honig  <jch@honig.net>
57637         Fix mh-redistribute to work with nmh 1.5 and identities (SF#268)
57640         * lisp/mh-e/mh-comp.el (mh-redistribute): Add a non-optional
57641         identity parameter.  Use mh-bare-components to generate a draft,
57642         then apply identity-specific settings.  Add more details to the
57643         "Resent" annotation line.
57644         (mh-dist-formfile): New.
57645         (mh-bare-components): Add a formfile argument.
57646         (mh-edit-again, mh-send-sub): Track the change to
57647         mh-bare-components.
57648         * lisp/mh-e/mh-identity.el (mh-select-identity)
57649         (mh-identity-field): New.
57651 2018-08-04  Tom Tromey  <tom@tromey.com>
57653         Fix hash functions for bignums
57655         * src/fns.c (cmpfn_eql, hashfn_eql): Handle bignums.
57656         (sxhash_bignum): New function.
57657         (sxhash): Use it.
57658         * test/src/fns-tests.el (test-bignum-hash): New test.
57660 2018-08-04  Tom Tromey  <tom@tromey.com>
57662         Fix bignum comparisons with NaN
57664         * src/data.c (isnan): Move earlier.
57665         (bignumcompare): Explicitly handle NaN.
57666         * test/src/data-tests.el (data-tests-min): Add NaN tests
57667         for bignum.
57668         (data-check-sign): Fix for previous patch.
57669         * test/src/fns-tests.el (test-bignum-eql): Add NaN test.
57671 2018-08-04  Andy Moreton  <andrewjmoreton@gmail.com>
57673         Make bignums work better when EMACS_INT is larger than long
57675         * lisp/international/ccl.el (ccl-fixnum): New function.
57676         (ccl-embed-data, ccl-embed-current-address, ccl-dump): Use it.
57677         * src/alloc.c (make_number): Handle case where EMACS_INT is
57678         larger than long.
57679         * src/data.c (bignumcompare): Handle case where EMACS_INT is
57680         larger than long.
57681         (arith_driver): Likewise.  Coerce markers.
57682         (float_arith_driver): Coerce markers.
57683         (Flogcount): Use mpz_sgn.
57684         (ash_lsh_impl): Fix bugs.
57685         (Fsub1): Fix underflow check.
57686         * src/lisp.h (NUMBERP): Don't check BIGNUMP.
57687         (CHECK_FIXNUM_OR_FLOAT_COERCE_MARKER): Fix indentation.
57688         * test/lisp/international/ccl-tests.el: New file.
57690 2018-08-04  Stephen Berman  <stephen.berman@gmx.net>
57692         Fix assorted todo-mode bugs (bug#32366)
57694         * lisp/calendar/todo-mode.el (todo-forward-category): Fix
57695         calculation for skipping backward over archived categories.
57696         (todo-jump-to-category): When hl-line-mode is enabled, force
57697         highlighting to compensate for apparent failure of
57698         post-command-hook to run.
57699         (todo-insert-item--basic): Prevent inserting a new todo item in an
57700         archive category.
57701         (todo-delete-item): Ensure done items separator disappears when
57702         the last done item is deleted.
57703         (todo-edit-item--header): Fix calculation for choosing a month
57704         prior to the current one.
57705         (todo-find-filtered-items-file): Fix use of completing-read,
57706         correcting typo in default value passed to it and confining
57707         history to filtered items files.
57708         (todo-go-to-source-item): Make a noop when point is not on an item.
57709         (todo-save-filtered-items-buffer): Make buffer read-only after
57710         saving and improve buffer name.
57711         (todo-key-bindings-t+a+f): Remove three mistakenly included bindings.
57712         (todo-key-bindings-t+a): Add two mistakenly omitted bindings.
57714 2018-08-04  Noam Postavsky  <npostavs@gmail.com>
57716         Respect non-saved value of `read-short-answer' (Bug#31782)
57718         * lisp/emacs-lisp/map-ynp.el (read-answer-short): Add an `auto'
57719         setting.
57720         (read-answer): Check the function cell of `yes-or-no-p' when
57721         `read-answer-short' is `auto' rather than calling
57722         `custom-reevaluate-setting' which would reset the option to its saved
57723         value.
57725 2018-08-04  Noam Postavsky  <npostavs@gmail.com>
57727         Merge from emacs-26
57729         f0b8e64fb7 Avoid assertion violations in maybe_produce_line_number
57730         7669bf7880 Avoid assertion violations in set_text_properties_1
57732 2018-08-04  Noam Postavsky  <npostavs@gmail.com>
57734         Merge from emacs-26
57736         951c5a127f Fix wdired test failure when byte compiled (bug#32318)
57737         0252f7311f * test/lisp/wdired-tests.el (wdired-test-symlink-name): Ne...
57738         dd51434714 Fix url's thing-at-point beginning-op (Bug#32028)
57740 2018-08-04  Michael Albinus  <michael.albinus@gmx.de>
57742         * lisp/international/mule-cmds.el (universal-coding-system-argument):
57744         Use `current-input-mode' for determining quit char.
57746 2018-08-04  Michael Albinus  <michael.albinus@gmx.de>
57748         Rename Tramp method "owncloud" to "nextcloud"
57750         In the spirit of freedom, "nextcloud" is preferred over "owncloud".
57752         * doc/misc/tramp.texi (Quick Start Guide, GVFS based methods):
57753         * etc/NEWS: Rename "owncloud" method to "nextcloud".
57755         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods, tramp-goa-methods)
57756         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
57757         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
57758         (tramp-get-goa-accounts): Use "nextcloud" instead of "owncloud".
57759         (tramp-gvfs-nextcloud-default-prefix)
57760         (tramp-gvfs-nextcloud-default-prefix-regexp): Rename them.  Adapt
57761         all callees.
57763         * test/lisp/net/tramp-tests.el (tramp--test-nextcloud-p):
57764         Rename from `tramp--test-owncloud-p'.
57765         (tramp-test11-copy-file, tramp-test12-rename-file): Use it.
57767 2018-08-03  Ken Brown  <kbrown@cornell.edu>
57769         Fix a filenotify test failure on Cygwin
57771         * test/lisp/filenotify-tests.el
57772         (file-notify-test04-autorevert): Increase a sleep-for time
57773         from 2 to 3 on Cygwin.  This avoids sporadic failures of the
57774         test.  (Bug#32363)
57776 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
57778         Merge branch 'scratch/backtrace-mode'
57780 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
57782         Fix some documentation formatting nits
57784         * doc/misc/ert.texi (Running Tests Interactively): Correct
57785         Elisp manual title in xref.
57786         * doc/lispref/edebug.texi (Edebug Misc): Use single argument
57787         form of xref.
57788         * doc/lispref/debugging.texi (Backtraces): Add comma and
57789         period after xref braces.
57790         (Backtraces): Correct Emacs manual title.
57791         (Internals of Debugger): Add a space before period.
57793 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
57795         Fix typo in edebug-backtrace-hide-instrumentation's docstring.
57797         * lisp/emacs-lisp/edebug.el (edebug-backtrace-hide-instrumentation):
57798         Fix docstring copypasta.
57800 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
57802         Give two backtrace-mode commands better names
57804         * lisp/emacs-lisp/backtrace.el (backtrace-mode-map): Update
57805         bindings and menu items with new function names.
57806         (backtrace-collapse, backtrace-pretty-print)
57807         (backtrace--collapse, backtrace--pretty-print): Remove functions.
57808         (backtrace-single-line, backtrace-multi-line)
57809         (backtrace--single-line, backtrace--multi-line): New functions.
57810         (backtrace--reformat-sexp): Remove 'error-message' argument.
57811         * test/lisp/emacs-lisp/backtrace-tests.el
57812         (backtrace-tests--pretty-print-and-collapse): Remove.
57813         (backtrace-tests--single-and-multi-line): New test.
57814         (backtrace-tests--verify-pp-and-collapse): Remove.
57815         (backtrace-tests--verify-single-and-multi-line): New function.
57817 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
57819         Move 'backtrace' from subr.el to backtrace.el
57821         * lisp/subr.el (backtrace, backtrace--print-frame): Remove functions.
57822         * lisp/emacs-lisp/backtrace.el (backtrace-backtrace): Remove function.
57823         (backtrace): New function.
57824         (backtrace-to-string): Make argument optional.
57825         * doc/lispref/debugging.texi (Internals of Debugger): Update
57826         description of 'backtrace' function.
57828 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
57830         Add new commands to Edebug backtraces
57832         Add commands to go to source if available, and to show and hide
57833         Edebug's instrumentation.  Make Edebug pop to backtraces instead of
57834         displaying them, which makes Edebug consistent with the behavior of
57835         ERT and the Lisp Debugger.
57836         * doc/lispref/edebug.texi (Edebug Misc): Document when and how you can
57837         jump to source code from an Edebug backtrace.  Document
57838         'edebug-backtrace-show-instrumentation' and
57839         'edebug-backtrace-hide-instrumentation'.
57840         * lisp/emacs-lisp/backtrace.el (backtrace-frame): Add comments to
57841         describe the fields.
57842         (backtrace-goto-source-functions): New
57843         abnormal hook.
57844         (backtrace-mode-map): Add keybinding and menu item for
57845         backtrace-goto-source.
57846         (backtrace--flags-width): New constant.
57847         (backtrace-update-flags): Use it.
57848         (backtrace-goto-source): New command.
57849         (backtrace--print-flags): Print the :source-available flag.
57850         * lisp/emacs-lisp/edebug.el (edebug-backtrace-frames)
57851         (edebug-instrumented-backtrace-frames): New variables.
57852         (edebug-backtrace, edebug--backtrace-frames): Remove functions.
57853         (edebug-pop-to-backtrace, edebug--backtrace-goto-source)
57854         (edebug--add-source-info): New functions.
57855         (edebug-mode-map, edebug-mode-menus): Replace 'edebug-backtrace' with
57856         'edebug-pop-to-backtrace'.
57857         (edebug--strip-instrumentation): New function.
57858         (edebug--unwrap-and-add-info): Remove.
57859         (edebug-unwrap-frame, edebug-add-source-info): New functions.
57860         (edebug-backtrace-show-instrumentation)
57861         (edebug-backtrace-hide-instrumentation): New commands.
57862         * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-check-keymap):
57863         Verify keybindings in backtrace-mode-map used by new test.
57864         Update with binding for 'edebug-pop-to-backtrace'.
57865         (edebug-tests-backtrace-goto-source): New test.
57866         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el
57867         (edebug-test-code-range): Add a new stop point.
57869 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
57871         Add a menu for backtrace-mode
57873         * lisp/emacs-lisp/backtrace.el (backtrace-mode-map): Add a menu.
57874         * lisp/emacs-lisp/debug.el (debugger-mode-map): Change menu text for
57875         'backtrace-help-follow-symbol' to better describe what it does.
57877 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
57879         * lisp/emacs-lisp/debug.el (debugger-mode-map): Use easy-menu-define.
57881 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
57883         Add new command to expand all "..."s in a backtrace frame
57885         * doc/lispref/debugging.texi (Backtraces): Document new keybinding.
57886         * lisp/emacs-lisp/backtrace.el (backtrace-line-length): Add the
57887         option of unlimited line length.
57888         (backtrace--match-ellipsis-in-string): Add a comment to explain
57889         why this function is necessary.
57890         (backtrace-mode-map): Add keybinding for 'backtrace-expand-ellipses'.
57891         (backtrace-expand-ellipsis): Use 'cl-print-to-string-with-limit'.
57892         (backtrace-expand-ellipses): New command.
57893         (backtrace-print-to-string): Use 'cl-print-to-string-with-limit'.
57894         Tag the printed forms with a gensym instead of the values of
57895         print-length and print-level.
57896         (backtrace--print): Add 'stream' argument.
57897         * test/lisp/emacs-lisp/backtrace-tests.el
57898         (backtrace-tests--expand-ellipsis): Make the test less dependent
57899         on the implementation.
57900         (backtrace-tests--expand-ellipses): New test.
57902         Move the fitting of a printed representation into a limited number of
57903         characters using appropriate values of print-level and print-length
57904         from 'backtrace-print-to-string' to cl-print.el for future use by
57905         other parts of Emacs.
57906         * lisp/emacs-lisp/cl-print.el (cl-print-to-string-with-limit): New
57907         function.
57908         * test/lisp/emacs-lisp/cl-print-tests.el
57909         (cl-print-tests-print-to-string-with-limit): New test.
57911 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
57913         Change keybinding for backtrace-collapse from '=' to '-'
57915         '+' and '-' make a more intuitive pair of keybindings for
57916         backtrace-pretty-print and backtrace-collapse than '+' and '='.
57917         * lisp/emacs-lisp/backtrace.el (backtrace-mode-map):
57918         * doc/lispref/debugging.texi (Backtraces): Change
57919         keybinding for backtrace-collapse.
57921 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
57923         Add more tests for backtrace-mode
57925         * test/lisp/emacs-lisp/backtrace-tests.el (backtrace-tests--variables)
57926         (backtrace-tests--backward-frame, backtrace-tests--forward-frame)
57927         (backtrace-tests--pretty-print-and-collapse)
57928         (backtrace-tests--verify-pp-and-collapse)
57929         (backtrace-tests--print-circle, backtrace-tests--make-regexp)
57930         (backtrace-tests--expand-ellipsis): New tests.
57931         (backtrace-tests--to-string): Use backtrace-tests--make-backtrace.
57932         (backtrace-tests--get-substring): New function.
57934         Change the method of generating sample backtraces in backtrace tests
57935         to work whether or not the tests are byte-compiled.
57936         * test/lisp/emacs-lisp/backtrace-tests.el (backtrace-tests--func1)
57937         (backtrace-tests--func2, backtrace-tests--func3)
57938         (backtrace-tests--create-backtrace-frames): Remove.
57939         (backtrace-tests--uncompiled-functions): New constant.
57940         (backtrace-tests--make-backtrace, backtrace-tests--setup-buffer):
57941         New functions.
57942         (backtrace-tests--backtrace-lines)
57943         (backtrace-tests--backtrace-lines-with-locals): New functions.
57944         (backtrace-tests--line-count): New constant.
57945         (backtrace-tests--result, backtrace-tests--result-with-locals):
57946         New functions.
57947         (backtrace-tests--header): New constant.
57948         (backtrace-tests--insert-header): Use backtrace-tests--header.
57949         (backtrace-tests--with-buffer): Remove.
57951 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
57953         Add link in backtraces to position in buffer being evaluated (bug#14081)
57955         * lisp/emacs-lisp/backtrace.el (backtrace-frame): Add buffer field.
57956         (backtrace-get-frames): Set buffer field of frame.
57957         (backtrace-buffer-pos): New button type.
57958         (backtrace--pop-to-buffer-pos): New function.
57959         (backtrace--print-func-and-args): Create a button for the buffer
57960         position if it is set.
57962 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
57964         Add links in backtraces to functions written in C (bug#25393)
57966         * lisp/emacs-lisp/backtrace.el (backtrace--print-func-and-args):
57967         Look up file names for built-in functions with evaluated arguments.
57969 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
57971         Add prefix argument to backtrace-toggle-print-circle
57973         With prefix argument, toggle print-circle for the whole buffer.
57974         * lisp/emacs-lisp/backtrace.el (backtrace-toggle-print-circle): Add
57975         universal prefix argument.
57976         (backtrace--toggle-feature): Add new argument 'all' to toggle all
57977         frames.
57978         (backtrace--set-feature): New function.
57979         (backtrace-mode): Use indent functions from Lisp modes.
57981 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
57983         Lazily print backtrace frame local variables
57985         Instead of printing the local variables for all frames when the
57986         backtrace buffer is created, print them when they are first made
57987         visible.  Add a prefix argument to backtrace-toggle-locals to toggle
57988         local variables display for the entire buffer.
57989         * lisp/emacs-lisp/backtrace.el (backtrace-view): Mention
57990         :show-locals in docstring.
57991         (backtrace-get-section-end): Remove function.
57992         (backtrace-toggle-locals): Add prefix argument.
57993         (backtrace--with-output-variables): Move before first use.
57994         (backtrace--set-frame-locals-visible): New function.
57995         (backtrace--set-locals-visible-overlay): New function.
57996         (backtrace--set-locals-visible): Remove function.
57997         (backtrace-toggle-feature): Remove TODO comment.
57998         (backtrace--print-locals): Skip printing the locals if they are not
57999         visible.
58001 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
58003         Always make buttons from function names in backtraces
58005         * lisp/emacs-lisp/backtrace.el (backtrace-view)
58006         (backtrace--print-func-and-args, backtrace-mode): Always
58007         make buttons.  Remove all uses of ':do-xrefs'.
58008         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Modify
58009         backtrace-view instead of setting it.
58010         * lisp/emacs-lisp/edebug.el (edebug-backtrace):
58011         * lisp/emacs-lisp/ert.el
58012         (ert-results-pop-to-backtrace-for-test-at-point):
58013         Remove initialization of backtrace-view.
58015 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
58017         Add backtrace-mode and use it in the debugger, ERT and Edebug
58019         * doc/lispref/debugging.texi (Using Debugger): Remove explanation of
58020         backtrace buffer.  Refer to new node.
58021         (Backtraces): New node.
58022         (Debugger Commands): Refer to new node.  Remove 'v'.
58023         * doc/lispref/edebug.texi (Edebug Misc): Refer to new node.
58024         * doc/misc/ert.texi (Running Tests Interactively): Refer to new node.
58026         * lisp/emacs-lisp/backtrace.el: New file.
58027         * test/lisp/emacs-lisp/backtrace-tests.el: New file.
58029         * lisp/emacs-lisp/debug.el: (debugger-buffer-state): New cl-defstruct.
58030         (debugger--restore-buffer-state): New function.
58031         (debug): Use a debugger-buffer-state object to save and restore buffer
58032         state.  Fix bug#15749 by leaving an unused buffer in debugger-mode,
58033         empty, instead of in fundamental-mode, and then when reusing a buffer,
58034         not calling debugger-mode if the buffer is already in debugger-mode.
58035         (debugger-insert-backtrace): Remove.
58036         (debugger-setup-buffer): Use backtrace-mode.
58037         (debugger--insert-header): New function.
58038         (debugger-continue, debugger-return-value): Change check for flags to
58039         use backtrace-frames.
58040         (debugger-frame-number): Determine backtrace frame number from
58041         backtrace-frames.
58042         (debugger--locals-visible-p, debugger--insert-locals)
58043         (debugger--show-locals, debugger--hide-locals)
58044         (debugger-toggle-locals): Remove.
58045         (debugger-mode-map): Make a child of backtrace-mode-map.  Move
58046         navigation commands to backtrace-mode-map.  Bind 'q' to debugger-quit
58047         instead of top-level.  Make Help Follow menu item call
58048         backtrace-help-follow-symbol.
58049         (debugger-mode): Derive from backtrace-mode.
58050         (debug-help-follow): Remove.  Move body of this function to
58051         'backtrace-help-follow-symbol' in backtrace.el.
58052         (debugger-quit): New function.
58054         * lisp/emacs-lisp/edebug.el (edebug-unwrap-results): Remove warning
58055         in docstring about circular results.
58056         (edebug-unwrap): Use pcase.
58057         (edebug-unwrap1): New function to unwrap circular objects.
58058         (edebug-unwrap*): Use it.
58059         (edebug--frame): New cl-defstruct.
58060         (edebug-backtrace): Call the buffer *Edebug Backtrace* and use
58061         backtrace-mode.  Get the frames from edebug--backtrace-frames.
58062         (edebug--backtrace-frames, edebug--unwrap-and-add-info)
58063         (edebug--symbol-not-prefixed-p): New functions.
58065         * lisp/emacs-lisp/lisp-mode.el
58066         (lisp-el-font-lock-keywords-for-backtraces)
58067         (lisp-el-font-lock-keywords-for-backtraces-1)
58068         (lisp-el-font-lock-keywords-for-backtraces-2): New constants.
58070         * lisp/emacs-lisp/ert.el (ert--print-backtrace): Remove.
58071         (ert--run-test-debugger): Use backtrace-get-frames.
58072         (ert-run-tests-batch): Use backtrace-to-string.
58073         (ert-results-pop-to-backtrace-for-test-at-point): Use backtrace-mode.
58074         (ert--insert-backtrace-header): New function.
58076         * test/lisp/emacs-lisp/ert-tests.el (ert-test--which-file):
58077         Use backtrace-frame slot accessor.
58079 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
58081         Add methods for strings to cl-print
58083         * lisp/emacs-lisp/cl-print.el (cl-print-object) <string>: New method.
58084         (cl-print-object-contents) <string>: New method.
58085         (cl-print--find-sharing): Look in string property lists.
58087         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-3): Test
58088         printing of long strings.
58089         (cl-print-tests-4): Test printing of strings nested in other objects.
58090         (cl-print-tests-strings, cl-print-tests-ellipsis-string): New
58091         tests.
58093 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
58095         Support ellipsis expansion in cl-print
58097         * lisp/emacs-lisp/cl-print.el (cl-print-object-contents): New
58098         generic method.
58099         (cl-print-object-contents) <cons, vector,cl-structure-object>: New
58100         methods.
58101         (cl-print-object) <cons>: Use cl-print-insert-ellipsis.
58102         (cl-print-object) <vector, cl-structure-object>: Elide whole object if
58103         print-level exceeded.  Use cl-print-insert-ellipsis.
58104         (cl-print-insert-ellipsis, cl-print-propertize-ellipsis)
58105         (cl-print-expand-ellipsis): New functions.
58107         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-4): Test
58108         printing of objects nested in other objects.
58109         (cl-print-tests-strings, cl-print-tests-ellipsis-cons)
58110         (cl-print-tests-ellipsis-vector, cl-print-tests-ellipsis-struct)
58111         (cl-print-tests-ellipsis-circular): New tests.
58112         (cl-print-tests-check-ellipsis-expansion)
58113         (cl-print-tests-check-ellipsis-expansion-rx): New functions.
58115 2018-08-01  Tino Calancha  <tino.calancha@gmail.com>
58117         New commands to create an empty file
58119         Similarly as `create-directory', `dired-create-directory',
58120         the new commands create the parent dirs as needed (Bug#24150).
58121         * lisp/files.el (make-empty-file): New command.
58123         * lisp/dired-aux.el (dired-create-empty-file): New command.
58124         (dired--find-topmost-parent-dir): New function extracted
58125         from `dired-create-directory'.
58126         (dired-create-directory, dired-create-empty-file): Use it.
58128         * lisp/dired.el (dired-mode-map):
58129         Add menu entry for `dired-create-empty-file'.
58131         * doc/emacs/dired.texi (Misc Dired Features)
58132         * doc/lispref/files.texi (Create/Delete Dirs): Update manual.
58134 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
58136         Substitute a <ieee754.h> on hosts lacking it
58138         * .gitignore: Add lib/ieee754.h.
58139         * admin/merge-gnulib (GNULIB_MODULES): Add ieee754-h.
58140         * configure.ac: Remove ieee754.h check, as Gnulib now does that.
58141         * etc/NEWS: Mention this.
58142         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
58143         * lib/ieee754.in.h, m4/ieee754-h.m4: New files, from Gnulib.
58144         * src/lisp.h (IEEE_FLOATING_POINT): Now a macro so that it
58145         can be used in #if.
58146         * src/lread.c, src/print.c: Include <ieee754.h> if
58147         IEEE_FLOATING_POINT, not if HAVE_IEEE754_H.
58148         * src/lread.c (string_to_number):
58149         * src/print.c (float_to_string):
58150         Process NaNs only on IEEE hosts, and assume <ieee754.h>
58151         in that case.
58153 2018-08-01  Michael Albinus  <michael.albinus@gmx.de>
58155         Fix Bug#32325
58157         * lisp/net/tramp-sh.el (tramp-sh-handle-make-directory): In case
58158         of PARENTS flush also upper directories caches.  (Bug#32325)
58160 2018-08-01  Gemini Lasswell  <gazally@runbox.com>
58162         Fix Edebug spec for cl-macrolet (bug#29919)
58164         Add an Edebug matching function for cl-macrolet which keeps track of
58165         its bindings and treats them as macros without Edebug specs when found
58166         in the body of the expression.
58167         * lisp/emacs-lisp/edebug.el (edebug--cl-macrolet-defs): New variable.
58168         (edebug-list-form-args): Use it.
58169         (edebug--current-cl-macrolet-defs): New variable.
58170         (edebug-match-cl-macrolet-expr, edebug-match-cl-macrolet-name)
58171         (edebug-match-cl-macrolet-body): New functions.
58172         * lisp/emacs-lisp/cl-macs.el (cl-macrolet): Use cl-macrolet-expr
58173         for Edebug spec.
58174         * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-cl-macrolet):
58175         New test.
58176         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el
58177         (edebug-test-code-use-cl-macrolet): New function.
58179 2018-08-01  Stephen Berman  <stephen.berman@gmx.net>
58181         Fix todo-mode commands called on done items separator
58183         The done items separator is not reachable by todo-mode navigation
58184         commands, but it is e.g. by C-n and C-p.  Ensure that invoking
58185         todo-mode commands with point on the separator does not result in
58186         unexpected results, errors or file corruption (bug#32343).
58188         * lisp/calendar/todo-mode.el (todo-insert-item--basic): Make
58189         copying item and inserting item "here" noops when invoked on done
58190         items separator.  Consolidate error handling of these cases.  Also
58191         restrict "here" insertion to valid positions in the current
58192         category, since this is simpler than the previous behavior of
58193         inserting as the first item, which was moreover undocumented,
58194         counterintuitive and superfluous.
58195         (todo-set-item-priority, todo-move-item, todo-item-done)
58196         (todo-item-start, todo-item-end): Make noops when invoked on done
58197         items separator.
58199         * test/lisp/calendar/todo-mode-tests.el: Require ert-x.
58200         (todo-test--insert-item): Add formal parameters of
58201         todo-insert-item--basic.
58202         (todo-test--done-items-separator): New function.
58203         (todo-test-done-items-separator01-bol)
58204         (todo-test-done-items-separator01-eol)
58205         (todo-test-done-items-separator02-bol)
58206         (todo-test-done-items-separator02-eol)
58207         (todo-test-done-items-separator03-bol)
58208         (todo-test-done-items-separator03-eol)
58209         (todo-test-done-items-separator04-bol)
58210         (todo-test-done-items-separator04-eol)
58211         (todo-test-done-items-separator05-bol)
58212         (todo-test-done-items-separator05-eol)
58213         (todo-test-done-items-separator06-bol)
58214         (todo-test-done-items-separator06-eol)
58215         (todo-test-done-items-separator07): New tests.
58217 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
58219         Read and print NaN significand if <ieee754.h>
58221         * configure.ac: Check for ieee754.h.
58222         * doc/lispref/numbers.texi (Float Basics): Document
58223         that NaN string representation digits are machine-dependent.
58224         * etc/NEWS: Mention the change.
58225         * src/lread.c, src/print.c [HAVE_IEEE754_H]: Include ieee754.h.
58226         * src/lread.c (string_to_number) [HAVE_IEEE754_H]:
58227         * src/print.c (float_to_string) [HAVE_IEEE754_H]:
58228         Read and print NaN significand.
58230 2018-07-31  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
58232         Simplify by assuming C99 math.h isnan etc.
58234         These should be portable nowadays.
58235         * src/data.c (isnan): Remove.
58236         * src/floatfns.c (isfinite, isnan): Remove.
58237         * src/print.c: Include math.h, for isinf and isnan.
58238         (float_to_string): Simplify by using them.
58240 2018-07-31  Stephen Gildea  <stepheng+emacs@gildea.com>
58242         Reset mh-blacklist and mh-whitelist on folder undo
58244         * lisp/mh-e/mh-funcs.el (mh-undo-folder): Set mh-blacklist and mh-whitelist
58245         to nil, as is done with the other lists of pending operations.
58247 2018-07-30  Michael Albinus  <michael.albinus@gmx.de>
58249         Fix Bug#32304
58251         * lisp/net/tramp.el (tramp-handle-substitute-in-file-name):
58252         Handle special cas on Cygwin and MS-Windows.  (Bug#32304)
58254 2018-07-29  Noam Postavsky  <npostavs@gmail.com>
58256         * lisp/term.el (term-read-noecho): Mark obsolete.
58258 2018-07-29  Eli Zaretskii  <eliz@gnu.org>
58260         Avoid gettimeofday deprecation warnings with MinGW
58262         * nt/inc/ms-w32.h (__POSIX_2008_DEPRECATED)
58263         [__MINGW32_VERSION >= 5001000L]: Define to nothing, to avoid
58264         deprecation warnings about gettimeofday with mingw.org's MinGW
58265         runtime 5.1 and later.
58267 2018-07-29  Paul Eggert  <eggert@cs.ucla.edu>
58269         Merge from origin/emacs-26
58271         39d3e8b Fix last change in 'char_width'
58272         67679f0 Add initial tests for wdired.el
58274 2018-07-29  Tino Calancha  <tino.calancha@gmail.com>
58276         Prefer ?* to hide passwords
58278         It might be argued that a hidden string is more legible when using
58279         ?* as the hidden character instead of ?.
58280         For example, the following strings have the same length:
58281         "......"
58283         "******"
58285         It's slightly easier to visually count the number of characters in the second
58286         string (Bug#32220).
58288         * lisp/subr.el (read-passwd): Prefer ?* as default char instead of ?.
58289         * doc/lispref/minibuf.texi (Reading a Password): Update manual.
58291 2018-07-29  Stephen Berman  <stephen.berman@gmx.net>
58293         Handle symlinks in wdired.el when restoring filename property
58295         * lisp/wdired.el (wdired--restore-dired-filename-prop): If the
58296         file name is a symbolic link, only propertize the link name.  This
58297         prevents wdired-create-parentdirs from turning the link into a
58298         directory.
58300 2018-07-28  Stephen Berman  <stephen.berman@gmx.net>
58302         Fix bugs in wdired.el involving dired-filename property
58304         After every change in wdired-mode, put the dired-filename text
58305         property on the file name.  This ensures that changing some but not
58306         all characters in the name succeeds with non-nil
58307         wdired-use-interactive-rename (bug#32173) and it also ensures that
58308         changed names can be found (e.g. by dired-isearch-filenames) while
58309         still in wdired-mode.
58311         * lisp/wdired.el (wdired--restore-dired-filename-prop): New function.
58312         (wdired-change-to-wdired-mode): Add it to after-change-functions.
58313         (wdired-change-to-dired-mode): Remove it from after-change-functions.
58314         (wdired-finish-edit): Move invocation of
58315         wdired-change-to-dired-mode below invocation of wdired-do-renames,
58316         so that the latter runs wdired--restore-dired-filename-prop, but
58317         above the invocation of revert-buffer to avoid using
58318         wdired-revert, which changes back to wdired-mode.
58319         (wdired-search-and-rename): Wrap renaming in unwind-protect and if
58320         user types C-g when prompted to change the file name, make sure we
58321         return to dired-mode.
58323 2018-07-28  Eli Zaretskii  <eliz@gnu.org>
58325         Make 'tis620-2533' character set be an alias for 'thai-iso8859-11'
58327         * lisp/simple.el (what-cursor-position): Revert ad-hoc change
58328         to work around tis620-2533 charset.
58329         * lisp/w32-fns.el: Use thai-iso8859-11 instead of tis620-2533.
58330         * lisp/international/mule-conf.el (tis620-2533): Now an alias
58331         for thai-iso8859-11, not a separate character set.
58332         * lisp/international/fontset.el (charset-script-alist): Add
58333         thai-iso8859-11; fix entries for greek and hebrew.
58334         (font-encoding-alist, font-encoding-charset-alist): Use
58335         thai-iso8859-11 instead of tis620-2533.
58336         * lisp/descr-text.el (describe-char): Remove the ad-hoc code
58337         that assigns eight-bit-control characters to the eight-bit
58338         charset.
58340 2018-07-28  Glenn Morris  <rgm@gnu.org>
58342         Merge from origin/emacs-26
58344         bd52f37 (origin/emacs-26) ; Fix last change: only MinGW runtime 5.0.2...
58345         024d20f Fix compilation with mingw.org's MinGW 5.x headers
58346         38b6748 Update the list of special forms in the ELisp manual
58347         8579105 Don't fail to indent-sexp before a full sexp (Bug#31984)
58348         d24c5f2 Fix calls to modifications hooks in replace-buffer-contents
58349         71a9151 * src/character.c (char_width): Support glyphs with faces.  (...
58350         0feb673 Display raw bytes as belonging to 'eight-bit' charset
58351         2e2f00f ; * doc/emacs/mule.texi (International Chars): Fix last change.
58352         00561b5 Fix inaccurate text in the user manual
58353         5cfb7a3 Copyedits in tramp.texi, improved example with bash's readline
58354         6f8f358 Minor Tramp doc update
58355         2585fcb File Shadowing is not available on MS Windows
58356         39da592 ; Minor markup change in indent.texi
58357         2f00ffe ; bookmark-jump: Add comment about last change.
58359 2018-07-28  Phil Sainty  <psainty@orcon.net.nz>
58361         * lisp/vc/diff.el (diff-buffer-with-file): Support indirect buffers.
58363         (Bug#32195)
58365 2018-07-28  João Távora  <joaotavora@gmail.com>
58367         Fix @include directive in Flymake doc again
58369         Problem was reintroduced by commit titled:
58370         "Mention use of C-h . (display-local-help) in Flymake manual"
58372         * doc/misc/flymake.texi: Don't @include a relative path.
58374 2018-07-28  Martin Rudalics  <rudalics@gmx.at>
58376         Fix problem with 'scroll-bar-adjust-thumb-portion' nil (Bug#32002)
58378         * lisp/scroll-bar.el (scroll-bar-drag-1): Do not scroll window
58379         when its buffer is fully visible and
58380         'scroll-bar-adjust-thumb-portion' is nil (Bug#32002).
58382 2018-07-27  Ken Brown  <kbrown@cornell.edu>
58384         Fix file-name-case-insensitive-p on non-existent files
58386         * src/fileio.c (Ffile_name_case_insensitive_p): If the file
58387         doesn't exist, move up the filesystem tree until an existing
58388         directory is found.  Then test that directory for
58389         case-insensitivity.  (Bug#32246)
58391 2018-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
58393         * lisp/simple.el (event-apply-modifier): Map control+[ to C-[
58395 2018-07-26  Alan Mackenzie  <acm@muc.de>
58397         Correctly indent C++ brace lists in member init lists.
58399         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax; CASE 9B, CASE 9C): Set a
58400         limit for a backward search to the ":" introducing the member init list, when
58401         there is one, rather than the enclosing "{" or nil.
58403 2018-07-26  Paul Eggert  <eggert@cs.ucla.edu>
58405         * src/editfns.c (syms_of_editfns): Fix typo in previous change.
58407 2018-07-26  Paul Eggert  <eggert@cs.ucla.edu>
58409         %o and %x can now format signed integers
58411         Optionally treat integers as signed numbers with %o
58412         and %x format specifiers, instead of treating them as
58413         a machine-dependent two’s complement representation.
58414         This option is more machine-independent, allows formats
58415         like "#x%x" to be useful for reading later, and is
58416         better-insulated for future changes involving bignums.
58417         Setting the new variable ‘binary-as-unsigned’ to nil
58418         enables the new behavior (Bug#32252).
58419         This is a simplified version of the change proposed in:
58420         https://lists.gnu.org/r/emacs-devel/2018-07/msg00763.html
58421         I simplified that proposal by omitting bitwidth modifiers, as
58422         I could not find an any example uses in the Emacs source code
58423         that needed them and doing them correctly would have been
58424         quite a bit more work for apparently little benefit.
58425         * doc/lispref/strings.texi (Formatting Strings):
58426         Document that %x and %o format negative integers in a
58427         platform-dependent way.  Also, document how to format
58428         numbers so that the same values can be read back in.
58429         * etc/NEWS: Document the change.
58430         * src/editfns.c (styled_format): Treat integers as signed
58431         numbers even with %o and %x, if binary-as-unsigned is nil.
58432         Support the + and space flags with %o and %x, since they’re
58433         about signs.
58434         (syms_of_editfns): New variable binary-as-unsigned.
58435         * test/src/editfns-tests.el (read-large-integer):
58436         Test that maximal integers can be read after printing
58437         with all integer formats, if binary-as-unsigned is nil.
58439 2018-07-25  Lucas Werkmeister  <mail@lucaswerkmeister.de>
58441         Notify systemd in daemon-initialized and kill-emacs (Bug#31498)
58443         With --[bg-]daemon and Type=forking, systemd will only consider the
58444         daemon to have fully started up once the original process exits, and
58445         will wait until then to start units depending on the Emacs service.  To
58446         get the same functionality with --fg-daemon, use Type=notify instead of
58447         Type=simple and explicitly send a readiness notification to systemd at
58448         the point where the forked process would in --bg-daemon mode notify its
58449         parent process and cause it to exit.  Similarly, notify systemd at the
58450         beginning of the shutdown process as well.  (Both of these calls are
58451         successful no-ops if emacs was not started by systemd.)
58452         * etc/emacs.service: Update Type.
58453         * src/emacs.c (daemon-initialized) [HAVE_LIBSYSTEMD]:
58454         * src/emacs.c (kill-emacs) [HAVE_LIBSYSTEMD]: Call sd_notify().
58456 2018-07-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
58458         Fix docstring of gnus-dependencies-add-header
58460         * lisp/gnus/gnus-sum.el (gnus-dependencies-add-header): Code is
58461           correct, but docs had logic of `gnus-summary-ignore-duplicates'
58462           backwards: if it's t, the Message-IDs will not be renamed.
58464 2018-07-25  Michael Albinus  <michael.albinus@gmx.de>
58466         Instrument shadowfile{-tests} for error hunting on hydra.
58468         * lisp/shadowfile.el (shadow-make-fullname): Use changed
58469         `tramp-make-tramp-file-name' from Tramp 2.4.
58471         * test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo):
58472         Instrument test.  Suppress errors in cleanup.
58473         (shadow-test09-shadow-copy-files): Suppress errors in cleanup.
58475 2018-07-24  Paul Eggert  <eggert@cs.ucla.edu>
58477         Move proper-list-p to C
58479         Since C code can use it and it’s simple, we might as well use C.
58480         * lisp/subr.el (proper-list-p): Move to C code.
58481         * src/eval.c (signal_error): Simplify by using Fproper_list_p.
58482         * src/fns.c (Fproper_list_p): New function, moved here from Lisp.
58484         Simplify signal_error
58485         * src/eval.c (signal_error): Simplify by using FOR_EACH_TAIL_SAFE.
58487 2018-07-24  Paul Eggert  <eggert@cs.ucla.edu>
58489         * etc/NEWS: Omit bug# when not needed.
58491 2018-07-24  Glenn Morris  <rgm@gnu.org>
58493         Merge from origin/emacs-26
58495         f64c277 (origin/emacs-26) Let bookmark-jump override window-point (Bu...
58496         1208aaa Omit keymap from subword-mode docstring (Bug#32212)
58497         2b70b54 Prevent line-mode term from showing user passwords
58498         5de4441 Check for special filenames in eshell (Bug#30724)
58499         1b4b965 Fix indent-sexp of #s(...) (Bug#31984)
58500         59e8533 Add save-match-data to abbreviate-file-name (Bug#32201)
58501         47f75b1 Fix last change in editfns.c
58502         671dc5a Fix calls to buffer modification hooks from replace-buffer-co...
58503         cc4ceed ; etc/NEWS: Remove unnecessary reference to a bug number.
58504         e0f33ea Fix Bug#32226
58505         7308fa0 Improve doc strings of several variables in keyboard.c
58507 2018-07-24  Michael Albinus  <michael.albinus@gmx.de>
58509         Fix typo in `find-alternate-file'
58511         * lisp/files.el (find-alternate-file): Add missing arguments to
58512         `find-file-noselect' call.
58514 2018-07-23  Paul Eggert  <eggert@cs.ucla.edu>
58516         (format "%#x" 0) yields "0", not "0x0"
58518         * doc/lispref/strings.texi (Formatting Strings):
58519         * src/editfns.c (Fformat): Document this.
58521 2018-07-23  Paul Eggert  <eggert@cs.ucla.edu>
58523         0x%x → %#x in elisp formats
58525         * lisp/emacs-lisp/cl-print.el (cl-print-object):
58526         * lisp/profiler.el (profiler-format-entry):
58527         * lisp/progmodes/hideif.el (hif-evaluate-macro):
58528         Prefer %#x to 0x%x in elisp formats when formatting arbitrary
58529         integers, as it’ll produce more-readable output with negative args
58530         should we change how negative values are printed with %x.
58532 2018-07-23  Paul Eggert  <eggert@cs.ucla.edu>
58534         positive → nonnegative doc fixes
58536         * doc/lispref/numbers.texi (Bitwise Operations)
58537         (Math Functions):
58538         * doc/lispref/strings.texi (Formatting Strings):
58539         * src/editfns.c (Fformat):
58540         Correct “positive” with “nonnegative” in some documentation.
58542 2018-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
58544         Revert "Make nnimap support IMAP namespaces"
58546         This reverts commit 7b5b3ddb2dfa98d640aff7b5b160f777e22cc794.
58548         Insufficiently tested before committing -- bugs out several places
58549         when not using namespaces.
58551 2018-07-22  Arash Esbati  <arash@gnu.org>
58553         Add \eqref to RefTeX's reference styles (Bug#32203)
58555         * lisp/textmodes/reftex-vars.el (reftex-ref-style-alist): Add entry
58556         for \eqref provided by amsmath.sty and bind it to "e" key.
58558 2018-07-22  Noam Postavsky  <npostavs@gmail.com>
58560         Preserve nonblank whitespace when indenting (Bug#32200)
58562         * lisp/indent.el (indent-line-to): Remove only spaces and tabs, not
58563         any whitespace syntax characters.
58565 2018-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
58567         Add further clarifications to gnus-blocked-images
58569         * lisp/gnus/gnus-art.el (gnus-blocked-images): Add further
58570         clarifications.
58572 2018-07-22  Nikolaus Rath  <nikolaus@rath.org>
58574         Make nnimap support IMAP namespaces
58576         * lisp/gnus/nnimap.el (nnimap-use-namespaces): Introduc new
58577         server variable.
58578         (nnimap-group-to-imap, nnimap-get-groups): Transform IMAP group
58579         names to Gnus group name by stripping / prefixing personal
58580         namespace prefix.
58581         (nnimap-open-connection-1): Ask server for namespaces and store them.
58583         * lisp/gnus/nnimap.el (nnimap-request-group-scan)
58584         (nnimap-request-create-group, nnimap-request-delete-group)
58585         (nnimap-request-rename-group, nnimap-request-move-article)
58586         (nnimap-process-expiry-targets)
58587         (nnimap-request-update-group-status)
58588         (nnimap-request-accept-article, nnimap-request-list)
58589         (nnimap-retrieve-group-data-early, nnimap-change-group)
58590         (nnimap-split-incoming-mail): Use nnimap-group-to-imap.
58591         (nnimap-group-to-imap): New function to map Gnus group names to
58592         IMAP folder names.
58594 2018-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
58596         Make async :family 'local failures fail correctly again
58598         * src/fileio.c (get_file_errno_data): Refactor out into its own
58599         function so that we can reuse the error handling from an async
58600         context (bug#31901).
58602         * src/process.c (connect_network_socket): When an async :family
58603         'local client fails (with a file error, for instance), mark the
58604         process as failed.
58606 2018-07-22  Michael Albinus  <michael.albinus@gmx.de>
58608         thread-join returns the result of finished thread
58610         * doc/lispref/threads.texi (Basic Thread Functions):
58611         * etc/NEWS: Document return value of `thread-join'.
58613         * src/thread.c (invoke_thread_function, Fmake_thread)
58614         (init_main_thread): Set result.
58615         (Fthread_join): Propagate signals, and return result.
58616         (Vmain_thread): New defvar.
58618         * src/thread.h (struct thread_state): Add `result' field.
58620         * test/src/thread-tests.el (threads-join): Test also return value.
58621         (threads-join-error): New test.
58622         (threads-mutex-signal): Check for propagation of `quit' signal.
58624 2018-07-21  John Shahid  <jvshahid@gmail.com>
58626         Avoid destroying match data in 'setenv' (Bug#32201)
58628         * lisp/env.el (setenv,setenv-internal): Replace string-match with
58629         string-match-p.
58631 2018-07-21  Ken Brown  <kbrown@cornell.edu>
58633         Pacify GCC 7 with -Wformat-overflow
58635         * src/w32term.c (x_draw_glyphless_glyph_string_foreground):
58636         Force sprintf to write at most 6 bytes, excluding the
58637         terminating null byte.
58639 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
58641         Minor rewording of last change
58643         * lisp/vc/add-log.el (add-log-dont-create-changelog-file)
58644         (add-log--pseudo-changelog-buffer-name)
58645         (add-log--changelog-buffer-p, add-change-log-entry): Doc fixes.
58647         * etc/NEWS: Improve wording of last change.
58649         * doc/emacs/maintaining.texi (Change Log Commands): Improve
58650         wording of last change.
58652 2018-07-21  João Távora  <joaotavora@gmail.com>
58654         New option to make 'C-x 4 a' use file-less ChangeLog buffers
58656         * doc/emacs/maintaining.texi (Change Log Commands): Document
58657         add-log-dont-create-changelog-file.
58659         * etc/NEWS (Change Logs Mode): Mention
58660         add-log-dont-create-changelog-file.
58662         * lisp/vc/add-log.el (add-log-file-name): Add comment.
58663         (add-log-dont-create-changelog-file): New variable.
58664         (add-log--pseudo-changelog-buffer-name)
58665         (add-log--changelog-buffer-p): New helpers.
58666         (add-log-find-changelog-buffer): New function.
58667         (add-log--pseudo-changelog-buffer-name): Respect
58668         add-log-dont-create-changelog-file.
58670         * lisp/vc/log-edit.el (log-edit-changelog-entries): Use
58671         add-log-find-changelog-buffer.
58673 2018-07-21  Bozhidar Batsov  <bozhidar@batsov.com>
58675         Make ielm accept an optional buffer name param
58677         The ielm buffer name was hardcoded which made it hard for programs to
58678         interactively create ielm buffers with different names and switch to
58679         them (e.g. perhaps you want to have one ielm buffer for each of the
58680         Elisp projects you're working on).
58682 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
58684         Fix recording keyboard macros when input method is active
58686         * lisp/international/quail.el (quail-start-translation)
58687         (quail-start-conversion): Bind inhibit--record-char to t for
58688         the first character of a translated sequence.
58690         * src/keyboard.c (record_char): Don't record events from
58691         macros to dribble file, per documentation.
58692         (Fopen_dribble_file): Doc fix.
58693         (syms_of_keyboard) <inhibit--record-char>: New variable.
58694         (record_char): Don't record input event if
58695         inhibit--record-char is non-nil.  (Bug#32108)
58697 2018-07-21  Paul Eggert  <eggert@cs.ucla.edu>
58699         Report base of out-of-range input fixnums
58701         * src/lread.c (string_to_number): Report the base of an
58702         out-of-range fixnum.  Problem reported by Andy Moreton in:
58703         https://lists.gnu.org/r/emacs-devel/2018-07/msg00696.html
58705 2018-07-20  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
58707         * src/fns.c (Feql, Fequal): Improve floating-point doc.
58709 2018-07-20  Glenn Morris  <rgm@gnu.org>
58711         Merge from origin/emacs-26
58713         3e72298 Improve documentation of 'pcase-defmacro rx'
58714         ba9b9bb Fix TTY colors breakage by 'clear-face-cache'
58715         f56ad42 * admin/MAINTAINERS: Add files maintained by me (Michael Albi...
58716         7a258fa Adapt shadowfile.el for Tramp  (Bug#4526, Bug#4846)
58717         cb50077 Fix auth-source-delete (Bug#26184)
58718         a4767a6 Avoid assertion violations in gnutls.c
58719         90110f8 Don't use a literal "C-u" in ispell.el  help message text
58720         f4e7f6d Improve documentation of 'seqp'
58721         ed13639 Clarify usage and dependencies between several Flyspell features
58723         Conflicts:
58724                 etc/NEWS
58725                 test/lisp/auth-source-tests.el
58727 2018-07-20  Paul Eggert  <eggert@cs.ucla.edu>
58729         Simplify w32cygwinx.c and pacify GCC (Bug#32189)
58731         * src/w32cygwinx.c (format_string): New function.
58732         (Fw32_battery_status): Use it.
58734 2018-07-20  Michael Albinus  <michael.albinus@gmx.de>
58736         * lisp/net/trampver.el (customize-package-emacs-version-alist):
58738         Add Tramp version integrated in Emacs 26.2.
58740 2018-07-19  Paul Eggert  <eggert@cs.ucla.edu>
58742         Prefer NILP (x) to EQ (x, Qnil)
58744         This simplifies the code a bit, and also simplifies some
58745         potential future changes slightly (e.g., altering eq vs eql).
58746         * src/alloc.c (mark_object):
58747         * src/callint.c (fix_command):
58748         * src/chartab.c (Fchar_table_range, Fset_char_table_range):
58749         * src/dbusbind.c (XD_OBJECT_TO_DBUS_TYPE, xd_signature):
58750         * src/dired.c (Fsystem_users):
58751         * src/fileio.c (Fdo_auto_save):
58752         * src/fns.c (concat):
58753         * src/frame.c (get_frame_param, frame_inhibit_resize)
58754         (store_in_alist, store_frame_param, x_set_autoraise)
58755         (x_set_autolower, x_get_arg):
58756         * src/image.c (Fclear_image_cache):
58757         * src/intervals.c (intervals_equal):
58758         * src/intervals.h (DEFAULT_INTERVAL_P):
58759         * src/lread.c (substitute_object_recurse):
58760         * src/menu.c (digest_single_submenu)
58761         (find_and_call_menu_selection)
58762         (find_and_return_menu_selection):
58763         * src/nsfns.m (x_set_icon_name, Fx_create_frame):
58764         * src/nsmenu.m (ns_menu_show):
58765         * src/nsselect.m (ns_string_to_pasteboard_internal)
58766         (Fns_selection_exists_p, Fns_selection_owner_p):
58767         * src/process.c (Faccept_process_output)
58768         (wait_reading_process_output):
58769         * src/terminal.c (store_terminal_param):
58770         * src/textprop.c (verify_interval_modification):
58771         * src/xdisp.c (next_element_from_buffer):
58772         * src/xfaces.c (Finternal_set_lisp_face_attribute):
58773         * src/xfns.c (x_set_icon_type, Fx_synchronize):
58774         * src/xmenu.c (x_menu_show):
58775         * src/xselect.c (Fx_selection_owner_p)
58776         (Fx_selection_exists_p):
58777         * src/xwidget.c (xwidget_view_lookup):
58778         Prefer NILP (x) to EQ (x, Qnil).
58780 2018-07-19  Tom Tromey  <tom@tromey.com>
58782         Fix bignum creation when EMACS_INT is wider than long
58784         * src/alloc.c (mpz_set_intmax_slow, mpz_set_uintmax_slow): New
58785         functions.
58786         * src/data.c (arith_driver, Frem, Fmod, ash_lsh_impl, Fadd1)
58787         (Fsub1): Use mpz_set_intmax, mpz_set_uintmax.
58788         * src/emacs-module.c (module_make_integer): Use mpz_set_intmax.
58789         * src/floatfns.c (Fabs): Use mpz_set_intmax.
58790         * src/lisp.h (mpz_set_intmax, mpz_set_uintmax): New inline
58791         functions.
58792         (mpz_set_uintmax_slow, mpz_set_intmax_slow): Declare.
58794 2018-07-19  Tom Tromey  <tom@tromey.com>
58796         Add missing @end defun
58798         * doc/lispref/numbers.texi (Bitwise Operations): Add missing @end defun.
58800 2018-07-19  Paul Eggert  <eggert@cs.ucla.edu>
58802         Improve doc for floating point ‘=’ vs ‘eql’
58804         * doc/lispref/numbers.texi (Float Basics, Comparison of Numbers):
58805         Improve documentation of ‘=’ vs ‘eq’, ‘eql’ and ‘equal’
58806         when NaNs and signed zeros are involved.
58808 2018-07-19  Charles A. Roelli  <charles@aurox.ch>
58810         Add 'font-lock-maximum-decoration' levels for Python
58812         * etc/NEWS: New entry under Python mode.
58814         * lisp/progmodes/python.el (python-font-lock-keywords-level-1)
58815         (python-font-lock-keywords-level-2)
58816         (python-font-lock-keywords-maximum-decoration): New variables
58817         based off the incumbent 'python-font-lock-keywords'.
58818         (python-font-lock-keywords): Change it to a list of the new
58819         symbols, for use in the 'car' of 'font-lock-defaults'.
58820         (python-mode): Set the 'car' of 'font-lock-defaults' to the
58821         value of 'python-font-lock-keywords', instead of the symbol
58822         'python-font-lock-keywords'.
58824 2018-07-18  Paul Eggert  <eggert@cs.ucla.edu>
58826         * etc/NEWS: Fix eql typo in previous change.
58828 2018-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
58830         * lisp/comint.el: Clean up namespace
58832         (shell-strip-ctrl-m): Mark as obsolete.
58833         (comint-send-invisible): Rename from `send-invisible`.
58834         (send-invisible): Make it an obsolete alias.
58835         * lisp/net/rlogin.el: Adjust accordingly; Use lexical-binding.
58836         * lisp/shell.el: Adjust accordingly.
58838 2018-07-18  Filipp Gunbin  <fgunbin@fastmail.fm>
58840         Fix imenu--generic-function after fix for Bug#32024.
58842         * lisp/imenu.el (imenu--generic-function): Restore returning of nconc
58843           result from the function.  Move filtering out empty menus so it is
58844           done before removing dummy element and splicing main element into
58845           index-alist.
58847 2018-07-18  Paul Eggert  <eggert@cs.ucla.edu>
58849         * etc/NEWS: Mention eql etc. NaN fix.
58851 2018-07-18  Paul Eggert  <eggert@cs.ucla.edu>
58853         Fix bug with eql etc. on NaNs
58855         Fix a bug where eql, sxhash-eql, memql, and make-hash-table
58856         were not consistent on NaNs.  Likewise for equal,
58857         sxhash-equal, member, and make-hash-table.  Some of these
58858         functions ignored NaN significands, whereas others treated
58859         them as significant.  It's more logical to treat significands
58860         as significant, and this typically makes eql a bit more
58861         efficient on floats, with just one integer comparison instead
58862         of one to three floating-point comparisons.
58863         * doc/lispref/numbers.texi (Float Basics): Document that
58864         NaNs are never numerically equal, but might be eql.
58865         * src/fns.c (WORDS_PER_DOUBLE): Move to top level of this file.
58866         (union double_and_words): Now named, and at the top level of this file.
58867         (same_float): New function.
58868         (Fmemql, Feql, internal_equal, cmpfn_eql): Use it, so that
58869         the corresponding functions treat NaNs consistently.
58870         (sxhash_float): Simplify based on above-mentioned changes.
58872         * test/src/fns-tests.el (fns-tests-equality-nan): New test.
58874 2018-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
58876         * lisp/net/soap-client.el (soap-type-of): Optimize for Emacs≥26
58878 2018-07-17  Alexander Gramiak  <agrambot@gmail.com>
58880         Remove menu name from emacs-lisp-mode-map (Bug#27114)
58882         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode-map): Don't give a
58883         menu name to the top-level map, the menu name is only useful for the
58884         menu-map.
58886 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
58888         Update from gnulib
58890         This incorporates:
58891         2018-07-17 gnulib-tool: limit line length for git send-email
58892         * lib/gnulib.mk.in: Regenerate.
58894 2018-07-17  Robert Pluim  <rpluim@gmail.com>
58896         Don't check unibyte hostnames for pure-ASCII
58898         * src/process.c (network_lookup_address_info_1): Only check multibyte
58899         hostnames for pure-ASCII.
58901         * test/src/process-tests.el (unibyte-domain-name): Test unibyte domain
58902         names with network-lookup-address-info.
58904 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
58906         Update from Gnulib
58908         This causes config.guess to assume support for shell functions,
58909         a safe assumption nowadays.
58910         * build-aux/config.guess, build-aux/config.sub: Copy from Gnulib.
58912 2018-07-17  Robert Pluim  <rpluim@gmail.com>
58914         Add network-lookup-address-info description
58916         * doc/lispref/processes.texi (Misc Network): Document
58917           network-lookup-address-info.
58919 2018-07-17  Robert Pluim  <rpluim@gmail.com>
58921         Add tests for network-lookup-address-info
58923         * test/src/process-tests.el (lookup-family-specification): Test
58924         network-lookup-address-info api.
58925         (lookup-unicode-domains): Test that unicode domains fail.
58926         (lookup-google): Test that normal lookups succeed.
58927         (non-existent-lookup-failure): Check that known non-existent
58928         domains fail.
58930 2018-07-17  Robert Pluim  <rpluim@gmail.com>
58932         Refactor getaddrinfo usage
58934         * src/process.c:
58935         (network_lookup_address_info_1): New function, does most of the
58936         work to call getaddrinfo.  Now checks hostname for pure-ASCII.
58937         (Fmake_network_process): Use it.
58938         (Fnetwork_lookup_address_info): Likewise.  Error check family
58939         argument.
58941 2018-07-17  Michael Albinus  <michael.albinus@gmx.de>
58943         Add variable main-thread, fix Bug#32169
58945         * doc/lispref/threads.texi (Basic Thread Functions): Add example,
58946         how to propagate signals to the main thread.  Describe variable
58947         `main-thread'.  Document optional argument CLEANUP of
58948         `thread-last-error'.
58950         * src/thread.c (Fthread_last_error): Add optional argument
58951         CLEANUP.  (Bug#32169)
58952         (main-thread): New defvar.
58954         * test/src/thread-tests.el (thread-last-error): Adapt declaration.
58955         (main-thread): Declare.
58956         (threads-main-thread): New test.
58957         (threads-errors): Extend test.
58959 2018-07-16  Charles A. Roelli  <charles@aurox.ch>
58961         Improve description of window configs in 'register-val-describe'
58963         * etc/NEWS: Describe the change.
58964         * lisp/register.el (register-val-describe)
58965         [(window-configuration-p (car val))]: Include the shown
58966         buffers in the return value to make
58967         'register-read-with-preview' more useful.  (Bug#30863)
58969 2018-07-16  Charles A. Roelli  <charles@aurox.ch>
58971         * configure.ac [$HAVE_NS]: Correct build instructions.
58973         Running 'make install' to test a repo build on macOS used to
58974         be required, but is no longer needed.
58976 2018-07-16  Robert Pluim  <rpluim@gmail.com>
58978         Implement hostname->ip lookup function
58980         * src/process.c (conv_sockaddr_to_lisp): Add include_port
58981         argument.  Don't put a port in the result if this is false.
58982         (conv_addrinfo_to_lisp, Fprocess_datagram_address)
58983         (connect_network_socket, network_interface_list)
58984         (network_interface_info, server_accept_connection)
58985         (init_process_emacs): Update callers.
58986         (Fnetwork_lookup_address_info): New function.  Performs hostname to
58987         ip address lookups.
58989         * src/w32.c (network_interface_get_info): Update callers of
58990           conv_sockaddr_to_lisp
58992         * etc/NEWS : mention addition of 'network-lookup-address-info'
58994 2018-07-15  Noam Postavsky  <npostavs@gmail.com>
58996         Reject gpg 2.0 for epg configs by default (Bug#23561)
58998         Previously, gpg2 2.0 would be rejected, but the same version installed
58999         as "gpg" would be accepted.
59001         * lisp/epg-config.el (epg-gpg2-minimum-version): New constant.
59002         (epg-config--program-alist) <OpenPGP>: Require a version in 1.4.3..2.0
59003         or 2.1.6+., not just anything above 1.4.3.
59004         (epg-check-configuration): Accept a list of required version
59005         intervals, in addition to just a single minimum.
59007 2018-07-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
59009         * lisp/format.el (format-proper-list-p): New alias.
59011 2018-07-15  Noam Postavsky  <npostavs@gmail.com>
59013         Don't test symmetric operations on gpg 2.0 (Bug#23561)
59015         On the Hydra test machines, which have gpg 2.0, the symmetric tests
59016         fail.
59017         * test/lisp/epg-tests.el (with-epg-tests): Pass REQUIRE-PUBLIC-KEY to
59018         `epg-tests-find-usable-gpg-configuration' and call it before
59019         `epg-make-context' so that the latter uses the resulting cached
59020         config.
59021         (epg-tests-find-usable-gpg-configuration): Only allow gpg 2.0 for
59022         symmetric operations.  Clear `epg--configurations' and don't pass
59023         NO-CACHE to `epg-find-configuration'.
59024         (epg-tests--config-program-alist): Use copy-tree to avoid modifying
59025         the epg-config--program-alist cons values.
59026         * test/lisp/emacs-lisp/package-tests.el (package-test-signed): Allow
59027         running with gpg 2.0.
59029 2018-07-15  Michael Albinus  <michael.albinus@gmx.de>
59031         Precise dav/davs in Tramp manual
59033         * doc/misc/tramp.texi (GVFS based methods): Mention `owncloud'
59034         method for special `dav'/`davs' file names.
59036 2018-07-15  Michael Albinus  <michael.albinus@gmx.de>
59038         Fix Bug#32147
59040         * test/lisp/net/secrets-tests.el (secrets-test02-collections)
59041         (secrets-test03-items): Test for both "Login" or "login"
59042         collection.  (Bug#32147)
59044 2018-07-14  Noam Postavsky  <npostavs@gmail.com>
59046         Update package.el test for message format changes
59048         * test/lisp/emacs-lisp/package-tests.el (package-test-signed): Update
59049         the expected message.  The message was changed in 2018-06-25 "Reformat
59050         package.el message strings for future l10n".
59051         (with-package-test, with-fake-help-buffer): Add debug declarations.
59053 2018-07-14  Noam Postavsky  <npostavs@gmail.com>
59055         Fix gpg detection for tests (Bug#23561)
59057         * test/lisp/emacs-lisp/package-tests.el (package-test-signed): Stop
59058         using epg-check-configuration and ignore-errors, they're redundant
59059         because epg-find-configuration already does all that.
59060         * test/lisp/epg-tests.el (epg-tests-find-usable-gpg-configuration):
59061         Remove tracing.
59062         (with-epg-tests): Skip test if no gpg config is found.
59063         (epg-decrypt-1 epg-roundtrip-1, epg-sign-verify-1, epg-sign-verify-2)
59064         (epg-import-1): Don't check gpg configuration at top-level, rely on
59065         `with-epg-tests' instead.  Checking the gpg configuration requires a
59066         valid HOME (or GNUPGHOME), which is provided by `with-epg-tests'.
59068 2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>
59070         Show full issuer and subject distinguished names
59072         CAs like Let's Encrypt do not put O and OU into the Subject's DN.
59073         Similarly, O and OU are often used to indicate Domain Validated or
59074         Organization Validation as opposed to the actual OU.
59076         Issuer CN often contains the issuer's server or as an indication of
59077         Extended Validation certificate as opposed to the actual issuer
59078         organization.
59080         The Hostname part as extracted from the Subject is also confusing, as
59081         in the case of a hostname mismatch, the Subject's CN, which
59082         `nsm-format-certificate' naively calls the Hostname, will not actually
59083         match the hostname in the problem preamble.
59085         * lisp/net/nsm.el (nsm-format-certificate): Show full DN of Issuer and
59086           Subject.  Remove Hostname.
59087           (nsm-certificate-part, nsm-parse-subject): Removed.
59089 2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>
59091         Full certificate chain details for NSM
59093         * lisp/net/nsm.el (nsm-check-tls-connection): Fix issue with plural
59094           problems in message.  Prefix every problem with a bullet.
59095           (nsm-query-user): Add new view the full certificate chain by
59096           pressing d.
59097           (nsm-format-certificate): Improve basic certificate and session info
59098           formatting.
59100         * src/gnutls.c (emacs_gnutls_certificate_export_pem): New function.
59101           (gnutls_certificate_details): Rename to
59102           emacs_gnutls_certificate_details.  Add :pem to result list.
59103           (Fgnutls_format_certificate):  New function for formatting a PEM to
59104           human-readable text.
59106 2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>
59108         Add option to bypass NSM TLS checks on local networks
59110         * lisp/net/net-utils.el (nslookup-host-ipv4, nslookup-host-ipv6,
59111           ipv6-expand): New functions to lookup IPv4 and IPv6 addresses from
59112           DNS.
59114         * lisp/net/nsm.el (nsm-trust-local-network, nsm-should-check,
59115           nsm-check-tls-connection, nsm-check-plain-connection): New defcustom
59116           `nsm-trust-local-network' lets users customize whether NSM should
59117           check for TLS problems when connecting to the hosts on their local
59118           networks.  `nsm-should-check' determines whether
59119           `nsm-check-tls-connection' and `nsm-check-plain-connection' should
59120           perform checks.  localhost is implicitly trusted, thus checks are
59121           never performed there.
59123 2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>
59125         Revamp Network Security manager checks for TLS
59127         * lisp/net/nsm.el (network-security-level, nsm-level,
59128           nsm-new-fingerprint-ok-p): Remove `paranoid' level and related code.
59130         * lisp/net/nsm.el (nsm-tls-checks, nsm-tls-check-version,
59131             nsm-tls-check-compression, nsm-tls-check-renegotiation-info-ext,
59132             nsm-tls-check-verify-cert, nsm-tls-check-same-cert,
59133             nsm-tls-check-null-suite, nsm-tls-check-export-kx,
59134             nsm-tls-check-anon-kx, nsm-tls-check-md5-sig,
59135             nsm-tls-check-rc4-cipher, nsm-tls-check-dhe-prime-kx,
59136             nsm-tls-check-sha1-sig, nsm-tls-check-ecdsa-cbc-cipher
59137             nsm-tls-check-dhe-kx, nsm-tls-check-rsa-kx,
59138             nsm-tls-check-3des-cipher, nsm-tls-check-cbc-cipher,
59139             nsm-save-fingerprint-maybe, nsm-tls-post-check-functions): New
59140             options and functions for checking TLS handshake problems.
59142         * lisp/net/nsm.el (nsm-check-certificate,
59143           network-security-protocol-checks,
59144           nsm-protocol-check--diffie-hellman-prime-bits,
59145           nsm-protocol-check--3des, nsm-protocol-check--rc4,
59146           nsm-protocol-check--signature-sha1,
59147           nsm-protocol-check--intermediate-sha1, nsm-protocol-check--ssl,
59148           nsm-check-protocol): Remove in favor of `nsm-tls-checks' and
59149           `nsm-tls-check-*' functions.
59151         * lisp/net/nsm.el (nsm-verify-connection): Ensure connection is
59152           checked even when `network-security-level' is `low'.
59154         * lisp/net/nsm.el (nsm-check-tls-connection): Batch all problems found
59155           before querying the user.
59157         * lisp/net/nsm.el (nsm--encryption): Renamed to `nsm-cipher-suite'.
59159         * lisp/net/nsm.el (nsm-fingerprint-ok-p): No longer prompt when
59160           certificate fingerprints mismatch.  Returns a boolean instead when
59161           the fingerprint of the certificate received matches the saved
59162           fingerprints.
59164         * lisp/net/nsm.el (nsm-query): Change signature.  Accepts a list of
59165           problems and a preformatted message instead of just a message format
59166           and the arguments for the message.
59168         * lisp/net/nsm.el (nsm-query-user): Change signature.  Accepts a
59169           preformatted message and the peer status of the handshake instead of
59170           a message format, its arguments and the certificate for the host.
59172         * lisp/net/nsm.el (nsm-save-host): Change signature.  Accepts a list of
59173           problems after the WHAT parameter.  Saves multiple fingerprints for
59174           the same host in case the host load balances a TLS server with more
59175           than one certificates signed with different keys.  Makes sure
59176           conditions are not removed when updating a fingerprint.
59178         * lisp/net/nsm.el (nsm-format-certificate): Display the TLS handshake's
59179           renegotiation info extension, compression level, encrypt-then-MAC
59180           extension, and key exchange prime bit length.
59182         * src/gnutls.c (gnutls-peer-status-warning-describe,
59183           gnutls-peer-status): Check for certificate verification problems
59184           introduced since GnuTLS 3.1.
59186         * src/gnutls.c (gnutls-peer-status): `:compression', `:encrypt-then-mac'
59187           and `:safe-renegotiation' are now contained in the peer status
59188           result return value.
59190 2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>
59192         Set standard value of `gnutls-min-primes-bits' to nil
59194         * lisp/net/gnutls.el (gnutls-min-prime-bits): Set standard value to
59195           nil in order to let GnuTLS manage the minimum DH prime bits
59196           accepted.
59198 2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>
59200         Check TLS certs against CRL
59202         * lisp/net/gnutls.el (gnutls-boot-parameters): Return
59203           `gnutls-crlfiles' in `:crlfiles'.
59204           (gnutls-crlfiles): New defcustom.
59205           (gnutls--get-files): New defun.
59206           (gnutls-trustfiles, gnutls-crlfiles): Delegate to
59207           `gnutls--get-files' to return a list of filenames, accepts glob pattern.
59209 2018-07-14  Charles A. Roelli  <charles@aurox.ch>
59211         Add to documentation of 'jump-to-register'
59213         * lisp/register.el (jump-to-register):
59214         * doc/emacs/regs.texi (Position Registers): Document that
59215         jumping to a register can push the mark.
59217 2018-07-14  Jonathan Kyle Mitchell  <kyle@jonathanmitchell.org>
59219         Avoid infloop in redisplay due to faulty mode-line properties
59221         * src/xdisp.c (safe_set_text_properties): New function.
59222         (display_mode_element): Call Fset_text_properties through
59223         internal_condition_case_n, using safe_set_text_properties as a
59224         wrapper.  (Bug#32038)
59226 2018-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
59228         * lisp/vc/diff-mode.el (diff-font-lock-prettify): New var
59230         (diff--font-lock-prettify): New function.
59231         (diff-font-lock-keywords): Use it.
59233 2018-07-13  Glenn Morris  <rgm@gnu.org>
59235         Merge from origin/emacs-26
59237         17ebb6e (origin/emacs-26) Use consistent function names in thread-tes...
59238         1c86229 Fix format error in Faccept_process_output
59239         b38b91a Lessen stack consumption in recursive read1
59240         3eb4603 Match w32 paths in grep sans --null hits (Bug#32051)
59241         5cc7c4b Fix previous make-network-process change
59242         d6a1b69 Another documentation improvement in flyspell.el
59243         9b49a8e Improve documentation of Flyspell
59244         3744fda Provide feature 'threads
59245         ef9025f Save the server alias on reconnect (Bug#29657)
59246         db3874b Refer to "proper lists" instead of "true lists"
59247         35e0305 Avoid turning on the global-minor-mode recursively
59248         51bf4e4 Fix Bug#32085
59250 2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>
59252         Tweak subr-x.el substring functions
59254         * lisp/emacs-lisp/subr-x.el (string-join): #'-quote function symbol.
59255         (string-trim-left, string-trim-right):
59256         Make better use of substring for minor speedup.
59257         * test/lisp/emacs-lisp/subr-x-tests.el
59258         (subr-x-test-string-trim-left, subr-x-test-string-trim-right)
59259         (subr-x-test-string-remove-prefix)
59260         (subr-x-test-string-remove-suffix): New tests.
59262 2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>
59264         Minor cus-theme.el simplifications
59266         * lisp/cus-theme.el (custom-new-theme-mode, customize-themes)
59267         (custom-theme-choose-mode): Use setq-local.
59268         (customize-create-theme): Ditto.  Use delete-all-overlays.
59269         (describe-theme-1, custom-theme-summary): Simplify logic.
59271 2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>
59273         Minor custom.el simplifications
59275         * lisp/custom.el (custom-quote): Duplicate macroexp-quote.
59276         (custom-load-symbol, customize-mark-to-save, customize-mark-as-set)
59277         (custom-theme-name-valid-p, enable-theme, custom-enabled-themes)
59278         (disable-theme): Simplify logic.
59280 2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>
59282         * lisp/cus-theme.el: Use lexical-binding
59284 2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>
59286         * lisp/custom.el: Use lexical-binding
59288         Remove duplicate 'Custom Themes' comment heading.
59289         (deftheme, custom-declare-theme): Fix advertised calling convention.
59290         (custom-enabled-themes): Fix message grammar.
59292 2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>
59294         Fix custom-available-themes file expansion
59296         For discussion, see thread starting at
59297         https://lists.gnu.org/archive/html/emacs-devel/2018-05/msg00222.html.
59298         * lisp/custom.el: (custom-available-themes): Use directory-files
59299         instead of performing arbitrary wildcard expansion in file names.
59300         (custom-theme--load-path): Document return value.
59301         * test/lisp/custom-tests.el: New file.
59302         (custom-theme--load-path): New test.
59304 2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>
59306         Disable no-byte-compile in built-in themes
59308         * etc/themes/adwaita-theme.el:
59309         * etc/themes/deeper-blue-theme.el:
59310         * etc/themes/dichromacy-theme.el:
59311         * etc/themes/leuven-theme.el:
59312         * etc/themes/light-blue-theme.el:
59313         * etc/themes/manoj-dark-theme.el:
59314         * etc/themes/misterioso-theme.el:
59315         * etc/themes/tango-dark-theme.el:
59316         * etc/themes/tango-theme.el:
59317         * etc/themes/tsdh-dark-theme.el:
59318         * etc/themes/tsdh-light-theme.el:
59319         * etc/themes/wheatgrass-theme.el:
59320         * etc/themes/whiteboard-theme.el:
59321         * etc/themes/wombat-theme.el: Disable no-byte-compile.
59323         https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00614.html
59324         https://lists.gnu.org/archive/html/emacs-devel/2018-02/msg00060.html
59326 2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>
59328         Improve loading of byte-compiled custom themes
59330         * lisp/custom.el (load-theme):
59331         Load byte-compiled file of safe themes when available.
59333         https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00614.html
59334         https://lists.gnu.org/archive/html/emacs-devel/2018-02/msg00060.html
59336 2018-07-13  Robert Pluim  <rpluim@gmail.com>
59338         Add GMP to emacs_config_features
59340         * configure.ac : Add GMP to emacs_config_features.  This allows us
59341         to determine whether the built-in gmp-mini is being used or not.
59343 2018-07-12  Tom Tromey  <tom@tromey.com>
59345         Document bignums
59347         * doc/lispref/numbers.texi (Numbers, Integer Basics)
59348         (Predicates on Numbers, Comparison of Numbers)
59349         (Arithmetic Operations, Bitwise Operations): Update for bignums.
59350         * doc/lispref/objects.texi (Integer Type, Type Predicates):
59351         Update for bignums.
59352         * etc/NEWS: Update for bigums.
59354 2018-07-12  Tom Tromey  <tom@tromey.com>
59356         Bignum fixes for byte-compiler and bytecode interpreter
59358         * lisp/emacs-lisp/byte-opt.el: Mark bignump and fixnump as
59359         side-effect-and-error-free-fns.
59360         * src/bytecode.c (exec_byte_code): Handle bignums.
59362 2018-07-12  Tom Tromey  <tom@tromey.com>
59364         Use fixnump rather than integerp in some spots
59366         * src/buffer.c (syms_of_buffer): Use Qfixnump, not Qintegerp.
59367         * src/data.c (syms_of_data): Define fixnump symbol.
59368         * src/lisp.h (lisp_h_CHECK_FIXNUM): Use Qfixnump.
59369         (struct Lisp_Buffer_Objfwd): Update comment.
59371 2018-07-12  Tom Tromey  <tom@tromey.com>
59373         Make ash and lsh handle bignums
59375         * src/data.c (ash_lsh_impl): Handle bignums.
59376         * test/src/data-tests.el (data-tests-ash-lsh): New test.
59378 2018-07-12  Tom Tromey  <tom@tromey.com>
59380         Make logb handle bignums
59382         * src/floatfns.c (Flogb): Handle bignums.
59383         * test/src/floatfns-tests.el (bignum-logb): New test.
59385 2018-07-12  Tom Tromey  <tom@tromey.com>
59387         Make % and mod handle bignums
59389         * src/data.c (Frem, Fmod): Handle bignums.
59390         * src/lisp.h (CHECK_INTEGER_COERCE_MARKER): New macro.
59391         * test/src/data-tests.el (data-tests-check-sign)
59392         (data-tests-%-mod): New tests.
59394 2018-07-12  Tom Tromey  <tom@tromey.com>
59396         Let C modules access bignum values
59398         * src/emacs-module.c (module_extract_integer, module_make_integer):
59399         Handle bignums.
59401 2018-07-12  Tom Tromey  <tom@tromey.com>
59403         Make min and max handle bignums
59405         * src/data.c (minmax_driver): Handle bignums.
59406         * test/src/data-tests.el (data-tests-minmax): New test.
59408 2018-07-12  Tom Tromey  <tom@tromey.com>
59410         Make logcount handle bignums
59412         * src/data.c (Flogcount): Handle bignums.
59413         * test/src/data-tests.el (data-tests-logcount): New test.
59415 2018-07-12  Tom Tromey  <tom@tromey.com>
59417         Make lognot handle bignums
59419         * src/data.c (Flognot): Handle bignums.
59421 2018-07-12  Tom Tromey  <tom@tromey.com>
59423         Make 1+ and 1- handle bignums
59425         * src/data.c (Fadd1, Fsub1): Handle bignums.
59426         * test/src/data-tests.el (data-tests-1+, data-tests-1-): New tests.
59428 2018-07-12  Tom Tromey  <tom@tromey.com>
59430         Make abs handle bignums
59432         * src/floatfns.c (Fabs): Handle bignums.
59433         * test/src/floatfns-tests.el (bignum-abs): New test.
59435 2018-07-12  Tom Tromey  <tom@tromey.com>
59437         Allow conversion of bignums to floats
59439         * src/floatfns.c (extract_float, Ffloat): Handle bignums.
59440         * src/lisp.h (XFLOATINT): Handle bignums.
59441         * test/src/floatfns-tests.el (bignum-to-float): New test.
59443 2018-07-12  Tom Tromey  <tom@tromey.com>
59445         Make format handle bignums
59447         * src/editfns.c (styled_format): Handle bignums.
59448         * test/src/editfns-tests.el (read-large-integer): Update.
59449         (format-bignum): New test.
59451 2018-07-12  Tom Tromey  <tom@tromey.com>
59453         Make number-to-string work for bignums
59455         * src/data.c (Fnumber_to_string): Handle bignum.
59456         * test/src/data-tests.el (data-tests-number-to-string): New test.
59458 2018-07-12  Tom Tromey  <tom@tromey.com>
59460         Add some bignum tests
59462         * test/src/data-tests.el (data-tests-bignum, data-tests-+)
59463         (data-tests-/, data-tests-number-predicates): New tests.
59464         * test/src/fns-tests.el (test-bignum-eql): New test.
59465         * test/src/lread-tests.el (lread-long-hex-integer): Expect bignum.
59466         * test/src/print-tests.el (print-bignum): New test.
59468 2018-07-12  Tom Tromey  <tom@tromey.com>
59470         Make arithmetic work with bignums
59472         * src/data.c (free_mpz_value): New function.
59473         (arith_driver): Rewrite.
59474         (float_arith_driver): Handle bignums.
59476 2018-07-12  Tom Tromey  <tom@tromey.com>
59478         Make comparison operators handle bignums
59480         * src/data.c (bignumcompare): New function.
59481         (arithcompare): Handle bignums.
59483 2018-07-12  Tom Tromey  <tom@tromey.com>
59485         Make the reader accept bignums
59487         * src/data.c (Fstring_to_number): Update.
59488         * src/lisp.h (S2N_OVERFLOW_TO_FLOAT): Remove.
59489         * src/lread.c (free_contents): New function.
59490         (read_integer): Handle bignums.
59491         (read1): Update.
59492         (string_to_number): Handle bignums.
59493         (syms_of_lread): Remove read-integer-overflow-as-float.
59494         * src/process.c (Fsignal_process): Update.
59496 2018-07-12  Tom Tromey  <tom@tromey.com>
59498         Make eql work for bignums
59500         * src/fns.c (Feql, internal_equal): Handle bignums.
59502 2018-07-12  Tom Tromey  <tom@tromey.com>
59504         Provide new functions to create bignums
59506         * src/alloc.c (make_bignum_str, make_number): New functions.
59507         * src/lisp.h (make_bignum_str, make_number): Declare.
59509 2018-07-12  Tom Tromey  <tom@tromey.com>
59511         Introduce the bignum type
59513         * src/alloc.c (mark_object): Handle Lisp_Misc_Bignum.
59514         (sweep_misc): Call mpz_clear for Lisp_Misc_Bignum.
59515         * src/data.c (Ftype_of): Handle Lisp_Misc_Bignum.
59516         (Fintegerp, Finteger_or_marker_p, Fnatnump, Fnumberp)
59517         (Fnumber_or_marker_p): Update for bignum.
59518         (Ffixnump, Fbignump): New defuns.
59519         (syms_of_data): Update.
59520         * src/emacs.c (xrealloc_for_gmp, xfree_for_gmp): New functions.
59521         (main): Call mp_set_memory_functions.
59522         * src/lisp.h (enum Lisp_Misc_Type) <Lisp_Misc_Bignum>: New constant.
59523         (struct Lisp_Bignum): New.
59524         (union Lisp_Misc): Add u_bignum.
59525         (BIGNUMP, XBIGNUM, INTEGERP, NATNUMP, NUMBERP, CHECK_NUMBER)
59526         (CHECK_INTEGER, CHECK_NUMBER_COERCE_MARKER): New functions.
59527         * src/print.c (print_object): Handle Lisp_Misc_Bignum.
59529 2018-07-12  Tom Tromey  <tom@tromey.com>
59531         Add configury for GMP library
59533         * configure.ac (GMP_LIB, GMP_OBJ): New substs.
59534         * src/Makefile.in (GMP_OBJ, GMP_OBJ): New variables.
59535         (base_obj): Add GMP_OBJ.
59536         (LIBES): Add GMP_LIB.
59537         * src/mini-gmp.h: New file.
59538         * src/mini-gmp.c: New file.
59540 2018-07-12  Tom Tromey  <tom@tromey.com>
59542         Rename integerp->fixnum, etc, in preparation for bignums
59544         * src/json.c, src/keyboard.c, src/keyboard.h, src/keymap.c,
59545         src/kqueue.c, src/lcms.c, src/lisp.h, src/lread.c, src/macros.c,
59546         src/marker.c, src/menu.c, src/minibuf.c, src/msdos.c, src/print.c,
59547         src/process.c, src/profiler.c, src/search.c, src/sound.c,
59548         src/syntax.c, src/sysdep.c, src/term.c, src/terminal.c,
59549         src/textprop.c, src/undo.c, src/w16select.c, src/w32.c,
59550         src/w32console.c, src/w32cygwinx.c, src/w32fns.c, src/w32font.c,
59551         src/w32inevt.c, src/w32proc.c, src/w32select.c, src/w32term.c,
59552         src/w32uniscribe.c, src/widget.c, src/window.c, src/xdisp.c,
59553         src/xfaces.c, src/xfns.c, src/xfont.c, src/xftfont.c, src/xmenu.c,
59554         src/xrdb.c, src/xselect.c, src/xterm.c, src/xwidget.c: Rename
59555         INTEGERP->FIXNUM, make_number->make_fixnum, CHECK_NUMBER->CHECK_FIXNUM,
59556         make_natnum->make_fixed_natum, NUMBERP->FIXED_OR_FLOATP,
59557         NATNUMP->FIXNATP, CHECK_NATNUM->CHECK_FIXNAT.
59559 2018-07-12  Noam Postavsky  <npostavs@gmail.com>
59561         Speed up smerge-refine-regions by avoiding fsync
59563         * lisp/vc/smerge-mode.el (smerge-refine-regions): Bind
59564         write-region-inhibit-fsync to t.  This was reported in
59565         https://github.com/magit/magit/pull/2834 to give a noticeable speedup.
59567 2018-07-12  Noam Postavsky  <npostavs@gmail.com>
59569         Don't skip epg-tests even with gpg 2.0 (Bug#23561)
59571         * test/lisp/epg-tests.el (epg-tests--config-program-alist): New
59572         constant, which allows gpg2 version 2.0+.
59573         (epg-tests-find-usable-gpg-configuration): Pass it to
59574         epg-find-configuration.
59576 2018-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
59578         Fix the bootstrap differently, so zerop can be where it belongs
59580         Suggested by Robert Pluim <rpluim@gmail.com>.
59582         * lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Avoid cadr/cddr.
59583         * lisp/subr.el (zerop): Un-revert 2018-07-10T23:08:58-07:00!contovob@tcd.ie.
59585 2018-07-11  Glenn Morris  <rgm@gnu.org>
59587         Unbreak bootstrap
59589         * lisp/subr.el (zerop): Revert previous change, which caused
59590         bootstrap to fail with void function cadr.
59592 2018-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
59594         * lisp/vc/diff-mode.el: Perform hunk refinement from font-lock
59596         Remove redundant :group arguments.
59597         (diff-font-lock-refine): New var.
59598         (diff--refine-hunk): New function, extracted from diff-refine-hunk.
59599         (diff-refine-hunk): Use it.
59600         (diff--font-lock-refine--refresh): New function.
59601         (diff--font-lock-refined): New function.
59602         (diff-font-lock-keywords): Use it.
59604 2018-07-10  Filipp Gunbin  <fgunbin@fastmail.fm>
59606         Fix Bug#32107
59608         * lisp/progmodes/sql.el (sql-buffer-live-p): Fix handling of optional
59609           connection argument.  (Bug#32107)
59611 2018-07-10  Jonathan Kyle Mitchell  <kyle@jonathanmitchell.org>
59613         Fix infinite recursion in eshell/clear (Bug#31326)
59615         * lisp/eshell/esh-mode.el (eshell/clear): Bind
59616         eshell-input-filter-functions to nil to prevent entries like
59617         eshell-smart-display-setup from causing infinite recursion.
59619 2018-07-10  Noam Postavsky  <npostavs@gmail.com>
59621         * lisp/indent.el (indent-line-to): Fix dedenting of tabs.
59623 2018-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59625         * lisp/format.el (format-annotate-single-property-change): Simplify.
59627 2018-07-09  Basil L. Contovounesios  <contovob@tcd.ie>
59629         Add predicate proper-list-p
59631         For discussion, see emacs-devel thread starting at
59632         https://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00460.html.
59634         * lisp/subr.el (proper-list-p): New function.
59635         Implementation suggested by Paul Eggert <eggert@cs.ucla.edu> in
59636         https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00138.html.
59637         * doc/lispref/lists.texi (List Elements):
59638         * etc/NEWS: Document proper-list-p.
59639         * lisp/org/ob-core.el (org-babel-insert-result):
59640         * lisp/emacs-lisp/byte-opt.el (byte-optimize-if):
59641         * lisp/emacs-lisp/cl-macs.el (cl--make-usage-args): Use proper-list-p.
59642         * lisp/emacs-lisp/ert.el (ert--proper-list-p): Remove.
59643         Replaced by proper-list-p in lisp/subr.el.
59644         (ert--explain-equal-rec): Use proper-list-length.
59645         * lisp/format.el (format-proper-list-p): Remove.
59646         Replaced by proper-list-p in lisp/subr.el.
59647         (format-annotate-single-property-change): Use proper-list-p.
59648         * test/lisp/emacs-lisp/ert-tests.el (ert-test-proper-list-p):
59649         Move from here...
59650         * test/lisp/subr-tests.el (subr-tests--proper-list-length):
59651         ...to here, mutatis mutandis.
59653 2018-07-09  Noam Postavsky  <npostavs@gmail.com>
59655         Respect field boundaries in indent-line-to (Bug#32014)
59657         * lisp/indent.el (indent-line-to): Use the back-to-indentation point
59658         as the end-point of whitespace removal, rather than
59659         backward-to-indentation which doesn't respect field boundaries.
59660         * test/lisp/emacs-lisp/lisp-mode-tests.el
59661         (lisp-indent-with-read-only-field): Don't expect to fail.
59663 2018-07-09  Noam Postavsky  <npostavs@gmail.com>
59665         Merge from emacs-26
59667         db3f779780 ; Test for Bug#32014
59668         90d95b000c Explicitly reject :server and :nowait (Bug#31903)
59669         917158f8c9 Fix Bug#32090
59671         # Conflicts:
59672         #       src/process.c
59674 2018-07-09  Noam Postavsky  <npostavs@gmail.com>
59676         Merge from emacs-26
59678         65889a6d12 Fix bootstrap infloop in GNU/Linux alpha
59679         48efd1c98b Minor fix of a recent documentation change
59680         3302b7cd7f Mention the NSM in the gnutls variable doc strings
59681         40c2ce743b Remove test code from last commit
59682         e02d8e29c6 Fix Bug#32084
59683         da5d6dbe39 Fix (length NON-SEQUENCE) documentation
59685 2018-07-09  Sam Steingold  <sds@gnu.org>
59687         dired-do-find-regexp: Use rgrep-find-ignored-directories.
59689 2018-07-08  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
59691         Fix etc/HELLO searching in grep.el
59693         * lisp/progmodes/grep.el (grep-compute-defaults):
59694         Search for "^Copyright", not "^English", as the latter is no
59695         longer present in etc/HELLO and the former is more likely to
59696         survive future changes to etc/HELLO (Bug#32093).
59698 2018-07-08  Paul Eggert  <eggert@cs.ucla.edu>
59700         Fix floating point exceptions on Alpha (Bug#32086)
59702         * admin/merge-gnulib (GNULIB_MODULES): Add fpieee.
59703         * m4/fpieee.m4: New file, copied from Gnulib.
59704         * m4/gnulib-comp.m4: Regenerate.
59706 2018-07-08  Eli Zaretskii  <eliz@gnu.org>
59708         Minor improvements in recent NSM documentation changes
59710         * doc/emacs/misc.texi (Network Security): Improve wording and
59711         markup of last change.
59713         * src/gnutls.c (Fgnutls_peer_status): Doc fix.
59715         * etc/NEWS: Improve wording of last change.
59717 2018-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
59719         Fix typo in sha1-intermediate check
59721         * lisp/net/nsm.el (nsm-protocol-check--intermediate-sha1): Allow
59722         storing the exception with a correct name.
59724 2018-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
59726         Document network-security-protocol-checks better
59728         * doc/emacs/misc.texi (Network Security): Rearrange the
59729         network-security-protocol-checks documentation and try to explain
59730         more what this all means and what checks are triggered.
59732 2018-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
59734         NSM-related doc fixes
59736         * src/gnutls.c (Fgnutls_peer_status): Mention :certificates in the
59737         doc string.
59739         * etc/NEWS: Mention how to switch off the additional TLS checks.
59741 2018-07-07  Glenn Morris  <rgm@gnu.org>
59743         * lisp/imenu.el: Require cl-lib, not internal components of same.
59745         * admin/make-tarball.txt, admin/release-process: Refcard tweaks.
59747 2018-07-07  Glenn Morris  <rgm@gnu.org>
59749         Merge from origin/emacs-26
59751         a427de9 (origin/emacs-26) Fix bug #11732
59752         3a04e15 Improve documentation of 'emacs-lock-mode'
59753         9d6ca5a * lisp/imenu.el (imenu-generic-expression): Doc fix.  (Bug#32...
59754         fdd7e7d Improve indexing of 'eval-defun' in ELisp manual
59755         10af989 Fix (length CIRCULAR) documentation
59756         271d1f7 Tramp editorials
59757         4abf94f Clarify and improve doc strings of 'eval-last-sexp' and friends
59758         6cfc7a7 Automate upload of Emacs manuals to gnu.org
59759         b73cde5 Fix MH-E mail composition with GNU Mailutils (SF#485)
59760         0dce5e5 Speed up 'replace-buffer-contents' some more
59761         00fdce0 * doc/emacs/docstyle.texi: Avoid messing up the html output.
59763         Conflicts:
59764                 admin/make-tarball.txt
59766 2018-07-07  Drew Adams  <drew.adams@oracle.com>
59768         Fix 2 minor bugs in 'imenu--generic-function'
59770         * lisp/imenu.el (imenu--generic-function): Move point to START
59771         before checking whether the current item is inside a comment
59772         or a string.  Remove any empty menus that could have been
59773         added before returning.  (Bug#32024)
59775 2018-07-07  John Shahid  <jvshahid@gmail.com>
59777         Keep interactive uses of 'recenter' backward compatible (Bug#31325)
59779         * src/window.c (Frecenter): Change the interactive spec to always pass
59780         a non-nil value to the REDISPLAY argument when called interactively.
59781         * lisp/window.el (recenter-top-bottom): Make sure 'recenter's second
59782         argument is non-nil everywhere.
59783         * doc/emacs/windows.texi (Textual Scrolling): Update documentation of
59784         'recenter'.
59786 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
59788         Documentation followup for bug#32029
59790         * etc/NEWS: Mention 'xref-find-definitions-at-mouse'
59792         * doc/emacs/maintaining.texi (Looking Up Identifiers):
59793         Document 'xref-find-definitions-at-mouse'.
59795 2018-07-07  Tobias Gerdin  <tgerdin@gmail.com>  (tiny change)
59797         New function 'xref-find-definitions-at-mouse'
59799         * lisp/progmodes/xref.el (xref-find-definitions-at-mouse): New
59800         function.  (Bug32029)
59802 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
59804         Fix recent change in window.c
59806         * src/window.c (scroll_command): Fix minor inefficiency in
59807         last change: don't call Fset_buffer if the buffer is already set to be
59808         what we want.  (Bug#31988)
59810 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59812         Update from gnulib
59814         This incorporates:
59815         2018-07-04 gnulib-tool: minor tweaks for --gnu-make
59816         * build-aux/config.guess, build-aux/config.sub: Copy from Gnulib.
59817         * lib/gnulib.mk.in: Regenerate.
59819 2018-07-06  Basil L. Contovounesios  <contovob@tcd.ie>
59821         Fix scrolling
59823         * src/window.c (scroll_command): Fix scrolling.
59825 2018-07-04  Michael Albinus  <michael.albinus@gmx.de>
59827         * lisp/shell.el (shell-completion-vars):
59829         Set `comint-file-name-prefix' to "" for local default directory.
59831 2018-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59833         Adjust to Gnulib change with -Wswitch-default
59835         * configure.ac: Simplify by not bothering to omit
59836         -Wswitch-default, as Gnulib no longer enables it by default.
59838 2018-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59840         Update from Gnulib
59842         This incorporates:
59843         2018-07-01 getloadavg: don't redefine WINDOWS32
59844         2018-07-01 manywarnings: omit -Wswitch-default
59845         * build-aux/config.sub, lib/getloadavg.c, m4/manywarnings.m4:
59846         Copy from Gnulib.
59848 2018-07-03  Tom Tromey  <tom@tromey.com>
59850         Fix Tcl indentation in a namespace
59852         Fixes bug#32035
59853         * lisp/progmodes/tcl.el (tcl-proc-list): Add "namespace".
59854         * test/lisp/progmodes/tcl-tests.el (tcl-mode-namespace-indent): New
59855         test.
59857 2018-07-03  Stefan Monnier  <monnier@iro.umontreal.ca>
59859         * lisp/mail/sendmail.el: Use lexical-binding
59861         (mail-recover-1): Declare dired-trivial-filenames.
59863 2018-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59865         Fix typo in --with-x-toolkit=no code
59867         * src/xmenu.c (pop_down_menu) [!USE_X_TOOLKIT && !USE_GTK]:
59868         Fix type typo introduced by 2018-06-14T22:59:08!eggert@cs.ucla.edu.
59870 2018-07-03  João Távora  <joaotavora@gmail.com>
59872         Adjust previous jsonrpc change
59874         (nth 2) is probably a better alternative to caddr, and in Emacs 26.1
59875         we can pass 0 as :service to automatically find an available port.
59877         * lisp/jsonrpc.el (jsonrpc--call-deferred): Use cl-caddr.
59879         * test/lisp/jsonrpc-tests.el
59880         (jsonrpc--call-with-emacsrpc-fixture): Pass 0 as :service to when
59881         making the listen server.
59883 2018-07-02  Glenn Morris  <rgm@gnu.org>
59885         * lisp/mail/sendmail.el (mail-from-style):
59886         Improve obsolescence message.
59888 2018-07-02  Glenn Morris  <rgm@gnu.org>
59890         Merge from origin/emacs-26
59892         fc5cae7 ; Fix ChangeLog typo.
59893         e17a5e5 ; make change-history-commit
59894         f205928 * etc/HISTORY: Cite Brinkoff on early history.
59895         4e58ca8 Document internal use of 'above-suspended' z-group frame para...
59896         4bd43b0 Increase max-lisp-eval-depth adjustment while in debugger (bu...
59897         ab98352 Improve on last change in replace-buffer-contents
59898         2f149c0 Fix a factual error in Introduction to Emacs Lisp
59899         8ad50a3 ; * lisp/files.el (buffer-offer-save): Doc fix.  (Bug#32000)
59900         c80f31f Minor improvements in documentation of imenu.el
59901         8ebb683 Avoid errors with recentering in 'skeleton-insert'
59902         e980a3c * src/lisp.h: Omit obsolete comment re bytecode stack.
59903         eec71eb Speed up replace-buffer-contents
59904         93c41ce Remove extra process call from vc-git-find-file-hook
59905         7ea0873 ; Update some commentary
59906         4a7f423 Speed up vc-git-dir-status-files
59907         9134c84 Avoid compiler warning using coding.h
59909         Conflicts:
59910                 src/editfns.c
59912 2018-07-02  Glenn Morris  <rgm@gnu.org>
59914         Merge from origin/emacs-26
59916         d008ef3 * src/xdisp.c (Vmouse_autoselect_window): Clarify doc-string ...
59917         6f6d525 Detect a non-list package archive content properly (Bug#22311)
59919 2018-07-02  João Távora  <joaotavora@gmail.com>
59921         Make lisp/jsonrpc.el work with Emacs 25.1
59923         * lisp/jsonrpc.el (Package-Requires): Require Emacs 25.1
59924         (jsonrpc-lambda): Use cl-gensym.
59925         (jsonrpc--call-deferred): Caddr doesn't exist in
59926         emacs 25.1.
59928         * test/lisp/jsonrpc-tests.el
59929         (jsonrpc--call-with-emacsrpc-fixture): New function.
59930         (jsonrpc--with-emacsrpc-fixture): Use it.
59931         (deferred-action-complex-tests): Adjust test for Emacs 25.1
59933 2018-07-01  John Shahid  <jvshahid@gmail.com>
59935         Optionally add argument description in minor mode DOC (bug#10754)
59937         Add a paragraph to minor mode's docstring documenting the mode's ARG
59938         usage if the supplied docstring doesn't already contain the word "ARG".
59940         * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): New const.
59941         (easy-mmode--arg-docstring): New function.
59942         (define-minor-mode): Use them.
59944         Remove argument documentation from all minor modes.
59946 2018-07-01  Eli Zaretskii  <eliz@gnu.org>
59948         Fix last change
59950         * src/w32console.c (Fset_screen_color): Call Frecenter with 2
59951         arguments.  (Bug#31325)
59953         * etc/NEWS:
59954         * doc/lispref/windows.texi (Textual Scrolling): Clarify the
59955         role of the second argument to 'recenter'.
59957 2018-07-01  John Shahid  <jvshahid@gmail.com>
59959         Add a new argument to 'recenter' to allow finer control of redisplay
59961         * src/window.c (recenter): Add a new REDISPLAY argument to allow the
59962         caller to control the redisplay behavior.  'recenter' will only
59963         redisplay the frame if this new arg and 'recenter-redisplay' are
59964         both non-nil.
59965         (recenter-top-bottom): Pass an extra non-nil argument to
59966         'recenter' to force a redisplay.  (Bug#31325)
59968 2018-07-01  Michael Albinus  <michael.albinus@gmx.de>
59970         Minor change in tramp-tests.el
59972         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):
59973         Cleanup before running the test.
59975 2018-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
59977         * lisp/hexl.el (hexl-follow-ascii-mode): Fix last fix (bug#32021)
59979 2018-06-30  Glenn Morris  <rgm@gnu.org>
59981         Unbreak bootstrap
59983         * lisp/jsonrpc.el (jsonrpc-connection, jsonrpc-process-connection):
59984         Don't autoload defclass, else dumping fails loading loaddefs.el
59985         due to trying to autoload eieio-defclass-autoload.
59987 2018-06-30  Glenn Morris  <rgm@gnu.org>
59989         * doc/lispref/text.texi (JSONRPC): Add missing menu.
59991 2018-06-30  João Távora  <joaotavora@gmail.com>
59993         * lisp/jsonrpc.el (subr-x): Only require when compiling
59995         * lisp/jsonrpc.el: Add "Package-Requires" and "Version" headers
59997 2018-06-30  João Távora  <joaotavora@gmail.com>
59999         Add lisp/jsonrpc.el
60001         * doc/lispref/text.texi (Text): Add JSONRPC.
60002         (JSONRPC): New node.
60004         * etc/NEWS (New Modes and Packages in Emacs 27.1): Mention jsonrpc.el
60006         * lisp/jsonrpc.el: New file.
60008         * test/lisp/jsonrpc-tests.el: New file.
60010 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
60012         * lisp/hexl.el (hexl-follow-ascii-mode): Fix a typo.  (Bug#32021)
60014 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
60016         Speed up reading sub-process output on MS-Windows
60018         * src/w32proc.c (syms_of_ntproc) <w32-pipe-read-delay>: Set to
60019         zero.  For the details, see this discussion:
60020         http://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00711.html.
60021         * src/w32.c (_sys_read_ahead): Update the commentary for
60022         w32-pipe-read-delay usage.
60024         * doc/emacs/msdos.texi (Windows Processes): Document
60025         w32-pipe-read-delay.
60027         * etc/NEWS: Mention the change of the value of w32-pipe-read-delay.
60029 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
60031         Speed-up let-binding of automatically-local variables
60033         * src/data.c (set_default_internal): Use FOR_EACH_LIVE_BUFFER
60034         when binding variables that don't nominally have a local
60035         value, to avoid slowing down due to a large number of dead
60036         buffers.  (Bug#18522) (Bug#31853)
60038 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
60040         Update from Gnulib
60042         This incorporates:
60043         2018-06-29 regex: glibc does not use intprops.h
60044         2018-06-28 regex: port to recently proposed glibc regex merge
60045         2018-06-25 Continue to use spaces for indentation, not tabs
60046         2018-06-25 manywarnings: Don't enable -Wjump-misses-init by default
60047         2018-06-25 acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
60048         2018-06-24 manywarnings: accommodate GCC 9: remove -Wchkp and -Wabi
60049         2018-06-24 maint: clarify comments about sticky EOF
60050         2018-06-24 af_alg: avoid hangs when reading from streams
60051         2018-06-17 crypto: use byteswap
60052         2018-06-17 getloadavg: Return 0 on MS-Windows without Cygwi
60053         2018-06-17 getloadavg: Allow building on MS-Windows without Cygwin
60054         * build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
60055         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
60056         * lib/getloadavg.c, lib/gettimeofday.c, lib/md5.c, lib/pselect.c:
60057         * lib/set-permissions.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
60058         * lib/time.in.h, m4/getloadavg.m4, m4/gnulib-common.m4:
60059         * m4/manywarnings.m4, m4/pthread_sigmask.m4, m4/vararrays.m4:
60060         Copy from Gnulib.
60062 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
60064         unbind_to performance tuning
60066         * src/alloc.c (which_symbols):
60067         * src/dispnew.c (Fredisplay):
60068         * src/editfns.c (Fsubst_char_in_region):
60069         * src/fileio.c (Fdo_auto_save):
60070         * src/indent.c (Fvertical_motion):
60071         * src/keymap.c (Fcurrent_active_maps):
60072         * src/lread.c (Feval_buffer):
60073         * src/minibuf.c (get_minibuffer):
60074         * src/sysdep.c (system_process_attributes):
60075         * src/textprop.c (Fnext_single_char_property_change)
60076         (Fprevious_single_char_property_change):
60077         * src/window.c (Fscroll_other_window, Fscroll_other_window_down):
60078         * src/xdisp.c (Fformat_mode_line):
60079         Help the compiler eliminate tail recursion in call to unbind_to.
60080         * src/coding.c (decode_coding_gap):
60081         Omit unnecessary unbind_to, as we’re about to call unbind_to anyway.
60082         * src/coding.c (Fread_coding_system):
60083         * src/eval.c (eval_sub):
60084         * src/xdisp.c (handle_single_display_spec, decode_mode_spec):
60085         * src/xselect.c (x_get_local_selection):
60086         Avoid need to save a machine register when calling unbind_to.
60087         * src/minibuf.c (Ftry_completion, Fall_completions):
60088         Omit unnecessary assignment.
60090 2018-06-29  Andreas Schwab  <schwab@linux-m68k.org>
60092         * lisp/url/url-http.el (url-http-create-request): Doc fix.
60094 2018-06-29  Andreas Schwab  <schwab@linux-m68k.org>
60096         Use a non-proxy request when retrieving https URLs via a proxy
60098         * lisp/url/url-http.el
60099         (url-https-proxy-after-change-function): Bind url-http-proxy
60100         to nil around url-http-create-request.
60102 2018-06-29  Michael Albinus  <michael.albinus@gmx.de>
60104         Sync with Tramp 2.4.0
60106         * doc/misc/trampver.texi:
60107         * lisp/net/trampver.el: Change version to "2.4.0".
60109         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted):
60110         Ignore unknown GVFS methods.
60112         * test/lisp/net/tramp-tests.el (tramp-test42-asynchronous-requests):
60113         Tag as :unstable.
60115 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
60117         * src/lisp.h: Add comment (Bug#31996#25).
60119 2018-06-28  Noam Postavsky  <npostavs@gmail.com>
60121         Let ediff '=' compare against ancestor buffer (Bug#11320)
60123         * lisp/vc/ediff-util.el (ediff-inferior-compare-regions): Ask user
60124         whether to compare against the ancestor or merge buffer.  Use
60125         read-multiple-choice for A vs B buffer query.
60127 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
60129         Fix recently-introduced SAFE_FREE bug
60131         Problem reported by Andy Moreton (Bug#31996).
60132         * src/lisp.h (union specbinding.unwind_array):
60133         Remove unused member func.  Move array after nelts, as this is
60134         likely to generate more efficient code in safe_free, which can
60135         call xfree with the same value either way.
60136         (safe_free): Also handle SPECPDL_UNWIND_AWAY.
60138 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
60140         Tune SAFE_FREE
60142         On my platform (Fedora 28 x86-64, AMD Phenom II X4 910e) this sped
60143         up a SAFE_FREE-using microbenchmark (string-distance "abc" "abc")
60144         by about 18%, and shrank the Emacs text size by about 0.1%.
60145         * src/callint.c (Fcall_interactively):
60146         * src/callproc.c (call_process):
60147         * src/doc.c (get_doc_string, Fsnarf_documentation):
60148         * src/editfns.c (Freplace_buffer_contents):
60149         * src/emacs-module.c (funcall_module):
60150         * src/eval.c (Flet):
60151         * src/process.c (Fmake_process):
60152         * src/term.c (tty_menu_show):
60153         * src/xdisp.c (safe__call):
60154         * src/xmenu.c (x_menu_show):
60155         Use SAFE_FREE_UNBIND_TO.
60156         * src/data.c (wrong_choice): No need to call SAFE_FREE here.
60157         * src/lisp.h (USE_SAFE_ALLOCA):
60158         * src/regex.c (REGEX_USE_SAFE_ALLOCA):
60159         Do not declare sa_must_free local; no longer needed.
60160         All uses removed.
60161         (SAFE_FREE): Rewrite in terms of safe_free.
60162         (safe_free): New function, optimized to use xfree.
60163         (SAFE_FREE_UNBIND_TO): New macro.
60164         (safe_free_unbind_to): New function.
60166 2018-06-27  João Távora  <joaotavora@gmail.com>
60168         Respect s-s-b-default-predicate when killing terminal
60170         Fixes: Bug#31951
60172         * lisp/server.el (server-save-buffers-kill-terminal): Only pass
60173         PRED=t to save-some-bufers if ARG in non-nil.
60175 2018-06-27  Vincent Belaïche  <vincentb1@users.sourceforge.net>
60177         Allow 'file:' protocol for Info-follow-nearest-node.
60179 2018-06-26  Glenn Morris  <rgm@gnu.org>
60181         Merge from origin/emacs-26
60183         12c77f6 (origin/emacs-26) Add ido-fallback special variable (Bug#31707)
60184         826e8d1 Merge branch 'emacs-26' of git.sv.gnu.org:/srv/git/emacs into...
60185         c784876 Tighten a cross-reference in documentation
60186         517dc0b Fix last change in tramp-sh.el
60187         f43186f Revert previous patch; comment was OK after all.
60188         4c3306e Fix lead comment for count_trailing_zero_bits
60189         b419f27 ; * doc/emacs/files.texi (Interlocking): Fix a non-portable @...
60190         7488de4 * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix docstring q...
60191         0b69807 Make a minor update to the CSS mode docstring
60192         9a53b6d Say how to override a primitive interactive spec
60193         1d77078 Fix Bug#31941
60195 2018-06-25  Jean-Christophe Helary  <brandelune@gmail.com>
60197         Reformat package.el message strings for future l10n
60199         * lisp/emacs-lisp/package.el (package-buffer-info)
60200         (package--download-one-archive, package-install-selected-packages)
60201         (package-autoremove, describe-package-1, package-menu-toggle-hiding)
60202         (package-menu-hide-package, package-menu--mark-upgrades-1)
60203         (package-menu--list-to-prompt, package-menu--prompt-transaction-p)
60204         (package-menu-execute, package-menu--find-and-notify-upgrades):
60205         Reformat message strings to remove need for plural computation.  Try
60206         to put full sentences in source string literals.
60207         * test/lisp/emacs-lisp/package-tests.el
60208         (package-test-describe-package): Update to match new message format.
60210 2018-06-25  Noam Postavsky  <npostavs@gmail.com>
60212         Suppress indent errors during electric indentation (Bug#18764)
60214         * lisp/electric.el (electric-indent-post-self-insert-function):
60215         Suppress errors from indent code, but don't suppress errors from
60216         elsewhere in this function.  That way, if trouble is encountered with
60217         electric indent "not working", the error should be reproducible by
60218         calling indent directly (as is the case for Bug#18764), or else it's
60219         from the electric indent code and will be reported normally.
60221 2018-06-25  Paul Eggert  <eggert@cs.ucla.edu>
60223         (format "%d" F) now truncates floating F
60225         Problem reported by Paul Pogonyshev (Bug#31938).
60226         * src/editfns.c: Include math.h, for trunc.
60227         (styled_format): For %d, truncate floating-point numbers and
60228         convert -0 to 0, going back to how Emacs 26 did things.
60229         * doc/lispref/strings.texi (Formatting Strings):
60230         Document behavior of %o, %d, %x, %X on floating-point numbers.
60231         * src/floatfns.c (trunc) [!HAVE_TRUNC]: Rename from emacs_trunc
60232         and make it an extern function, so that editfns.c can use it.
60233         All callers changed.
60234         * test/src/editfns-tests.el (format-%d-float): New test.
60236 2018-06-25  Lars Ingebrigtsen  <larsi@gnus.org>
60238         Fix spelling of "intermediate" (it's not "intermediary")
60240         * doc/emacs/misc.texi (Network Security): Ditto.
60242         * lisp/net/nsm.el (network-security-protocol-checks): Fix spelling
60243         on "intermediate".
60244         (nsm-protocol-check--intermediate-sha1): Ditto.
60246 2018-06-25  Lars Ingebrigtsen  <larsi@gnus.org>
60248         Clean up redundant code from previous checkins
60250         * src/gnutls.c (gnutls_verify_boot): Remove redundant setting of
60251         p->gnutls_certificates, which is now performed by
60252         gnutls_deinit_certificates.
60254 2018-06-25  João Távora  <joaotavora@gmail.com>
60256         Mention use of C-h . (display-local-help) in Flymake manual
60258         Fixes: Bug#31921
60260         * doc/misc/flymake.texi (Using Flymake): Mention display-local-help.
60262 2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
60264         Make the intermediary-sha1 check work
60266         * lisp/net/nsm.el (nsm-protocol-check--intermediary-sha1): Make
60267         the "skip the root cert" logic work (suggested by Noam Postavsky).
60269 2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
60271         Don't use XCAR in possibly-nil situations
60273         * src/gnutls.c (Fgnutls_peer_status): certs theoretically may be
60274         nil, so don't use XCAR.
60276 2018-06-24  Noam Postavsky  <npostavs@gmail.com>
60278         (Network Security): Fix the description of the 3DES weakness
60280         * doc/emacs/misc.texi (Network Security): Fix the description of
60281         the 3DES weakness.
60283 2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
60285         Make more TLS checks trigger on the default `medium' level
60287         * doc/emacs/misc.texi (Network Security): Update the doc to say
60288         what's on the different levels.
60290         * lisp/net/nsm.el (nsm-protocol-check--intermediary-sha1): Check
60291         intermediary certificates for SHA1.
60292         (nsm-protocol-check--3des): Check for 3DES ciphers.
60293         (network-security-protocol-checks): Put most of the checks on
60294         `medium'.
60296 2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
60298         Tweak previous gnutls change for efficiency
60300         * src/gnutls.c (Fgnutls_peer_status): Minor optimisation to avoid
60301         computing the topmost certificate twice.
60303 2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
60305         Return the entire TLS certificate chain back to the caller
60307         * src/gnutls.c (gnutls_deinit_certificates): New function.
60308         (Fgnutls_peer_status): Return all certificates in the chain back
60309         to Lisp land.
60310         (gnutls_verify_boot): Compute all the x509 certificates in the
60311         chain.
60313         * src/process.h (struct Lisp_Process): Adjust gnutls fields so
60314         that we can keep tracks of all certificates in the chain instead
60315         of just the host certificate.
60317 2018-06-24  Tom Tromey  <tom@tromey.com>
60319         Fix two tcl-mode defun-related bugs
60321         Fixes bug#23565
60322         * lisp/progmodes/tcl.el (tcl-mode): Set beginning-of-defun-function
60323         and end-of-defun-function.
60324         (tcl-beginning-of-defun-function, tcl-end-of-defun-function): New
60325         defuns.
60326         * test/lisp/progmodes/tcl-tests.el: New file.
60328 2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
60330         Fix reverse test in previous check-in
60332         * lisp/net/nsm.el (nsm-check-protocol): Fix reverse test in
60333         previous check-in.
60335 2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
60337         Refactor the protocol NSM checks for flexibility
60339         * doc/emacs/misc.texi (Network Security): Mention
60340         network-security-protocol-checks.
60342         * lisp/net/nsm.el (network-security-protocol-checks): New variable.
60343         (nsm-check-protocol): Refactor the checks into separate functions
60344         for greater flexibility.
60345         (nsm-protocol-check--diffie-hellman-prime-bits)
60346         (nsm-protocol-check--rc4, nsm-protocol-check--ssl)
60347         (nsm-protocol-check--signature-sha1): Refactored out of the big
60348         function.
60350 2018-06-23  Glenn Morris  <rgm@gnu.org>
60352         Merge from origin/emacs-26
60354         bbc9d37 (origin/emacs-26) Fix previous change in minibuffer-default-a...
60355         7caeef1 * src/editfns.c (Fformat): Make %x easier to spot in doc stri...
60356         ecc29fb Improve responsiveness while in 'replace-buffer-contents'
60357         8182d64 Improve documentation of 'server-start' and friends
60358         decdfed Clarify wording about functions' argument lists
60359         5abac8b * lisp/doc-view.el: Fix typos in the commentary.  (Bug#31937)
60361 2018-06-23  Glenn Morris  <rgm@gnu.org>
60363         Merge from origin/emacs-26
60365         5cb3991 Fix a typo in emacs-lisp-intro.texi
60366         d6aa55e Avoid segfaults in replace-buffer-contents with large buffers
60367         d22b8d1 Adjust for scaling for mode-line popup menus (Bug#31880)
60368         3d2e3dc Change name of `seqp' argument (Bug#26411)
60369         40e1db8 Change index of ";" to better reflect it's usage (Bug#31623)
60370         d289e7e Fix bug of 'mouse-drag-and-drop-region' to detect edges of re...
60371         e292c09 Fix #'fun handling inside `labels' (Bug#31792)
60373 2018-06-23  Michael Albinus  <michael.albinus@gmx.de>
60375         * lisp/net/tramp-sh.el (tramp-get-ls-command-with): Fix typo.
60377 2018-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
60379         * lisp/net/tramp-sh.el (tramp-sh--quoting-style-options): New function
60381         (tramp-do-directory-files-and-attributes-with-stat)
60382         (tramp-do-file-attributes-with-ls): Use it.
60384 2018-06-22  Michael Albinus  <michael.albinus@gmx.de>
60386         Improve backward compatibility of Tramp
60388         * lisp/net/tramp-adb.el (tramp-adb-handle-exec-path):
60389         * lisp/net/tramp-sh.el (tramp-sh-handle-exec-path): Use ´file-remote-p'.
60390         (tramp-get-ls-command-with): Handle busybox specially.
60392         * test/lisp/net/tramp-tests.el (tramp-test34-exec-path): Check for
60393         `fboundp'.  Use `file-remote-p'.  Hide compiler warning for older
60394         Emacsen.
60396 2018-06-22  Eli Zaretskii  <eliz@gnu.org>
60398         Document 'major-mode-suspend' and 'major-mode-restore'
60400         * doc/lispref/modes.texi (Major Modes): Document
60401         'major-mode-suspend' and 'major-mode-restore'.  (Bug#31551)
60403         * etc/NEWS: Mark the corresponding entry as documented in
60404         manuals.
60406 2018-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
60408         New functions to switch back and forth to another major mode
60410         * lisp/subr.el (major-mode--suspended): New var.
60411         (major-mode-suspend, major-mode-restore): New funs, extracted from doc-view.
60412         * lisp/doc-view.el (doc-view--previous-major-mode): Remove.
60413         (doc-view-mode): Use major-mode-suspend.
60414         (doc-view-fallback-mode): Use major-mode-restore.
60415         * lisp/hexl.el: (hexl-mode--minor-mode-p, hexl-mode--setq-local): Remove.
60416         (hexl-mode): Use major-mode-suspend and hexl-follow-ascii-mode.
60417         (hexl-mode-exit): Use major-mode-restore.
60418         (hexl-activate-ruler, hexl-follow-line): Don't bother trying to preserve
60419         earlier state, now that entering/leaving hexl-mode kills local vars.
60420         (hexl-follow-ascii-mode): New proper local minor mode.
60421         (hexl-follow-ascii): Rewrite, using it.
60422         * lisp/image-mode.el (image-mode-previous-major-mode): Remove.
60423         (image-mode): Use major-mode-suspend.
60424         (image-mode-to-text): Use major-mode-restore.
60426 2018-06-21  memeplex  <carlosjosepita@gmail.com>
60428         Remove broken icon from tooltip (Bug#31884)
60430         * src/gtkutil.c (xg_show_tooltip): Call gtk_widget_show instead of
60431         gtk_widget_show_all, the latter displays an extra placeholder icon.
60433 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
60435         Set group when installing, too
60437         From a patch by Ulrich Mueller in:
60438         https://lists.gnu.org/r/emacs-devel/2018-06/msg00687.html
60439         * Makefile.in (set_installuser): Also set the group, in order
60440         to match install(1) behavior.  Also, don’t clutter stderr
60441         with a diagnostic if ‘id’ is missing.
60443 2018-06-20  Eli Zaretskii  <eliz@gnu.org>
60445         Improve documentation of a recent change
60447         * doc/lispref/processes.texi (Subprocess Creation): Improve
60448         wording of documentation for the function 'exec-path'.
60450         * etc/NEWS: Improve wording and formatting of recently added
60451         entries.
60453         * lisp/files.el (exec-path): Doc fix.
60455 2018-06-20  Michael Albinus  <michael.albinus@gmx.de>
60457         Implement command completion in remote shells.  (Bug#31704)
60459         * doc/lispref/files.texi (Locating Files): Describe optional
60460         argument REMOTE of `executable-find'.
60461         (Magic File Names): Add `exec-path'.
60463         * doc/lispref/processes.texi (Subprocess Creation): Describe
60464         function `exec-path'.
60466         * doc/misc/tramp.texi (Remote programs): Explain refresh of search
60467         paths by `tramp-cleanup-this-connection'.
60469         * etc/NEWS: Mention 'exec-path' and 'executable-find'.
60471         * lisp/files.el (exec-path): New defun.
60472         (executable-find): Add optional argument REMOTE.
60474         * lisp/shell.el (shell-completion-vars): Set `comint-file-name-prefix'.
60475         (shell--command-completion-data): Use `(exec-path)'.  (Bug#31704)
60477         * lisp/net/ange-ftp.el (exec-path):
60478         * lisp/net/tramp.el (tramp-file-name-for-operation):
60479         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
60480         * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
60481         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
60482         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
60483         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
60484         <exec-path>: Add handler.
60486         * lisp/net/tramp-adb.el (tramp-adb-handle-exec-path): New defun.
60487         (tramp-adb-maybe-open-connection): Do not set "remote-path"
60488         connection property.
60490         * lisp/net/tramp-compat.el (tramp-compat-exec-path): New defun.
60492         * lisp/net/tramp-sh.el (tramp-sh-handle-exec-path): New defun.
60494         * lisp/net/tramp.el (tramp-eshell-directory-change): Use it.
60496         * test/lisp/net/tramp-archive-tests.el
60497         (tramp-archive-test38-make-nearby-temp-file)
60498         (tramp-archive-test41-file-system-info)
60499         (tramp-archive-test43-auto-load)
60500         (tramp-archive-test43-delay-load): Rename.
60502         * test/lisp/net/tramp-tests.el (tramp-test34-exec-path): New test.
60503         (tramp-test36-make-auto-save-file-name)
60504         (tramp-test37-find-backup-file-name)
60505         (tramp-test38-make-nearby-temp-file)
60506         (tramp-test39-special-characters)
60507         (tramp-test39-special-characters-with-stat)
60508         (tramp-test39-special-characters-with-perl)
60509         (tramp-test39-special-characters-with-ls, tramp-test40-utf8)
60510         (tramp-test40-utf8-with-stat, tramp-test40-utf8-with-perl)
60511         (tramp-test40-utf8-with-ls, tramp-test41-file-system-info)
60512         (tramp-test42-asynchronous-requests, tramp-test43-auto-load)
60513         (tramp-test43-delay-load, tramp-test43-recursive-load)
60514         (tramp-test43-remote-load-path, tramp-test44-unload): Rename.
60516 2018-06-19  João Távora  <joaotavora@gmail.com>
60518         Properly ignore stderr in elisp Flymake backend
60520         Naively passing `null-device' as stderr creates a buffer named
60521         "/dev/null" instead.  Pass a hidden buffer name instead.  (Bug#31902).
60523         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile): Pass
60524         hidden buffer as make-process :stderr instead of null-device.
60526 2018-06-19  Daniel Colascione  <dancol@dancol.org>
60528         Fix theme application
60530         Fix an inverted test.  Patch due to Andy Moreton.
60532         * lisp/cus-face.el (custom-theme-set-faces): Correct sense of
60533         `custom--should-apply-setting' test.
60535 2018-06-19  Daniel Colascione  <dancol@dancol.org>
60537         Unbreak dabbrev
60539         This commit partially reverts
60540         edb1f85a27817a3fac38bb85752671414819203b, which results in dabbev
60541         expansion failing due to trying to switch to the null buffer.
60543         * lisp/dabbrev.el (dabbrev--progress-reporter): Restore variable.
60544         (dabbrev--find-expansion): Restore original code.
60546 2018-06-18  Stefan Monnier  <monnier@iro.umontreal.ca>
60548         lisp/obsolete/*tls.el: Note when obsolescence was decided
60550 2018-06-18  João Távora  <joaotavora@gmail.com>
60552         Skip a json.c test unless functions being tested exist
60554         * test/src/json-tests.el
60555         (json-parse-with-custom-null-and-false-objects): Skip this test
60556         unless functions being tested exist.
60558 2018-06-18  João Távora  <joaotavora@gmail.com>
60560         Mark a specific electric-pair-mode test as an expected failure
60562         See https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00535.html
60564         * test/lisp/electric-tests.el
60565         (electric-pair-whitespace-chomping-2-at-point-4-in-c++-mode-in-strings):
60566         Mark as failing.
60568 2018-06-18  Mark Oteiza  <mvoteiza@udel.edu>
60570         Change errant if to when (Bug#31840)
60572         * lisp/emacs-lisp/subr-x.el: Expand to 'when' instead of 'if'.
60574 2018-06-18  João Távora  <joaotavora@gmail.com>
60576         Electric-pair-mode lets modes choose how to skip whitespace
60578         cc-mode.el-based major-modes with stricter syntax for invalid
60579         NL-terminated strings might choose to have electric-pair-mode skip
60580         some of whitespace into non-string-syntax regions, for the sake of
60581         letting electric-pair-mode chomp that whitespace and make the string
60582         valid again.
60584         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Call it.
60585         (electric-pair-skip-whitespace-function): New buffer-local variable.
60587 2018-06-18  Noam Postavsky  <npostavs@gmail.com>
60589         Stop assuming .git is a directory in gitmerge.el
60591         * admin/gitmerge.el (gitmerge-maybe-resume): Use 'git rev-parse
60592         --git-dir' to find the git directory rather than assuming it is
60593         .git/ (that assumption fails for separated worktrees).
60595 2018-06-18  Noam Postavsky  <npostavs@gmail.com>
60597         Default to splash on current frame, if none visible (Bug#31169)
60599         * lisp/startup.el (fancy-splash-frame): Default to current frame.
60601 2018-06-18  Noam Postavsky  <npostavs@gmail.com>
60603         Move tls.el and starttls.el to lisp/obsolete/ (Bug#31457)
60605         * lisp/obsolete/tls.el: Moved from lisp/net/tls.el.
60606         * lisp/gnus/nnimap.el:
60607         * lisp/url/url-http.el: Don't require tls, since it's obsolete.
60608         * lisp/net/network-stream.el: Only require tls if we actually try to
60609         use it (i.e., when (gnutls-available-p) returns nil).  Declare some
60610         functions to fix compilation warnings.
60612         * lisp/obsolete/starttls.el: Moved from lisp/net/starttls.el.
60613         * lisp/net/sieve-manage.el:
60614         * lisp/net/network-stream.el: Don't require `starttls' at the
60615         top-level, declare the variables and functions used instead.
60616         (network-stream-open-starttls): Only require `starttls' if
60617         needed (i.e., gnutls-available-p fails).
60619         * etc/NEWS: Announce obsoletion.
60621 2018-06-18  Glenn Morris  <rgm@gnu.org>
60623         Merge from origin/emacs-26
60625         3673770 (origin/emacs-26) Fix vertical-motion with 'visual' line-numb...
60626         d8bff53 ; CONTRIBUTE: Add a couple of nits.
60628 2018-06-18  Glenn Morris  <rgm@gnu.org>
60630         Merge from origin/emacs-26
60632         ebe065f Prevent errant scroll on mouse click (Bug#31546)
60633         ffd2018 Minor documentation fix
60634         cf4dc95 * lisp/window.el (window-toggle-side-windows): Doc fix.  (Bug...
60636 2018-06-18  Glenn Morris  <rgm@gnu.org>
60638         Merge from origin/emacs-26
60640         63ba73a Fix documentation of ':propertize' in mode-line-format
60641         22aa665 Reject invalid 5-byte sequences when detecting UTF-8 encoding
60642         0d3c358 Fix 'replace-buffer-contents' in multibyte buffers
60643         c79a627 Update etc/NEWS for mail-source-movemail-program change
60644         63f1dc4 Improve movemail default
60645         0b1a2ae Delete description of deleted Customize functions
60646         fcd66d0 Keep vc-print-log from putting point at buffer end (Bug#31764)
60648         Conflicts:
60649                 etc/NEWS
60651 2018-06-18  Glenn Morris  <rgm@gnu.org>
60653         Merge from origin/emacs-26
60655         a933ebe Improve commentary in info.el
60656         94e84a9 ; Further wording fix in tramp.texi
60657         a5a0b11 Fix wording in tramp.texi
60658         2933242 * doc/misc/tramp.texi (Remote shell setup): Fix typo.
60660 2018-06-18  Glenn Morris  <rgm@gnu.org>
60662         Merge from origin/emacs-26
60664         5bdc344 ; Reduce quoting for SELECTOR in 'make -C test' (Bug#31744)
60665         b6b793b ; test/Makefile.in: Add TEST_INTERACTIVE option (Bug#31744).
60666         1aa906f Make 'tags' targets respect --with-silent-rules (Bug#31744)
60668         Conflicts:
60669                 test/Makefile.in
60670                 test/README
60672 2018-06-18  Glenn Morris  <rgm@gnu.org>
60674         Merge from origin/emacs-26
60676         9c6f35a * doc/lispref/files.texi (Unique File Names): Fix a typo.  (B...
60678 2018-06-18  Eli Zaretskii  <eliz@gnu.org>
60680         Improve documentation of recent changes in Comint
60682         * lisp/comint.el (comint-insert-previous-argument)
60683         (comint-arguments, comint-insert-previous-argument-from-end):
60684         Doc fixes.
60685         (comint-insert-previous-argument-from-end): Add :version.
60687         * doc/emacs/misc.texi (Shell Ring): Fix a typo in the name of
60688         'comint-insert-previous-argument'.  Document
60689         'comint-insert-previous-argument-from-end'.  (Bug#25271)
60691         * etc/NEWS: Reformat and rephrase the entry for recent Comint
60692         changes.
60694 2018-06-18  Richard Stallman  <rms@gnu.org>
60696         rmail-summary-by-senders defaults to sender
60698         * etc/NEWS: Mention this.
60699         * lisp/mail/rmailsum.el (rmail-summary-by-senders):
60700         Offer From field of current message as a default argument.
60702 2018-06-17  Dima Kogan  <dima@secretsauce.net>
60704         comint-insert-previous-argument doesn't detect and ignore trailing &
60706         This function is invoked in shell-mode by the user, and is meant to
60707         emulate what M-. does in zsh and bash: it inserts an argument from a
60708         previous command.  Neither zsh nor bash treat a trailing & specially:
60709         M-. simply inserts it if it is encountered.  Emacs DID have extra
60710         logic to detect and discard trailing &, but this logic was buggy, and
60711         a && anywhere in the sequence would confuse it.  This patch simply
60712         removes that logic to fix the bug and to emulate zsh and bash more
60713         closely
60715         * lisp/comint.el (comint-insert-previous-argument): don't detect and
60716           ignore trailing &
60717           (Bug#25271)
60718         * etc/NEWS: Document this.
60720 2018-06-17  Dima Kogan  <dima@secretsauce.net>
60722         comint-insert-previous-argument counts args from start or from end
60724         This function is invoked in shell-mode by the user, and is meant to
60725         emulate what M-. does in zsh and bash: it inserts an argument from a
60726         previous command.  Without a prefix argument, it inserts the last arg
60727         from the previous command; with an argument INDEX, it inserts the
60728         INDEX-th argument.  bash counts from the start, while zsh counts from
60729         the end.  This patch adds a variable
60730         `comint-insert-previous-argument-from-end' that emulates the zsh
60731         behavior if non-nil.
60733         * lisp/comint.el (comint-arguments): can take in negative arguments to count
60734           from the end, same as indexing in python.
60735           (comint-insert-previous-argument): if
60736           comint-insert-previous-argument-from-end is non-nil, INDEX counts
60737           arguments from the end; if nil, from the beginning
60738           (Bug#25271)
60739         * etc/NEWS: Document this.
60741 2018-06-17  Glenn Morris  <rgm@gnu.org>
60743         * test/lisp/simple-tests.el (simple-tests-async-shell-command-30280):
60744         Use the correct emacs executable, not first in PATH.
60746 2018-06-17  Michael Heerdegen  <michael_heerdegen@web.de>
60748         Allow floats as 'pcase' QPATS
60750         * lisp/emacs-lisp/pcase.el (\`): Extend semantics of QPATS to all
60751         numbers.  Add a comment explaining why we disallow some atoms as
60752         QPATS.
60753         * doc/lispref/control.texi (Backquote Patterns): Update the paragraph
60754         explaining QPATS.  Remove a sentence suggesting an analogy between
60755         QPATS to self-quoting objects.
60757 2018-06-17  João Távora  <joaotavora@gmail.com>
60759         Minor Flymake docstring fixes
60761         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
60762         Clarify meaning of :region in docstring.
60763         (flymake-start): Fix broken docstring.
60765 2018-06-17  Eli Zaretskii  <eliz@gnu.org>
60767         Fix last change
60769         * etc/NEWS: Fix last added entry.
60771         * lisp/subr.el (dotimes-with-progress-reporter)
60772         (dolist-with-progress-reporter): Fix the advertised signature.
60774         * doc/lispref/display.texi (Progress): Fix last change.
60775         (Bug#31696)  (Bug#31697)
60777 2018-06-17  Tino Calancha  <tino.calancha@gmail.com>
60779         Add new macro dolist-with-progress-reporter
60781         * lisp/subr.el (dolist-with-progress-reporter): New macro (Bug#31697).
60782         * lisp/cus-edit.el (custom-group-value-create): Use it.
60783         * lisp/dabbrev.el (dabbrev--progress-reporter): Delete variable.
60784         (dabbrev--find-expansion): Use dotimes-with-progress-reporter.
60786         * doc/lispref/display.texi: Document the macro.
60788 2018-06-17  Tino Calancha  <tino.calancha@gmail.com>
60790         dotimes-with-progress-reporter: Polymorphic 2nd argument
60792         * lisp/subr.el (dotimes-with-progress-reporter): Allow 2nd arg to be
60793         a string or a progress reporter (Bug#31696).
60794         * doc/lispref/display.texi (node Progress): Update manual.
60796 2018-06-17  Michael Albinus  <michael.albinus@gmx.de>
60798         Cleanup secrets-tests
60800         * test/lisp/net/secrets-tests.el (secrets-test03-items)
60801         (secrets-test04-search): Cleanup "session" collection initially.
60803 2018-06-17  Eli Zaretskii  <eliz@gnu.org>
60805         When possible, prefer UTF-8 as the safe encoding for saving
60807         * lisp/international/mule-cmds.el (select-safe-coding-system):
60808         If possible, offer UTF-8 as the default encoding.  (Bug#31807)
60810 2018-06-16  Daniel Colascione  <dancol@dancol.org>
60812         Apply non-user themes only when asked
60814         Theme settings now generally aren't actually applied until a call to
60815         `enable-theme-, either one made explicitly or implicitly through
60816         `load-theme' with NO-ENABLE nil.  This change has the effect of not
60817         applying theme changes just because we load a lisp file containing a
60818         theme specification.  The previous behavior is preserved for the
60819         special case of the `user' theme, which is frequently used for
60820         ad-hoc customization.
60822         * lisp/cus-face.el (custom-theme-set-faces): Call
60823         `custom--should-apply-setting' to decide whether to apply
60824         a setting.
60826         * lisp/custom.el (custom--should-apply-setting): New function.
60827         (custom--inhibit-theme-enable): Add `apply-only-user' option;
60828         default to it.
60829         (custom-push-theme, custom-theme-set-variables): Call
60830         `custom--should-apply-setting' to decide whether to apply
60831         a setting.
60833 2018-06-16  Noam Postavsky  <npostavs@gmail.com>
60835         Don't forget to analyze args of lambda lifted functions (Bug#30872)
60837         * lisp/emacs-lisp/cconv.el (cconv--convert-funcbody): New function.
60838         (cconv--convert-function): Extracted from here.
60839         (cconv-convert): Also use it here, in the lambda lifted case, so that
60840         mutated args are properly accounted for.
60841         * test/lisp/emacs-lisp/cconv-tests.el: New test.
60843 2018-06-16  Noam Postavsky  <npostavs@gmail.com>
60845         Fix off by one error in python-mode assertion (Bug#30964)
60847         * lisp/progmodes/python.el (python-nav-end-of-statement): Don't assert
60848         that string-start is strictly greater than last-string-end, because
60849         the string end is a position outside of the string and may therefore
60850         be the same as the following string's start.
60851         * test/lisp/progmodes/python-tests.el (python-nav-end-of-statement-2):
60852         New test.
60854 2018-06-16  Daniel Colascione  <dancol@dancol.org>
60856         Restore old echo_truncate condition
60858         * src/keyboard.c (read_key_sequence): Restore old
60859         echo_truncate condition.
60861 2018-06-16  Daniel Colascione  <dancol@dancol.org>
60863         Make regex matching reentrant; update syntax during match
60865         * src/lisp.h (compile_pattern): Remove prototype of
60866         now-internal function.
60868         * src/regex.c (POS_AS_IN_BUFFER): Consult gl_state instead of
60869         re_match_object: the latter can change in Lisp.
60870         (re_match_2_internal): Switch back to UPDATE_SYNTAX_* FROM
60871         UPDATE_SYNTAX_FAST*, allowing calls into Lisp.
60873         * src/regex.h (re_match_object): Uncomment declaration.
60875         * src/search.c (struct regexp_cache): Add `busy' field.
60876         (thaw_buffer_relocation): Delete; rely on unbind.
60877         (compile_pattern_1): Assert pattern isn't busy.
60878         (shrink_regexp_cache): Don't shrink busy patterns.
60879         (clear_regexp_cache): Don't nuke busy patterns.
60880         (unfreeze_pattern, freeze_pattern): New functions.
60881         (compile_pattern): Return a regexp_cache pointer instead of the
60882         re_pattern_buffer, allowing callers to use `freeze_pattern' if
60883         needed.  Do not consider busy patterns as cache hit candidates;
60884         error if we run out of non-busy cache entries.
60885         (looking_at_1, fast_looking_at): Snapshot
60886         Vinhibit_changing_match_data; mark pattern busy while we're
60887         matching it; unbind.
60888         (string_match_1, fast_string_match_internal)
60889         (fast_c_string_match_ignore_case): Adjust for compile_pattern
60890         return type.
60891         (search_buffer_re): Regex code from old search_buffer moved here;
60892         snapshot Vinhibit_changing_match_data; mark pattern busy while
60893         we're matching it; unbind.
60894         (search_buffer_non_re): Non-regex code from old search_buffer
60895         moved here.
60896         (search_buffer): Split into search_buffer_re,
60897         search_buffer_non_re.
60898         (syms_of_search): Staticpro re_match_object, even though we really
60899         shouldn't have to.
60901         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
60902         (UPDATE_SYNTAX_TABLE_FAST): Remove.
60904         * src/thread.h (struct thread_state): Remove m_re_match_object,
60905         which is global again.  (It never needs to be preserved across
60906         thread switch.)
60908 2018-06-16  Daniel Colascione  <dancol@dancol.org>
60910         Decouple dired from regex internals
60912         * src/dired.c: Remove use of regex.h
60913         (directory_files_internal): Use higher-level regular
60914         expression functions.
60916 2018-06-16  Daniel Colascione  <dancol@dancol.org>
60918         Remove commented-out code in compile_pattern_1
60920         * src/search.c (compile_pattern_1): Remove commented-out code.
60922 2018-06-16  Daniel Colascione  <dancol@dancol.org>
60924         Tweak field ordering in re_pattern_buffer
60926         * src/regex.h (struct re_pattern_buffer): Reorder charset_unibyte
60927         field to keep bitfields together.
60929 2018-06-16  Bozhidar Batsov  <bozhidar@batsov.com>
60931         Fix a docstring
60933         Fix references to RuboCop in ruby-mode.el
60935 2018-06-16  João Távora  <joaotavora@gmail.com>
60937         Fix bug in elisp-flymake-byte-compile
60939         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile): Pass
60940         keyword args to make-process.
60942 2018-06-16  Paul Eggert  <eggert@cs.ucla.edu>
60944         Rewrite memory-limit in Lisp
60946         Have it return Emacs virtual memory size, not the sbrk value
60947         which is often useless newadays.
60948         * doc/lispref/internals.texi (Garbage Collection):
60949         * etc/NEWS: Document this.
60950         * lisp/subr.el (memory-limit): New implementation in Lisp,
60951         written in terms of process-attributes, and which returns
60952         virtual memory size.
60953         * src/alloc.c (Fmemory_limit): Remove C implementation.
60955 2018-06-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
60957         Fix byte compilation of (eq foo 'default)
60959         Do not use the symbol ‘default’ as a special marker.
60960         Instead, use a value that cannot appear in the program,
60961         improving on a patch proposed by Robert Cochran (Bug#31718#14).
60962         * lisp/emacs-lisp/bytecomp.el (byte-compile--default-val):
60963         New constant.
60964         (byte-compile-cond-jump-table-info)
60965         (byte-compile-cond-jump-table): Use it instead of 'default.
60966         * test/lisp/emacs-lisp/bytecomp-tests.el:
60967         (byte-opt-testsuite-arith-data): Add a test for the bug.
60969 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
60971         Use mint_ptr in w32notify.c
60973         * src/w32notify.c (Fw32notify_add_watch, Fw32notify_rm_watch)
60974         (Fw32notify_valid_p, w32_get_watch_object): Use make_mint_ptr and
60975         xmint_pointer.
60977 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
60979         * doc/lispref/text.texi (Parsing JSON): Minor formatting changes.
60981 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
60983         Minor doc string fixes in json.c
60985         * src/json.c (Fjson_serialize, Fjson_insert): Fix 'usage'.
60987 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
60989         Formatting and doc fixes in recent changes
60991         * src/xfaces.c (evaluate_face_filter): Explain the inner braces.
60992         (merge_face_ref): Fix whitespace.
60993         (syms_of_xfaces) <face-filters-always-match>: Doc fix.
60994         * src/xdisp.c (extend_face_to_end_of_line): Fix whitespace.
60996 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
60998         Improve documentation of several recent changes
61000         * src/xfaces.c (merge_face_ref): Fix a typo in the commentary.
61001         (evaluate_face_filter, filter_face_ref): Minor copyedits in
61002         the commentary.
61003         * doc/lispref/display.texi (Face Remapping):
61004         * doc/lispref/text.texi (Special Properties): Document the
61005         ':filter' face specs and their effects.  Document
61006         'face-filters-always-match'.
61008         * doc/emacs/files.texi (Visiting): Document the new
61009         possibility to visit large files literally in response to
61010         question asked by Emacs.
61011         * etc/NEWS: Mention the new possibility to visit large files
61012         literally.
61013         * lisp/files.el (files--ask-user-about-large-file): Use
61014         "literally" instead of "raw", for consistency with
61015         find-file-literally.
61017         * doc/lispref/frames.texi (Input Focus): Tell explicitly that
61018         focus-change events are sometimes supported on TTY frames.
61020 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
61022         Prevent QUIT to top level inside 'while-no-input'
61024         * lisp/subr.el (while-no-input): Handle the case when BODY
61025         never tests quit-flag, and runs to completion even though
61026         input arrives while BODY executes.  (Bug#31692)
61028 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
61030         Fix a typo in xmenu.c
61032         * src/xmenu.c (x_menu_show): Replace a call to
61033         record_unwind_protect_pointer with record_unwind_protect_ptr.
61034         (Bug#31856)
61036 2018-06-16  Ari Roponen  <ari.roponen@gmail.com>
61038         Fix --with-cairo build
61040         * src/xterm.c (x_cr_destroy): Remove extra semicolon.
61041         (x_cr_export_frames): Fix a typo in calling
61042         record_unwind_protect_ptr.  (Bug#31856)
61044 2018-06-15  Paul Eggert  <eggert@cs.ucla.edu>
61046         * src/Makefile.in: Update paxctl comment.
61048 2018-06-15  Paul Eggert  <eggert@cs.ucla.edu>
61050         Minor CANNOT_DUMP cleanups
61052         Mostly, this avoids munging executables when CANNOT_DUMP = yes,
61053         as the munging is needed only for unexec.
61054         * configure.ac (PAXCTL_dumped, PAXCTL_notdumped) [CANNOT_DUMP]:
61055         Leave these empty.
61056         (LD_SWITCH_SYSTEM_TEMACS) [CANNOT_DUMP]:
61057         Do not append -no-pie or -nopie.
61058         * src/alloc.c (my_heap_start) [CANNOT_DUMP]: Omit; not used.
61060 2018-06-15  Paul Eggert  <eggert@cs.ucla.edu>
61062         Remove old combreloc hack
61064         It has not been needed for many years and gets in the way of
61065         portable dumping, address sanitization, etc.  See:
61066         https://lists.gnu.org/r/emacs-devel/2016-12/msg00147.html
61067         * configure.ac (LDFLAGS_NOCOMBRELOC, emacs_cv_znocombreloc):
61068         Remove.  All uses removed.
61069         * etc/PROBLEMS: Remove discussion of combreloc problems.
61071 2018-06-15  Paul Eggert  <eggert@cs.ucla.edu>
61073         Fix typo in previous macfont.m change
61075         * src/macfont.m (macfont_descriptor_entity): Fix typo.
61076         Problem reported by Clemens Schüller.
61078 2018-06-15  Paul Eggert  <eggert@cs.ucla.edu>
61080         Restore macfont.m casts to void *
61082         * src/macfont.m (macfont_set_family_cache): Restore casts
61083         to void * that were mistakenly removed in my recent change.
61084         The types in question are pointer-to-const.  Problem
61085         reported by Clemens Schüller.
61087 2018-06-15  João Távora  <joaotavora@gmail.com>
61089         Fix a bug in Flymake handling of region-specific reports
61091         The backend's diagnostic list must be updated too, not just cleared.
61093         * lisp/progmodes/flymake.el (flymake--diag): Add overlay field.
61094         (flymake--highlight-line): Return created overlay.
61095         (flymake--handle-report): Iterate the backend's diagnostics, not
61096         the overlays.  Set diagnostic overlay.
61097         (flymake--run-backend): Don't clean diagnostic list here.
61098         (flymake-mode): Call delete-overlay directly.
61100 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
61102         Fix building --without-x and similar
61104         * src/keyboard.c (make_lispy_focus_out): Compile it
61105         unconditionally, as it is now supported on TTYs as well.
61106         Reported by Filipp Gunbin <fgunbin@fastmail.fm>.
61108 2018-06-15  João Távora  <joaotavora@gmail.com>
61110         Flymake and backends exchange hints abouts changed regions
61112         * lisp/progmodes/flymake.el (flymake--delete-own-overlays): Accept
61113         BEG and END.  Rename from flymake-delete-own-overlays.
61114         (flymake-diagnostic-functions): Describe :region, :recent-changes
61115         in docstring.
61116         (flymake--handle-report): Accept REGION.
61117         (flymake--run-backend): Accept optional ARGS to pass to backend
61118         fn.
61119         (flymake--recent-changes): New buffer-local variable.
61120         (flymake-start): Call flymake--run-backend with recent changes.
61121         (flymake-mode): Initialize flymake--recent-changes.  Call
61122         flymake--delete-own-overlays.
61123         (flymake-after-change-function): Collect recent changes.
61125         * doc/misc/flymake.texi (Backend functions): Describe
61126         :recent-changes and :region.
61128         * etc/NEWS (Flymake): Mention improvements in backend communication.
61130 2018-06-15  Tino Calancha  <tino.calancha@gmail.com>
61132         customize-apropos: Separate package name from its description
61134         * lisp/cus-edit.el (custom-group-value-create):
61135         Always insert documentation indented from its package name (Bug#31466).
61137 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
61139         Remove Lisp_Misc_Save_Value
61141         This type and its associated routines are no longer used.
61142         * src/alloc.c (voidfuncptr): Move here from src/lisp.h.
61143         (free_misc, make_save_int_int_int)
61144         (make_save_obj_obj_obj_obj, make_save_ptr)
61145         (make_save_ptr_int, make_save_ptr_ptr)
61146         (make_save_funcptr_ptr_obj, make_save_memory)
61147         (free_save_value, mark_save_value):
61148         Remove.
61149         (mark_object): Remove mention of Lisp_Misc_Save_Value.
61150         * src/lisp.h (Lisp_Misc_Save_Value, SAVE_SLOT_BITS)
61151         (SAVE_VALUE_SLOTS, SAVE_TYPE_BITS, enum Lisp_Save_Type)
61152         (struct Lisp_Save_Value, SAVE_VALUEP, XSAVE_VALUE)
61153         (save_type, XSAVE_POINTER, set_save_pointer)
61154         (XSAVE_FUNCPOINTER, XSAVE_INTEGER, set_save_integer)
61155         (XSAVE_OBJECT): Remove.
61156         (union Lisp_Misc): Remove u_save_value.
61157         (voidfuncptr): Move from here to src/alloc.c.
61158         * src/print.c (print_object):
61159         Remove support for printing Lisp_Misc_Save_Value.
61161 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
61163         New type Lisp_Misc_Ptr
61165         This is a streamlined version of Lisp_Save_Value, which contains just
61166         a pointer, as that is all Lisp_Save_Values are used for any more.
61167         With the previous changes, these objects are not primarily used as
61168         save values, so just call them "Misc" rather than "Save".
61169         * src/alloc.c (make_misc_ptr): New function.
61170         (mark_object): Mark Lisp_Misc_Ptr too.
61171         * src/lisp.h (Lisp_Misc_Ptr): New constant.
61172         (struct Lisp_Misc_Ptr): New type.
61173         (make_mint_ptr, mint_ptrp, xmint_pointer):
61174         Use Lisp_Misc_Ptr, not Lisp_Save_Value.
61175         (union Lisp_Misc): Add Lisp_Misc_Ptr.
61176         * src/print.c (print_object): Print Lisp_Misc_Ptr.
61178 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
61180         Avoid allocating Lisp_Save_Value for arrays
61182         * src/alloc.c (mark_maybe_objects): New function.
61183         * src/eval.c (default_toplevel_binding)
61184         (backtrace_eval_unrewind, Fbacktrace__locals):
61185         Treat array unwindings like other miscellaneous pdl types.
61186         (record_unwind_protect_array): New function.
61187         (do_one_unbind): Free the array while unwinding.
61188         (mark_specpdl): Mark arrays directly.
61189         * src/lisp.h (SPECPDL_UNWIND_ARRAY): New constant.
61190         (union specbinding): New member unwind_array.
61191         (SAFE_ALLOCA_LISP_EXTRA): Use record_unwind_protect_array
61192         instead of make_save_memory + record_unwind_protect.
61194 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
61196         Avoid allocating Lisp_Save_Value for excursions
61198         * src/editfns.c (save_excursion_save): New arg PDL,
61199         specifying where to save the state.  All uses changed.
61200         (save_excursion_restore): Args are now the marker and info
61201         rather than a pointer to a Lisp_Save_Value containing them.
61202         All uses changed.
61203         * src/eval.c (default_toplevel_binding, Fbacktrace__locals):
61204         Treat excursions like other miscellaneous pdl types.
61205         (record_unwind_protect_excursion): Save data directly
61206         into the pdl rather than creating an object on the heap.
61207         This avoids the need to allocate and free an object.
61208         (do_one_unbind, backtrace_eval_unrewind):
61209         Unwind excursions directly.
61210         (mark_specpdl): Mark excursions directly.
61211         * src/lisp.h (SPECPDL_UNWIND_EXCURSION): New constant.
61212         (union specbinding): New member unwind_excursion.
61214 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
61216         Just use cons in macfont_descriptor_entity
61218         * src/macfont.m (macfont_descriptor_entity): Use cons instead
61219         of make_save_ptr_int, as this avoids the need for a special
61220         type and function for this one-off.
61222 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
61224         Avoid allocating a Lisp_Save_Value in ftfont.c
61226         * src/ftfont.c (struct ftfont_cache_data): New member face_refcount.
61227         (ftfont_lookup_cache): Clear it when initializing.
61228         Use make_mint_ptr, since this typically avoids the need to
61229         allocate a Lisp_Save_Value as refcount is now stored elsewhere.
61230         (ftfont_open2, ftfont_close): Manipulate the reference
61231         count in the struct, not in the save object.
61233 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
61235         Use record_unwind_protect_ptr to avoid allocation
61237         * src/term.c (struct tty_pop_down_menu): New type.
61238         (tty_pop_down_menu, tty_menu_show): Use it, along with
61239         record_unwind_protect_ptr, to avoid allocating a Lisp_Misc.
61240         * src/xmenu.c (struct pop_down_menu): New type.
61241         (pop_down_menu, x_menu_show): Use it, likewise.
61242         * src/xterm.c (x_cr_destroy, x_cr_export_frames):
61243         Use record_unwind_protect_pointer to avoid possibly allocating
61244         a Lisp_Misc.
61246 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
61248         Avoid Lisp_Misc allocation if C stack suffices
61250         * src/fileio.c (union read_non_regular): New type.
61251         (read_non_regular, Finsert_file_contents):
61252         Use it to avoid allocating a Lisp_Misc.
61253         * src/keymap.c (union map_keymap): New type.
61254         (map_keymap_char_table_item, map_keymap_internal):
61255         Use it to avoid allocating a Lisp_Misc.
61257 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
61259         Simplify init_module_assertions
61261         * src/emacs-module.c (init_module_assertions): Just use NULL
61262         instead of allocating a dummy on the stack and then using
61263         eassert.  Practical platforms check for null pointer
61264         dereferencing nowadays, so this is good enough.
61266 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
61268         New mint_ptr representation for C pointers
61270         * src/lisp.h (make_mint_ptr, mint_ptrp, xmint_pointer): New functions.
61271         * src/dbusbind.c (xd_lisp_dbus_to_dbus, Fdbus__init_bus):
61272         * src/emacs-module.c (module_free_global_ref, Fmodule_load)
61273         (module_assert_runtime, module_assert_env, value_to_lisp)
61274         (lisp_to_value, initialize_environment)
61275         (finalize_environment, finalize_runtime_unwind)
61276         (mark_modules):
61277         * src/font.c (otf_open, font_put_frame_data)
61278         (font_get_frame_data):
61279         * src/macfont.m (macfont_invalidate_family_cache)
61280         (macfont_get_family_cache_if_present)
61281         (macfont_set_family_cache):
61282         * src/nsterm.h (XNS_SCROLL_BAR):
61283         * src/nsterm.m (ns_set_vertical_scroll_bar)
61284         (ns_set_horizontal_scroll_bar):
61285         * src/w32fns.c (w32_monitor_enum)
61286         (w32_display_monitor_attributes_list):
61287         * src/xterm.c (x_cr_destroy, x_cr_export_frames):
61288         * src/xwidget.c (webkit_javascript_finished_cb)
61289         (save_script_callback, Fxwidget_webkit_execute_script)
61290         (kill_buffer_xwidgets):
61291         Use mint pointers instead of merely save pointers.
61293 2018-06-14  João Távora  <joaotavora@gmail.com>
61295         Also allow custom false and null when serializing to JSON
61297         * doc/lispref/text.texi (Parsing JSON): Describe new arguments of
61298         json-serialize and json-insert.
61300         * src/json.c (enum json_object_type, struct json_configuration):
61301         Move up in file before first usage.
61302         (lisp_to_json_toplevel, lisp_to_json_toplevel_1, lisp_to_json):
61303         Accept a struct json_configuration*.
61304         (Fjson_serialize, Fjson_insert): Accept multiple args.
61305         (json_parse_args): Accept new boolean configure_object_type.
61307         * test/src/json-tests.el
61308         (json-serialize, json-insert): Update forward decls.
61309         (json-parse-with-custom-null-and-false-objects): Add assertions for
61310         json-serialize.
61312 2018-06-14  João Távora  <joaotavora@gmail.com>
61314         Support custom null and false objects when parsing JSON
61316         * doc/lispref/text.texi (Parsing JSON): Describe new :null-object
61317         and :false-object kwargs to json-parse-string and
61318         json-parse-buffer.
61320         * src/json.c
61321         (struct json_configuration): New type.
61322         (json_to_lisp): Accept a struct json_configuration* param.
61323         (json_parse_args): Rename from json_parse_object_type.
61324         (Fjson_parse_string): Rework docstring.
61325         (Fjson_parse_string, Fjson_parse_buffer): Update call to
61326         json_to_lisp.
61327         (syms_of_json): Two new syms, QCnull_object and QCfalse_object.
61329         * test/src/json-tests.el
61330         (json-parse-with-custom-null-and-false-objects): New test.
61332 2018-06-14  Damien Cassou  <damien@cassou.me>
61334         Fix pretty-printing empty objects as null
61336         * lisp/json.el (json-pretty-print): Force distinction between empty
61337           objects and null.
61338         (json-encode-list): Remove responsibility to print "null" as this
61339         value is not a list.
61340         (json-encode): Give higher precedence to lists so that an empty list
61341         is printed as an empty object, not as "null".
61343         * test/lisp/json-tests.el (test-json-encode): Add many tests to check
61344           the behavior of pretty-printing.
61346 2018-06-13  Paul Eggert  <eggert@cs.ucla.edu>
61348         Remove some wrong 8-byte alignment assumptions
61350         Do not assume that 8-byte alignment suffices for all C objects,
61351         as some platforms require 16-byte alignment for some objects,
61352         and this will start to bite us as time goes on (e.g., if an
61353         Emacs module ever uses an object containing a long
61354         double, which requires 16-byte alignment on x86-64).
61355         Conversely, on !USE_LSB_TAG platforms, do not insist on
61356         aligning Lisp objects to a multiple of 8, as this is not
61357         needed for high-order tag bits.
61358         * src/alloc.c (LISP_ALIGNMENT, MALLOC_IS_LISP_ALIGNED):
61359         New constants.
61360         (XMALLOC_BASE_ALIGNMENT, XMALLOC_HEADER_ALIGNMENT):
61361         Removed.  All uses replaced by LISP_ALIGNMENT.
61362         (aligned_alloc, laligned, lmalloc, lrealloc, union aligned_Lisp_Misc)
61363         (maybe_lisp_pointer, pure_alloc):
61364         Use LISP_ALIGNMENT rather than GCALIGNMENT.
61365         (aligned_alloc): Do not worry about an alignment of
61366         LISP_ALIGNMENT when MALLOC_IS_LISP_ALIGNED, as the code never
61367         uses aligned_alloc with alignment == LISP_ALIGNMENT in that case.
61368         (__alignof__): Remove.  All uses removed.
61369         (MALLOC_IS_GC_ALIGNED): Remove.
61370         All uses replaced with MALLOC_IS_LISP_ALIGNED.
61371         (vector_alignment): Remove.
61372         All uses replaced with LISP_ALIGNMENT.
61373         * src/alloc.c (mark_maybe_pointer):
61374         * src/emacs-module.c (value_to_lisp_bits):
61375         Do not assume GCALIGNMENT == 1 << GCTYPEBITS, as GCALIGNMENT
61376         is 1 on !USE_LSB_TAG platforms now.
61377         * src/lisp.h (GCALIGNMENT) [!USE_LSB_TAG]: Now 1.
61378         (struct Lisp_Symbol, union vectorlike_header, struct Lisp_Cons)
61379         (struct Lisp_String): Simplify test for verifying alignment.
61381 2018-06-12  Daniel Colascione  <dancol@dancol.org>
61383         Clarify that enabling a theme does not disable other themes
61385         Avoid user confusion by explicitly stating that enabling a theme does
61386         not imply disabling other themes and that theme load functions are not
61387         theme switch functions.
61389         * lisp/custom.el (load-theme, enable-theme): Clarify docstrings.
61391 2018-06-12  Daniel Colascione  <dancol@dancol.org>
61393         Ignore focus events for dead frames
61395         Frames can die between the time we generate a focus event and the time
61396         we get around to processing it.  Do run after-focus-change-function,
61397         since that's idempotent and we want to make sure not to miss
61398         any changes.
61400         * lisp/frame.el (handle-focus-in, handle-focus-out): Check for dead frames.
61402 2018-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
61404         * lisp/textmodes/ispell.el (ispell-menu-map): Init in declaration
61406         (ispell-menu-map-needed): Remove, now that the menu doesn't include
61407         the list of dictionaries any more, so it's basically constant.
61409 2018-06-12  Eli Zaretskii  <eliz@gnu.org>
61411         Fix initialization of custom-delayed-init-variables
61413         * lisp/startup.el (command-line): Re-evaluate delayed-init custom
61414         variables one more time after setting up the initial
61415         window-system.  (Bug#30994)
61417         * doc/emacs/custom.texi (Early Init File):
61418         * etc/NEWS: Warn against using early-init.el as a substitute for
61419         .emacs.
61421 2018-06-12  Noam Postavsky  <npostavs@gmail.com>
61423         Give warning if losing value to defvaralias (Bug#5950)
61425         * src/eval.c (Fdefvaralias): Call `display-warning' if the alias
61426         target has a non-eq value to the variable being aliased.
61427         * test/src/eval-tests.el (defvaralias-overwrite-warning): New test.
61429 2018-06-12  Noam Postavsky  <npostavs@gmail.com>
61431         Let display-warning work during bootstrap
61433         * lisp/emacs-lisp/warnings.el (display-warning): Only call
61434         `special-mode' and `newline' if they are `fbound'.
61436 2018-06-11  Michael R. Mauger  <michael@mauger.com>
61438         * lisp/progmodes/sql.el: Add MariaDB support (Robert Cochran)
61439           (sql-product-alist): Add MariaDB entry
61440           (sql-mariadb-program, sql-mariadb-options, sql-mariadb-login-params,
61441           sql-mode-mariadb-font-lock): New variables, aliases of the MySQL
61442           equivalents
61443           (sql-mariadb, sql-comint-mariadb): New interaction mode functions
61444           for MariaDB
61445           (sql-mode-mysql-font-lock-keywords): Updated font-lock for MySQL
61446           and MariaDB
61448 2018-06-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
61449             Noam Postavsky  <npostavs@gmail.com>
61451         soap-client: Add byte-code compatibility function (Bug#31742)
61453         * lisp/net/soap-client.el: Bump version to 3.1.4.
61454         (soap-type-of): New function.
61455         (soap-resolve-references, soap-decode-type)
61456         (soap-encode-attributes, soap-encode-value): Replace aref
61457         calls with calls to soap-type-of.
61459         * lisp/net/soap-inspect.el (soap-sample-value, soap-inspect):
61460         Replace aref calls with calls to soap-type-of.
61462 2018-06-11  Daniel Colascione  <dancol@dancol.org>
61464         Add after-delete-frame-functions
61466         Instead of working around the behavior delete-frame-functions, just
61467         add an after-delete-frame-functions hook.
61469         * doc/lispref/frames.texi (Deleting Frames): Document
61470         `after-delete-frame-functions'.
61472         * etc/NEWS: Mention `after-delete-frame-functions'.
61474         * lisp/frame.el (blink-cursor--should-blink):
61475         (blink-cursor--rescan-frames, blink-frame-mode): Get rid of the
61476         ugly ignored-frame parameter and switch from
61477         `delete-frame-functions' to `after-delete-frame-functions'.
61479         * src/frame.c (syms_of_frame): New variable
61480         `after-delete-frame-functions'.
61481         (delete_frame): Use it.
61483 2018-06-11  Daniel Colascione  <dancol@dancol.org>
61485         Make blink-cursor-mode use new focus functions
61487         * lisp/frame.el (blink-cursor--should-blink): New function.
61488         (blink-cursor-check): Call it.
61489         (blink-cursor--rescan-frames): New function.
61490         (blink-cursor-mode): Wire up `blink-cursor--rescan-frames`; stop
61491         using `focus-in-hook' and `focus-out-hook'.
61493 2018-06-11  Daniel Colascione  <dancol@dancol.org>
61495         Losing focus should not stop idleness
61497         * src/keyboard.c (read_char): Make Qfocus_out not break idle.
61499 2018-06-11  Daniel Colascione  <dancol@dancol.org>
61501         New focus management interface
61503         focus-in-hook and focus-out-hook don't accurately reflect actual
61504         user-visible focus states.  Add a new focus interface and mark the old
61505         one obsolete.
61507         * doc/lispref/frames.texi (Input Focus): Document new focus
61508         functions.  Remove references to the now-obsolete focus hooks.
61510         * lisp/frame.el (frame-focus-state): New function.
61511         (after-focus-change-function): New variable.
61512         (focus-in-hook, focus-out-hook): Move to lisp from C;
61513         mark obsolete.
61515         * lisp/term/xterm.el (xterm-translate-focus-in)
61516         (xterm-translate-focus-out): Track tty focus in `tty-focus-state'
61517         terminal parameter; call `after-focus-change-function'.
61518         (xterm--suspend-tty-function): New function.
61520         * src/frame.c (Fhandle_switch_frame): Update docstring; don't call
61521         focus hooks.
61522         (focus-in-hook, focus-out-hook): Remove: moved to lisp.
61523         (syms_of_frame): Remove unread_switch_frame; add
61524         Vunread_switch_frame.
61526         * src/keyboard.c:
61527         (Finternal_handle_focus_in): New function.
61528         (make_lispy_event): Always report focus events to lisp; don't
61529         translate them to switch events sometimes.  Lisp can take care of
61530         creating synthetic switch-frame events via
61531         `internal-handle-focus-in'.
61533         * src/w32term.c (x_focus_changed): Remove switch-avoidance logic:
61534         just directly report focus changes to lisp.
61536         * src/xterm.c (x_focus_changed): Remove switch-avoidance logic:
61537         just directly report focus changes to lisp.
61539 2018-06-11  Daniel Colascione  <dancol@dancol.org>
61541         Remove code #if-0-ed terminal-local code
61543         This code hasn't been used since 2005.
61545         * src/data.c
61546         (get_terminal, Fterminal_local_value, Fset_terminal_local_value): Remove.
61548 2018-06-11  Daniel Colascione  <dancol@dancol.org>
61550         Remove obsolete keyboard.c code
61552         * src/keyboard.c (any_kboard_state, single_kboard_state): Remove
61553         #if-0-ed functions.
61555 2018-06-11  Lars Ingebrigtsen  <larsi@gnus.org>
61557         Don't have shr bug out on degenerate <img> tags
61559         * lisp/net/shr.el (shr-tag-img): Protect against constructs like
61560         <img src=" ">.
61562 2018-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
61564         * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Use \' i.s.o $.
61566 2018-06-10  Noam Postavsky  <npostavs@gmail.com>
61568         Merge from emacs-26
61570         8a1576cc03 Fix term.el cursor movement at bottom margin (Bug#31690)
61572 2018-06-10  Noam Postavsky  <npostavs@gmail.com>
61574         Merge from emacs-26
61576         3434edc731 Enlarge DUMPED_HEAP_SIZE for 64-bit Windows builds
61577         36bbdfc017 Update Unicode data files to version 11.0.0 of Unicode
61578         b7b7a5f4f3 * etc/NEWS: Belatedly call out vc-hg changes in v26.1.  (B...
61579         5b6f8b54d1 Clarify the documentation of 'dired-recursive-deletes'
61580         9db97b49cd ; * etc/DEBUG: Add information about debugging libXft prob...
61581         0214ffbe60 Clarify doc string of 'update-glyphless-char-display'
61582         ef35d405b1 Clarify subtle issues with 'eq' in byte-compiled code
61583         c6ef3c8321 Make cl-print respect print-quoted (bug#31649)
61584         26b52ac40e Fix unexpected jumps of window-point in 'set-window-config...
61585         4af077ab4d * etc/emacs.appdata.xml: Update Emacs screenshot.
61586         e5ab25deae Fix cursor movement by 'next-logical-line' after 'next-line'
61587         d20beef5f1 Fix prompt in bookmark.el (Bug#24726)
61588         c57e7eaae8 Improve documentation of 'empty' whitespace-style
61590         # Conflicts:
61591         #       etc/NEWS
61593 2018-06-10  Noam Postavsky  <npostavs@gmail.com>
61595         Merge from emacs-26
61597         55c9bb9f3c Fix comint-get-old-input-default for output field case (Bu...
61598         26819cd1c0 ; ChangeLog.3: Fix typo.
61599         e35a08ea4b Prevent infloop in 'delete-trailing-whitespace'
61601         * lisp/progmodes/cperl-mode.el:
61602         * lisp/progmodes/cc-engine.el:
61603         * lisp/progmodes/cc-mode.el: Fix tabs mixed with space preventing
61604         commit hook from succeeding.
61606 2018-06-10  Paul Eggert  <eggert@cs.ucla.edu>
61608         Pacify gcc -Wnull-dereference some more
61610         * src/keyboard.c (read_char): Use xevent_start in a couple
61611         more places where it is safe.  This is needed with
61612         --enable-gcc-warnings --enable-checking on Fedora 28 x86-64.
61614 2018-06-10  Paul Eggert  <eggert@cs.ucla.edu>
61616         Use native alignment to access Lisp object data
61618         Instead of using __builtin_assume_aligned (P, GCALIGNMENT) to
61619         tell GCC that P has alignment 8, use (T *) P where T is the
61620         type of the pointed-to object, to tell GCC that P has native
61621         alignment.  This is simpler, matches the intent better, and
61622         should help simplify future improvements.  Some of these
61623         changes are to pacify gcc -Wnull-dereference, since GCC is
61624         smarter about pointers now that Emacs no longer uses
61625         __builtin_assume_aligned; these minor changes should improve
61626         code efficiency slightly.  On Fedora 28 x86-64 with default
61627         optimization this patch shrinks the size of the Emacs text
61628         segment by 0.36%.
61629         * src/conf_post.h (__has_builtin, __builtin_assume_aligned):
61630         Remove; no longer used.
61631         * src/dbusbind.c (XD_OBJECT_TO_DBUS_TYPE):
61632         Pacify -Wnull-dereference by using XCAR instead of CAR_SAFE
61633         and XCDR instead of CDR_SAFE when this is safe.
61634         * src/fileio.c (Fexpand_file_name):
61635         * src/font.c (clear_font_cache):
61636         Pacify -Wnull-dereference by removing unnecessary NILP test.
61637         * src/keyboard.c (xevent_start): New function.
61638         (read_char, read_key_sequence): Pacify -Wnull-dereference by
61639         using xevent_start instead of EVENT_START.
61640         * src/lisp.h (lisp_h_XUNTAG): Remove; XUNTAG is always a macro
61641         now, since it can no longer be implemented as a function.
61642         (XUNTAG): New third argument CTYPE.  All uses changed.
61643         Cast result to CTYPE * instead of using __builtin_assume_aligned.
61644         Simplify by using LISP_WORD_TAG.
61645         (LISP_WORD_TAG): New macro.
61646         (TAG_PTR): Use it.
61647         * src/menu.c (x_popup_menu_1):
61648         Pacify -Wnull-dereference by using XCAR instead of Fcar and
61649         XCDR instead of Fcdr where this is safe.
61651 2018-06-09  Paul Eggert  <eggert@cs.ucla.edu>
61653         Simplify read_key_sequence
61655         * src/keyboard.c (READ_KEY_ELTS): New constant.
61656         (keyremap_step, read_key_sequence): Omit BUFSIZE arg, since it's
61657         always READ_KEY_ELTS.  All callers changed.
61658         (grow_bool_vector): Remove; no longer needed.
61659         (read_key_sequence): Use a bool array instead of a Lisp bool
61660         vector, since it's small and this puts less pressure on the GC.
61662 2018-06-09  Daniel Colascione  <dancol@dancol.org>
61664         Unbreak echoing
61666         * src/keyboard.c (read_key_sequence): Don't echo_truncate the first time.
61668 2018-06-09  Paul Eggert  <eggert@cs.ucla.edu>
61670         Fix pointer misuse in JSON parser
61672         * src/json.c (lisp_to_json_toplevel_1): Fix pointer misuse not
61673         caught by C type checking (json_t ** converted to void * where
61674         the program expected json_t *).  Bug caught on Fedora 28 x86-64 via
61675         './configure CFLAGS="-g3 -O2 -fsanitize=address" CANNOT_DUMP=yes'.
61676         Avoid similar problems in the future by rewriting to use
61677         json_t * instead of json_t **.
61679 2018-06-09  Daniel Colascione  <dancol@dancol.org>
61681         Correctly set last_nonmenu_event when replaying
61683         read_key_sequence can, in various circumstances, play back recorded
61684         events.  Make sure that we set last_nonmenu_event as if we weren't
61685         replaying.  Without this change, we leave last_nonmenu_event set to
61686         whatever it was before we started replaying, leading to spurious
61687         random keymap menu prompts appearing after reading terminal control
61688         sequences, the translation of which sometimes causes event replays.
61690         * src/keyboard.c:
61691         (grow_bool_vector): New function
61692         (read_key_sequence): Remember menu event history per-event.
61694 2018-06-09  Daniel Colascione  <dancol@dancol.org>
61696         Add debug facility for formatting in rr sessions
61698         The existing debug print commands don't work in rr, since they touch
61699         stderr. The new xfmt command just calls Fformat and doesn't touch the
61700         stdio streams.
61702         * src/.gdbinit:
61703         (xfmt): New GDB command.
61705         * src/print.c:
61706         (debug_format): New function.
61708 2018-06-09  Daniel Colascione  <dancol@dancol.org>
61710         Fix typo in docstring
61712         * lisp/term/xterm.el: (xterm-paste-ending-sequence): Fix typo
61714 2018-06-09  Paul Eggert  <eggert@cs.ucla.edu>
61716         Fix read buffer overrun on overflowed integers
61718         * src/lread.c (read_integer): Fix off-by-1 buffer overrun
61719         introduced in 2018-04-17T23:23:16Z!eggert@cs.ucla.edu.  The
61720         bug could occur when Emacs read radixed integers containing
61721         more than 100 digits.  Bug caught by AddressSanitizer.
61723 2018-06-09  Alan Mackenzie  <acm@muc.de>
61725         Implement the C++11 "using" type definition.
61727         Cease using the long obsolete c++-template-syntax-table.
61729         * lisp/progmodes/cc-align.el (c-lineup-template-args): Cease using
61730         c++-template-syntax-table.
61732         * lisp/progmodes/cc-engine.el (c-beginning-of-inheritance-list)
61733         (c-search-decl-header-end, c-beginning-of-decl-1, c-end-of-decl-1)
61734         (c-guess-continued-construct, c-guess-basic-syntax): Cease using
61735         c++-template-syntax-table.
61736         (c-guess-basic-syntax): Add CASE 5D.6 to handle C++11's "using" type
61737         definition.
61739         * lisp/progmodes/cc-langs.el (c++-make-template-syntax-table)
61740         (c++-template-syntax-table): Remove.
61741         (c-equals-type-clause-kwds, c-equals-type-clause-key): New language
61742         constants/variables.
61744 2018-06-09  Daniel Colascione  <dancol@dancol.org>
61746         Improve robustness xterm event processing
61748         We used to treat the start of a focus-in, focus-out, and the start of
61749         a paste sequence as normal events bound in global-map, but this
61750         approach produces problems when we recognize events in the middle of
61751         actions that don't immediately dispatch to the command loop.
61753         Now we handle these events internally inside read-key, translating the
61754         focus events to nothing and paste-start into an xterm-paste event that
61755         neatly encapsulates the entire paste sequence.
61757         * lisp/term/xterm.el:
61758         (xterm-paste): Accept an event argument; insert text from event.
61759         (xterm-translate-focus-in,xterm-translate-focus-out)
61760         (xterm-translate-bracketed-paste): New functions.
61761         (xterm-handle-focus-in,xterm-handle-focus-out): Remove.
61762         (xterm-rxvt-function-map): Bind new translation functions.
61764 2018-06-09  Alan Mackenzie  <acm@muc.de>
61766         CC Mode: In brace lists, anchor an elt on its predecessor, not on first elt
61768         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): At the end, accept
61769         "." as a unary operator (which it now is in brace lists in, e.g., C Mode).
61770         (c-guess-basic-syntax): Just before CASE 9C, move back to the previous brace
61771         list entry in the block, rather than to the first one.
61773 2018-06-09  Philipp Stephani  <phst@google.com>
61775         Make error checking for thread functions stricter.
61777         * src/systhread.c (sys_thread_create): Change return type to bool.
61778         Check for errors returned by pthread_attr_setstacksize and
61779         pthread_attr_destroy.
61780         (sys_mutex_init): Abort on errors.  Enable mutex checks when checking
61781         is enabled.
61782         (sys_cond_init): Abort on errors.
61783         (sys_mutex_lock, sys_mutex_unlock, sys_cond_wait)
61784         (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy): Check for
61785         errors in debug mode.
61787 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
61789         Allow to reset Deleted flag when exporting messages in Rmail
61791         * lisp/mail/rmailout.el (rmail-output-reset-deleted-flag): New
61792         defcustom.
61793         (rmail-output): When 'rmail-output-reset-deleted-flag' is non-nil,
61794         reset the Deleted flag of the appended messages, and if COUNT is
61795         greater than 1, do not ignore deleted messages.  Update the doc
61796         string accordingly.  (Bug#31271)
61798         * doc/emacs/rmail.texi (Rmail Output): Document
61799         'rmail-output-reset-deleted-flag'.
61801         * etc/NEWS: Mention the new user option.
61803 2018-06-08  Paul Eggert  <eggert@cs.ucla.edu>
61805         Remove AddressSanitizer bug workaround
61807         This workaround no longer appears to be needed.
61808         * src/alloc.c (USE_ALIGNED_ALLOC): Don’t leave undefined
61809         merely because ADDRESS_SANITIZER is defined, as that bug
61810         in -fsanitize=address appears to have been fixed.  See:
61811         https://github.com/google/sanitizers/issues/337
61812         * src/conf_post.h (vfork): Improve comment.
61814 2018-06-08  Basil L. Contovounesios  <contovob@tcd.ie>
61816         Fix default candidate of find-face-definition
61818         * lisp/emacs-lisp/find-func.el (find-function-read): Use
61819         face-at-point instead of variable-at-point for faces. (bug#31699)
61821 2018-06-08  Daniel Colascione  <dancol@dancol.org>
61823         Avoid unnecessary readahead early in TTY frame init
61825         We query some properties of the terminal early in initialization, and
61826         just before we do, we perform ordinary redisplay.  This redisplay can
61827         result in unsightly flickering if we change some aspects of the
61828         display immediately afterward and redisplay again.  By avoiding
61829         redisplay in xquery--query as long as we get timely responses from the
61830         terminal, we can avoid this early unwanted redisplay.
61832         * lisp/term/xterm.el:
61833         (xterm-query-redisplay-timeout): New variable.
61834         (xterm--read-event-for-query): New function.
61835         (xterm--report-background-handler,xterm--version-handler,xterm--query):
61836         Call it.
61838 2018-06-08  Daniel Colascione  <dancol@dancol.org>
61840         Support terminal focus notifications
61842         * lisp/frame.el (handle-focus-in,handle-focus-out): Make event
61843         argument optional.
61844         (blink-cursor-check): Make sure that the current frame is a
61845         window-system frame before restarting the blink timer. TTY frames
61846         can get focus, but don't need a blink timer because the terminal
61847         will do the blinking.
61849         * lisp/term/xterm.el
61850         (xterm-handle-focus-in,xterm-handle-focus-out): New functions.
61851         (xterm-rxvt-function-map): Recognize focus notification sequences.
61852         (xterm--init-focus-tracking): New function.
61853         (terminal-init-xterm): Call it.
61855 2018-06-08  Daniel Colascione  <dancol@dancol.org>
61857         Fix formatting in the face filter change
61859         * src/xfaces.c:
61860         (evaluate_face_filter,filter_face_ref)
61861         (merge_face_ref,syms_of_xfaces): Fix comments, formatting.
61863 2018-06-08  Daniel Colascione  <dancol@dancol.org>
61865         Make setting inhibit-startup-screen in early init work
61867         * lisp/startup.el (command-line): Bind `inhibit-startup-screen'
61868         around loading the site file instead of unconditionally
61869         resetting it.
61871 2018-06-08  João Távora  <joaotavora@gmail.com>
61873         Describe flymake-start-on-save-buffer in manual and NEWS
61875         (Bug#31738)
61877         * doc/misc/flymake.texi (Using Flymake, Customizable variables):
61878         Mention flymake-start-on-save-buffer.
61880         * etc/NEWS: Mention flymake-start-on-save-buffer.
61882 2018-06-08  João Távora  <joaotavora@gmail.com>
61884         New flymake-start-on-save-buffer custom variable
61886         (Bug#21419)
61888         * lisp/progmodes/flymake.el (flymake-after-save-hook): Use
61889         flymake-start-on-save-buffer.
61890         (flymake-start-on-save-buffer): New custom variable.
61891         (flymake-start-on-flymake-mode): Tweak docstring.
61893 2018-06-08  Alan Mackenzie  <acm@muc.de>
61895         CC Mode: Fontify unbalanced quotes in unconstrained multiline strings, etc.
61897         ("Unconstrained" meaning that every string is multiline, without needing such
61898         special marking as used by Pike Mode.)
61900         * lisp/progmodes/cc-mode.el (c-pps-to-string-delim): Don't process the char
61901         before BOB.
61902         (c-multiline-string-check-final-quote): New function.
61903         (c-bc-changed-stringiness): New variable.
61904         (c-before-change-check-unbalanced-strings): Add handling for unconstrained
61905         multiline strings.
61906         (c-after-change-re-mark-unbalanced-strings): Add handling for unconstrained
61907         multiline strings.  Handle escaped double quotes more accurately.
61909 2018-06-08  Paul Eggert  <eggert@cs.ucla.edu>
61911         Port alignment verification to x86 --with-wide-int
61913         Problem reported by Eli Zaretskii in:
61914         https://lists.gnu.org/r/emacs-devel/2018-06/msg00238.html
61915         * src/lisp.h (struct Lisp_Symbol, union vectorlike_header)
61916         (struct Lisp_Cons, struct Lisp_String):
61917         Do not check alignment if !USE_LSB_TAG, as alignment is
61918         needed only if we are tagging the low-order bits.
61920 2018-06-07  Daniel Colascione  <dancol@dancol.org>
61922         Offer to open large files without modes
61924         * lisp/files.el:
61925         (files--ask-user-about-large-file): New function.
61926         (abort-if-file-too-large): Call it.
61927         (find-file-noselect): Support new raw open.
61929 2018-06-07  Daniel Colascione  <dancol@dancol.org>
61931         Add support for per-window face remapping
61933         Extend face specifications to support the notion of filtering to a
61934         specific context and add a filter that limits a face specification to
61935         windows having a certain parameter.
61937         * src/xfaces.c:
61938         (evaluate_face_filter,filter_face_ref): New functions.
61939         (merge_face_ref): Ignore filtered face specifications.
61940         (Fx_list_fonts,get_lface_attributes,merge_face_vectors)
61941         (merge_named_face,merge_face_ref,merge_face_ref)
61942         (Finternal_merge_in_global_face,Fface_font,lookup_named_face)
61943         (lookup_basic_face,Fface_attributes_as_vector)
61944         (x_supports_face_attributes_p)
61945         (Fdisplay_supports_face_attributes_p,realize_named_face)
61946         (compute_char_face,face_at_buffer_position)
61947         (face_at_buffer_position,face_at_buffer_position)
61948         (face_at_buffer_position)
61949         (face_for_overlay_string,face_at_string_position,merge_faces):
61950         Pass window to face machinery.
61951         (syms_of_xfaces): Add :window and :filtered
61953         * src/xdisp.c (init_iterator, handle_face_prop)
61954         (handle_single_display_spec, merge_escape_glyph_face)
61955         (merge_glyphless_glyph_face, get_next_display_element)
61956         (next_element_from_display_vector, append_space_for_newline)
61957         (extend_face_to_end_of_line,highlight_trailing_whitespace)
61958         (maybe_produce_line_number)
61959         (display_line, calc_line_height_property): Pass window to
61960         face machinery.
61962         * src/term.c (tty_menu_activate): Adjust to new face core
61963         function signature.
61965         * src/msdos.c (XMenuActivate): Adjust to new face core
61966         function signature.
61968         * src/fringe.c (draw_fringe_bitmap_1, Fset_fringe_bitmap_face):
61969         Pass window to face machinery.
61971         * src/font.c (font_range, Finternal_char_font): Pass window to
61972         face machinery.
61974         * src/dispnew.c (spec_glyph_lookup_face): Pass window to
61975         face machinery.
61977         * src/dispextern.h:
61978         (lookup_named_face,lookup_basic_face)
61979         (lookup_derived_face,merge_faces):
61980         Add struct window arguments to prototypes.
61982 2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>
61984         Fit kill_buffer_xwidgets into 80
61986         * src/xwidget.c (kill_buffer_xwidgets): Reindent and use C99
61987         style to fit in 80 columns.
61989 2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>
61991         Minor cleanup of save_excursion_restore
61993         * src/editfns.c (save_excursion_restore): Use clearer names
61994         for locals.  Free earlier, removing the need for a label and goto.
61996 2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>
61998         New function record_unwind_protect_excursion
62000         This simplifies callers a bit, and will simplify future changes.
62001         * src/eval.c (record_unwind_protect_excursion): New function.
62002         * src/buffer.c (Fkill_buffer):
62003         * src/bytecode.c (exec_byte_code):
62004         * src/editfns.c (Fsave_excursion, Freplace_buffer_contents):
62005         * src/lread.c (readevalloop, Feval_buffer):
62006         * src/window.c (scroll_command):
62007         Use it.
62009 2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>
62011         * src/.gdbinit: Omit soon-obsolete comment.
62013 2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>
62015         Fix ftfont_open2 failure cleanup
62017         * src/ftfont.c (ftfont_open2): Don’t increment counter if failing.
62018         Avoid use-after-free once the increment bug is fixed.
62020 2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>
62022         Don’t over-align if WIDE_EMACS_INT
62024         * src/lisp.h (GCALIGNED_UNION): New macro.
62025         (struct Lisp_Symbol, union vectorlike_header)
62026         (struct Lisp_Cons, struct Lisp_String):
62027         Use it to avoid possible over-alignment if !USE_LSB_TAG.
62029 2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>
62031         Fix GC-related commentary
62033         * src/lisp.h: USE_STACK_LISP_OBJECTS is no longer experimental.
62034         Also, remove confusion about scope vs lifetime.
62035         And say that stack-allocated strings should not be given
62036         text properties.
62038 2018-06-07  Noam Postavsky  <npostavs@gmail.com>
62040         Let isearch-yank-kill enable isearch-mode if needed (Bug#21419)
62042         * lisp/isearch.el (isearch-yank-kill): Enable isearch-mode if needed.
62044 2018-06-07  João Távora  <joaotavora@gmail.com>
62046         Accept plists when serializing and parsing JSON
62048         * doc/lispref/text.texi (Parsing JSON): Mention plist support.
62050         * src/json.c (lisp_to_json_toplevel_1): Serialize plists to json.
62051         (Fjson_serialize): Mention plists in docstring.
62052         (enum json_object_type): Add json_object_plist.
62053         (json_to_lisp): Parse JSON into plists.
62054         (json_parse_object_type): Consider plists.
62055         (Fjson_parse_string): Mention plists in docstring.
62056         (syms_of_json): New Qplist sym_of_json.
62057         (lisp_to_json): Update comment.
62059         * test/src/json-tests.el (json-serialize/object)
62060         (json-parse-string/object): New plist tests.
62062 2018-06-07  Michael Albinus  <michael.albinus@gmx.de>
62064         Remove Tramp "obex" and "synce" methods
62066         * doc/misc/tramp.texi (GVFS based methods): Remove `obex' and `synce'.
62068         * etc/NEWS: Mention obsolete Tramp "obex" and "synce" methods.
62070         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
62071         Remove "obex" and "synce".
62072         (top): Do not add defaults for "obex" and "synce".
62073         (tramp-bluez-service, tramp-bluez-interface-manager)
62074         (tramp-bluez-interface-adapter)
62075         (tramp-bluez-discover-devices-timeout, tramp-bluez-discovery)
62076         (tramp-bluez-devices, tramp-hal-service, tramp-hal-path-manager)
62077         (tramp-hal-interface-manager, tramp-hal-interface-device)
62078         (tramp-bluez-address, tramp-bluez-device)
62079         (tramp-bluez-list-devices, tramp-bluez-property-changed)
62080         (tramp-bluez-device-found, tramp-bluez-parse-device-names)
62081         (tramp-synce-list-devices, tramp-synce-parse-device-names): Remove.
62082         (tramp-gvfs-handler-mounted-unmounted)
62083         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec): Do not
62084         handle "obex" and "synce".
62086 2018-06-05  João Távora  <joaotavora@gmail.com>
62088         When navigating Flymake diagnostics, consider their severity
62090         The FILTER arg of flymake-goto-next-error, a list of types, includes
62091         every diagnostic with a severity number `eq` to those types.
62093         * lisp/progmodes/flymake.el (flymake--severity): New helper.
62094         (flymake-goto-next-error, flymake-goto-prev-error): Clarify
62095         meaning of FILTER.
62096         (flymake-goto-next-error): Interpret filter as a severity filter.
62097         (flymake--mode-line-format): Simplify.
62099 2018-06-05  João Távora  <joaotavora@gmail.com>
62101         Obsolete Flymake's flymake-diagnostic-types-alist
62103         That variable was an association between symbols and properties,
62104         effecively duplicating symbol's property lists.  It is simpler to just
62105         put properties on symbols.  Backward compatibility to the old variable
62106         has been kept.
62108         * doc/misc/flymake.texi (Flymake error types): Don't mention
62109         flymake-diagnostic-types-alist.
62110         (Flymake error types): Rework section.
62111         (Backend functions): Refill a paragraph.
62112         (Flymake utility functions): Don't mention
62113         flymake-diagnostic-types-alist.
62114         (Proc customization variables): Don't mention
62115         flymake-diagnostic-types-alist.
62117         * etc/NEWS: Mention obsoletion of flymake-diagnostic-types-alist.
62119         * lisp/progmodes/flymake-proc.el
62120         (flymake-proc--diagnostics-for-pattern): Don't use
62121         flymake-diagnostic-types-alist.
62123         * lisp/progmodes/flymake.el: Rewrite commentary.
62124         (flymake-make-diagnostic, flymake-mode, flymake-goto-next-error)
62125         (flymake-goto-prev-error): Don't mention
62126         flymake-diagnostic-types-alist in docstring.
62127         (flymake-diagnostic-types-alist): Make obsolete.
62128         (:error, :warning, :note): Put flymake-category in these symbols.
62129         (flymake-error, flymake-warning, flymake-note): Put
62130         `flymake-bitmap', not `bitmap' in these symbols.
62131         (flymake--lookup-type-property, flymake--highlight-line): Rewrite.
62132         Honor flymake-diagnostic-types-alist for backward
62133         compatibility.
62135         * lisp/progmodes/python.el (python-flymake-msg-alist): Don't
62136         mention flymake-diagnostic-types-alist.
62138 2018-06-05  João Távora  <joaotavora@gmail.com>
62140         Correctly filter Flymake diagnostic types shown in mode-line
62142         Thus, if a package foo has its own types foo-error and
62143         foo-warning, and if the buffer has no errors, the mode-line
62144         will correctly show `[0 0]' (zero errors and warnings) instead
62145         of `[0 0 0 0]' (zero errors, zero foo-errors, zero warnings,
62146         zero  foo-warnings).
62148         * lisp/progmodes/flymake.el
62149         (flymake--mode-line-format): Coalesce diagnostic types based on
62150         the severity, not the symbol.
62152 2018-06-05  João Távora  <joaotavora@gmail.com>
62154         Let Flymake backends attach arbitrary data to diagnostics
62156         This is easier that setting properties on diagnostics' text.
62158         * lisp/progmodes/flymake.el (flymake--diag): Add data slot.
62159         (flymake-make-diagnostic): Add DATA arg.
62160         (flymake-diagnostic-data): New accessor.
62162 2018-06-05  João Távora  <joaotavora@gmail.com>
62164         Update version information for Flymake package and manual
62166         * doc/misc/flymake.texi: Update date and version.
62167         Make myself the first author.
62169         * lisp/progmodes/flymake.el: Update Maintainer and Version fields.
62171         * lisp/progmodes/flymake-proc.el
62172         (flymake-proc--diagnostics-for-pattern): Update Maintainer and Version fields.
62174 2018-06-05  Damien Cassou  <damien@cassou.me>
62176         * lisp/auth-source-pass.el: Update version to 4.0.1
62178 2018-06-05  Damien Cassou  <damien@cassou.me>
62180         Test checking that auth-source-pass backend is correctly installed
62182         * test/lisp/auth-source-pass-tests.el
62183         (auth-source-pass-can-start-from-auth-source-search): Add test.
62185 2018-06-05  Damien Cassou  <damien@cassou.me>
62187         Make sure auth-source-pass is compatible with Emacs 25
62189         * lisp/auth-source-pass.el: Use `advice-add' for Emacs 25 users as
62190         `auth-source-backend-parser-functions' does not exist there.
62192 2018-06-05  Damien Cassou  <damien@cassou.me>
62194         * lisp/auth-source-pass.el: Update version to 4.0.0
62196 2018-06-05  Damien Cassou  <damien@cassou.me>
62198         Fix prefix messages of auth-source-pass debug messages
62200         * lisp/auth-source-pass.el (auth-source-pass--do-debug): Fix message
62201         prefix.
62203 2018-06-05  Damien Cassou  <damien@cassou.me>
62205         * lisp/auth-source-pass.el: Update version to 3.0.0
62207 2018-06-05  Alex Branham  <branham@utexas.edu>
62209         Silence byte compiler warning in auth-source-pass
62211         * lisp/auth-source-pass.el (auth-source-pass-backend): Silence byte
62212         compiler warning by only passing a parameter to `auth-source-backend'
62213         in Emacs <= 25.
62215 2018-06-05  Jelle Licht  <jlicht@fsfe.org>
62217         Fix auth-source-pass.el to properly handle special inputs
62219         * lisp/auth-source-pass.el (auth-source-pass-search): Warn when
62220         passing multiple hosts in SPEC. Early return and warn when passing a
62221         wildcard as host in SPEC. Early return when host is nil.
62222         * test/lisp/auth-source-pass-tests.el (auth-source-pass-any-host,
62223         auth-source-pass-undefined-host): Add corresponding tests.
62225 2018-06-05  Damien Cassou  <damien@cassou.me>
62227         auth-source-pass: Take care of matching hosts when port is provided
62229         * lisp/auth-source-pass.el (auth-source-pass--find-match): Add PORT
62230         parameter and reorganize code by extracting `find-match-unambiguous'.
62231         (auth-source-pass--find-match-unambiguous): New function.
62232         (auth-source-pass--build-result): Fix the call to `find-match'.
62233         (auth-source-pass--hostname, auth-source-pass--hostname-with-user,
62234         auth-source-pass--user): Remove functions.
62235         * test/lisp/auth-source-pass-tests.el: Fix the calls to `find-match'.
62236         (auth-source-pass-find-host-without-port) Add corresponding test.
62238 2018-06-05  Damien Cassou  <damien@cassou.me>
62240         Add missing test cases to auth-source-pass-tests.el
62242         * test/lisp/auth-source-pass-tests.el
62243         (auth-source-pass-build-result-passes-full-host-to-find-match): Add
62244         missing test cases.
62246 2018-06-05  Damien Cassou  <damien@cassou.me>
62248         Add a test to auth-source-pass-tests.el
62250         * test/lisp/auth-source-pass-tests.el
62251         (auth-source-pass-build-result-passes-full-host-to-find-match): Add
62252         test making sure find-match is called with full host.
62254 2018-06-05  Damien Cassou  <damien@cassou.me>
62256         Fix indentation in auth-source-pass-tests.el
62258         * test/lisp/auth-source-pass-tests.el
62259         (auth-source-pass-only-return-entries-that-can-be-open): Fix indentation.
62261 2018-06-05  Edison Ibañez  <arkhan.xxx@gmail.com>
62263         * test/lisp/auth-source-pass-tests.el: Add assertions for host:port
62265 2018-06-05  Damien Cassou  <damien@cassou.me>
62267         * lisp/auth-source-pass.el: Fix headers.
62269 2018-06-05  Michael Albinus  <michael.albinus@gmx.de>
62271         Fix selinux test in files-tests.el
62273         * test/lisp/files-tests.el
62274         (files-tests-file-name-non-special-set-file-selinux-context):
62275         Adapt test.
62277 2018-06-04  Glenn Morris  <rgm@gnu.org>
62279         Merge from origin/emacs-26
62281         03697e6 Fix remote-host directory tracking for shells in `term' buffers
62282         16e8541 Update doc string of 'rx'
62284 2018-06-04  Glenn Morris  <rgm@gnu.org>
62286         Merge from origin/emacs-26
62288         defd53a Set accessibility subroles for child frame (bug#31324)
62289         de6a876 Fix redefinition of child frames on NS
62291 2018-06-04  Michael Albinus  <michael.albinus@gmx.de>
62293         Fix Bug#31489
62295         * lisp/files.el (file-name-unquote-non-special): Remove.
62296         (file-name-quoted-p, file-name-quote, file-name-unquote):
62297         Add optional argument TOP.
62298         (file-name-non-special): Adapt callees.  Finish implementation of
62299         functions which need a local copy.  (Bug#31489)
62301 2018-06-03  João Távora  <joaotavora@gmail.com>
62303         Add proper Flymake support to cc-mode.el
62305         Except for the important detail that it doesn't make temporary files,
62306         the new flymake-cc backend doesn't yet behave much differently from
62307         the old flymake-proc-legacy-flymake, i.e. it still needs a special
62308         `check-syntax' Makefile target to provide the compiler and compilation
62309         flags.  However, the new infrastructure created should allow less
62310         intrusive cleverer flag guessers (yet to be written) to replace that
62311         mechanism.
62313         * lisp/progmodes/cc-mode.el (c-mode, c++-mode): Add to
62314         flymake-diagnostic-functions.
62316         * lisp/progmodes/flymake-cc.el: New file.
62318 2018-06-03  Alan Third  <alan@idiocy.org>
62320         Add NS style text scale keybindings
62322         * lisp/term/ns-win.el: Add super-based keybindings for adjusting text
62323         zoom.
62325 2018-06-03  Michael Albinus  <michael.albinus@gmx.de>
62327         Extend file-name-non-special
62329         * lisp/files.el (insert-file-contents-literally):
62330         Bind `inhibit-file-name-handlers' the default way.
62331         (file-name-non-special): Rework, mainly for operations with two
62332         file name arguments.
62333         (file-name-unquote-non-special): New defsubst.
62334         (file-name-unquote): Use it.
62336         * test/lisp/files-tests.el (files-test-bug-18141): Skip if needed.
62337         (files-tests--with-temp-non-special): Add docstring.  Delete also
62338         `non-special-name' if the file/directory exists.
62339         (files-tests--special-file-name-extension)
62340         (files-tests--special-file-name-regexp): New defconst.
62341         (files-tests--special-file-name-handler, files-tests--new-name):
62342         New defuns.
62343         (files-tests--with-temp-non-special-and-file-name-handler): New macro.
62344         (files-tests-file-name-non-special-access-file)
62345         (files-tests-file-name-non-special-add-name-to-file)
62346         (files-tests-file-name-non-special-byte-compiler-base-file-name)
62347         (files-tests-file-name-non-special-copy-directory)
62348         (files-tests-file-name-non-special-copy-file)
62349         (files-tests-file-name-non-special-delete-directory)
62350         (files-tests-file-name-non-special-delete-file)
62351         (files-tests-file-name-non-special-diff-latest-backup-file)
62352         (files-tests-file-name-non-special-directory-file-name)
62353         (files-tests-file-name-non-special-directory-files)
62354         (files-tests-file-name-non-special-directory-files-and-attributes)
62355         (files-tests-file-name-non-special-dired-compress-handler)
62356         (files-tests-file-name-non-special-dired-uncache)
62357         (files-tests-file-name-non-special-expand-file-name)
62358         (files-tests-file-name-non-special-file-accessible-directory-p)
62359         (files-tests-file-name-non-special-file-acl)
62360         (files-tests-file-name-non-special-file-attributes)
62361         (files-tests-file-name-non-special-file-directory-p)
62362         (files-tests-file-name-non-special-file-equal-p)
62363         (files-tests-file-name-non-special-file-executable-p)
62364         (files-tests-file-name-non-special-file-exists-p)
62365         (files-tests-file-name-non-special-file-in-directory-p)
62366         (files-tests-file-name-non-special-file-local-copy)
62367         (files-tests-file-name-non-special-file-modes)
62368         (files-tests-file-name-non-special-file-name-all-completions)
62369         (files-tests-file-name-non-special-file-name-as-directory)
62370         (files-tests-file-name-non-special-file-name-case-insensitive-p)
62371         (files-tests-file-name-non-special-file-name-completion)
62372         (files-tests-file-name-non-special-file-name-directory)
62373         (files-tests-file-name-non-special-file-name-nondirectory)
62374         (files-tests-file-name-non-special-file-name-sans-versions)
62375         (files-tests-file-name-non-special-file-newer-than-file-p)
62376         (files-tests-file-name-non-special-notify-handlers)
62377         (files-tests-file-name-non-special-file-ownership-preserved-p)
62378         (files-tests-file-name-non-special-file-readable-p)
62379         (files-tests-file-name-non-special-file-regular-p)
62380         (files-tests-file-name-non-special-file-remote-p)
62381         (files-tests-file-name-non-special-file-selinux-context)
62382         (files-tests-file-name-non-special-file-symlink-p)
62383         (files-tests-file-name-non-special-file-truename)
62384         (files-tests-file-name-non-special-file-writable-p)
62385         (files-tests-file-name-non-special-find-backup-file-name)
62386         (files-tests-file-name-non-special-get-file-buffer)
62387         (files-tests-file-name-non-special-insert-directory)
62388         (files-tests-file-name-non-special-insert-file-contents)
62389         (files-tests-file-name-non-special-load)
62390         (files-tests-file-name-non-special-make-auto-save-file-name)
62391         (files-tests-file-name-non-special-make-directory)
62392         (files-tests-file-name-non-special-make-directory-internal)
62393         (files-tests-file-name-non-special-make-symbolic-link)
62394         (files-tests-file-name-non-special-rename-file)
62395         (files-tests-file-name-non-special-set-file-acl)
62396         (files-tests-file-name-non-special-set-file-modes)
62397         (files-tests-file-name-non-special-set-file-selinux-context)
62398         (files-tests-file-name-non-special-set-file-times)
62399         (files-tests-file-name-non-special-set-visited-file-modtime)
62400         (files-tests-file-name-non-special-shell-command)
62401         (files-tests-file-name-non-special-start-file-process)
62402         (files-tests-file-name-non-special-substitute-in-file-name)
62403         (files-tests-file-name-non-special-temporary-file-directory)
62404         (files-tests-file-name-non-special-unhandled-file-name-directory)
62405         (files-tests-file-name-non-special-vc-registered)
62406         (files-tests-file-name-non-special-write-region): Extends tests to
62407         quoted file names, which would require a file name handler if unquoted.
62408         (files-test-no-file-write-contents): Make test more robust.
62410         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Adapt test.
62411         (tramp--test-emacs25-p): New defun.
62412         (tramp-test34-vc-registered): Use it.
62414 2018-06-02  Michael R. Mauger  <michael@mauger.com>
62416         Improve buffer naming in sql.el (Bug#31446)
62418 2018-06-02  Glenn Morris  <rgm@gnu.org>
62420         Merge from origin/emacs-26
62422         4cfe531 (origin/emacs-26) Improve ELisp documentation of 'clone-indir...
62423         9089b02 Improve documentation of 'inhibit-message'
62424         6107e12 Improve documentation of comment styles
62425         fb45125 Documentation improvements in newcomment.el
62426         641c94c Imp[rove documentation of 'with-silent-modifications'
62428 2018-06-02  Glenn Morris  <rgm@gnu.org>
62430         Merge from origin/emacs-26
62432         76f692e Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
62434 2018-06-02  Glenn Morris  <rgm@gnu.org>
62436         Merge from origin/emacs-26
62438         90bea37 ; * etc/PROBLEMS: Fix fvwm version number in last commit
62439         af82d1f * etc/PROBLEMS: Document stickyness problem with FVWM (Bug#31...
62440         4a3aed2 Update Emacs Lisp Intro to match current behavior
62441         21f2247 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
62442         3257085 Fix previous commit
62443         6d23525 Fix typos in several manuals (Bug#31610)
62444         9188291 Add detailed documentation about lock files
62445         e5471b2 Add commentary for subtle aspect of frame.el
62447         Conflicts:
62448                 doc/lispintro/emacs-lisp-intro.texi
62450 2018-06-02  Glenn Morris  <rgm@gnu.org>
62452         Merge from origin/emacs-26
62454         ca3f0a8 ; * etc/NEWS: Belated announcement of 2 changes made in Emacs...
62455         99f92da Improve documentation of 'directory-files-and-attributes'
62456         df8649a * lisp/gnus/message.el (message-remove-header): Don't remove ...
62457         b682a7e ; * etc/NEWS: Add headings for Emacs 26.2
62458         aa175a4 Adapt hexl-mode to native line-number display
62459         b8e7749 Fix example in Tramp manual
62460         f212fe5 Handle case where Xft is found but not XRender
62461         186280f * doc/misc/tramp.texi (Frequently Asked Questions): Adapt zsh...
62462         24ba633 Improve read-multiple-choice docstring (Bug#31628)
62464         Conflicts:
62465                 etc/NEWS
62466                 src/dired.c
62468 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
62470         Un-obsolete 'string-to-unibyte'
62472         * lisp/subr.el (string-to-unibyte): No longer obsolete.  See the
62473         emacs-devel discussion around this message:
62474         http://lists.gnu.org/archive/html/emacs-devel/2018-05/msg00656.html.
62476         * etc/NEWS: Announce the change.
62478 2018-06-01  John Shahid  <jvshahid@gmail.com>
62480         Fix column double counting in term.el (Bug#31662)
62482         * lisp/term.el (term-emulate-terminal): Invalidate
62483         `term-current-column' after deleting overwritten text.
62485 2018-06-01  João Távora  <joaotavora@gmail.com>
62487         Minimally support Flymake in Emacs C sources
62489         The check-syntax target is enabled the use of Flymake's "legacy"
62490         backend, flymake-proc-legacy-flymake in src/*.c.  It works quite well
62491         with C sources.  The green light for this change had already been
62492         given some time ago in
62494         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00385.html
62496         * src/Makefile.in (check-syntax): New target.
62497         (.PHONY): Add check-syntax.
62499 2018-06-01  Ville Skyttä  <ville.skytta@iki.fi>  (tiny change)
62501         Fix a typo in emacs-mime.texi (Bug#31610)
62503 2018-05-31  Robert Pluim  <rpluim@gmail.com>
62505         Obsolete image-jpeg-p
62507         * lisp/image.el (image-jpeg-p): Declare obsolete.
62509 2018-05-31  Lars Ingebrigtsen  <larsi@gnus.org>
62511         Fdirectory_files_and_attributes doc string clarification
62513         * src/dired.c (Fdirectory_files_and_attributes): Clarify what data
62514         is returned.
62516 2018-05-31  Alan Mackenzie  <acm@muc.de>
62518         Amend c-before-change-check-unbalanced-strings to handle a quote at EOB.
62520         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Before
62521         going back a sexp from the \n marked with a string-fence syntax-table text
62522         property, check that it is indeed a \n.  If not, simply delete that text
62523         property from the isolated quote, not the quote and the \n which otherwise
62524         delimit an unterminated string.  Should we encounter a double quote marked
62525         with a string-fence syntax-table text property at the end of the last line,
62526         remove that property.
62528 2018-05-30  Paul Eggert  <eggert@cs.ucla.edu>
62530         Work around GCC bug 81401
62532         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
62533         Make the buffer a byte longer than it needs to be, if
62534         --enable-gcc-warnings.
62536 2018-05-30  Roland Winkler  <winkler@gnu.org>
62538         bibtex-search-entry: Reuse the window displaying the buffer.
62540         * lisp/textmodes/bibtex-style.el (bibtex-reposition-window): New optional arg
62541         pos.
62542         (bibtex-search-crossref, bibtex-search-entry): Use it.
62543         (bibtex-search-entry): If possible, reuse the window displaying
62544         the buffer that contains the entry found.
62546 2018-05-30  Roland Winkler  <winkler@gnu.org>
62548         bibtex-mark-entry: Display no message.
62550         * lisp/textmodes/bibtex.el (bibtex-mark-entry): Display no message.
62552 2018-05-30  Roland Winkler  <winkler@gnu.org>
62554         bibtex-format-entry: Preserve opt-alt if possible.
62556         * lisp/textmodes/bibtex.el (bibtex-format-entry):
62557         Preserve opt-alt unless its removal is selected.
62558         (bibtex-parse-entry):  New optional arg keep-opt-alt.
62560 2018-05-29  Simen Heggestøyl  <simenheg@gmail.com>
62562         Add Imenu support to CSS mode and its derivatives
62564         * lisp/textmodes/css-mode.el (css--join-nested-selectors)
62565         (css--prev-index-position, css--extract-index-name): New helper
62566         functions for supporting Imenu.
62567         (css-mode): Set `imenu-space-replacement',
62568         `imenu-prev-index-position-function', and
62569         `imenu-extract-index-name-function'.
62570         (css-current-defun-name): Reuse `css--prev-index-position' and
62571         `css--extract-index-name' to support nested selectors.
62573         * test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name):
62574         Fix character index.
62575         (css-test-join-nested-selectors): New tests for
62576         `css--join-nested-selectors'.
62578         * etc/NEWS: Add news entry.
62580 2018-05-29  Eli Zaretskii  <eliz@gnu.org>
62582         Allow access to MS-Windows Registry from Lisp programs
62584         * src/w32.c (g_b_init_reg_open_key_ex_w)
62585         (g_b_init_reg_query_value_ex_w)
62586         (g_b_init_expand_environment_strings_w): New init flags.
62587         (globals_of_w32): Initialize them at startup.
62588         (RegOpenKeyExW_Proc, RegQueryValueExW_Proc)
62589         (ExpandEnvironmentStringsW_Proc): New function typedefs.
62590         (reg_open_key_ex_w, reg_query_value_ex_w)
62591         (expand_environment_strings_w): New wrapper function.
62592         (w32_read_registry): New function.
62593         * src/w32fns.c (Fw32_read_registry) [WINDOWSNT]: New primitive.
62594         (syms_of_w32fns) [WINDOWSNT]: Defsubr it.  DEFSYM "HKLM", "HKCU",
62595         etc. root keys.
62597         * etc/NEWS: Mention the new primitive.
62599 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
62601         * doc/misc/tramp.texi (All): Use @code instead of @option for user options.
62603 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
62605         Merge from origin/emacs-26
62607         13963a3a5c * doc/misc/tramp.texi (All): Use @code instead of @option ...
62608         6e5f19ada4 Fix Bug#31605
62610 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
62612         Merge from origin/emacs-26
62614         9a7a2e919a ; ChangeLog.3: Remove stray phrase.
62616 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
62618         Merge from origin/emacs-26
62620         9d6a3ac73a Mention pcase as a fifth conditional form
62621         567cb9046d Overhaul pcase documentation
62622         4d7e54acff Use EXPVAL in docstrings of patterns defined using pcase-d...
62623         7e8227ed68 Introduce EXPVAL for pcase, pcase-defmacro docstrings
62624         e6de5b3d51 Ensure pcase doc shows `QPAT first among extensions
62626 2018-05-27  Gemini Lasswell  <gazally@runbox.com>
62628         Make cl-print respect print-level and print-length (bug#31559)
62630         * lisp/emacs-lisp/cl-print.el (cl-print--depth): New variable.
62631         (cl-print-object) <cons>: Print ellipsis if printing depth greater
62632         than 'print-level' or length of list greater than 'print-length'.
62633         (cl-print-object) <vector>: Truncate printing with ellipsis if
62634         vector is longer than 'print-length'.
62635         (cl-print-object) <cl-structure-object>: Truncate printing with
62636         ellipsis if structure has more slots than 'print-length'.
62637         (cl-print-object) <:around>: Bind 'cl-print--depth'.
62638         * test/lisp/emacs-lisp/cl-print-tests.el
62639         (cl-print-tests-3, cl-print-tests-4): New tests.
62641 2018-05-27  Basil L. Contovounesios  <contovob@tcd.ie>
62643         Place epg-pinentry-mode varalias before defcustom
62645         This is needed to avoid losing user settings made under the obsolete
62646         name (Bug#31603).
62647         * lisp/epa.el (epa-pinentry-mode): Move obsolete varalias from here...
62648         * lisp/epg-config.el (epg-pinentry-mode): ...to here.
62650 2018-05-26  Paul Eggert  <eggert@cs.ucla.edu>
62652         Port .gdbinit to unsigned-pointer platforms
62654         * src/.gdbinit (Lisp_Object_Printer.to_string):
62655         Don’t assume that GDB treats C pointers as signed integers.
62656         Problem found with GDB Fedora 8.1-15.fc28.
62658 2018-05-26  Paul Eggert  <eggert@cs.ucla.edu>
62660         GNOME moved URLs for its active bug reports
62662         * src/emacs.c (main) [USE_GTK]:
62663         * src/gtkutil.c (xg_display_close):
62664         * src/xterm.c (x_connection_closed):
62665         Update GNOME bug report URLs.
62667 2018-05-26  Paul Eggert  <eggert@cs.ucla.edu>
62669         Don’t set EMACS=t if Bash is 4.4 or newer
62671         (Thanks to Stefan Monnier for improvements to this patch.)
62672         * lisp/term.el (term--bash-needs-EMACS-status): New var.
62673         (term--bash-needs-EMACSp): New function.
62674         (term-exec-1): Use it instead of always setting EMACS.
62676 2018-05-26  Tino Calancha  <tino.calancha@gmail.com>
62678         replace-tests.el: Refactor undo tests
62680         * test/lisp/replace-tests.el (replace-tests-bind-read-string): New variable.
62681         (replace-tests-with-undo): Add helper macro to generate the boilerplate code.
62682         (replace-tests--query-replace-undo, query-replace-undo-bug31073)
62683         (query-replace-undo-bug31492, query-replace-undo-bug31538): Use it.
62685 2018-05-26  Michael Albinus  <michael.albinus@gmx.de>
62687         Make `tramp-make-tramp-file-name' calls consistent.
62689         * lisp/net/tramp.el (tramp-get-buffer)
62690         (tramp-handle-file-name-as-directory)
62691         (tramp-handle-file-name-directory, tramp-handle-file-remote-p)
62692         (tramp-handle-file-truename, tramp-handle-find-backup-file-name)
62693         (tramp-handle-insert-file-contents):
62694         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
62695         (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid)
62696         (tramp-gvfs-maybe-open-connection):
62697         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
62698         (tramp-sh-handle-expand-file-name, )
62699         (tramp-sh-handle-process-file, tramp-get-remote-path):
62700         * lisp/net/tramp-smb.el (tramp-smb-handle-expand-file-name)
62701         (tramp-smb-handle-process-file): Make `tramp-make-tramp-file-name'
62702         calls consistent.
62704 2018-05-26  Eli Zaretskii  <eliz@gnu.org>
62706         * etc/HELLO: Add a few more scripts.
62708 2018-05-25  Tino Calancha  <tino.calancha@gmail.com>
62710         replace-tests.el: Fix broken tests
62712         After previous commit, all tests using helper function
62713         `replace-tests-clauses' fail: during the expansion
62714         of macro `replace-tests-with-undo', the function
62715         `replace-tests-clauses' is unbound.
62717         Delete those helpers and reimplement test
62718         `query-replace-undo-bug31538'.
62719         * test/lisp/replace-tests.el (query-replace-undo-bug31538):
62720         Reimplement this test without using any helper function/macro.
62722 2018-05-25  Tino Calancha  <tino.calancha@gmail.com>
62724         query-replace undo: Handle when user edits the replacement string
62726         * lisp/replace.el (perform-replace): Update the replacement string
62727         after the user edit it (Fix Bug#31538).
62729         * test/lisp/replace-tests.el (replace-tests-clauses): New function.
62730         (replace-tests-bind-read-string): New variable.
62731         (replace-tests-with-undo): Macro to create boilerplate code.
62732         (query-replace-undo-bug31073): Use it.
62733         (query-replace-undo-bug31538): New test.
62735 2018-05-25  Glenn Morris  <rgm@gnu.org>
62737         Merge from origin/emacs-26
62739         07f8f9b (origin/emacs-26) ; * lisp/ldefs-boot.el: Update.
62740         5cec2b0 * etc/HISTORY: Update for Emacs 26.1 release.
62741         7c474e1 * etc/AUTHORS: Update.
62742         ddc7bea ; * ChangeLog.3: Update.
62743         3557460 ; * admin/authors.el: Update.
62744         2f44d2d Note caveat for backward regexp searching in docstring (Bug#3...
62745         3145d08 Update backtrace in Emacs Lisp Intro
62746         43a9c26 Move window-point in bibtex-search-entry
62747         4bb2741 More fixes of Intro to Emacs Lisp
62748         c57c226 ; * doc/emacs/misc.texi (FFAP): Fix a typo.  (Bug#31580)
62749         0a51113 Add a footnote to Emacs Lisp Intro
62750         5eabe4a ; * doc/emacs/msdos.texi (ls in Lisp): Fix a typo.  (Bug#31575)
62751         d5e0ceb * lisp/help.el (with-help-window): Doc fix.  (Bug#31574)
62752         e7952bd Fix some cross-references in emacs-lisp-intro.texi
62753         a897959 Minor copyedits in Emacs manual in macos.texi
62755         Conflicts:
62756                 lisp/ldefs-boot.el
62758 2018-05-24  Michael Albinus  <michael.albinus@gmx.de>
62760         Fix file name completion in Tramp
62762         * lisp/net/tramp.el (tramp-handle-file-name-directory): Fix case
62763         of localname starts w/o a slash.
62765         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
62766         Extend test.
62768 2018-05-24  Michael Albinus  <michael.albinus@gmx.de>
62770         Fix Bug#31558
62772         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
62773         (tramp-backup-directory-alist, tramp-auto-save-directory)
62774         (tramp-encoding-shell, tramp-encoding-command-switch)
62775         (tramp-encoding-command-interactive, tramp-default-method)
62776         (tramp-default-method-alist, tramp-default-user)
62777         (tramp-default-user-alist, tramp-default-host)
62778         (tramp-default-host-alist, tramp-default-proxies-alist)
62779         (tramp-save-ad-hoc-proxies, tramp-restricted-shell-hosts-alist)
62780         (tramp-local-host-regexp, tramp-local-end-of-line)
62781         (tramp-rsh-end-of-line, tramp-login-prompt-regexp)
62782         (tramp-shell-prompt-pattern, tramp-password-prompt-regexp)
62783         (tramp-wrong-passwd-regexp, tramp-yesno-prompt-regexp)
62784         (tramp-yn-prompt-regexp, tramp-terminal-prompt-regexp)
62785         (tramp-operation-not-permitted-regexp, tramp-copy-failed-regexp)
62786         (tramp-process-alive-regexp, tramp-ignored-file-name-regexp)
62787         (tramp-chunksize, tramp-process-connection-type)
62788         (tramp-connection-timeout, tramp-connection-min-time-diff)
62789         (tramp-completion-reread-directory-timeout)
62790         * lisp/net/tramp-adb.el (tramp-adb-program)
62791         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
62792         * lisp/net/tramp-cache.el (tramp-connection-properties)
62793         (tramp-persistency-file-name):
62794         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
62795         (tramp-gvfs-zeroconf-domain)
62796         (tramp-bluez-discover-devices-timeout):
62797         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
62798         (tramp-copy-size-limit, tramp-terminal-type)
62799         (tramp-histfile-override, tramp-use-ssh-controlmaster-options)
62800         (tramp-remote-path, tramp-remote-process-environment)
62801         (tramp-sh-extra-args):
62802         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
62803         (tramp-smb-conf, tramp-smb-winexe-program)
62804         (tramp-smb-winexe-shell-command)
62805         (tramp-smb-winexe-shell-command-switch):
62806         Don't require 'tramp.  (Bug#31558)
62808         * lisp/net/tramp.el (tramp-ignored-file-name-regexp): Use type regexp.
62810 2018-05-23  Noam Postavsky  <npostavs@gmail.com>
62812         Honor print-charset-text-property value of nil (Bug#31376)
62814         * src/print.c (print_check_string_charset_prop): Move check
62815         for nil Vprint_charset_text_property from here...
62816         (print_prune_string_charset): ... to here.
62817         (syms_of_print) <print-charset-text-property>: Clarify that any
62818         non-boolean values are treated the same as `default'.
62819         * doc/lispref/streams.texi (Output Variables): Add
62820         print-prune-string-charset.
62821         * test/src/print-tests.el (print-charset-text-property-nil)
62822         (print-charset-text-property-default)
62823         (print-charset-text-property-t): New tests.
62824         (print-tests--prints-with-charset-p): New helper function.
62826 2018-05-23  Michael Welsh Duggan  <mwd@md5i.com>
62828         Avoid messing up buffer list when starting gud (Bug#22374)
62830         * lisp/progmodes/gud.el (gud-common-init): Use `display-buffer'
62831         instead of `switch-to-buffer'.
62833 2018-05-23  Noam Postavsky  <npostavs@gmail.com>
62835         Move epa-pinentry-mode to epg-config (Bug#26298)
62837         * lisp/epa.el (epa-pinentry-mode): Make into obsolete alias for...
62838         * lisp/epg-config.el (epg-pinentry-mode): ...this new user option.
62839         * lisp/epg.el (epg-context): Use it as the default value for
62840         pinentry-mode.
62841         * etc/NEWS: Announce name change.
62843         * lisp/epa-file.el (epa-file-insert-file-contents)
62844         (epa-file-write-region):
62845         * lisp/epa.el (epa-decrypt-file, epa-sign-file)
62846         (epa-encrypt-file, epa-decrypt-region)
62847         (epa-sign-region, epa-encrypt-region): Don't change
62848         epg-context-pinentry-mode from the default.
62850 2018-05-23  Noam Postavsky  <npostavs@gmail.com>
62852         Drop some epg/epa backwards compat code for ancient Emacs versions
62854         * lisp/epa.el (epa--select-safe-coding-system): Remove,
62855         `select-safe-coding-system' has been present since Emacs 20.3.
62856         (epa--encode-coding-string, epa--decode-coding-string):
62857         * lisp/epg.el (epg--decode-coding-string, epg--encode-coding-string)
62858         (epg--clear-string): Remove, the corresponding Emacs functions are so
62859         old they don't show up in NEWS.  Furthermore, the fallback for
62860         the *-coding-string functions was `identity' which wouldn't have
62861         worked anyway, since it only takes a single argument.
62862         (epg--make-temp-file): Remove, `make-temp-file' has been present since
62863         Emacs 21.1.
62864         * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program)
62865         (epg-gpgconf-program, epg-gpg-home-directory)
62866         (epg-passphrase-coding-system, epg-debug): Remove unneeded :group
62867         parameter.
62869 2018-05-23  Tino Calancha  <tino.calancha@gmail.com>
62871         Fix corner case in query-replace-regexp undo
62873         This commit fixes Bug#31492.
62874         * lisp/replace.el (replace-match-maybe-edit): Preserve match data.
62876         * test/lisp/replace-tests.el (query-replace-undo-bug31492): Add test.
62878 2018-05-23  Glenn Morris  <rgm@gnu.org>
62880         Merge from origin/emacs-26
62882         e3f00f5 (origin/emacs-26) Clarify when to use advice-add vs add-function
62883         c0f3e6b Minor formatting tweak in the Emacs manual
62884         fadf653 Update comments in Intro to Emacs Lisp
62885         52ccb24 ; * doc/os.texi (Batch Mode): use = after --eval
62886         d65430f * etc/NEWS: Mention change in `edebug-prin1-to-string'.
62887         ef4aec1 ; * doc/lispref/hash.texi (Defining Hash): Fix typos.
62888         2981952 Another attempt to fix sql.el
62889         b1b96d7 Update binding of 'M-.' in Intro to Emacs Lisp
62890         b239a09 Fix a typo in last change in sql.el
62891         0d8bae5 Fix capitalization of mail headers
62892         845fe03 Fix buffer names in sql.el
62893         a3885f5 Minor fixes in the Emacs manual
62894         542f830 Fix a typo in rmail.texi
62895         eb0bc6f * etc/PROBLEMS: Document Bug#31305.
62897         Conflicts:
62898                 doc/emacs/sending.texi
62899                 etc/NEWS
62901 2018-05-23  Glenn Morris  <rgm@gnu.org>
62903         Merge from origin/emacs-26
62905         73bc6f8 Fix a typo in describing input methods
62906         6b4bafe ; Add a comment to emacs-lisp-intro.texi
62908 2018-05-22  João Távora  <joaotavora@gmail.com>
62910         More helpful docstrings for tests of electric-tests.el
62912         * test/lisp/electric-tests.el (electric-pair-define-test-form):
62913         Improve automatically generated docstring.
62915 2018-05-22  Paul Eggert  <eggert@cs.ucla.edu>
62917         Work around GCC bug with function attributes
62919         * src/alloc.c (PNTR_ADD): Put attributes after ‘static’ and before
62920         returned type.  Problem reported by Eli Zaretskii in:
62921         https://lists.gnu.org/r/emacs-devel/2018-05/msg00559.html
62923 2018-05-22  Paul Eggert  <eggert@cs.ucla.edu>
62925         Fix failed assertion when load-force-doc-strings
62927         Problem reported by Philipp Stephani (Bug#31556).
62928         * src/lread.c (read_vector): When load_force_doc_strings, check
62929         for byte code vectors that are invalid because they are too short.
62930         * test/src/lread-tests.el (lread-invalid-bytecodes): New test.
62932 2018-05-22  Paul Eggert  <eggert@cs.ucla.edu>
62934         Minor tweaks to recent fix for Bug#31545
62936         * src/xwidget.c (webkit_javascript_finished_cb)
62937         (Fxwidget_webkit_execute_script): Use intptr_t to avoid warnings
62938         in the (unlikely) event that ptrdiff_t and void * differ in width.
62939         (save_script_callback): Simplify by using xlispdstrdup and
62940         larger_vector.
62942 2018-05-22  Michael Albinus  <michael.albinus@gmx.de>
62944         Extend secrets.el by searching for object paths.
62946         * lisp/net/secrets.el (secrets-search-item-paths): New function.
62947         (secrets-search-items): Use it.
62948         (secrets-create-item): Adapt docstring.
62950         * test/lisp/net/secrets-tests.el (secrets-test04-search): Extend test.
62952 2018-05-21  Andreas Schwab  <schwab@linux-m68k.org>
62954         * src/xwidget.c (Fxwidget_webkit_goto_uri): Encode uri.
62956 2018-05-21  Andreas Schwab  <schwab@linux-m68k.org>
62958         Make xwidget-webkit-execute-script safe against GC (Bug#31545)
62960         * src/xwidget.h (struct xwidget): Add script_callbacks.
62961         * src/xwidget.c (save_script_callback): New function.
62962         (Fxwidget_webkit_execute_script): Use it.  Encode script
62963         before passing to execution engine.  Always use a callback.
62964         (webkit_javascript_finished_cb): Deallocate script.
62965         (kill_buffer_xwidgets): Deallocate remaining scripts.
62966         (Fxwidget_webkit_zoom): Doc fix.
62967         (Fxwidget_resize): Doc fix.
62969 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
62971         Don’t assume ordering in make-process/mix-stderr
62973         * test/src/process-tests.el (process-tests--mixable): New function.
62974         (make-process/mix-stderr): Don’t assume stdout is merged before
62975         stderr.  POSIX does not require this, and the assumption failed to
62976         hold on my Fedora 28 platform.  See Bug#31214.
62978 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
62980         Update from Gnulib
62982         This incorporates:
62983         2018-05-21 crypto: omit stream ops Emacs doesn’t need
62984         2018-05-13 truncate: Fix compilation error on Android
62985         2018-05-13 imaxdiv: Fix compilation error on Android
62986         2018-05-13 Support selective inclusion of recent mingw.org headers
62987         2018-05-13 Add cross-compilation guesses for Linux systems sans glibc
62988         2018-05-13 stdioext: Fix compilation errors with newer Android headers
62989         2018-05-07 af_alg: Pacify --enable-gcc-warnings
62990         2018-05-06 af_alg: Fix bug with streams that are not at position 0
62991         2018-05-06 Followup to 'af_alg: New module'
62992         2018-05-05 crypto/{md5,sha1,sha256,sha512}: simplify
62993         2018-05-05 af_alg: New module
62994         2018-05-05 af_alg: Improve function signature
62995         2018-04-28 md5sum: Use AF_ALG when available
62996         2018-04-28 sha512sum: Use AF_ALG when available
62997         2018-04-28 sha256sum: Use AF_ALG when available
62998         2018-04-28 sha1sum: Use AF_ALG when available
62999         2018-05-05 all: Replace more http URLs by https URLs
63000         2018-05-03 maint: port more modules to GCC 8
63001         2018-05-03 Simplify code; drop support for Borland C++ on Windows
63002         * admin/merge-gnulib (GNULIB_MODULES): Use crypto/md5-buffer
63003         rather than crypto/md5, since Emacs doesn’t use the stream
63004         operations that in recent Gnulib pull in other stuff Emacs doesn’t
63005         need.  Similarly for crypto/sha1-buffer, crypto/sha256-buffer,
63006         crypto/sha512-buffer.
63007         * build-aux/config.guess, build-aux/config.sub, lib/dosname.h:
63008         * lib/dup2.c, lib/errno.in.h, lib/euidaccess.c, lib/fcntl.c:
63009         * lib/fcntl.in.h, lib/fpending.c, lib/fsync.c, lib/getdtablesize.c:
63010         * lib/getopt.c, lib/gettimeofday.c, lib/inttypes.in.h, lib/md5.c:
63011         * lib/md5.h, lib/open.c, lib/pipe2.c, lib/putenv.c, lib/sha1.c:
63012         * lib/sha1.h, lib/sha256.c, lib/sha256.h, lib/sha512.c:
63013         * lib/sha512.h, lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
63014         * lib/stdlib.in.h, lib/sys_stat.in.h, lib/sys_types.in.h:
63015         * lib/timespec.h, lib/unistd.in.h, lib/utimens.c, m4/c-strtod.m4:
63016         * m4/gnulib-common.m4, m4/inttypes.m4, m4/lstat.m4, m4/nocrash.m4:
63017         * m4/pselect.m4, m4/readlink.m4, m4/stdio_h.m4, m4/symlink.m4:
63018         * m4/unistd_h.m4, m4/utimens.m4:
63019         Copy from Gnulib.
63020         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
63022 2018-05-21  João Távora  <joaotavora@gmail.com>
63024         Fix Flymake's ruby-mode tests when user has "rubocop" installed
63026         The Flymake test suite fails if the "rubocop" program is installed,
63027         because the ruby-flymake-rubocop backend is selected automatically by
63028         ruby-flymake-auto.  The test was designed for ruby-flymake-simple,
63029         tough, and fails.
63031         * test/lisp/progmodes/flymake-tests.el (ruby-backend): Ensure
63032         this test runs exclusively with the ruby-flymake-simple backend.
63034 2018-05-21  Michael Albinus  <michael.albinus@gmx.de>
63036         Fix Bug#31489
63038         * doc/misc/tramp.texi (Frequently Asked Questions):
63039         Mention `tramp-ignored-file-name-regexp'.  Improve index.
63042         * lisp/net/tramp.el (tramp-ignored-file-name-regexp): New defcustom.
63043         (tramp-tramp-file-p): Use it.  Check also for `tramp-mode'.
63044         (tramp-file-name-handler): Don't check for `tramp-mode'.  (Bug#31489)
63046         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax):
63047         Extend test.
63049 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
63051         Revert part of the previous change
63053         * doc/misc/message.texi:
63054         * doc/misc/efaq.texi:
63055         * doc/emacs/sending.texi:
63056         * doc/emacs/rmail.texi: Revert the CC => Cc etc. conversions.
63058 2018-05-20  Paul Eggert  <eggert@cs.ucla.edu>
63060         Use “Cc” for email copies, as per RFC 5322.
63062         Also fix similar problems with Bcc, Fcc, In-Reply-To,
63063         and similar email headers.  See thread starting at:
63064         https://lists.gnu.org/r/emacs-devel/2018-05/msg00463.html
63066 2018-05-20  Noam Postavsky  <npostavs@gmail.com>
63068         * make-dist: Add '--no-info' option.
63070 2018-05-20  Alan Mackenzie  <acm@muc.de>
63072         Enhance CC Mode's fontification, etc., of unterminated strings.
63074         String delimiters, including escaped new lines, of correctly terminated
63075         strings are left in font-lock-string-face.  All others get
63076         font-lock-warning-face.  The latter get syntax-table text properties on the
63077         opening string delim and the "terminating EOL".
63079         Correct two miscellaneous bugs: the handling of text properties on Java Mode's
63080         generic delimiters; the handling of c-just-done-before-change.
63082         * lisp/progmodes/cc-defs.el (c-point): New position 'eoll "end of logical line".
63083         (c-characterp): New macro.
63085         * lisp/progmodes/cc-fonts.el (c-font-lock-invalid-string): Removed.
63086         (c-basic-matchers-before): Use a simple matcher in place of the form around
63087         c-font-lock-invalid-string.
63089         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Add
63090         c-before-change-check-unbalanced-strings to the value for all modes except AWK
63091         Mode.  Also add c-before-change-check-<>-operators to Java Mode, correcting an
63092         error in that mode's handling of generic delimiters.
63093         (c-before-font-lock-functions): Add c-after-change-re-mark-unbalanced-strings
63094         to the value for all modes except AWK Mode.
63095         (c-single-quotes-quote-strings, c-string-delims): New lang variables for
63096         future enhancements.
63097         (c-string-innards-re-alist): New lang variable.
63099         * lisp/progmodes/cc-mode.el (c-just-done-before-change): Do not set this
63100         variable when a change is the alteration of text properties.
63101         (c-basic-common-init): Set parse-sexp-lookup-properties (and the XEmacs
63102         equivalent) also for Pike Mode.
63103         (c-neutralize-CPP-line): No longer neutralize unbalanced quotes here.
63104         (c-unescaped-nls-in-string-p, c-multiline-string-start-is-being-detached)
63105         (c-pps-to-string-delim, c-before-change-check-unbalanced-strings)
63106         (c-after-change-re-mark-unbalanced-strings): New functions.
63107         (c-after-change): Fix a bug with the handling of c-just-done-before-change.
63109 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
63111         * etc/HELLO: More reasonable placement of 'charset' properties.
63113 2018-05-19  Paul Eggert  <eggert@cs.ucla.edu>
63115         * admin/notes/unicode: HELLO is again UTF-8.
63117 2018-05-19  Eli Zaretskii  <eliz@gnu.org>
63119         Use Enriched mode in etc/HELLO to keep charset information
63121         This allows to encode HELLO in UTF-8, thus supporting the entire
63122         repertory of Unicode, while still keeping the charset info where
63123         that is important.  Suggested by Michael Welsh Duggan <mwd@md5i.com>.
63124         * lisp/textmodes/enriched.el (enriched-translations): Add
63125         translations for 'charset'.
63126         (enriched-decode-charset, enriched-handle-charset-prop): New
63127         functions.
63128         * lisp/facemenu.el (facemenu-special-menu): Add sub-menu for
63129         'charset' property.
63130         (facemenu-set-charset): New function.
63131         (facemenu-remove-special): Remove the 'charset' property as well.
63133         * etc/NEWS: Announce the new feature of Enriched mode.
63134         * etc/HELLO: Recode in UTF-8 and place under Enriched mode.
63136         * doc/emacs/text.texi (Enriched Properties): Mention the support
63137         for 'charset'.
63139 2018-05-18  Paul Eggert  <eggert@cs.ucla.edu>
63141         * src/alloc.c: Fix comment.
63143 2018-05-18  Paul Eggert  <eggert@cs.ucla.edu>
63145         Port to GCC 8 -fsanitize=undefined
63147         In GCC 8, gcc -fsanitize=undefined flags the undefined behavior
63148         that Emacs relies on in its XPNTR and XSYMBOL low-level functions.
63149         Disable undefined sanitization in these functions.  Although this
63150         disabling doesn’t suffice if DEFINE_KEY_OPS_AS_MACROS is true, it
63151         works for -fsanitize=undefined -DINLINING=0, which is good enough.
63152         * src/alloc.c (macro_PNTR_ADD): New macro.
63153         (PNTR_ADD): New function and macro.
63154         The function disables -fsanitize=undefined.
63155         (macro_XPNTR): Use it.
63156         * src/conf_post.h (ATTRIBUTE_NO_SANITIZE_UNDEFINED): New macro.
63157         * src/lisp.h (XSYMBOL): Disable -fsanitize=undefined.
63159 2018-05-18  Lars Ingebrigtsen  <larsi@gnus.org>
63161         (gnus-blocked-images): Clarify privacy implications
63163         * lisp/gnus/gnus-art.el (gnus-blocked-images): Clarify the privacy
63164         implication of altering the value of this variable.
63166 2018-05-18  Eli Zaretskii  <eliz@gnu.org>
63168         Fix decoding of directories when "~" includes non-ASCII chars
63170         * src/fileio.c (Fexpand_file_name): Don't build multibyte strings
63171         from unibyte non-ASCII strings when NAME and DEFAULT_DIRECTORY
63172         have different multibyteness, as this adds bytes to the byte
63173         sequence, and in some situations, e.g., when the home directory
63174         includes non-ASCII characters, can fail file APIs.  (Bug#30755)
63176         * lisp/startup.el (normal-top-level): Make sure default-directory
63177         is set to a multibyte string when decoded on MS-Windows.
63179 2018-05-17  Filipp Gunbin  <fgunbin@fastmail.fm>
63181         Fix bugs in `auth-source-netrc-parse-one'.
63183         * lisp/auth-source.el (auth-source-netrc-parse-one): Ensure that match
63184           data is not overwritten in `auth-source-netrc-parse-next-interesting'.
63185           Ensure that blanks are skipped before and after going over comments
63186           and eols.
63187         * test/lisp/auth-source-tests.el (auth-source-test-netrc-parse-one): New test.
63189 2018-05-16  Michael Albinus  <michael.albinus@gmx.de>
63191         Fix creation of Secret Service items in auth-source
63193         * lisp/auth-source.el (auth-source-secrets-create): Use ´apply'.
63194         (auth-source-secrets-saver): Handle `auth-source-save-behavior'
63195         equal t.
63197         * lisp/net/secrets.el (secrets-get-items): Do not call
63198         `secrets-open-session' here ...
63199         (top): ... but here.
63201         * test/lisp/auth-source-tests.el
63202         (auth-source-test-secrets-create-secret): Bind
63203         `auth-source-save-behavior' to t.  Cleanup.
63205         * test/lisp/net/secrets-tests.el (secrets-test00-availability):
63206         After loading secets.el, a session is already opened.
63207         (secrets-test02-collections, secrets-test03-items)
63208         (secrets-test04-search): Open a new session.
63210 2018-05-15  Dima Kogan  <dima@secretsauce.net>
63212         Give '$' punctuation syntax in make-mode (Bug#24477)
63214         * lisp/progmodes/make-mode.el (makefile-mode-syntax-table): Set syntax
63215         of '$' to punctuation.
63217 2018-05-15  Noam Postavsky  <npostavs@gmail.com>
63219         Simplify eshell arg processing with (pop (nthcdr ...))
63221         * lisp/eshell/esh-opt.el (eshell--set-option)
63222         (eshell--process-args): Use (pop (nthcdr ...)) instead of writing it
63223         out by hand.
63225 2018-05-15  Jay Kamat  <jaygkamat@gmail.com>
63227         esh-opt.el: Add a :parse-leading-options-only argument (Bug#28323)
63229         * lisp/eshell/esh-opt.el (eshell-eval-using-options): Add a new
63230         :parse-leading-options-only argument which ignores dash/switch
63231         arguments after the first positional argument.
63232         (eshell--process-args): Abort processing of arguments if we see one
63233         positional argument and :parse-leading-options-only is set.
63234         * lisp/eshell/em-tramp.el (eshell/sudo): Use
63235         :parse-leading-options-only, to avoid parsing subcommand switches as
63236         switches of sudo itself.
63237         * test/lisp/eshell/esh-opt-tests.el: Add tests for new and old behavior.
63239 2018-05-15  Jay Kamat  <jaygkamat@gmail.com>
63241         esh-opt.el: Fix improper parsing of first argument (Bug#28323)
63243         Examples of broken behavior:
63245             sudo -u root whoami
63246             Outputs: -u
63247             ls -I '*.txt' /dev/null
63248             Errors with: *.txt: No such file or directory
63250         * lisp/eshell/esh-opt.el (eshell--process-args): Refactor usage of
63251         args to eshell--args, as we rely on modifications from
63252         eshell--process-option and vice versa.  These modifications were not
63253         being propagated in the (if (= ai 0)) case, since popping the first
63254         element of a list doesn't destructively modify the underlying list
63255         object.
63257 2018-05-15  Glenn Morris  <rgm@gnu.org>
63259         Merge from origin/emacs-26
63261         c2ef847 (origin/emacs-26) Clarify the mode-line indicators in CC Mode
63263 2018-05-15  Glenn Morris  <rgm@gnu.org>
63265         Merge from origin/emacs-26
63267         b98cf9c ; Fix a typo in the Emacs manual
63268         700fcd7 * doc/emacs/help.texi: Fix paren typo.
63269         c9c0e40 More minor changes in shell-related nodes of Emacs manual
63270         e6bf19c Fix inaccuracies in "Shell Ring" node of Emacs manual
63271         087681b8 Improve documentation of kmacro commands and variables.
63272         be2e8cb * doc/man/emacs.1.in: Document --fg-daemon and --bg-daemon.
63273         1d9e66a Don't check non-X frames for z order (Bug#31373)
63274         7dc028e Check NSWindow is actually a frame
63276         Conflicts:
63277                 src/nsfns.m
63279 2018-05-15  Michael Albinus  <michael.albinus@gmx.de>
63281         Fix Bug#29575
63283         * lisp/net/secrets.el (secrets-create-item): The new item does not
63284         need a unique label.
63285         (secrets-item-path, secrets-get-secret, secrets-get-attributes)
63286         (secrets-get-attribute, secrets-delete-item): ITEM can also be an
63287         object path.  (Bug#29575)
63289         * test/lisp/net/secrets-tests.el (secrets-test03-items):
63290         Test also creation of two items with same label.  Test
63291         `secrets-get-secret', `secrets-get-attribute' and
63292         `secrets-get-attributes' with object path.
63293         (secrets-test04-search): Harden test.
63295 2018-05-15  Michael Albinus  <michael.albinus@gmx.de>
63297         Fix Bug#31068
63299         * lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
63300         Unregister unless `tramp-archive-enabled'.  (Bug#31068)
63302 2018-05-14  Tino Calancha  <tino.calancha@gmail.com>
63304         Run python test if the python executable is found
63306         * test/lisp/progmodes/python-tests.el (python-tests--bug31398):
63307         Skip test when executable python is no found.
63309 2018-05-14  Tino Calancha  <tino.calancha@gmail.com>
63311         run-python: Make the buffer running python current
63313         * lisp/progmodes/python.el (run-python, python-shell-make-comint):
63314         Make the buffer running the inferior python process the current buffer
63315         (Bug#31398).
63316         * test/lisp/progmodes/python-tests.el (python-tests--bug31398):
63317         Add test.
63319 2018-05-14  Basil L. Contovounesios  <contovob@tcd.ie>
63321         Minor refactoring in shell-command
63323         * lisp/simple.el (shell-command): Use call-process-shell-command,
63324         start-process-shell-command, and file-attribute-size. (bug#30280).
63326 2018-05-14  Basil L. Contovounesios  <contovob@tcd.ie>
63328         Fix a broken test
63330         * lisp/simple.el (shell-command): Use call-process-shell-command,
63331         start-process-shell-command, and file-attribute-size. (bug#30280)
63333 2018-05-14  Michael Albinus  <michael.albinus@gmx.de>
63335         * lisp/net/ange-ftp.el (ange-ftp-allow-child-lookup):
63337         Do not use obsolete ´dired-local-variables-file'.
63339 2018-05-14  Michael Albinus  <michael.albinus@gmx.de>
63341         Fix Bug#30663
63343         * lisp/dired.el (dired-revert):
63344         Call `hack-dir-local-variables-non-file-buffer'.  (Bug#30663)
63346 2018-05-14  Michael Albinus  <michael.albinus@gmx.de>
63348         Improve `dired-buffer-stale-p' for remote files
63350         * lisp/dired.el (dired-buffer-stale-p): Check for ´file-remote-p'
63351         only if `auto-revert-remote-files' is non-nil.
63353 2018-05-14  Michael Albinus  <michael.albinus@gmx.de>
63355         Remove obsolete objects from dired-x.el
63357         * doc/misc/dired-x.texi (Local Variables): Remove node.
63359         * lisp/dired-x.el (dired-enable-local-variables)
63360         (default-directory-alist, dired-default-directory-alist)
63361         (dired-default-directory, dired-local-variables-file)
63362         (dired-hack-local-variables, dired-omit-here-always):
63363         Remove obsolete variables, constants and functions.
63365 2018-05-11  João Távora  <joaotavora@gmail.com>
63367         Fix filesystem littering by Flymake's legacy backend
63369         The Flymake legacy "proc" backend, which is active by default will try
63370         to syntax-check foo.c/foo.cpp and many other types of files, but on
63371         failing to find a suitable Makefile target, will fail.  There's
63372         nothing wrong with that except that it used to leave behind the
63373         foo_flymake.c and foo_flymake.cpp auxiliary files behind, littering
63374         the filesystem.
63376         * lisp/progmodes/flymake-proc.el (flymake-proc-legacy-flymake):
63377         Call init-function inside of the unwind-protect.
63379 2018-05-11  Michael Albinus  <michael.albinus@gmx.de>
63381         Tramp updates
63383         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
63384         Parse multibyte symlinks correctly.
63386         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
63387         Improve backward compatibility.
63389 2018-05-10  Basil L. Contovounesios  <contovob@tcd.ie>
63391         Rewrite scroll-other-window-down in C (bug#30207)
63393         * lisp/window.el (scroll-other-window-down):
63394         Move to src/window.c as Fscroll_other_window_down.
63395         * src/window.c (scroll_command): Generalise for arbitrary windows.
63396         (Fscroll_up, Fscroll_down): Use scroll_command with selected_window.
63397         (Fscroll_other_window, Fscroll_other_window_down):
63398         Rewrite in terms of scroll_command.
63399         (syms_of_window): Add Sscroll_other_window_down.
63401 2018-05-10  Basil L. Contovounesios  <contovob@tcd.ie>
63403         Simplify "other window" bob/eob motion commands
63405         * lisp/window.el (beginning-of-buffer-other-window)
63406         (end-of-buffer-other-window):
63407         Simplify via with-selected-window. (bug#30207)
63409 2018-05-10  Basil L. Contovounesios  <contovob@tcd.ie>
63411         Improve documentation for "other window" scrolling
63413         * doc/emacs/windows.texi (Other Window):
63414         * doc/lispref/windows.texi (Textual Scrolling):
63415         Document scroll-other-window-down.
63416         * doc/lispref/minibuf.texi (Minibuffer Misc):
63417         Cross-reference minibuffer-scroll-window with Textual Scrolling.
63418         * src/window.c (Fother_window_for_scrolling):
63419         Clarify how "other window" is determined in docstring.
63420         (Fscroll_other_window): Simplify docstring, pointing to that of
63421         Fother_window_for_scrolling. (bug#30207)
63423 2018-05-10  Basil L. Contovounesios  <contovob@tcd.ie>
63425         Limit "other window" scrolling to current terminal
63427         * src/window.c (Fother_window_for_scrolling): Limit next-window
63428         search to visible frames on the current terminal. (bug#30207)
63430 2018-05-07  Glenn Morris  <rgm@gnu.org>
63432         Merge from origin/emacs-26
63434         1d732d6 (origin/emacs-26) Fix gud-statement for pdb
63435         91a68b5 ; * msdos/INSTALL: Add info about GCC versions.
63436         7ddcc9a Document 'custom-group'
63437         58f9e15 A minor addition to etc/DEBUG
63438         4590414 Avoid errors in ispell.el when Enchant returns empty extra chars
63439         d0d75f9 Make 'ispell-initialize-spellchecker-hook' work again
63440         b90ce66 Handle selected_window change in prepare_menu_bars (Bug#31312)
63441         79ad0b3 ; * INSTALL: Fix Emacs version number.  (Bug#31358)
63442         91de88b Fix report-emacs-bug via mailclient on MS-Windows
63443         f4b5ff2 Port collation tests to glibc 2.27
63445 2018-05-06  Ari Roponen  <ari.roponen@gmail.com>
63447         Fix cairo scrolling for side-by-side windows
63449         * src/xterm.c (x_scroll_run) [USE_CAIRO]: Fix scrolling for
63450         side-by-side split windows.  (Bug#31288)
63452 2018-05-06  Eli Zaretskii  <eliz@gnu.org>
63454         Don't remove highlight of misspelled word on pdict save
63456         * lisp/textmodes/ispell.el (ispell-pdict-save): Don't restart
63457         flyspell-mode, as bug#11963, which this was supposed to fix, is
63458         fixed better by ispell-command-loop, when the user types 'i' or
63459         'a'.  Restarting Flyspell mode when the personal dictionary is
63460         saved caused bug#31372 as side effect.
63461         (ispell-command-loop): Test 'flyspell-mode', not whether
63462         flyspell-unhighlight-at is fboundp, to determine whether Flyspell
63463         mode is turned on in the current buffer.
63464         (flyspell-unhighlight-at): Add declare-function form for it.
63466 2018-05-06  Michael Albinus  <michael.albinus@gmx.de>
63468         Fix Bug#31272
63470         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
63471         (tramp-do-directory-files-and-attributes-with-stat)
63472         (tramp-sh-handle-insert-directory): Use "--show-control-chars".
63473         (tramp-convert-file-attributes): Decode multibyte strings,
63474         produced by "stat".  (Bug#31272)
63476         * test/lisp/net/tramp-tests.el (tramp--test-utf8): Extend test.
63478 2018-05-05  Michael Hendricks  <michael@ndrix.org>  (tiny change)
63480         Include narrowing indication in describe-mode
63482         * lisp/help.el (describe-mode): Include "Narrow", if narrowing is
63483         active.  (Bug#31139)
63485 2018-05-05  Ari Roponen  <ari.roponen@gmail.com>
63487         Fix some problems in the Cairo build
63489         * src/xterm.c (x_begin_cr_clip): Create image surface.
63490         (x_update_end) [USE_CAIRO]: Remove GTK3-specific code.
63491         (x_scroll_run) [USE_CAIRO]: Implement scrolling.
63492         * src/image.c (lookup_rgb_color) [USE_CAIRO]: Support Cairo.
63493         (jpeg_load_body) [USE_CAIRO]: Support Cairo.  Use USE_CAIRO
63494         instead of CAIRO for #ifdef's.
63495         (imagemagick_load_image) [USE_CAIRO]: Support Cairo.
63496         (Bug#31288)
63498 2018-05-05  Eli Zaretskii  <eliz@gnu.org>
63500         Avoid infloops in font_open_entity
63502         * src/font.c (font_open_entity): Fail after 15 iterations through
63503         the loop that looks for a font whose average_width and height are
63504         both positive.  This avoids infinite loops for fonts that, e.g.,
63505         report average_width of zero for any possible size we try.
63506         (Bug#31316)
63508 2018-05-05  Eli Zaretskii  <eliz@gnu.org>
63510         Fix encoding of characters when using GB18030 fonts
63512         * lisp/international/fontset.el (font-encoding-alist): Fix the
63513         GB18030 entry to encode characters correctly when passing them to
63514         the xfont back-end.  (Bug#31315)  See also
63515         http://lists.gnu.org/archive/html/emacs-devel/2008-01/msg00754.html.
63517 2018-05-04  Noam Postavsky  <npostavs@gmail.com>
63519         * make-dist: Don't fail if building --without-makeinfo.
63521 2018-05-03  Phillip Lord  <phillip.lord@russet.org.uk>
63523         Fix windows snapshot building
63525         * admin/nt/dist-build/build-zips.sh: Fix broken if statement
63527 2018-05-03  Phillip Lord  <phillip.lord@russet.org.uk>
63529         * admin/nt/dist-build/build-zips.sh: Support building of branches
63531 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
63533         More porting to GCC 8 of --enable-gcc-warnings
63535         * lwlib/lwlib-Xaw.h (xaw_update_one_value, xaw_popup_menu):
63536         * lwlib/lwlib-Xlw.h (xlw_update_one_value, xlw_pop_instance):
63537         * lwlib/lwlib.h (lw_allow_resizing, lw_set_main_areas) [!USE_MOTIF]:
63538         No longer const.
63539         * src/emacs-module.c: Ignore -Wcast-function-type.
63541 2018-05-02  Marco Wahl  <marcowahlsoft@gmail.com>
63542             Noam Postavsky  <npostavs@gmail.com>
63544         Fix next-page for dired (Bug#31061)
63546         * lisp/textmodes/page-ext.el (next-page): Don't go back any pages if
63547         COUNT is 0.  For negative COUNT, end with point just after the last
63548         delimiter.
63550 2018-05-02  Basil L. Contovounesios  <contovob@tcd.ie>
63552         Minor simple.el simplifications (Bug#31211)
63554         * lisp/simple.el (kill-append, push-mark, pop-mark):
63555         Simplify conditionals and surrounding code.
63557 2018-05-02  Basil L. Contovounesios  <contovob@tcd.ie>
63559         Fix off-by-one history pruning (bug#31211)
63561         * lisp/subr.el (add-to-history): Clarify docstring.
63562         Protect against negative history-length and unnecessary variable
63563         modification, as per read_minibuf.
63565         * lisp/ido.el (ido-record-command):
63566         * lisp/international/mule-cmds.el (deactivate-input-method):
63567         (set-language-environment-input-method):
63568         * lisp/isearch.el (isearch-done):
63569         * lisp/minibuffer.el (read-file-name-default):
63570         * lisp/net/eww.el (eww-save-history):
63571         * lisp/simple.el (edit-and-eval-command, repeat-complex-command):
63572         (command-execute, kill-new, push-mark):
63573         * src/callint.c (Fcall_interactively):
63574         * src/minibuf.c (read_minibuf): Delegate to add-to-history.
63576         * test/lisp/simple-tests.el (command-execute-prune-command-history):
63577         * test/src/callint-tests.el
63578         (call-interactively-prune-command-history): New tests.
63580 2018-05-02  Glenn Morris  <rgm@gnu.org>
63582         * lisp/textmodes/ispell.el (ispell-use-framepop-p): Doc fix.
63584 2018-05-02  Michael Albinus  <michael.albinus@gmx.de>
63586         Adapt Tramp for auth-source
63588         * lisp/net/tramp.el (tramp-read-passwd): auth-source could return
63589         cascaded functions.
63591 2018-05-02  Michael Albinus  <michael.albinus@gmx.de>
63593         Fix some edge cases of tramp-smb
63595         * lisp/net/tramp-smb.el (tramp-smb-errors):
63596         Add "NT_STATUS_REVISION_MISMATCH".
63597         (tramp-smb-handle-delete-directory): Check, that the directory
63598         has been removed indeed.
63599         (tramp-smb-get-localname): Add further checks on filename syntax.
63601         * lisp/net/tramp.el (tramp-localname-regexp): Do not allow linefeeds.
63603         * test/lisp/net/tramp-tests.el (tramp-smb-get-localname): Declare.
63604         (auth-source-save-behavior): Set it to nil.
63605         (tramp-test01-file-name-syntax): Extend, checking for linefeeds.
63606         (tramp-test03-file-name-host-rules, tramp--test-utf8): Refine tests.
63607         (tramp-test03-file-name-method-rules): New test.
63608         (tramp--test-ignore-add-name-to-file-error): New defmacro.
63609         (tramp-test21-file-links): Use it.
63611 2018-05-01  Glenn Morris  <rgm@gnu.org>
63613         Merge from origin/emacs-26
63615         71be806 ; * etc/DEBUG: Minor clarification.
63616         4403f89 Update the Emacs FAQ
63617         40b3317 * etc/DEBUG: Minor copyedits.
63618         850ff18 Clarify wording of NS drag n drop documentation
63619         343d70b1 Improve kill-related documentation (bug#31209)
63620         0b43224 * lisp/simple.el (region-extract-function): Don't hide the 'n...
63621         d6e2c59 Fix pre- and post-command-hook errors in term.el
63622         6cf83131e * doc/lispref/display.texi (Glyphless Chars): Fix grammar.
63623         88d178c Fix macOS drag n drop event documentation
63625 2018-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
63627         `url-domain' doc clarification
63629         * lisp/url/url-util.el (url-domain): Add an example to the doc
63630         string.
63632 2018-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
63634         Rewrite `url-domain' to avoid network traffic
63636         * lisp/url/url-util.el (url-domain): Don't talk DNS to determine
63637         the domain, because this is slow.
63639         * test/lisp/url/url-util-tests.el (url-domain-tests): Add tests
63640         for `url-domain'.
63642 2018-04-30  Glenn Morris  <rgm@gnu.org>
63644         * test/src/process-tests.el (make-process/mix-stderr): Skip on hydra.
63646 2018-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
63648         * lisp/net/socks.el: Use lexical-binding and process properties
63650         Remove unneeded requires.  Better following commenting conventions.
63651         (socks-connections): Remove (use process properties instead).
63652         (socks-wait-for-state-change): Make it a function.
63653         (open-network-stream): Use an advice when overriding.
63654         (socks-send-command): Avoid string-make-unibyte.
63655         (socks--open-network-stream): New function (extracted from
63656         socks-open-network-stream).
63657         (socks-open-network-stream): Rewrite using it.
63659 2018-04-29  Paul Eggert  <eggert@cs.ucla.edu>
63661         Advise CFLAGS= operand, not in environment, when configuring
63663 2018-04-28  Noam Postavsky  <npostavs@gmail.com>
63665         Replace epg--gv-nreverse with (cl-callf nreverse ...)
63667         * lisp/epg.el (epg--gv-nreverse): Remove.
63668         (epg-list-keys): Replace it with (cl-callf nreverse ...).
63670 2018-04-28  Paul Eggert  <eggert@cs.ucla.edu>
63672         Port --enable-gcc-warnings to GCC 8
63674         * configure.ac: Do not use GCC 8’s new -Wcast-align flag.
63675         * lib-src/ebrowse.c (xmalloc):
63676         * lib-src/emacsclient.c (xmalloc, xstrdup):
63677         * lib-src/etags.c (xmalloc):
63678         * lib-src/make-docfile.c (xmalloc):
63679         * lib-src/movemail.c (xmalloc):
63680         * src/dispnew.c (new_glyph_pool):
63681         * src/regex.c (xmalloc):
63682         * src/term.c (tty_menu_create):
63683         * src/tparam.h (tparam):
63684         Use ATTRIBUTE_MALLOC.  Also see GCC bug 85562.
63685         * lib-src/emacsclient.c (fail):
63686         Do not dereference a null pointer.
63687         * src/frame.c (delete_frame):
63688         Add a decl with UNINIT to work around GCC bug 85563.
63689         * src/menu.h (finish_menu_items):
63690         Do not use attribute const.
63691         * src/regex.c (analyze_first): Use FALLTHROUGH, not a comment.
63693 2018-04-28  Paul Eggert  <eggert@cs.ucla.edu>
63695         Update from Gnulib
63697         This incorporates:
63698         2018-04-27 manywarnings: port to GCC 8.0
63699         * build-aux/config.sub, m4/manywarnings.m4: Copy from Gnulib.
63701 2018-04-28  Juri Linkov  <juri@linkov.net>
63703         * lisp/vc/add-log.el (change-log-mode-syntax-table): New defvar
63705         that redefines syntax of quotes to "expression quote or prefix operator".
63706         (Bug#31231)
63708 2018-04-28  Juri Linkov  <juri@linkov.net>
63710         * lisp/subr.el (dotimes): Deprecate RESULT field.  (Bug#16206)
63712         * doc/lispref/control.texi (Iteration):
63713         * doc/misc/cl.texi (Iteration): Document deprecation of its use.
63714         * doc/lispintro/emacs-lisp-intro.texi (dotimes):
63715         * test/src/emacs-module-tests.el (multiply-string):
63716         * test/lisp/filenotify-tests.el (file-notify-test07-many-events):
63717         Place RESULT field after the form.
63719 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
63721         * src/fns.c (Fstring_distance): Minor code reformatting.
63723 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
63725         Fix documentation and tests for 'string-distance'
63727         * src/fns.c (Fstring_distance): Doc fix.
63729         * doc/lispref/strings.texi (Text Comparison): Document
63730         'string-distance'.
63732         * etc/NEWS: Fix wording and mark as documented in the manuals.
63734         * test/src/fns-tests.el (test-string-distance): Move from
63735         subr-tests.el and rename.
63737 2018-04-27  Chen Bin  <chenbin.sh@gmail.com>
63739         New function 'string-distance'
63741         * src/fns.c (Fstring_distance): New primitive.
63742         (syms_of_fns): Defsubr it.
63744         * test/lisp/subr-tests.el (subr-tests--string-distance): New test.
63746         * etc/NEWS: Mention 'string-distance'.
63748 2018-04-27  Michael Albinus  <michael.albinus@gmx.de>
63750         Manual update for Tramp
63752         * doc/misc/tramp.texi (Password handling): Explain, how passwords
63753         are saved permanently.
63755         * etc/NEWS: auth-source Secret Service backend supports :create.
63756         Tramp saves validated passwords.
63758 2018-04-27  Noam Postavsky  <npostavs@gmail.com>
63760         * lisp/epa.el (epa-decrypt-file): Apply epa-pinentry-mode (Bug#30363).
63762 2018-04-26  Lars Ingebrigtsen  <larsi@gnus.org>
63764         Strip most headers when forwarding messages
63766         * lisp/gnus/message.el (message-forward-included-headers): Change
63767         the default to exclude most messages.
63768         (message-remove-ignored-headers): Make
63769         message-forward-included-headers actually work -- it's a list of
63770         regexps, not a list of strings.
63772 2018-04-26  Paul Eggert  <eggert@cs.ucla.edu>
63774         * etc/NEWS: Fix minor quoting and spacing bugs.
63776 2018-04-26  Noam Postavsky  <npostavs@gmail.com>
63778         Add missing calendar-dlet* (Bug#31267)
63780         * lisp/calendar/calendar.el (calendar-generate-month): Use
63781         calendar-dlet* around evaluation of calendar-date-echo-text.
63783 2018-04-26  Ivan Shmakov  <ivan@siamics.net>
63785         Ensure woman2-roff-buffer restores functions on error (Bug#30908)
63787         * lisp/woman.el (woman2-roff-buffer): Put the fallback paragraph
63788         processing inside the protected part of the unwind-protect form,
63789         rather than the cleanup forms.  Attempting to format paragraphs again
63790         after an error has been signaled is unlikely to be helpful.  The
63791         fallback processing should be triggered only in case the loop
63792         terminated normally, but did not reach the end of the buffer for some
63793         reason.
63795 2018-04-26  Noam Postavsky  <npostavs@gmail.com>
63797         Fix cl-print for circular sublists (Bug#31146)
63799         * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Push each
63800         element of list being printed onto cl-print--currently-printing.
63801         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle-2): New
63802         test.
63804 2018-04-25  Paul Eggert  <eggert@cs.ucla.edu>
63806         Don’t set print-escape-newlines in the minibuffer
63808         This appears to be an unnecessary and possibly-confusing
63809         revenant from ancient code (Bug#31251).  See thread containing:
63810         https://lists.gnu.org/r/emacs-devel/2018-04/msg00654.html
63811         * src/minibuf.c (read_minibuf): Do not set print-escape-newlines.
63812         * src/print.c (syms_of_print): Do not defsym print-escape-newlines
63813         or print-escape-control-characters, as these symbols are not used
63814         in C code.
63816 2018-04-25  Glenn Morris  <rgm@gnu.org>
63818         * lisp/foldout.el (outline-minor-mode): Remove pointless check.
63820 2018-04-25  Glenn Morris  <rgm@gnu.org>
63822         speedbar: remove support for missing custom.el
63824         * lisp/speedbar.el (speedbar-file-regexp)
63825         (speedbar-ignored-directory-regexp): Remove support for no custom.el.
63827 2018-04-25  Glenn Morris  <rgm@gnu.org>
63829         * lisp/progmodes/sql.el (comint-line-beginning-position):
63830         Remove pre-21 fallback definition.
63832         * lisp/net/eudc.el (split-string): Remove pre-21 fallback definition.
63834 2018-04-25  Basil L. Contovounesios  <contovob@tcd.ie>
63836         Do not call interprogram-paste-function repeatedly
63838         * lisp/simple.el (current-kill): Disable interprogram-paste-function
63839         so that kill-new doesn't call it repeatedly when
63840         save-interprogram-paste-before-kill is enabled.  (bug#31209)
63842 2018-04-24  Glenn Morris  <rgm@gnu.org>
63844         socks.el: remove pre-21 compatibility code
63846         * lisp/net/socks.el (socks-split-string): Remove.
63847         (socks-nslookup-host): Just use split-string.
63849 2018-04-24  Paul Eggert  <eggert@cs.ucla.edu>
63851         * src/minibuf.c (read_minibuf): Add a FIXME comment.
63853 2018-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
63855         (add-to-invisibility-spec): Further doc tweak
63857         * lisp/subr.el (add-to-invisibility-spec): Tweak doc fix from
63858         previous patch.
63860 2018-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
63862         Doc fix for `*-*-invisibility-spec'
63864         * lisp/subr.el (add-to-invisibility-spec)
63865         (remove-from-invisibility-spec): Make the doc string say what
63866         happens if `buffer-invisibility-spec' is an atom (bug#30171).
63868 2018-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
63870         libxml-parse-*-region calling convention fix
63872         * lisp/subr.el (libxml-parse-xml-region)
63873         (libxml-parse-html-region): Adjust the calling convention to note
63874         that the final parameter is optional.
63876 2018-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
63878         Make url-http-create-request work with non-ASCII data again
63880         * lisp/url/url-http.el (url-http-create-request): Ensure that the
63881         entire request string is unibyte (bug#31248).
63883 2018-04-23  Eli Zaretskii  <eliz@gnu.org>
63885         Fix recent change in lread.c
63887         * src/lread.c (openp): Avoid assertion violations in XCDR when
63888         PATH is nil.  (Bug#31229)
63890 2018-04-23  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
63892         Backspace is not a paragraph separator in Texinfo files
63894         * lisp/textmodes/texinfo.el (texinfo-mode): Omit backspace from
63895         paragraph separator and start.  Perhaps there was some confusion
63896         about .texi vs .info files long ago?
63898 2018-04-23  Eli Zaretskii  <eliz@gnu.org>
63900         * etc/NEWS: Improve wording of next-error entries.
63902 2018-04-23  Michael Albinus  <michael.albinus@gmx.de>
63904         Let Tramp save passwords
63906         * lisp/auth-source.el (auth-source-secrets-saver): New defun.
63907         (auth-source-secrets-create): Use it.
63909         * lisp/net/secrets.el (secrets-struct-secret-content-type):
63910         (secrets-create-item): Do not hard-code :xdg:schema.
63912         * lisp/net/tramp.el (tramp-password-save-function): New defvar.
63913         (tramp-read-passwd): Set it properly.
63914         (tramp-process-actions):
63915         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
63916         Save password.
63918         * lisp/net/tramp-cmds.el (tramp-bug): Don't report
63919         `tramp-password-save-function'.
63921         * test/lisp/net/secrets-tests.el (secrets-test03-items):
63922         Extend test with another :xdg:schema.
63924 2018-04-23  Michael Albinus  <michael.albinus@gmx.de>
63926         Ensure proper EOL handling for Tramp on macOS
63928         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
63929         Ensure proper EOL handling for Darwin.
63931 2018-04-22  Juri Linkov  <juri@linkov.net>
63933         Improve Isearch error handling
63935         * lisp/isearch.el (isearch--momentary-message): Propertize message
63936         suffix with minibuffer-prompt face.
63937         (isearch--describe-regexp-mode): Do not omit description in case
63938         of error in default non-literal search.
63939         (isearch-message-prefix): Display “case-sensitive” in case of error.
63940         (isearch-message-suffix): Propertize message suffix with
63941         minibuffer-prompt face.
63942         (isearch-search-fun-default): Remove unused error handling.
63944         * lisp/vc/add-log.el (change-log-next-buffer): Better handle
63945         errors during wrapping.
63947 2018-04-22  Lars Ingebrigtsen  <larsi@gnus.org>
63949         (text-property-search-forward): Copy edits in doc string
63951         * lisp/emacs-lisp/text-property-search.el
63952         (text-property-search-forward): Copy edits in doc string.
63954 2018-04-22  Eli Zaretskii  <eliz@gnu.org>
63956         Minor improvements of next-error docs
63958         * lisp/simple.el (next-error-find-buffer-function)
63959         (previous-error, next-error-select-buffer): Doc fixes.
63960         * doc/emacs/maintaining.texi (Change Log Commands):
63961         * doc/emacs/building.texi (Compilation Mode): Index the new
63962         commands and variables.  Improve wording.
63963         (Bug#20493)
63965 2018-04-22  Lars Ingebrigtsen  <larsi@gnus.org>
63967         (text-property-search-forward): Doc string tweak
63969         * lisp/emacs-lisp/text-property-search.el
63970         (text-property-search-forward): Doc string tweak.
63972 2018-04-22  Lars Ingebrigtsen  <larsi@gnus.org>
63974         (text-property-search-forward): Fix search at the end
63976         * lisp/emacs-lisp/text-property-search.el
63977         (text-property-search-forward): Fix search at the end of the
63978         buffer with no text properties.
63980 2018-04-22  Lars Ingebrigtsen  <larsi@gnus.org>
63982         Add a test suite for text-property-search
63984 2018-04-21  Juri Linkov  <juri@linkov.net>
63986         Update documentation for more next-error features
63988         * doc/emacs/maintaining.texi (Change Log Commands): Mention
63989         change-log-goto-source.
63991         * doc/emacs/building.texi (Compilation Mode): Document
63992         next-error-find-buffer-function and next-error-select-buffer.
63994         * doc/emacs/building.texi (Grep Searching):
63995         * doc/emacs/files.texi (Diff Mode):
63996         * doc/emacs/search.texi (Other Repeating Search):
63997         * doc/emacs/windows.texi (Displaying Buffers):
63998         Prefer ‘M-g M-n’ over ‘C-x `’.
64000         * lisp/simple.el (next-error-find-buffer-function, next-error)
64001         (next-error-select-buffer): Elaborate docstrings.  (Bug#20493)
64003 2018-04-20  Glenn Morris  <rgm@gnu.org>
64005         Tweak recent bytecomp defvaralias change
64007         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defvar-function):
64008         Respect with-no-warnings.
64010 2018-04-20  Glenn Morris  <rgm@gnu.org>
64012         More alias-related tedium
64014         * lisp/comint.el (comint-scroll-to-bottom-on-output):
64015         * lisp/completion.el (cmpl-syntax-table):
64016         * lisp/erc/erc-button.el (erc-button-google-url):
64017         * lisp/font-lock.el (font-lock-reference-face):
64018         * lisp/hfy-cmap.el (hfy-fallback-colour-map, hfy-rgb-txt-colour-map):
64019         * lisp/isearch.el (isearch-regexp-function, isearch-new-word):
64020         * lisp/startup.el (argv):
64021         * lisp/version.el (emacs-bzr-version):
64022         * lisp/org/org.el (org-CUA-compatible)
64023         (org-popup-calendar-for-date-prompt):
64024         Move aliases before targets, to silence new compiler warning.
64026 2018-04-20  Glenn Morris  <rgm@gnu.org>
64028         The tedious game of whack-a-mole with compiler warnings continues
64030         * lisp/abbrev.el (edit-abbrevs-map):
64031         * lisp/emacs-lock.el (emacs-lock-from-exiting):
64032         * lisp/htmlfontify.el (hfy-optimisations):
64033         * lisp/ielm.el (inferior-emacs-lisp-mode-hook)
64034         (inferior-emacs-lisp-mode-map):
64035         * lisp/isearch.el (isearch-lazy-highlight-word):
64036         * lisp/select.el (x-select-enable-clipboard, x-select-enable-primary):
64037         * lisp/shell.el (shell-dirtrack-mode):
64038         * lisp/skeleton.el (skeleton-transformation, skeleton-filter):
64039         * lisp/startup.el (inhibit-splash-screen, inhibit-startup-message):
64040         * lisp/window.el (even-window-heights):
64041         * lisp/calendar/timeclock.el (timeclock-modeline-display):
64042         * lisp/cedet/semantic/db-mode.el (semanticdb-mode-hook)
64043         (semanticdb-global-mode):
64044         * lisp/emacs-lisp/edebug.el (gud-inhibit-global-bindings):
64045         * lisp/emacs-lisp/warnings.el (display-warning-minimum-level)
64046         (log-warning-minimum-level):
64047         * lisp/erc/erc-dcc.el (erc-dcc-chat-filter-hook):
64048         * lisp/gnus/nnspool.el (news-path):
64049         * lisp/org/org-agenda.el (org-agenda-search-view-search-words-only)
64050         (org-agenda-remove-tags-when-in-prefix)
64051         (org-agenda-align-tags-to-column, org-agenda-keymap):
64052         * lisp/org/org.el (org-special-ctrl-a)
64053         (org-log-state-notes-into-drawer)
64054         (org-agenda-multi-occur-extra-files):
64055         * lisp/progmodes/flymake-proc.el (flymake-err-line-patterns)
64056         (flymake-check-file-limit):
64057         * lisp/progmodes/make-mode.el (makefile-query-one-target-method):
64058         * lisp/progmodes/octave.el (inferior-octave-startup-hook):
64059         * lisp/progmodes/python.el (python-buffer)
64060         (python-preoutput-result):
64061         * lisp/progmodes/sql.el (sql-dialect):
64062         * lisp/textmodes/artist.el (artist-text-renderer):
64063         * lisp/textmodes/bibtex.el (bibtex-autokey-name-case-convert)
64064         (bibtex-autokey-titleword-case-convert):
64065         * lisp/textmodes/flyspell.el (flyspell-generic-check-word-p):
64066         * lisp/textmodes/ispell.el (ispell-format-word):
64067         * lisp/textmodes/rst.el (rst-preferred-decorations):
64068         * lisp/textmodes/sgml-mode.el (sgml-transformation):
64069         Move aliases before targets, to silence new compiler warning.
64070         * lisp/term/ns-win.el (ns-option-modifier, ns-right-option-modifier):
64071         Silence warning.
64073 2018-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
64075         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defvar-function):
64077         Warn about defvaralias that follows instead of precedes its var.
64079 2018-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
64081         * lisp/url/url-file.el: Use lexical-binding.
64083 2018-04-20  Glenn Morris  <rgm@gnu.org>
64085         * lisp/net/newst-backend.el (newsticker--sentinel-work):
64086         Replace obsolete form of libxml-parse-xml-region.
64088         * lisp/replace.el (query-replace-descr): Silence compiler.
64090 2018-04-20  Michael Albinus  <michael.albinus@gmx.de>
64092         Revert "* etc/HELLO: Add language Emoji.  Use utf-8 coding."
64094         This reverts commit c4cfb5d20487f9912f5896b3f1d291fe7ccc9804.
64096 2018-04-20  Michael Albinus  <michael.albinus@gmx.de>
64098         Revert "* admin/notes/unicode: HELLO is now UTF-8."
64100         This reverts commit 0585bd643dae2592214e77998b875347e6e59bab.
64102 2018-04-20  Paul Eggert  <eggert@cs.ucla.edu>
64104         * admin/notes/unicode: HELLO is now UTF-8.
64106 2018-04-20  Glenn Morris  <rgm@gnu.org>
64108         Merge from origin/emacs-26
64110         5de608f (origin/emacs-26) Update the documentation of 'perform-replace'
64111         06245b6 * etc/NEWS: Another fix for the last change (noted by Juri Li...
64112         8f6293c Fix use of @key in Texinfo manuals
64113         f4c9894 Improve documentation of actual arglist
64114         ce0e253 ; * etc/NEWS: Improve last change as proposed by Phil Sainty
64115         b89ff0e Don't assume term-current-row cache is valid (Bug#31193)
64116         326a296 ; * etc/NEWS: Mention 'display-buffer-in-major-side-window' c...
64117         3bdc9a1 Fix flyspell-auto-correct-previous-word broken by recent change
64118         a539eb5 * test/src/lread-tests.el (lread-test-bug-31186): New test.
64119         3fa472b Fix undefined behaviour while looking for lexical-binding fil...
64120         4341aac Minor wording improvement in "Bookmarks"
64122         Conflicts:
64123                 test/src/lread-tests.el
64125 2018-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
64127         * lisp/international/mule-cmds.el (view-hello-file): Avoid duplicate
64129         Don't hardcode the coding-system, now that it's specified with a "coding:" tag
64131 2018-04-20  Michael Albinus  <michael.albinus@gmx.de>
64133         * lisp/international/mule-cmds.el (view-hello-file):  Use utf-8 coding.
64135         * etc/HELLO: Add language Emoji.  Use utf-8 coding.
64137 2018-04-19  Glenn Morris  <rgm@gnu.org>
64139         * lisp/url/url-util.el (puny-encode-domain): Autoload it.
64141 2018-04-19  Juri Linkov  <juri@linkov.net>
64143         Mention next-error-select-buffer in etc/NEWS
64145 2018-04-19  Alan Mackenzie  <acm@muc.de>
64147         Amend c-colon-type-list-re also to handle compound identifiers
64149         * lisp/progmodes/cc-langs.el (c-colon-type-list-re): Amend to recognize and
64150         skip over "::" in C++ and "." in Java.
64152 2018-04-19  Juri Linkov  <juri@linkov.net>
64154         Use text properties to save search parameters.  (Bug#22479)
64156         * lisp/isearch.el (isearch-update-ring): Call isearch-string-propertize.
64157         Delete duplicates with possibly different text properties.
64158         (isearch-string-propertize)
64159         (isearch-update-from-string-properties): New functions.
64160         (with-isearch-suspended, isearch-ring-adjust1):
64161         Call isearch-update-from-string-properties.
64162         (isearch-edit-string): Let-bind minibuffer-allow-text-properties to t.
64163         (isearch-query-replace): Use propertized isearch-string.
64164         (isearch--lax-regexp-function-p): Simplify.
64166         * lisp/replace.el (query-replace-descr): Rewrite to keep text properties
64167         non-destructively in the replacement string.
64168         (query-replace--split-string): Don't remove text properties
64169         by substring-no-properties.
64170         (query-replace-read-args): Try to get isearch-regexp-function
64171         from text-properties.
64172         (perform-replace): Display parameters in the replacement message.
64174         * lisp/desktop.el (desktop--v2s): Check if text properties are unreadable.
64175         (Bug#30786)
64177 2018-04-19  Juri Linkov  <juri@linkov.net>
64179         * lisp/isearch.el (isearch-mode-map): Restore advertised bindings.
64181         Remove obsolete comments and code.
64183         * lisp/replace.el (occur-find-match): Use user-error instead of error.
64184         (Bug#14912)
64186 2018-04-19  Drew Adams  <drew.adams@oracle.com>
64188         Add REGION-NONCONTIGUOUS-P arg to other replace.el commands
64190         * lisp/replace.el (query-replace, query-replace-regexp): Doc fix.
64191         (query-replace-regexp-eval, map-query-replace-regexp)
64192         (replace-string, replace-regexp): Add REGION-NONCONTIGUOUS-P arg.
64193         (perform-replace): Doc fix.  (Bug#27897)
64195 2018-04-19  Glenn Morris  <rgm@gnu.org>
64197         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
64198         Sort definition-prefixes, for stability.
64200 2018-04-19  Michael Albinus  <michael.albinus@gmx.de>
64202         Handle chrooted environments in Tramp
64204         * doc/misc/tramp.texi (Frequently Asked Questions): New item, chrooted
64205         environments.
64207         * lisp/net/tramp.el (tramp-local-host-regexp): Make it a defcustom.
64208         Allow nil.
64209         (tramp-local-host-p):
64210         * lisp/net/tramp-sh.el (tramp-compute-multi-hops): Handle this.
64212 2018-04-18  Glenn Morris  <rgm@gnu.org>
64214         * test/src/process-tests.el (make-process/mix-stderr): Use bash.
64216         Not all shells support ">&2".
64218 2018-04-18  Paul Eggert  <eggert@cs.ucla.edu>
64220         Fix botched merge of FQDNs in PROBLEMS
64222         This text was originally removed in
64223         2014-12-30T04:42:26Z!eggert@cs.ucla.edu but then was
64224         mistakenly re-added in the merge in
64225         2015-03-23T17:30:30Z!eggert@cs.ucla.edu.
64226         * etc/PROBLEMS: Omit obsolete mention of FQDNs.
64228 2018-04-18  Paul Eggert  <eggert@cs.ucla.edu>
64230         Tweak mark_object to avoid a conditional branch
64232         * src/alloc.c (LAST_MARKED_SIZE): Now an enum.  Make it a power of 2.
64233         (mark_object): Take advantage of the power of 2.
64235 2018-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
64237         * lisp/emacs-lisp/gv.el (gv-define-setter): Silence compiler warning
64239         Code placed in the `gv-expander` property will presumably only be used
64240         when gv is loaded (bug#14529).
64242 2018-04-18  Paul Eggert  <eggert@cs.ucla.edu>
64244         Tell user about read-integer-overflow-as-float
64246         * src/lread.c (string_to_number): Suggest
64247         read-integer-overflow-as-float in signal message.
64248         Suggested by Stefan Monnier (Bug#31118#58).
64250 2018-04-17  Paul Eggert  <eggert@cs.ucla.edu>
64252         Fix signal for large integers with valid syntax
64254         * src/lread.c (read_integer): If a radixed integer has valid syntax
64255         but is waayyy too large, signal overflow instead of invalid syntax.
64256         * test/src/lread-tests.el (lread-long-hex-integer): New test.
64258 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
64260         (sql-stop): Don't bug out if the SQL buffer is killed
64262         * lisp/progmodes/sql.el (sql-stop): Don't bug out if the SQL
64263         buffer is killed (bug#30244).
64265 2018-04-17  David Beswick  <dlbeswick@gmail.com>  (tiny change)
64267         Don't display an initial-buffer-choice buffer twice
64269         * lisp/startup.el (command-line-1): Don't display an
64270         initial-buffer-choice buffer twice if the user is also explicitly
64271         specifying it on the mode line, but shift it to the initial place
64272         (bug#29999).
64274 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
64276         Revert hunk mistakenly applied in last patch
64278 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
64280         Fix problem in `g' in Info with strings like "(foo)"
64282         * lisp/info.el (Info-find-file): Add a new parameter to avoid
64283         jumping to the directory if the user looks for a filename on the
64284         form "(foo)" that doesn't exist.
64285         (Info-read-node-name-1): Use it to allow completing over strings
64286         like "(foo)" without losing focus (bug#30091).
64288 2018-04-17  Basil L. Contovounesios  <contovob@tcd.ie>
64290         Set :version of shr faces
64292         * lisp/net/shr.el (shr-strike-through, shr-link, shr-selected-link):
64293         Set :version tag (bug#31200).
64295 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
64297         shr doc string fix
64299         * lisp/net/shr.el (shr-strike-through, shr-link)
64300         (shr-selected-link): Doc string fix.
64302 2018-04-17  Basil L. Contovounesios  <contovob@tcd.ie>
64304         Modernise face specs and set version tags in eww/shr
64306         * lisp/net/shr.el (shr-strike-through, shr-link, shr-selected-link):
64307         Set :version tag (bug#31200).
64309         * lisp/net/eww.el (eww-form-text, eww-form-textarea):
64310         * lisp/net/shr.el (shr-strike-through, shr-link, shr-selected-link):
64311         Use (DISPLAY . PLIST) face spec syntax as recommended in
64312         '(elisp) Defining Faces'.
64314 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
64316         When undoing a mark-as-read, display the group if it isn't
64318         * lisp/gnus/gnus-group.el (gnus-group-jump-to-group): Return
64319         whether we found the group.
64320         (gnus-info-clear-data): Make the group visible if it wasn't.
64322         * lisp/gnus/gnus-sum.el (gnus-group-make-articles-read): Ditto.
64323         (gnus-update-read-articles): Ditto.
64325 2018-04-17  Juri Linkov  <juri@linkov.net>
64327         Use next-error-found to set next-error-last-buffer.
64329         https://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00207.html
64331         * lisp/simple.el (next-error-buffer): New buffer-local variable
64332         instead of making buffer-local next-error-last-buffer.  (Bug#20489)
64333         (next-error-found-function): New defcustom.
64334         (next-error-buffer-on-selected-frame): Use t for avoid-current arg
64335         of next-error-buffer-p.
64336         (next-error-find-buffer): Add second rule for using the current
64337         next-error-buffer if it's not visited by other navigation.
64338         (next-error, next-error-internal): Call next-error-found.
64339         (next-error-found): New function with body extracted mostly from
64340         next-error.
64342         * lisp/vc/add-log.el (change-log-goto-source-internal): New function
64343         with body from change-log-goto-source.
64344         (change-log-goto-source): Call change-log-goto-source-internal and
64345         next-error-found.
64346         (change-log-next-error): Call change-log-goto-source-internal
64347         instead of change-log-goto-source.
64348         (change-log-mode): Don't set next-error-last-buffer.  (Bug#28864)
64350         * lisp/vc/diff-mode.el (diff-goto-source): Call next-error-found.
64352         * lisp/progmodes/xref.el (xref-goto-xref): Call next-error-found.
64354         * lisp/replace.el (occur-mode-goto-occurrence)
64355         (occur-mode-goto-occurrence-other-window)
64356         (occur-mode-display-occurrence): Call next-error-found.
64357         (occur-next-error): Remove unnecessary with-current-buffer.
64358         (Bug#27362, bug#30646)
64360 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
64362         Tweak shr window width computation
64364         * lisp/net/shr.el (shr-insert-document): The computation of the
64365         window width is apparently one pixel too wide for the shr line
64366         folding algorithm (bug#31196).
64368 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
64370         (gnus-summary-select-article-buffer): Further point placing tweak
64372         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
64373         Further tweak for the previous point-placing tweak.
64375 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
64377         Tweak point placement in gnus-summary-select-article-buffer
64379         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
64380         Ensure that point is where it's supposed to be after switching to
64381         the article buffer.
64383 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
64385         Make the `c' command work in a single-article Gnus view
64387         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Make `c'
64388         work from the article buffer (bug#31195) when no summary buffer is
64389         shown.
64391 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
64393         Place point consistently in the Gnus group buffer on exit
64395         * lisp/gnus/gnus-sum.el (gnus-summary-exit): Place point correctly
64396         when exiting with `q' (and the like) from the article buffer when
64397         only the article buffer is displayed (bug#31195).  This is
64398         apparently yet another fall-out from the "preserve-visible-point-
64399         in-windows" patches of yesteryear...
64401 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
64403         Reimplement `shr-next-link' and `shr-previous-link'
64405         * lisp/net/shr.el (shr-next-link): Use
64406         `text-property-search-forward'.
64407         (shr-previous-link): Use `text-property-search-backward'.
64409 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
64411         Add `text-property-search-forward' and `-backward'
64413         * doc/lispref/text.texi (Property Search): Document
64414         `text-property-search-forward' and `text-property-search-backward'.
64416         * lisp/emacs-lisp/text-property-search.el: New file.
64418 2018-04-17  Tino Calancha  <tino.calancha@gmail.com>
64420         * lisp/textmodes/artist.el (artist-mode): Ensure we have a font
64422 2018-04-16  Katsumi Yamaoka  <yamaoka@jpl.org>
64424         * lisp/mail/sendmail.el (mail-sendmail-undelimit-header): Work for
64425         the case where the mail header separator has already been deleted.
64427 2018-04-16  Lars Ingebrigtsen  <larsi@gnus.org>
64429         (gnus-group-goto-group): Return correct value after previous patch
64431         * lisp/gnus/gnus-group.el (gnus-group-goto-group): Return the
64432         correct value after the previous patch.
64434 2018-04-16  Lars Ingebrigtsen  <larsi@gnus.org>
64436         Fix inconsistent point movement in the Gnus group buffer
64438         * lisp/gnus/gnus-group.el (gnus-group-goto-group): If we can't
64439         find the group we're looking for, then don't move point at all
64440         (bug#23021).
64442 2018-04-16  Lars Ingebrigtsen  <larsi@gnus.org>
64444         (artist-mode): Warn about proportional fonts
64446         * lisp/textmodes/artist.el (artist-mode): Warn about proportional
64447         fonts (bug#24175).
64449 2018-04-16  Lars Ingebrigtsen  <larsi@gnus.org>
64451         Make mail-sendmail-undelimit-header actually remove the delimiter
64453         * lisp/mail/sendmail.el (mail-sendmail-undelimit-header): Actually
64454         remove the mail header separator (bug#17488).  In all the cases
64455         where this is called, the separator will probably already have
64456         been removed, so the only thing this does is place point at the
64457         end of the headers.
64459 2018-04-16  Lars Ingebrigtsen  <larsi@gnus.org>
64461         (semantic-symref-results-mode-map): Fix typo in previous check-in
64463         * lisp/cedet/semantic/symref/list.el
64464         (semantic-symref-results-mode-map): Fix typo in previous check-in.
64466 2018-04-15  Philipp Stephani  <phst@google.com>
64468         Avoid undefined behavior in 'defvar' (Bug#31072)
64470         * src/eval.c (Fdefvar): Check that first argument is a symbol.
64471         * test/src/eval-tests.el (defvar/bug31072): New unit test.
64473 2018-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
64475         EUDC: Enable lexical binding and do some cleanups
64477         * lisp/net/eudc.el: Enable lexical binding.
64478         (cl-lib): Always require cl-lib, not only when byte compiling.
64479         (eudc-mode-map): Set parent keymap within let form.
64480         (eudc-update-local-variables): Use #' read syntax for function
64481         argument to map function.
64482         (eudc-select): Likewise.
64483         (eudc-format-attribute-name-for-display): Likewise
64484         (eudc-filter-duplicate-attributes): Likewise.
64485         (eudc-format-query): Likewise.
64486         (eudc-expand-inline): Likewise.
64487         (eudc-query-form): Likewise.
64488         (eudc-print-attribute-value): Use mapc instead of mapcar.
64489         (eudc-filter-partial-records): Use cl-every.
64490         (eudc-distribute-field-on-records): Use delete-dups to
64491         simplify function.
64492         (eudc-expand-inline): Replace while with dolist and let form.
64493         (eudc-query-form): Set inhibit-read-only after switching
64494         buffers.  Remove useless and call.
64495         (eudc-load-eudc): Add a FIXME comment.
64497 2018-04-15  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
64499         In HTML mode, don't match </ with the wrong /
64501         * lisp/textmodes/sgml-mode.el (sgml-slash): In HTML mode, don't
64502         match <br /><h1>...</ with the preceding / (bug#16508).
64504 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64506         Use quit-buffer instead of semantic-symref-hide-buffer
64508         * lisp/cedet/semantic/symref/list.el
64509         (semantic-symref-hide-buffer): Removed (bug#15857).
64510         (semantic-symref-results-mode-map): Use quit-buffer instead.
64512 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64514         Doc string update for gnus-extract-address-components
64516         * lisp/gnus/gnus-util.el (gnus-extract-address-components): Doc
64517         update.
64519 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64521         Add an undo command to url-cookie-mode
64523         * lisp/url/url-cookie.el (url-cookie-undo): New command and
64524         keystroke (bug#16650).
64526 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64528         Tweak the look of the cookie buffer after cookie deletion
64530         * lisp/url/url-cookie.el (url-cookie--generate-buffer): Factor out
64531         into its own function.
64532         (url-cookie-delete): Use it to make the buffer look consistent
64533         after deleting a cookie.
64535 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64537         Make eww handle "http://a/../../../g"
64539         * lisp/net/eww.el (eww): Strip leading elements off URLs on the
64540         form "http://a/../../../g", because that's what all the other
64541         browsers do (bug#8622).
64543 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64545         Make url-cookie-write-file be more permissive
64547         * lisp/url/url-cookie.el (url-cookie-write-file): If
64548         `url-cookie-file' isn't set (due to url.el not being used yet),
64549         don't error out in this function (bug#23183).
64551 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64553         Don't warn the user about large files if they are unreadable
64555         * lisp/files.el (abort-if-file-too-large): There's no point in
64556         warning the user about a too-large file if we're not able to read
64557         it (bug#29549).  Hopefully this doesn't introduce a race condition
64558         between this test and the `file-readable-p' test later.
64560 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64562         Only save the mailer choice after sending the mail
64564         * lisp/mail/sendmail.el (sendmail-query-once): Only save the
64565         mailer choice after we've sent the mail, so that if that fails,
64566         the user has an easy way to back out of the choice and make
64567         another (bug#14487).
64568         (sendmail-query-user-about-smtp): Return the choice; don't save it.
64570 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64572         (compose-mail): Give a better error message for `mail-user-agent'
64574         * lisp/simple.el (compose-mail): Give a better error message for
64575         invalid values for `mail-user-agent' (bug#17979).
64577 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64579         Fix typo in gnus.texi
64581         * doc/misc/gnus.texi (Summary Message Commands): Fix typo in last
64582         change.
64584 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64586         Update doc string after previous ietf-drums change
64588         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Doc fix
64589         after previous change.
64591 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64593         mail-extr.el: Mention `mail-header-parse-address' in the doc string
64595         * lisp/mail/mail-extr.el (mail-extract-address-components):
64596         Mention `mail-header-parse-address' in the doc string.
64598 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64600         Allow `mail-header-parse-address' to decode encoded words
64602         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Take an
64603         optional parameter to decode the display name.
64605 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64607         Revert "Make mail-extract-address-components return the user name more"
64609         This reverts commit 8b50ae8b2284b5652c2843a9d0d076f4f657be28.
64611         According to tests in bug#27656 by OGAWA Hirofumi, this patch
64612         led to wrong results when binding
64614         (dolist (addr '("Rasmus <rasmus@gmx.us>" "Rasmus <mbox@gmx.us>"))
64615           (dolist (ignore-single '(t nil))
64616             (dolist (ignore-same '(t nil))
64617               (let ((mail-extr-ignore-single-names ignore-single)
64618                     (mail-extr-ignore-realname-equals-mailbox-name ignore-same))
64619                 (message "%s" (mail-extract-address-components addr))))))
64621         in combination.
64623 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64625         Query the user whether to increase stack depth in shr
64627         * lisp/net/shr.el (shr-insert-document): Bind `max-specpdl-size'
64628         here... (bug#30675).
64629         (shr-descend): So that we can increase it temporarily here if the
64630         user wants to.
64632 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64634         Minor copy edit of etc/NEWS
64636         * src/lread.c (openp): Add a comment before the now-obscure loop.
64638 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64640         Clarify menu entry in previous check-in
64642         * lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Menu bar
64643         entry for it.
64645 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64647         Add new command `gnus-summary-attach-article'
64649         * doc/misc/gnus.texi (Summary Message Commands): Document it.
64651         * lisp/gnus/gnus-msg.el (gnus-summary-attach-article): New command
64652         and keystroke (bug#19788).
64654         * lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Menu bar
64655         entry for it.
64657 2018-04-15  Daiki Ueno  <ueno@gnu.org>
64659         Divert to call `gnus-activate-group' with the SCAN argument set
64661         * lisp/gnus/gnus-group.el (gnus-group-get-new-news-this-group):
64662         Divert to call `gnus-activate-group' with the SCAN argument set,
64663         if request-group-scan is not defined for the backend.  Ensure that
64664         the server is open when calling `gnus-request-group-scan'
64665         (bug#22649).
64667 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64669         Abort Gnus exit if we have unsaved Message buffers
64671         * lisp/gnus/gnus-group.el
64672         (gnus--abort-on-unsaved-message-buffers): New function (bug#28843).
64673         (gnus-group-exit): Use it to abort exit if we have unsaved Message
64674         buffers.
64676 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
64678         Avoid an infloop in shr filling when not using fonts
64680         * lisp/net/shr.el (shr-fill-line): If we have an indentation
64681         that's wider than the width of what we're trying to fill, just
64682         give up.  This avoids an infloop when `shr-use-fonts' in nil.
64684 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64686         Remove calls from string-to-multibyte in nnheader/nntp
64688         * lisp/gnus/nntp.el (nntp-copy-to-buffer): Apparently `insert' now
64689         behaves more like string-make-multibyte, but it now behaves more
64690         like string-to-multibyte, so remove that call here.  I'm not quite
64691         sure I follow that logic, but apparently there are no ill effects.
64693         * lisp/gnus/nnheader.el (nnheader-insert-buffer-substring): Ditto.
64695 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64697         Remove a string-to-multibyte from nnmh.el
64699         * lisp/gnus/nnmh.el (nnmh-request-list-1): Remove superfluous
64700         string-to-multibyte.
64702 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64704         Remove call to string-to-multibyte from nndoc.el
64706         * lisp/gnus/nndoc.el (nndoc-oe-dbx-type-p): My testing shows that
64707         no matter whether we're in a unibyte or a multibyte buffer, doing
64708         the looking-at here without the string-to-multibyte, we'll get a
64709         match.  We did not get a match with the call in and if we were in
64710         a unibyte buffer, but we presumably never are.
64712 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64714         Fix calculation in gnus-update-group-mark-positions
64716         * lisp/gnus/gnus-group.el (gnus-update-group-mark-positions):
64717         Rewrite a call to string-to-multibyte that didn't even work.
64718         After the rewrite it gives the correct result and should allow
64719         people to customise Gnus group process mark positions (but that's
64720         a pretty obscure feature).
64722 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64724         Removed outdated comment from nnweb.el
64726         * lisp/gnus/nnweb.el (nnweb-insert-html): Removed ten year old
64727         comment from Stefan about string-as-multibyte.
64729 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64731         Rewrite Gnus calls to compat function mm-multibyte-p
64733 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64735         Rewrite string-as-unibyte/string-as-multibyte logic in nnmail
64737         * lisp/gnus/nnmail.el (nnmail-insert-xref): Rewrite
64738         string-as-unibyte/string-as-multibyte logic and confirm that the
64739         result is the same in both multibyte and unibyte buffers after the
64740         change.
64742 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64744         Remove call to string-as-unibyte from nnmail
64746         * lisp/gnus/nnmail.el (nnmail-parse-active): Remove call to
64747         string-as-unibyte; the alist before and after the change are
64748         `equal' to each other, so it should presumably have no impact.
64750 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64752         Remove calls to string-as-unibyte from nnir.el
64754         * lisp/gnus/nnir.el (nnir-get-active): Remove two calls to
64755         string-as-unibyte from code that seems cargo-culted from Gnus
64756         functions where it is not needed, so it's presumably not needed
64757         here, either.
64759 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64761         Remove call to string-as-unibyte in gnus-start.el
64763         * lisp/gnus/gnus-start.el (gnus-read-newsrc-el-file): Remove
64764         string-as-unibyte call, which appears not to do anything much in
64765         modern Emacsen.
64767 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64769         Remove call to string-as-unibyte from gnus-start.el
64771         * lisp/gnus/gnus-start.el (gnus-update-active-hashtb-from-killed):
64772         Remove a string-as-unibyte call here, which appears not to be
64773         necessary: I'm able to complete over non-ASCII names both before
64774         and after.
64776 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64778         Modernise a Gnus function a bit
64780         * lisp/gnus/gnus-start.el (gnus-update-active-hashtb-from-killed):
64781         Modernise code a bit.
64783 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64785         Remove two string-as-unibyte in gnus-srvr.el
64787         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): We do not
64788         seem to need the string-as-unibyte here: We read a multibyte
64789         string from the *nntpd* buffer and then decode it later, and this
64790         apparently by some strange magic leads to the correct results in
64791         my test cases.
64793 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64795         Fix a `string-to-multibyte' in Gnus
64797         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): The
64798         original article buffer is multibyte, and we're inserting into the
64799         article buffer, which is also multibyte, so the `string-to-multibyte'
64800         here should be unnecessary?
64802 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64804         Fix a string-as-unibyte in Gnus
64806         * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Get rid
64807         of a string-as-unibyte.
64809 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64811         Further shr line folding/link continuation tweaks
64813         * lisp/net/shr.el (shr-fill-line): Tweak the link continuations
64814         further when folding lines.
64816 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64818         Indent after transforming for loop into do/while
64820 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64822         Make call-process work if exec-path is nil
64824         * src/lread.c (openp): If exec-path is nil, no files would be
64825         found to execute (bug#30564).
64827         Test cases:
64829          (let ((exec-path ()))
64830            (call-process "/bin/ls" nil (current-buffer)))
64832         This would previously fail, but now works.
64834          (let ((exec-path '("/bin/")))
64835            (call-process "ls" nil (current-buffer)))
64837         This worked, and still works.
64839 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64841         Make erc-current-logfile work with explicit parameter
64843         * lisp/erc/erc-log.el (erc-current-logfile): This function
64844         apparently refers to buffer-local variables, so switch to the
64845         buffer given before calculating the file name (bug#16111).
64847 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64849         Tweak shr link text property adjustments when folding
64851         * lisp/net/shr.el (shr-fill-line): If a link starts at the first
64852         word on a new folded line, then don't copy the link properties to
64853         the newline inserted.
64855 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64857         * lisp/erc/erc-button.el (erc-button-search-url): Doc fix.
64859         erc build fix for the previous patch
64861 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64863         erc-truncate-buffer-on-save doc string clarification
64865         * lisp/erc/erc-log.el (erc-truncate-buffer-on-save): Doc
64866         clarification (bug#18207) since "truncate" is a word used by
64867         erc-truncate to mean something else.
64869 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64871         Ignore all-whitespace topics in erc
64873         * lisp/erc/erc.el (erc-cmd-TOPIC): Ignore all-whitespace topics
64874         (bug#25153).
64876 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64878         Rename url-button-google-url
64880         * lisp/erc/erc-button.el (erc-button-search-url): Renamed from
64881         url-button-google-url (bug#25717).  Suggested by Andrew Robbins.
64882         (erc-button-alist): Use it.
64884 2018-04-14  John Goerzen  <jgoerzen@complete.org>  (tiny change)
64886         Subject: Fix problem with erc buffer renames after reconnect
64888         * lisp/erc/erc.el (erc-generate-new-buffer-name): Solve problem
64889         with renamed buffers on different servers after reconnect (bug#30639).
64891 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64893         (libxml-parse-html-region): Make DISCARD-COMMENTS obsolete
64895         * lisp/subr.el (libxml-parse-xml-region)
64896         (libxml-parse-html-region): Make DISCARD-COMMENTS obsolete.
64898         * src/xml.c (Flibxml_parse_html_region)
64899         (Flibxml_parse_xml_region): Don't mention DISCARD-COMMENTS, since
64900         it's now no longer part of the advertised signature (bug#27178).
64902 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64904         Revert "Revert "Give better errors in signing failures in Gnus""
64906         This reverts commit 42141da5b0885b199636524c1e57f08ee1723aea.
64908         This patch was reverted in error.  I misinterpreted an email saying that
64909         it didn't work, but apparently it worked as it should.
64911 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64913         Make DISCARD-COMMENTS in `libxml-parse-{html,xml}-region' obsolete
64915         * doc/lispref/text.texi (Parsing HTML/XML): Mention that
64916         discard-comments is obsolete.
64918         * lisp/xml.el (xml-remove-comments): New function (bug#27178).
64920         * src/xml.c (Flibxml_parse_html_region): Clarify what
64921         DISCARD-COMMENTS actually does, and say that the parameter is
64922         obsolete.
64923         (Flibxml_parse_xml_region): Ditto.
64925 2018-04-14  Glenn Morris  <rgm@gnu.org>
64927         Merge from origin/emacs-26
64929         5a6bb01 (origin/emacs-26) Fix building etc/DOC in the MSDOS port
64930         274c979 * lisp/select.el (gui-get-selection): Doc fix.
64931         ad731b0 ; * doc/lispref/display.texi (Temporary Displays): Fix typos.
64932         f1450e9 Complete documentation of syntax flags by adding `c'
64933         6bdcaec Fix typos and minor wording issues in ELisp manual
64934         febac27 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
64935         6c2e21e Avoid segfault in processes of type 'pipe'
64936         60e10c5 Remove repetitions in documentation strings
64937         208e752 * lisp/image.el (image-load-path): Doc fix.
64938         92e0fd8 ; * etc/NEWS: Remove a FIXME.  (Bug#31122)
64940         Conflicts:
64941                 etc/NEWS
64943 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64945         Change the default From style to `angles' and make obsolete
64947         * lisp/gnus/message.el (message-from-style): Make `angles' the
64948         default (bug#29309) and mark as obsolete.
64950         * lisp/mail/sendmail.el (mail-from-style): Ditto.
64952 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64954         Make image-mode respect `imagemagick-types-inhibit'
64956         * lisp/image-mode.el (image--imagemagick-wanted-p): New function
64957         (bug#29584).
64958         (image-toggle-display-image): Use it to see whether we want to use
64959         imagemagick.
64961 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64963         Revert "Give better errors in signing failures in Gnus"
64965         This reverts commit ef2059e877d104bfe5abd24df05bb09c7295e4fa.
64967         Apparently this test triggered both when signing was successful
64968         and unsuccessful (bug#26298).
64970 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
64972         Tweak mailcap precedence so that Emacs values are heeded better
64974         * lisp/net/mailcap.el (mailcap-parse-mailcaps): Place entries from
64975         system-wide mailcap files after the values that are distributed
64976         with Emacs, and the ones from ~/.mailcap before.
64977         (mailcap-parse-mailcap): Take an optional `after' parameter to
64978         achieve that.
64979         (mailcap-add-mailcap-entry): Ditto.
64981 2018-04-14  Tino Calancha  <tino.calancha@gmail.com>
64983         Subject: Fix circular dependency for mm-decode
64985         * lisp/gnus/mm-decode.el: Do not require shr.el at the top
64986         of the file; `mm-shr' already requires shr.el in its body, and
64987         this function is the only `mm-convert-shr-links' caller (Bug#31151).
64989 2018-04-13  Basil L. Contovounesios  <contovob@tcd.ie>
64991         Do not destructively modify interprogram paste
64993         * lisp/simple.el (kill-new, current-kill): Non-destructively reverse list
64994         returned by interprogram-paste-function. (bug#31097)
64996 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
64998         Don't bind image commands on eww non-image links
65000         * lisp/net/eww.el (eww-link-keymap): Only inherit the normal shr
65001         keymap.
65002         (eww-image-link-keymap): New keymap with the image bindings.
65003         (eww-tag-a): Use the appropriate one on links (bug#30148).
65005 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65007         Move utility function to mm-util.el
65009         * lisp/gnus/mm-util.el (mm-images-in-region-p): Move from
65010         mm-decode.el and renamed, since it is generally useful.
65012 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65014         Make the url file: handler be less clever
65016         * doc/misc/url.texi (file/ftp): Remove mention of the
65017         url-directory-index-file variable, which is no longer consulted.
65019         * lisp/url/url-file.el (url-file-build-filename): Remove the DWIM
65020         code from the file: handler (bug#30195): It would look for
65021         index.html in a directory if we asked it to fetch the directory.
65022         Determining what to do in a directory should be left up to the
65023         programs that use this low-level library.  If the library decides
65024         to load a different file than we specified, then things start
65025         falling apart, as demonstrated by this bug report.
65027 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65029         Don't bind image commands on non-image links in Gnus
65031         * lisp/gnus/mm-decode.el (mm--images-in-region-p): New utility
65032         function.
65033         (mm-convert-shr-links): Only use the shr image map on links that
65034         contain images.  This avoids binding commands like `r' on links
65035         that don't need it.
65037 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65039         Revert "Add colors to faces that lack them."
65041         This reverts commit 16748a5f6bd57ec0967ecb5e14ffe8af5f43d888.
65043         From the discussion on the ding mailing list, I said:
65045         I think the colours should be reverted back to what they were before the
65046         change.  Normal text should be white on black (if you have a dark
65047         background), and colours should be used to emphasise or de-emphasise
65048         certain text.  Following that principle, normal Gnus groups should be
65049         white, not ... er...  what are they now?  Teal?
65051 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65053         Tweak the fonts applied to shr indentation
65055         * lisp/net/shr.el (shr-fill-line): Don't use fonts (especially
65056         link fonts) over indentation, because that's ugly..
65058 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65060         Further tweak point placement on gnus-summary-select-article-buffer
65062         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
65063         Place point in the empty space between headers and body.
65065 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65067         Tweak point placement in *Group* on `Q' exit
65069         * lisp/gnus/gnus-sum.el (gnus-summary-exit-no-update): When
65070         exiting the summary buffer with `Q', move point to the next unread
65071         group (which is the same thing that happens on `q' exit.)
65073 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65075         Tweak point placement in gnus-summary-select-article-buffer
65077         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
65078         Tweak where point is placed because when the user selects the
65079         article buffer, it's probably to cite something or click on
65080         something, and not do anything with the headers.
65082 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65084         Compute erc line lengths correctly for utf-8 (etc.)
65086         * lisp/erc/erc-backend.el (erc-split-line): Fold the lines
65087         according to octet length, not the number of characters (bug#23047).
65089 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65091         Clean up some defvoo doc strings
65093         * lisp/gnus/nndiary.el: Remove "*" from doc strings from defvoo
65094         elements (bug#23392).
65096         * lisp/gnus/nndir.el: Ditto
65098         * lisp/gnus/nndoc.el: Ditto.
65100         * lisp/gnus/nnrss.el: Ditto.
65102         * lisp/gnus/nnspool.el: Ditto.
65104         * lisp/gnus/nntp.el: Ditto.
65106 2018-04-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
65108         Further fix to eieio-persistent
65110         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
65111           Make handling of hash tables and vectors recursive. This is
65112           necessary because the write process, in `eieio-override-prin1' is
65113           also recursive. With any luck, this will be the last fix of its
65114           kind. If that's true, cherry-pick to Emacs 26.2 later on.
65116 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65118         Make nnimap parse pathological spam headers better
65120         * lisp/gnus/nnimap.el (nnimap-transform-headers): Unfold certain
65121         pathological IMAP headers more correctly (bug#25502).  Perhaps
65122         this function should be re-implemented.
65124 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65126         Fix syntax error in emacs-mime.texi in last check-in
65128 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65130         Prefer settings from ~/.mailcap over system and Emacs settings
65132         * doc/misc/emacs-mime.texi (mailcap): Document the variable and
65133         how mailcap chooses which viewer to use.
65135         * lisp/net/mailcap.el (mailcap-prefer-mailcap-viewers): New variable.
65136         (mailcap-mime-info): Use it.
65138 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65140         Fix bug in shr-urlify introduced in previous patch
65142         * lisp/net/shr.el (shr-urlify): Not all URLs have domains, so
65143         check for that before doing IDNA.
65145 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65147         Make shr support inline <div>s
65149         * lisp/net/shr.el (shr-tag-div): Support display: inline; for
65150         <div>, since that's a very common thing (bug#25588).
65152 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65154         Notify the user a bit more before clicking IDNA links
65156         * lisp/net/shr.el (shr-urlify): Show the puny-encoded domain name
65157         in the mouseover string (bug#25600).
65159 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65161         (nnimap-sequence): Add comment
65163         * lisp/gnus/nnimap.el (nnimap-sequence): Add comment.
65165 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65167         (url-http): Ensure that the referrer is all-ASCII
65169         * lisp/url/url-http.el (url-http): Ensure that the referrer is all-ASCII.
65171 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65173         gnutls.el now needs punycode
65175         * lisp/net/gnutls.el (puny): Require punycode.
65177 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65179         Make Unicode domain names work again in URL after recent changes
65181         * lisp/net/gnutls.el (open-gnutls-stream): IDNA-encode hostnames
65182         before passing them on to gnutls for verification.
65184         * lisp/net/network-stream.el (network-stream-open-starttls): Ditto.
65186         * lisp/url/url-http.el (url-http--get-referer): Be IDNA-aware.
65187         (url-http-create-request): Don't de-Unicodify host names, because
65188         they may be IDNA names (that are later encoded).
65190         * lisp/url/url-util.el (url-domain): Be IDNA-aware when doing
65191         domain name computations.
65193 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65195         Update defcustom version for last patch to url-vars.el
65197         * lisp/url/url-vars.el (url-lastloc-privacy-level): Update
65198         defcustom version.
65200 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65202         Use a separate history for the eww prompt
65204         * lisp/net/eww.el (eww-prompt-history): A separate history
65205         variable for the interactive eww prompt.
65206         (eww): Use it.
65208 2018-04-13  Michael Albinus  <michael.albinus@gmx.de>
65210         Fix Bug#30246
65212         * lisp/auth-source.el (auth-source-secrets-search): Do not
65213         suppress creation.
65214         (auth-source-secrets-create): Implement it.  (Bug#30246)
65216         * lisp/net/secrets.el (secrets-debug): Set default to nil.
65218         * test/lisp/auth-source-tests.el (secrets): Require it.
65219         (auth-source-test-secrets-create-secret): New test.
65221 2018-04-13  Peder O. Klingenberg  <peder@klingenberg.no>
65223         Change gnutls-verify-error to be first-match
65225         * doc/misc/url.texi (Customization): Describe the new user
65226         option url-lastloc-privacy-level.
65228         * lisp/net/eww.el (eww-render): Set url-current-lastloc to the
65229         url we are rendering, to get the referer header right on
65230         subsequent requests.
65232         * lisp/url/url-http.el (url-http--get-referer): New function
65233         to determine which referer to send, if any, considering the
65234         users privacy settings and the target url we are visiting.
65235         (url-http-referer): New variable keeping track of the referer
65236         computed by url-http--get-referer
65237         (url-http-create-request): Use url-http-referer instead of the
65238         optional argument to set up the referer header.  Leave
65239         checking of privacy settings to url-http--get-referer.
65240         (url-http): Set up url-http-referer by using
65241         url-http--get-referer.
65243         * lisp/url/url-queue.el (url-queue): New struct member
65244         context-buffer for keeping track of the context a queued job
65245         started from.
65246         (url-queue-retrieve): Store the current buffer in the queue
65247         object.
65248         (url-queue-start-retrieve): Make sure url-retrieve is called
65249         in the context of the original buffer, if available.
65251         * lisp/url/url-util.el (url-domain): New function to determine
65252         the domain of a given URL.
65254         * lisp/url/url-vars.el (url-current-lastloc): New variable to
65255         keep track of the desired "last location" (referer header).
65256         (url-lastloc-privacy-level): New custom setting for more
65257         fine-grained control over how lastloc (referer) is sent to
65258         servers (Bug#27012).
65260 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65262         Make #anchors work again in eww
65264         * lisp/net/eww.el (eww-render): When we have a #link link, then
65265         url.el will say that we have a redirect to a non-#link link, so
65266         get the anchor before url.el mangles the URL (bug#28441).
65267         (eww-display-html): ... and don't get it here, because it's gone
65268         by now.
65270         Test URL: http://www.gnu.org/s/hyperbole/#summary
65272 2018-04-13  Robert Pluim  <rpluim@gmail.com>
65274         Doc fix after previous gnutls patch
65276         * lisp/net/gnutls.el (gnutls-verify-error): Mention that the
65277         matching is first-match (bug#29977).
65279 2018-04-13  Robert Pluim  <rpluim@gmail.com>
65281         Change gnutls-verify-error to be first-match
65283         * lisp/net/gnutls.el (gnutls-boot-parameters): Convert to
65284         first-match for gnutls-verify-error rather than any-match
65285         (bug#29977).
65287 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65289         Mention the new `shr-selected-link' face
65291         Clean up the double Gnus section
65293 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65295         When opening external links in eww, blink the link
65297         * lisp/net/eww.el (eww-follow-link): Ditto.
65299         * lisp/net/shr.el (shr-selected-link): New face (bug#25096).
65300         (shr--blink-link): New function to blink links.
65301         (shr--current-link-region): New utility function.
65302         (shr-browse-url): Use it to blink external links.
65304         Blinking the link allows the user to get immediate feedback that the
65305         action has been performed.  Opening the external browser may take a
65306         while, and may not be obvious that is going on.
65308 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
65310         Tweak nnimap sequence numbers to avoid reuse
65312         * lisp/gnus/nnimap.el (nnimap-sequence): Start the sequence at a
65313         higher number to avoid reusing the sequence number used by
65314         `open-network-stream' (bug#30022).
65316 2018-04-13  martin rudalics  <rudalics@gmx.at>
65318         * lisp/gnus/gnus-art.el (gnus-article-prepare): Fix previous commit,
65319         in which selecting the article window is not necessary (bug#25526).
65321 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65323         Remove unused local variable
65325 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65327         Treat 302 redirects as if they were 303 redirects
65329         * lisp/url/url-http.el (url-http-parse-headers): Treat 302 as 303,
65330         since this is what the standards recommend these days (bug#25703).
65331         See https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection
65333 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65335         Make eww render <select> elements again
65337         * lisp/net/eww.el (eww-tag-select): Actually render <select>
65338         elements (bug#25703).
65340 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65342         <label> shouldn't introduce a line break
65344         * lisp/net/shr.el (shr-tag-label): Remove so that labels don't
65345         break lines (because they shouldn't: They're usually part of a
65346         selection interface) (bug#30557).
65348 2018-04-12  Katsumi Yamaoka  <yamaoka@jpl.org>
65350         * lisp/gnus/gnus-art.el (gnus-article-prepare): Make sure the article
65351         begins with the top of the header (bug#25526).
65353 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65355         Tweak the eww readability function
65357         * lisp/net/eww.el (eww-highest-readability): Require that the
65358         readable bit is at least 100 words (bug#30445).
65360 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65362         (dom-texts): Don't return contents of <script> as text
65364         From: Lars Ingebrigtsen <larsi@gnus.org>
65366         * lisp/dom.el (dom-texts): Don't return contents of <script> as
65367         text, because it isn't and makes reasoning about textual parts
65368         more difficult.
65370 2018-04-12  Basil L. Contovounesios  <contovob@tcd.ie>
65372         Support list of default values in completing-read-multiple
65374         * lisp/emacs-lisp/crm.el (completing-read-multiple):
65375         Consider head of DEF argument when specified as a list,
65376         as per completing-read-default. (bug#30072)
65378 2018-04-12  Jonathan Marten  <jjm@keelhaul.me.uk>  (tiny change)
65380         From: Lars Ingebrigtsen <larsi@gnus.org>
65382         * lisp/gnus/nnimap.el (nnimap-login): Allow anonymous logins
65383         (bug#24704).
65385 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65387         Default message-forward-as-mime to nil
65389         * doc/misc/gnus.texi (Summary Mail Commands): Ditto.
65391         * doc/misc/message.texi (Forwarding): Note the new default.
65393         * lisp/gnus/message.el (message-forward-as-mime): Default to nil
65394         since it's been reported that many recipients can't read MIME
65395         digest forwards (bug#24878).
65397 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65399         Load w3m in Gnus if required
65401         * lisp/gnus/gnus-art.el (gnus-article-show-images): Ensure that
65402         w3m is loaded if the user requests that we use it.
65404 2018-04-12  Tim Landscheidt  <tim@tim-landscheidt.de>
65406         Don't autoload function from w3m
65408         * lisp/gnus/gnus-art.el (w3m-toggle-inline-images): Don't use
65409         autoload for packages that may not be installed (bug#25604).
65411 2018-04-12  Oleg Pykhalov  <go.wigust@gmail.com>
65413         From: Lars Ingebrigtseb <larsi@gnus.org>
65415         * lisp/gnus/gnus-sum.el (gnus-summary-limit-to-score): Allow limit
65416         to articles that have a score below the stated number, too
65417         (bug#30356).
65419 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65421         message-forward-as-mime doc clarification
65423         * lisp/gnus/message.el (message-forward-as-mime): Doc
65424         clarification (bug#27714).
65426 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65428         message-forward-ignored-headers doc clarification
65430         * lisp/gnus/message.el (message-forward-ignored-headers): Doc
65431         clarification (bug#27715).
65433 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65435         Restore point in summary buffer after sorting
65437         * lisp/gnus/gnus-sum.el (gnus-summary-sort): Keep point on the
65438         current article when sorting (bug#30615).
65440 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65442         nil is no longer an allowed value for mm-inline-text-html
65444         * doc/misc/emacs-mime.texi (Display Customization): Remove the doc
65445         for the nil case of mm-inline-text-html.
65447         * doc/misc/mh-e.texi (HTML): Ditto.
65449         * lisp/gnus/mm-view.el (mm-inline-text-html): If no
65450         mm-text-html-renderer is specified, just insert the raw text
65451         instead of erroring out (bug#30870).
65453 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65455         Ensure that non-QRESYNC nnimap can proceed after a QRESYNC fail
65457         * lisp/gnus/nnimap.el (nnimap-update-info): If we don't have a
65458         start-article in the non-QRESYNC case, then the start has to be 1
65459         (bug#23241).
65461 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65463         Make it possible to exit Gnus without saving .newsrc.eld
65465         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Don't error out
65466         here so that we can proceed with shutting down Gnus without saving
65467         the .newsrc.eld file when it has been updated externally (bug#23761).
65469 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65471         Make nnml save the .overview file when used as an expiry target
65473         * lisp/gnus/nnmail.el (nnmail-expiry-target-group): Always pass in
65474         the `last' parameter to the acceptance function so that backends
65475         like nnml save the .overview file (bug#24499).  This may slow down
65476         some use cases.
65478 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65480         Clarify Gnus doc string
65482         * lisp/gnus/gnus-cite.el (gnus-article-fill-cited-article):
65483         Clarify doc string (bug#24578).
65485 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65487         Elide XEmacs-relevant comment
65489         * lisp/gnus/gnus-cite.el (gnus-article-fill-cited-article): Remove
65490         mention of XEmacs, since we no longer support XEmacs.
65492 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65494         Make message-simplify-recipients obsolete
65496         * lisp/gnus/message.el (message-simplify-recipients)
65497         (message-recipients-without-full-name): Made obsolete since
65498         Message now simplifies all addresses by default.
65500 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
65502         Remove repetitions from recipient addresses in Message
65504         * lisp/gnus/message.el (message--alter-repeat-address): New function.
65505         (message-get-reply-headers): Use it to remove repetitions on the
65506         form "foo@bar.com" <foo@bar.com>.
65508 2018-04-11  Damien Cassou  <damien@cassou.me>
65510         * etc/NEWS: Fix entry regarding automatic encryption of (Bug#31124) messages
65512 2018-04-11  Shanavas M  <shanavas@disroot.org>
65514         Add tests for buffer-base-buffer function (Bug#30905)
65516         * test/src/buffer-tests.el (test-buffer-base-buffer-indirect)
65517         (test-buffer-base-buffer-non-indirect): New tests for
65518         `buffer-base-buffer'.
65520 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
65522         make-dist: fix bug with top-level ChangeLog
65524         Problem reported by Glenn Morris in:
65525         https://lists.gnu.org/r/emacs-devel/2018-04/msg00307.html
65526         * make-dist (top_level_ChangeLog): New var.  Use it to link
65527         top-level ChangeLog only when desired.
65529 2018-04-11  Alain Schneble  <a.s@realize.ch>
65531         Support port number in Gnus X-Message-SMTP-Method header
65533         * lisp/gnus/message.el (message-multi-smtp-send-mail): Try to parse
65534         service as port number.  If it succeeds, use parsed number, else use
65535         supplied service name as before (bug#24653).  (This only matters
65536         on some operating systems.)
65538 2018-04-11  Daniel Dehennin  <daniel.dehennin@baby-gnu.org>
65540         Gnus Group Mail Splitting on mailing-list headers
65542         * doc/misc/gnus.texi: Document the new `list' split abbreviation and
65543         `match-list' group parameter (bug#25346).
65545         * lisp/gnus/gnus-mlspl.el: Use the `list' abbreviation when the new
65546         `match-list' group parameter is set to `t'.
65547         The split regexp is modified to match either `@` or `.` as domain
65548         separator to comply with RFC2919 IDs too.
65550         * lisp/nnmail.el: Add new `list' split abbreviation matching common
65551         mailing-list headers.
65553 2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>
65555         Tweak previous patch to respect quiet next group selection again
65557         * lisp/gnus/gnus-sum.el (gnus-summary-next-article): Tweak
65558         previous patch to be quieter if the user has requested `quietly'
65559         next group selection.
65561 2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>
65563         Display "No more ... articles" on `n' in Gnus
65565         * lisp/gnus/gnus-sum.el (gnus-summary-next-article): Display the
65566         "No more"... messages if gnus-auto-select-next is nil and the user
65567         has default messaging levels (bug#25582).
65569 2018-04-11  Łukasz Stelmach  <l.stelmach@samsung.com>  (tiny change)
65571         Rung new-news-hook from `M-g' in the Gnus summary buffer
65573         * lisp/gnus/gnus-group.el (gnus-group-get-new-news-this-group):
65574         Run `gnus-after-getting-new-news-hook' when doing `M-g' in the
65575         summary buffer, too (bug#25892).  This makes `M-g' in both group
65576         and summary buffers work more similar.
65578 2018-04-11  Noam Postavsky  <npostavs@users.sourceforge.net>
65580         Give better errors in signing failures in Gnus
65582         * lisp/gnus/mml1991.el (mml1991-epg-sign): Give better error
65583         messages when signing fails (bug#26298).
65585         * lisp/gnus/mml2015.el (mml2015-epg-sign): Ditto.
65587 2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>
65589         Remove the Gmane backend from nnir
65591         * lisp/gnus/nnir.el (nnir-engines): Remove Gmane backend, which no
65592         longer exists.
65593         (nnir-method-default-engines): Ditto.
65594         (nnir-run-gmane): Removed function (bug#28234).
65596 2018-04-11  Basil L. Contovounesios  <contovob@tcd.ie>
65598         Heed switch-function argument in gnus-user-agent
65600         * lisp/gnus/gnus-msg.el (gnus-msg-mail): Heed switch-action argument
65601         when falling back to message-user-agent because Gnus is not
65602         running (bug#28992).
65604 2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>
65606         Always rescale images in gnus-rescale-image
65608         * lisp/gnus/gnus-util.el (gnus-rescale-image): Rescale images even
65609         if we don't have a visible article buffer.  Reported and fix
65610         suggested by Kevin Brubeck Unhammer.
65612 2018-04-11  Michael Albinus  <michael.albinus@gmx.de>
65614         Some minor Tramp changes
65616         * lisp/net/tramp-sh.el (tramp-get-ls-command-with):
65617         New defun, replacing ...
65618         (tramp-get-ls-command-with-dired)
65619         (tramp-get-ls-command-with-quoting-style)
65620         (tramp-get-ls-command-with-w-option): Removed.
65621         (tramp-do-file-attributes-with-ls)
65622         (tramp-do-directory-files-and-attributes-with-stat)
65623         (tramp-sh-handle-insert-directory): Adapt callees.
65625         * lisp/net/tramp-smb.el (tramp-smb-errors):
65626         Add "NT_STATUS_CONNECTION_RESET".
65628 2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>
65630         Don't kill off LibreOffice when selecting the next article in Gnus
65632         * lisp/gnus/mm-decode.el (mm-keep-viewer-alive-types): Add the
65633         media types that LibreOffice uses to the list, since we don't want
65634         to kill off LibreOffice willy-nilly.
65636 2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>
65638         Doc fix for mm-keep-viewer-alive-types
65640         * lisp/gnus/mm-decode.el (mm-keep-viewer-alive-types): Clarify doc
65641         string.
65643 2018-04-10  Glenn Morris  <rgm@gnu.org>
65645         Merge from origin/emacs-26
65647         c267421 (tag: emacs-26.1-rc1, origin/emacs-26) ; * ChangeLog.3: Update.
65648         aa77415 * etc/AUTHORS: Regenerate.
65649         c8ffca5 * lisp/files.el (kept-new-versions): Improve documentation st...
65650         3a798f6 Fix a minor mistake in the ELisp manual
65651         6afa868 ; * src/dispextern.h (struct it): Fix a typo in a comment.
65652         5659b2f * lisp/files.el (find-file-literally): Doc fix.
65653         9b24a79 Fix typos in doc strings
65655 2018-04-10  Glenn Morris  <rgm@gnu.org>
65657         Merge from origin/emacs-26
65659         f674c89 ; * ChangeLog.3: Update.
65660         80d868e * lisp/emacs-lisp/inline.el: Clarify apparent typos
65661         9f54f28 ; * lisp/auth-source.el (auth-sources): Update the :version tag.
65663 2018-04-09  Paul Eggert  <eggert@cs.ucla.edu>
65665         make-dist: check exit statuses more carefully
65667         * make-dist: Do a better job checking for subprocess failure.
65669 2018-04-08  Tino Calancha  <tino.calancha@gmail.com>
65671         Preserve case in query-replace undo
65673         If the user query and replaces 'foo' with 'BAR', then
65674         undo must comeback to 'foo', not to 'FOO' (Bug#31073).
65675         * lisp/replace.el (perform-replace): Bind nocasify to non-nil
65676         value during undo/undo-all actions.
65677         * test/lisp/replace-tests.el (query-replace-undo-bug31073): Add test.
65679 2018-04-08  Michael Albinus  <michael.albinus@gmx.de>
65681         * lisp/auth-source.el (auth-source-secrets-search): Fix docstring.
65683 2018-04-08  nitishch  <nitishchandrachinta@gmail.com>  (tiny change)
65685         Fix python-shell-send-defun at start of buffer (Bug#30822)
65687         * lisp/progmodes/python.el (python-shell-send-defun): Handle the case
65688         when we hit the beginning of buffer.
65690 2018-04-07  Philipp Stephani  <phst@google.com>
65692         Document that 'make-process' mixes the output streams
65694         * doc/lispref/processes.texi (Asynchronous Processes):
65695         * src/process.c (Fmake_process): Document that standard error is mixed
65696         with standard output if STDERR is nil.
65698         * test/src/process-tests.el (make-process/mix-stderr): New unit test.
65700 2018-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
65702         * lisp/simple.el (undo-auto--undoable-change): Avoid leak
65704 2018-04-07  Marco Wahl  <marcowahlsoft@gmail.com>
65706         Fix goto page from page directory (Bug#28909)
65708         * lisp/textmodes/page-ext.el (pages-directory-goto): Use the
65709         interactive spec as in `occur-mode-goto-occurrence'.
65711 2018-04-07  Michal Nazarewicz  <mina86@mina86.com>
65713         Handle quotation marks and apostrophes in ‘sgml-quote’
65715         To be able to use text in an HTML argument, quotation marks need
65716         to be replaced with an appropriate character reference.  Make
65717         ‘sgml-quote’ do that.
65719         While at it, fix entiteis not being unquoted if they lack closing
65720         semicolon (e.g. ‘&amp’) occurring at the very end of a region.
65721         Even though unlikely, make ‘sgml-quote’ handle this scenario.
65723         * lisp/textmodes/sgml-mode.el (sgml-quote): Handle quotation marks and
65724         apostrophes.  Match entities lacking semicolon at the end of regions.
65725         * test/lisp/textmodes/sgml-mode-tests.el (sgml-quote-works): New test
65726         case for ‘sgml-quote’ function.
65728 2018-04-06  Michael Albinus  <michael.albinus@gmx.de>
65730         Make dbus.el fitter for Emacs configured --without-dbus
65732         * lisp/net/dbus.el (dbus-error, dbus-debug): Define if not exist.
65734         * test/lisp/net/secrets-tests.el: Revert 51c8369fa2 and 79a3ad9592.
65736 2018-04-05  Tino Calancha  <tino.calancha@gmail.com>
65738         Require secrets.el iif Emacs has dbusbind support
65740         * test/lisp/net/secrets-tests.el: Require secrets.el if
65741         and only if, Emacs has been compiled with dbusbind support.
65743 2018-04-05  Tino Calancha  <tino.calancha@gmail.com>
65745         Run secrets suite test when Emacs has dbus support
65747         * test/lisp/net/secrets-tests.el (secrets-test00-availability)
65748         (secrets-test01-sessions, secrets-test02-collections)
65749         (secrets-test03-items, secrets-test04-search): Skip test
65750         unless Emacs is compiled with dbus support.
65752 2018-04-05  Michael Albinus  <michael.albinus@gmx.de>
65754         Add tests for secrets.el
65756         * lisp/net/secrets.el (secrets-lock-collection): New defun.
65757         (secrets-search-items, secrets-create-item): Fix structure of :dict-entry.
65759         * test/lisp/net/secrets-tests.el: New package.
65761 2018-04-05  Glenn Morris  <rgm@gnu.org>
65763         * test/lisp/gnus/message-tests.el (message-all-epg-keys-available-p):
65764         Add skip condition.
65766 2018-04-04  Tino Calancha  <tino.calancha@gmail.com>
65768         Honor dired-create-destination-dirs if copying/renaming >1 files
65770         Check `dired-create-destination-dirs' when the user wants to
65771         copy/rename several files.
65772         * lisp/dired-aux.el (dired-do-create-files):
65773         Call `dired-maybe-create-dirs' right before bind `into-dir' (Bug#30624).
65774         * test/lisp/dired-aux-tests.el (dired-test-bug30624): Add test.
65776 2018-04-04  Paul Eggert  <eggert@cs.ucla.edu>
65778         Move password-word-equivalents defn to mule-conf
65780         * lisp/international/mule-conf.el (password-word-equivalents):
65781         Move here ...
65782         * lisp/simple.el (password-word-equivalents): ... from here.
65783         This variable belongs in an i18n file somewhere, not in simple.el,
65784         since it’s i18n-related.  Also, having it in simple.el tickles
65785         Emacs performance bugs on some platforms when developers visit
65786         simple.el.  Problem reported by Drew Adams in, for example:
65787         https://lists.gnu.org/r/emacs-devel/2018-04/msg00124.html
65789 2018-04-04  Juri Linkov  <juri@linkov.net>
65791         * lisp/isearch.el (isearch-pre-command-hook): Default to shift-translated
65793         move commands that can be enabled by the `isearch-move' property `enabled',
65794         and disabled by `disabled'.
65795         (search-exit-option): Doc fix.
65796         (isearch-post-command-hook): Check for isearch-forward.
65797         https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00438.html
65799 2018-04-04  Juri Linkov  <juri@linkov.net>
65801         * lisp/shell.el (shell-mode): Check if buffer has a live process.
65803         (Bug#31028)
65805 2018-04-04  Damien Cassou  <damien@cassou.me>
65807         Detect if a message can be encrypted and add an MML tag
65809         * lisp/gnus/message.el (message-all-recipients): Return a list of
65810         pairs, one for each recipient in To, Cc, Bcc.
65811         (message-all-epg-keys-available-p): Check that there is a public key
65812         in epg for each recipient of the current message.
65813         (message-sign-encrypt-if-all-keys-available): Add MML tag to sign and
65814         encrypt current message if there is a public key for every recipient
65815         in current message.
65817         * test/lisp/gnus/message-tests.el (message-all-recipients): Test for
65818         message-all-recipients.
65820 2018-04-04  Ted Zlatanov  <tzz@lifelogs.com>
65822         * lisp/auth-source.el (auth-sources): Allow sexp customization type
65824 2018-04-04  Paul Eggert  <eggert@cs.ucla.edu>
65826         Improve GC+Cairo workaround
65828         Suggested by Eli Zaretskii (Bug#20890#31).
65829         * src/font.h (font_data_structures_may_be_ill_formed): New function.
65830         * src/ftfont.c (ftfont_close):
65831         * src/ftcrfont.c (ftcrfont_close): Use it.
65833 2018-04-04  Glenn Morris  <rgm@gnu.org>
65835         Merge from origin/emacs-26
65837         3109d2b (origin/emacs-26) ; * lisp/ldefs-boot.el: Update.
65838         86825c4 * etc/NEWS: Remove temporary markup.
65839         737d0a2 * Update etc/AUTHORS
65840         fbd03ba * ChangeLog.3: Update
65841         56794ac Fix Bug#31022
65842         a231c33 Update "Calendrical Calculations" cites
65843         1527235 ; * doc/lispref/compile.texi (Compilation Functions): Fix wor...
65844         b07decd ; * doc/lispref/compile.texi (Compilation Functions): Fix typo
65845         a64c11a Fix term.el rendering following a window resize (Bug#30544)
65846         1e6f09a * files.el (auto-save-visited-mode): Don't prompt for filenames.
65847         eb8b13f ; * etc/NEWS: Improve the entry about pinentry.el removal.
65848         52501ec Quote a few backticks in docstrings.
65850         Conflicts:
65851                 etc/NEWS
65852                 lisp/ldefs-boot.el
65854 2018-04-03  Martin Rudalics  <rudalics@gmx.at>
65856         * etc/NEWS: Mention that output of 'help-for-help' is searchable now
65858 2018-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
65860         * lisp/vc/emerge.el: Use lexical-binding
65862         Replace all `(lambda ...) with closures.  Use inhibit-read-only.
65863         (emerge-mode): Use define-minor-mode.
65864         (emerge-setup, emerge-setup-with-ancestor):
65865         Don't use 'run-hooks' on local var.
65866         (emerge-files, emerge-files-with-ancestor):
65867         Don't use 'add-hook' on local var.
65868         (emerge-convert-diffs-to-markers): Remove unused var 'B-point-min'.
65869         Simplify 'offset'.
65870         (emerge--current-beg, emerge--current-end): New macros.
65871         (emerge-select-version): Pass 'diff-vector' to the function it calls.
65872         Change all callers to use it instead of dyn-bound vars.
65874 2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>
65876         Pacify GCC when --enable-profiling
65878         * src/conf_post.h (PROFILING): Undef if not on a platform that
65879         supports it.  Simplify uses accordingly.
65880         * src/emacs.c (etext) [PROFILING]:
65881         Declare at top level to avoid GCC warning.
65883 2018-04-03  Alan Mackenzie  <acm@muc.de>
65885         Put combine-change-calls around comment-region and uncomment-region
65887         * lisp/newcomment.el (comment-combine-change-calls): New buffer local
65888         variable.
65889         (uncomment-region-default-1, comment-region-default-1): Functions renamed from
65890         uncomment-region-default and comment-region-default.
65891         (uncomment-region-default, comment-region-default): New functions, which call
65892         the above either enclosed in combine-change-calls or not.
65894 2018-04-03  Alan Mackenzie  <acm@muc.de>
65896         Introduce new macro combine-change-calls
65898         This macro is a bit like combine-after-change-calls, but also works with a
65899         non-null before-change-functions.  It suppresses the operation of the change
65900         hooks on a possibly large sequence of buffer modifications, replacing them
65901         with a single invocation of before-change-functions at the start, and a single
65902         invocation of after-change-functions at the end.
65904         * lisp/subr.el (undo--combining-change-calls): New variable.
65905         (combine-change-calls-1, undo--wrap-and-run-primitive-undo): New functions.
65906         (combine-change-calls): New macro.
65908         * doc/lispref/text.texi (Change Hooks): Document combine-change-calls.
65910         * etc/NEWS: Add an entry under "Lisp Changes" for combine-change-calls.
65912 2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>
65914         Work around GC+Cairo bug
65916         Workaround suggested by Robert Pluim (Bug#20890#13).
65917         * src/ftfont.c (ftfont_close) [USE_CAIRO]:
65918         Do nothing if GC is in progress.
65920 2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>
65922         Port FC_COLOR change to older fontconfig
65924         Problem reported by John ff in:
65925         https://lists.gnu.org/r/emacs-devel/2018-04/msg00058.html
65926         * src/ftfont.c (ftfont_spec_pattern) [!FC_COLOR]:
65927         Don’t use FC_COLOR on older fontconfigs that don’t have it.
65929 2018-04-03  Robert Pluim  <rpluim@gmail.com>
65931         Ignore color fonts when using Xft
65933         * src/font.c (syms_of_font): New configuration variable
65934         xft-ignore-color-fonts, default t.
65935         * src/ftfont.c (ftfont_spec_pattern): Tell fontconfig to ignore
65936         color fonts if xft-ignore-color-fonts is t.  (Bug#30874, Bug#30045)
65937         * etc/NEWS: Document xft-ignore-color-fonts.
65939 2018-04-03  Eli Zaretskii  <eliz@gnu.org>
65941         Document custom-variable-history
65943         * etc/NEWS:
65944         * doc/lispref/minibuf.texi (Minibuffer History): Document
65945         'custom-variable-history'.
65947 2018-04-02  Alan Mackenzie  <acm@muc.de>
65949         * lisp/progmodes/cc-defs.el:
65950         * lisp/progmodes/cc-engine.el:
65951         * lisp/progmodes/cc-langs.el:
65952         * lisp/progmodes/cc-vars.el: Comment the use of "a\\`"
65954 2018-04-02  Paul Eggert  <eggert@cs.ucla.edu>
65956         Clarify eq on floats
65958         * doc/lispref/objects.texi (Equality Predicates):
65959         Say that two floats with the same values might or might not be eq.
65961 2018-04-02  Gemini Lasswell  <gazally@runbox.com>
65963         Fix Testcover bug in handling of vectors containing dotted lists
65965         * lisp/emacs-lisp/testcover.el (testcover-analyze-coverage-compose):
65966         Handle dotted lists. Fix bug#30909.
65967         * test/lisp/emacs-lisp/testcover-resources/testcases.el:
65968         (dotted-list-in-vector-bug-30909): New test case.
65969         (quotes-within-backquotes-bug-25316, dotted-backquote)
65970         (quoted-backquote, backquoted-vector-bug-25316)
65971         (vector-in-macro-spec-bug, backquoted-dotted-alist): Change
65972         docstrings to mention analyzing code instead of reinstrumenting
65973         it.
65975 2018-04-02  Charles A. Roelli  <charles@aurox.ch>
65977         Add a history variable for `read-variable'
65979         * src/minibuf.c (Fread_variable): Use the history variable when
65980         calling Fcompleting_read.
65981         (syms_of_minibuf): New history variable, custom-variable-history.
65983 2018-04-02  Alan Mackenzie  <acm@muc.de>
65985         Optimize c-syntactic-skip-backward, c-determine-limit for large comment blocks
65987         * lisp/progmodes/cc-engine.el (c-ssb-lit-begin): Remove.
65988         (c-syntactic-skip-backward): Remove the surrounding c-self-bind-state-cache.
65989         Use the standard function c-literal-start in place of the special purpose
65990         c-ssb-lit-begin.  With a suitable skip-chars argument (the usual case),
65991         optimize by invoking c-backward-syntactic-ws to move back over comment blocks.
65992         (c-determine-limit-get-base): Inovke an early c-backward-syntactic-ws.
65993         (c-determine-limit): Use c-forward-comment whilst moving forward.  Cope with
65994         an empty position stack whilst looking for non-literals (bug fix).  In the
65995         recursive call, double try-size to prevent Lisp stack overflow.
65997 2018-04-02  Simona Arizanova  <simonikane@hotmail.fr>  (tiny change)
65999         Make help-for-help window searchable (Bug#19655)
66001         * lisp/help.el (help-map): Map C-s to new function
66002         search-forward-help-for-help.
66003         (help-for-help-internal): In doc-string add entry for C-s.
66004         (search-forward-help-for-help): New function.
66006 2018-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
66008         * lisp/emacs-lisp/debug.el (debug): Don't hang upon error in initial-frame.
66010 2018-04-01  Paul Eggert  <eggert@cs.ucla.edu>
66012         Further improve advice in make-tarball.txt
66014         See comments by Glenn Morris in:
66015         https://lists.gnu.org/r/emacs-devel/2018-03/msg00968.html
66016         * admin/make-tarball.txt: Bring back refcard advice.
66018 2018-04-01  Paul Eggert  <eggert@cs.ucla.edu>
66020         Port make-dist to tar 1.27 and earlier
66022         Problem reported by Glenn Morris in:
66023         https://lists.gnu.org/r/emacs-devel/2018-03/msg00984.html
66024         * make-dist: Use --sort=name only if Tar supports it.
66026 2018-04-01  Glenn Morris  <rgm@gnu.org>
66028         * lisp/nxml/nxml-mode.el (nxml-sexp-element-flag): Set :version.
66030 2018-04-01  Glenn Morris  <rgm@gnu.org>
66032         Merge from origin/emacs-26
66034         af1624f * lisp/net/shr.el (shr-browse-url): Doc fix.  (Bug#30957)
66035         3a451bd ; * doc/emacs/msdos.texi: Fix wording of last change.
66036         3bc1e2f Mention `key-description' as inverse of `kbd' (Bug#30942)
66037         e50196e Document return value of pcase (Bug#30425)
66038         8a2466f * doc/emacs/macos.texi: Tweak grammar and capitalization.
66039         9db62bf Distinguish free from non-free OSes
66040         ff49d86 * doc/emacs/misc.texi (Amusements): Avoid non-printing charac...
66041         5bab671 Fix xrefs in pdf Emacs manual
66043 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
66045         Followup to last change
66047         * etc/NEWS: Mark nxml-sexp-element-flag entry as not needing
66048         documentation updates.
66050         * lisp/nxml/nxml-mode.el (nxml-mode, nxml-forward-balanced-item):
66051         Doc fixes.
66053 2018-04-01  Jostein Kjønigsen  <jostein@kjonigsen.net>
66055         Change the default value of nxml-sexp-element-flag.
66057         * lisp/nxml/nxml-mode.el (nxml-sexp-element-flag): Default value
66058         is now t.
66060 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
66062         Minor copyedits of completion-at-point-functions documentation
66064         * lisp/minibuffer.el (completion-at-point-functions):
66065         * doc/lispref/minibuf.texi (Completion in Buffers): Fix wording
66066         and filling.
66068 2018-03-31  Eli Zaretskii  <eliz@gnu.org>
66070         Support more separators in rmail-retry-failure
66072         * lisp/mail/rmail.el (mail-unsent-separator): Add a form of
66073         separator that confused rmail-retry-failure due to additional
66074         lines that start with a series of dashes.  (Bug#30965)
66076 2018-03-30  Paul Eggert  <eggert@cs.ucla.edu>
66078         Improve doc for web pages; reproducible tarballs
66080         * admin/make-tarball.txt: Make the tarballs more reproducible.
66081         Fix instructions for web pages as best I can (they are still
66082         incomplete).
66083         * make-dist (default_gzip): Add --no-name for gzip.
66084         (taropt): Add options to make the build more reproducible.
66086 2018-03-30  Paul Eggert  <eggert@cs.ucla.edu>
66088         Do not assume --with-file-notification
66090         * src/fileio.c (report_file_notify_error) [!USE_FILE_NOTIFY]: Omit.
66092 2018-03-30  Paul Eggert  <eggert@cs.ucla.edu>
66094         Centralize Bug#30931 fix
66096         * src/marker.c (detach_marker): New function.
66097         * src/editfns.c (save_restriction_restore):
66098         * src/insdel.c (signal_before_change): Use it.
66100 2018-03-30  Noam Postavsky  <npostavs@gmail.com>
66102         Fix another case of freed markers in the undo-list (Bug#30931)
66104         * src/alloc.c (free_marker): Remove.
66105         * src/editfns.c (save_restriction_restore):
66106         * src/insdel.c (signal_before_change): Detach the markers from the
66107         buffer when we're done with them instead of calling free_marker on
66108         them.
66109         * test/src/editfns-tests.el (delete-region-undo-markers-1)
66110         (delete-region-undo-markers-2): New tests.
66112 2018-03-30  Eli Zaretskii  <eliz@gnu.org>
66114         Add Capital sharp s to 2 more Latin input methods
66116         * lisp/leim/quail/latin-pre.el ("latin-prefix"):
66117         * lisp/leim/quail/latin-post.el ("latin-postfix"): Support Capital
66118         sharp s.  (Bug#30988)
66120 2018-03-30  Eli Zaretskii  <eliz@gnu.org>
66122         Fix C-p and C-n when wrap-prefix is too wide
66124         * src/xdisp.c (move_it_in_display_line_to): Avoid looping in
66125         previous/next-line when wrap-prefix is set to a too-wide
66126         stretch of whitespace.  (Bug#30432)
66128 2018-03-30  Alan Third  <alan@idiocy.org>
66130         Simplify represented filename handling (bug#30800)
66132         * src/nsfns.m (ns_set_represented_filename): Move function from
66133         nsterm.m and set represented filename directly.
66134         * src/nsterm.h (ns_set_represented_filename): Remove definition.
66135         * src/nsterm.m (ns_set_represented_filename): Move function to
66136         nsfns.m.
66137         (x_free_frame_resources): Remove references to represented_frame.
66138         (sendEvent): Don't set represented filename.
66140 2018-03-30  Michael Albinus  <michael.albinus@gmx.de>
66142         Improve Tramp test performance
66144         * lisp/net/tramp.el (tramp-backtrace): Improve performance.
66146         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):
66147         Skip for older Emacsen.
66148         (tramp-test39-utf8): Remove instrumentation.
66150 2018-03-29  Paul Eggert  <eggert@cs.ucla.edu>
66152         Fix CHECK_ALLOCATED_AND_LIVE abort during GC
66154         * src/editfns.c (save_restriction_restore):
66155         Wait for the GC to free the temporary markers (Bug#30931).
66157 2018-03-29  Paul Eggert  <eggert@cs.ucla.edu>
66159         Prefer \... to control chars in .el literals
66161 2018-03-29  Noam Postavsky  <npostavs@gmail.com>
66163         * src/xterm.c (x_make_frame_visible): Fix typo in previous change.
66165 2018-03-29  Noam Postavsky  <npostavs@gmail.com>
66167         Don't wait for visible frames to become visible
66169         For discussion, see thread starting at
66170         https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00807.html.
66171         * src/xterm.c (x_make_frame_visible): Check FRAME_VISIBLE_P before
66172         calling x_wait_for_event.
66174 2018-03-29  Paul Eggert  <eggert@cs.ucla.edu>
66176         New experimental variable read-integer-overflow-as-float.
66178         Following a suggestion by Eli Zaretskii (Bug#30408#46).
66179         * etc/NEWS: Mention it.
66180         * src/lread.c (syms_of_lread): Add it.
66181         (read1): Treat out-of-range integers as floats if
66182         read-integer-overflow-as-float is non-nil.
66184 2018-03-29  Paul Eggert  <eggert@cs.ucla.edu>
66186         Lisp reader now checks for integer overflow
66188         * doc/lispref/numbers.texi (Integer Basics), etc/NEWS:
66189         Document this.
66190         * src/lisp.h (S2N_IGNORE_TRAILING, S2N_OVERFLOW_TO_FLOAT):
66191         New constants.
66192         * src/lread.c (string_to_number): Change trailing bool arg to
66193         integer argument with flags, to support S2N_OVERFLOW_TO_FLOAT.
66194         All uses changed.
66195         * test/src/editfns-tests.el (read-large-integer): New test.
66197 2018-03-29  Eli Zaretskii  <eliz@gnu.org>
66199         Support Capital sharp S in German input methods
66201         * lisp/leim/quail/latin-post.el ("german-postfix"):
66202         * lisp/leim/quail/latin-pre.el ("german-prefix"): Add Capital
66203         sharp S.  (Bug#30988)
66205         * etc/NEWS: Mention the support of Capital sharp S.
66207 2018-03-29  Michael Albinus  <michael.albinus@gmx.de>
66209         Fix Bug#30946
66211         * doc/misc/tramp.texi (Multi-hops): Mention host name checks.
66213         * lisp/net/tramp.el (tramp-set-syntax, tramp-dissect-file-name)
66214         (tramp-debug-message, tramp-handle-shell-command):
66215         * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
66216         * lisp/net/tramp-archive.el (tramp-archive-file-name-handler)
66217         (tramp-archive-dissect-file-name):
66218         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler): Adapt callees.
66220         * lisp/net/tramp-compat.el (tramp-compat-user-error): Move defsubst ---
66222         * lisp/net/tramp-sh.el (tramp-compute-multi-hops): Check for proper
66223         host names in multi-hop.  (Bug#30946)
66225         * lisp/net/tramp.el (tramp-user-error): ... here.  Make it a defun.
66227         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):
66228         New test.
66230 2018-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>
66232         * src/keyboard.c (record_char, read_key_sequence): Copy raw events
66234 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
66236         Test notify handlers only if file notification
66238         * test/lisp/files-tests.el:
66239         (files-file-name-non-special-notify-handlers):
66240         Skip if file notification is not available.
66242 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
66244         Port recent org-clock fix to POSIX time_t
66246         * lisp/org/org-clock.el (org-clock-special-range):
66247         Don't assume support for time_t values less than 0, or less than
66248         -2**31 for that matter (Bug#27736).
66250 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
66252         Update from Gnulib
66254         This incorporates:
66255         2018-03-28 time_rz: fix workaround for Mac OS X 10.6 infloop
66256         * m4/time_rz.m4: Copy from Gnulib.
66258 2018-03-28  Alan Mackenzie  <acm@muc.de>
66260         Handle C++17's constexpr keyword in if statements
66262         * lisp/progmodes/cc-engine.el (c-after-conditional): Test for matches to
66263         c-block-stmt-hangon-key.
66265         * lisp/progmodes/cc-langs.el (c-block-stmt-hangon-kwds): New lang const.
66266         (c-block-stmt-hangon-key): New lang const/var matching any element of the
66267         above.
66269 2018-03-28  Alan Mackenzie  <acm@muc.de>
66271         Replace faulty non-matching regexp "\\<\\>" with "a\\`"
66273         The regexp "\\<\\>", which is supposed never to match, actually matches, for
66274         instance, where a Chinese character is directly followed by an ASCII letter.
66275         So, replace it with "a\\`".
66277         * lisp/progmodes/cc-defs.el (cc-fix, c-make-keywords-re)
66278         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1)
66279         (c-forward-<>-arglist-recur, c-forward-decl-or-cast-1)
66280         (c-looking-at-decl-block)
66281         * lisp/progmodes/cc-langs.el (c-assignment-op-regexp)
66282         (c-block-comment-ender-regexp, c-block-comment-start-regexp)
66283         (c-line-comment-start-regexp, c-doc-comment-start-regexp)
66284         (c-decl-start-colon-kwd-re, c-type-decl-prefix-key)
66285         (c-type-decl-operator-prefix-key, c-pre-id-bracelist-key)
66286         (c-enum-clause-introduction-re, c-nonlabel-token-2-key)
66287         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
66288         (c-make-noise-macro-regexps):
66289         Replace "\\<\\>" by "a\\`".
66291 2018-03-28  Michael Albinus  <michael.albinus@gmx.de>
66293         Remove unstable tags in Tramp
66295         * test/lisp/net/tramp-tests.el (tramp-test39-utf8)
66296         (tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
66297         (tramp-test39-utf8-with-ls): Remove :unstable tag.
66299 2018-03-28  Glenn Morris  <rgm@gnu.org>
66301         Merge from origin/emacs-26
66303         9bff405 (origin/emacs-26) * doc/misc/org.texi (Installation): Fix clo...
66304         613c9a5 Update Org to v9.1.9
66305         1b075a9 ; Fix some tiny doc typos
66306         441fe20 De-obsolete `if-let' and `when-let'
66307         8696038 * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.
66308         930f7b1 * doc/lispref/functions.texi (Defining Functions): Improve in...
66309         95ccf50 Fix crash after frame is freed on macOS (bug#30800)
66310         45d0475 More manual editing
66311         2acb9f0 Minor manual changes changes
66312         d481cba * lisp/calculator.el (calculator-paste-decimals): Add version.
66313         7d6c7d0 ; Use GNU not Gnu in docs
66314         1bc4def More proofreading of the Emacs manual
66316         Conflicts:
66317                 doc/misc/org.texi
66318                 etc/NEWS
66319                 lisp/org/org-clock.el
66321 2018-03-28  Michael Albinus  <michael.albinus@gmx.de>
66323         Improve tramp--test-utf8
66325         * test/lisp/net/tramp-tests.el (tramp--test-check-files):
66326         Encode string when testing environment variables.
66327         (tramp--test-utf8): Remove "TaiViet" test.
66329 2018-03-28  Phillip Lord  <phillip.lord@russet.org.uk>
66331         Reduce parallelism to Windows build
66333         * admin/nt/dist-build/build-zips.sh: Reduce make parallelism to 2.
66335 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
66337         Avoid using unportable integer in org-clock
66339         * lisp/org/org-clock.el (org-clock--oldest-date): Avoid use of an
66340         integer outside portable Emacs range.  Go back to using a simple
66341         check, since decode-time should no longer infloop.
66343 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
66345         Update from Gnulib
66347         This incorporates:
66348         2018-03-26 time_rz: work around Mac OS X 10.6 infloop
66349         2018-03-20 euidaccess: Port to native Windows.
66350         * lib/euidaccess.c, lib/time_rz.c, m4/time_rz.m4: Copy from Gnulib.
66352 2018-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
66354         (benchmark-run-compiled): Make it work like 'benchmark-run' again
66356         * lisp/emacs-lisp/benchmark.el (benchmark-run): Add special case for
66357         nil repetitions.
66359 2018-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
66361         (completion-at-point-functions): Improve doc
66363 2018-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
66365         (read_key_sewuence): Use POSN in second event when needed (bug#30955)
66367         * src/keyboard.c (active_maps): Add arg 'second_event'.
66368         (read_key_sequence): Pass it.
66370         * lisp/mouse.el (mouse--click-1-maybe-follows-link): Modify event in place.
66372 2018-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
66374         * lisp/mouse.el: Remove redundant ':group's.
66376 2018-03-26  Glenn Morris  <rgm@gnu.org>
66378         * test/lisp/emacs-lisp/bytecomp-tests.el
66379         (bytecomp-test-featurep-warnings): New.
66381 2018-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
66383         * lisp/emacs-lisp/benchmark.el (benchmark-run): Allow variable.
66385         (benchmark-run): Allow `repetitions` to be a variable rather than a constant.
66387 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
66389         Fix constant folding of overflows
66391         This suppresses some byte-code optimizations that were invalid in
66392         the presence of integer overflows, because they meant that .elc
66393         files assumed the runtime behavior of the compiling platform, as
66394         opposed to the runtime platform.  Problem reported by Pip Cet in:
66395         https://lists.gnu.org/r/emacs-devel/2018-03/msg00753.html
66396         * lisp/emacs-lisp/byte-opt.el (byte-opt--portable-max)
66397         (byte-opt--portable-min): New constants.
66398         (byte-opt--portable-numberp, byte-opt--arith-reduce)
66399         (byte-optimize-1+, byte-optimize-1-): New functions.
66400         (byte-optimize-plus, byte-optimize-minus, byte-optimize-multiply)
66401         (byte-optimize-divide): Avoid invalid optimizations.
66402         (1+, 1-): Use new optimizers.
66403         (byte-optimize-or, byte-optimize-cond): Simplify by using
66404         remq instead of delq and copy-sequence.
66406 2018-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
66408         Trivial fixes for last changes to package.el and marker.c
66410         * lisp/emacs-lisp/package.el (package-quickstart): Add missing version.
66411         * src/marker.c (verify_bytepos): Fix typo.
66413 2018-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
66415         * lisp/emacs-lisp/package.el: New quickstart feature
66417         (package--quickstart-pkgs): New var.
66418         (package-activate-1): Obey and fill it.
66419         (package-activate-all): New function.
66420         (package-initialize): Call it.
66421         Set package-initialized before activating the packages.
66422         (package-installed-p): Make it work before package.el is initialized in
66423         the case where min-version is not specified.
66424         (package-install, package-delete): Refresh the quickstart if applicable.
66425         (package-quickstart, package-quickstart-file): New vars.
66426         (package--quickstart-maybe-refresh, package-quickstart-refresh):
66427         New functions.
66429         * lisp/startup.el (command-line): Use package-activate-all rather than
66430         package-initialize.
66432         * doc/lispref/package.texi (Packaging Basics):
66433         * doc/emacs/package.texi (Package Installation):
66434         * doc/lispref/os.texi (Startup Summary): Refer to package-activate-all.
66436 2018-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
66438         * src/marker.c: Try and speed up byte<->char conversion with many markers.
66440         When considering markers (to find a starting point for the conversion),
66441         typically one of the two bounds is nearby (coming from
66442         cached_(byte|char)pos) but the other is far (point-min or point-max),
66443         so change the exit condition so we stop as soon as *one* of the bounds
66444         is near.
66446         (BYTECHAR_DISTANCE_INITIAL, BYTECHAR_DISTANCE_INCREMENT): New constants.
66447         (buf_charpos_to_bytepos, buf_bytepos_to_charpos): Use them to try and
66448         reduce the number of markers we consider.
66450 2018-03-26  Michael Albinus  <michael.albinus@gmx.de>
66452         Fix problem with trailing slash in Tramp
66454         * lisp/net/tramp.el (tramp-handle-file-truename):
66455         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
66456         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
66457         Fix problem with trailing slash.
66459         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
66460         Test also quoted directories.
66462 2018-03-26  Phillip Lord  <phillip.lord@russet.org.uk>
66464         Remove architecture dependent source downloads
66466         * admin/nt/dist-build/build-dep-zips.py:
66468 2018-03-25  Eric Skoglund  <eric@pagefault.se>
66470         Make eshell/kill handle -<signal> and -<SIGNALNAME> (Bug#29156)
66472         * lisp/eshell/esh-proc.el (eshell/kill): Handle the argument parsing
66473         and numeric conversion in function in order to parse -signal and
66474         -SIGNALNAME correctly.
66475         * doc/misc/eshell.texi (kill): Update docs to reflect new function
66476         behaviour.
66477         * etc/NEWS: Mention new eshell/kill behaviour.
66479 2018-03-25  Noam Postavsky  <npostavs@gmail.com>
66481         Allow `&rest' or `&optional' without following variable (Bug#29165)
66483         This is sometimes convenient when writing macros, so that the empty
66484         variable case doesn't need to be handled specially.  Older versions of
66485         Emacs accepted this in some cases (especially the interpreter in Emacs
66486         25 and below was very accepting).
66488                                     |   interpreted/compiled   |
66489         | arglist                   | 25 & earlier | 26  | 27  |
66490         |---------------------------+--------------+-----+-----|
66491         | (&rest)                   | y/n          | n/n | y/y |
66492         | (&rest &rest)             | y/n          | n/n | n/n |
66493         | (&rest &rest x)           | y/n          | n/n | n/n |
66494         | (&rest x &rest)           | y/n          | n/n | n/n |
66495         | (&rest x &rest y)         | y/n          | n/n | n/n |
66496         |---------------------------+--------------+-----+-----|
66497         | (&optional)               | y/n          | n/n | y/y |
66498         | (&optional &optional)     | y/n          | n/n | n/n |
66499         | (&optional x &optional)   | y/n          | n/n | n/n |
66500         | (&optional x &optional y) | y/y          | n/n | n/n |
66501         |---------------------------+--------------+-----+-----|
66502         | (&optional &rest)         | y/n          | n/n | y/y |
66503         | (&optional x &rest)       | y/n          | n/n | y/y |
66504         | (&optional &rest y)       | y/y          | n/n | y/y |
66505         |---------------------------+--------------+-----+-----|
66506         | (&rest &optional)         | y/n          | n/n | n/n |
66507         | (&rest &optional y)       | y/n          | n/n | n/n |
66508         | (&rest x &optional y)     | y/n          | n/n | n/n |
66510         The values in the table above can be produced with the following code:
66512         (with-current-buffer (get-buffer-create "*ck-args*")
66513           (erase-buffer)
66514           (dolist (arglist '((&rest)
66515                              (&rest &rest)
66516                              (&rest &rest x)
66517                              (&rest x &rest)
66518                              (&rest x &rest y)
66519                              (&optional)
66520                              (&optional &optional)
66521                              (&optional x &optional)
66522                              (&optional x &optional y)
66523                              (&optional &rest)
66524                              (&optional x &rest)
66525                              (&optional &rest y)
66526                              (&rest &optional)
66527                              (&rest &optional y)
66528                              (&rest x &optional y)))
66529             (insert
66530              (format "%c/%c\n"
66531                      (condition-case err
66532                          (progn (funcall `(lambda ,arglist 'ok))
66533                                 ?y)
66534                        (error ?n))
66535                      (condition-case err
66536                          (progn (byte-compile-check-lambda-list arglist)
66537                                 ?y)
66538                        (error ?n))))
66539             (display-buffer (current-buffer))))
66541         * src/eval.c (funcall_lambda):
66542         * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Don't
66543         check for missing variables after `&rest' and `&optional'.
66544         * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913)
66545         (eval-tests-accept-empty-optional-rest): Update tests accordingly.
66546         * etc/NEWS: Update announcement accordingly.
66547         * doc/lispref/functions.texi (Argument List): Update manual to
66548         indicate that variable names are optional.
66550 2018-03-24  Vibhav Pant  <vibhavp@gmail.com>
66552         Fix byte-optimize-memq incorrectly optimizing some memq forms.
66554         * lisp/emacs-lisp/byte-opt.el (byte-optimize-memq): Call
66555           byte-optimize-and only for memq forms that can be optimized, use
66556           byte-optimize-predicate to optimize the final form.
66558 2018-03-24  Vibhav Pant  <vibhavp@gmail.com>
66560         Optimize certain memq forms during byte-compilation.
66562         * lisp/emacs-lisp/byte-opt.el (byte-optimize-memq): New function.
66563           Set the byte optimizer function for memq to byte-optimize-memq.
66565 2018-03-24  Phillip Lord  <phillip.lord@russet.org.uk>
66567         Reduce build load
66569         * admin/nt/dist-build/build-zips.sh: Reduce parallelism to 8
66571 2018-03-23  Glenn Morris  <rgm@gnu.org>
66573         * lisp/emulation/viper.el (viper-set-hooks): Replace obsolete func.
66575         * lisp/vc/vc.el (vc-initial-comment): Remove var unused since 23.2.
66577 2018-03-23  Glenn Morris  <rgm@gnu.org>
66579         Remove some unused gnus-registry variables
66581         * lisp/gnus/gnus-registry.el (gnus-registry-clean-empty)
66582         (gnus-registry-use-long-group-names)
66583         (gnus-registry-max-track-groups, gnus-registry-entry-caching)
66584         (gnus-registry-trim-articles-without-groups):
66585         Remove variables labeled as obsolete since 23.4 that do nothing.
66587 2018-03-23  Glenn Morris  <rgm@gnu.org>
66589         Remove variables labeled as obsolete that do nothing
66591         * lisp/allout.el (allout-passphrase-verifier-string)
66592         (allout-passphrase-hint-string):
66593         * lisp/w32-vars.el (w32-list-proportional-fonts):
66594         Remove variables that are unused since Emacs 23.x.
66596 2018-03-23  Phillip Lord  <phillip.lord@russet.org.uk>
66598         Limit build load
66600         * admin/nt/dist-build/build-zips.sh: Limit build load.
66602 2018-03-23  Phillip Lord  <phillip.lord@russet.org.uk>
66604         Ensure configure is running if necessary
66606         * admin/nt/dist-build/build-zips.sh: Check for missing Makefile.
66608 2018-03-23  Glenn Morris  <rgm@gnu.org>
66610         * lisp/progmodes/cc-langs.el: Silence compiler.
66612 2018-03-23  Glenn Morris  <rgm@gnu.org>
66614         Quieten lisp/obsolete compilation
66616         * lisp/obsolete/vi.el (vi-mark-region):
66617         * lisp/obsolete/vip.el (vip-delete-backward-char): Silence compiler.
66619 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
66621         Clarify syntax of radixed integers
66623         * doc/lispref/numbers.texi (Integer Basics): Specify what digits
66624         are allowed in radixed integers, and that there is no initial sign
66625         or final period.
66627 2018-03-23  Glenn Morris  <rgm@gnu.org>
66629         Remove some declare-function stub definitions
66631         * lisp/emulation/viper-cmd.el, lisp/emulation/viper-keym.el:
66632         * lisp/emulation/viper-util.el, lisp/net/newst-plainview.el:
66633         * lisp/net/newst-treeview.el, lisp/ps-def.el, lisp/vc/ediff.el:
66634         * lisp/vc/ediff-util.el, lisp/vc/ediff-wind.el:
66635         Remove stub declare-function definitions.
66636         It exists since Emacs 22.2, released 10 years ago.
66637         Most of these files are using even newer features, such as
66638         lexical-binding and cl-lib anyway, making the stubs pointless.
66640 2018-03-23  Glenn Morris  <rgm@gnu.org>
66642         Replace some uses of cl with cl-lib
66644         * lisp/progmodes/idlw-toolbar.el: No need for cl.
66645         * lisp/progmodes/antlr-mode.el, lisp/progmodes/idlw-shell.el:
66646         * lisp/progmodes/idlwave.el: Replace cl with cl-lib.
66648 2018-03-23  Glenn Morris  <rgm@gnu.org>
66650         Replace cl in some obsolete files
66652         * lisp/obsolete/assoc.el, lisp/obsolete/fast-lock.el:
66653         * lisp/obsolete/mouse-sel.el: No need for cl.
66654         * lisp/obsolete/lazy-lock.el, lisp/obsolete/pgg-gpg.el:
66655         * lisp/obsolete/pgg-parse.el, lisp/obsolete/pgg-pgp.el:
66656         * lisp/obsolete/pgg-pgp5.el, lisp/obsolete/pgg.el:
66657         * lisp/obsolete/sregex.el: Replace cl with cl-lib.
66659 2018-03-23  Glenn Morris  <rgm@gnu.org>
66661         cedet: replace cl with cl-lib
66663         * lisp/cedet/ede/linux.el, lisp/cedet/semantic/decorate/mode.el:
66664         * lisp/cedet/semantic/wisent/comp.el: Replace cl with cl-lib.
66665         * lisp/cedet/cedet.el, lisp/cedet/mode-local.el:
66666         * lisp/cedet/ede/dired.el, lisp/cedet/ede/pmake.el:
66667         * lisp/cedet/ede/proj-comp.el, lisp/cedet/ede/proj-misc.el:
66668         * lisp/cedet/ede/proj-obj.el, lisp/cedet/ede/proj-prog.el:
66669         * lisp/cedet/ede/speedbar.el, lisp/cedet/semantic/analyze.el:
66670         * lisp/cedet/semantic/complete.el:
66671         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/debug.el:
66672         * lisp/cedet/semantic/wisent/python.el:
66673         * lisp/cedet/srecode/compile.el, lisp/cedet/srecode/dictionary.el:
66674         * lisp/cedet/srecode/srt.el: No need for cl.
66676 2018-03-23  Glenn Morris  <rgm@gnu.org>
66678         gnus: replace cl with cl-lib
66680         * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
66681         * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
66682         * lisp/gnus/gnus-demon.el, lisp/gnus/gnus-group.el:
66683         * lisp/gnus/gnus-icalendar.el, lisp/gnus/gnus-logic.el:
66684         * lisp/gnus/gnus-msg.el, lisp/gnus/gnus-picon.el:
66685         * lisp/gnus/gnus-registry.el, lisp/gnus/gnus-salt.el:
66686         * lisp/gnus/gnus-score.el, lisp/gnus/gnus-spec.el:
66687         * lisp/gnus/gnus-srvr.el, lisp/gnus/gnus-start.el:
66688         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
66689         * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
66690         * lisp/gnus/mail-source.el, lisp/gnus/mm-decode.el:
66691         * lisp/gnus/mm-encode.el, lisp/gnus/mm-url.el, lisp/gnus/mm-view.el:
66692         * lisp/gnus/mml-smime.el, lisp/gnus/mml.el, lisp/gnus/mml2015.el:
66693         * lisp/gnus/nnbabyl.el, lisp/gnus/nndoc.el, lisp/gnus/nneething.el:
66694         * lisp/gnus/nnheader.el, lisp/gnus/nnimap.el, lisp/gnus/nnmail.el:
66695         * lisp/gnus/nnmaildir.el, lisp/gnus/nnoo.el, lisp/gnus/nnrss.el:
66696         * lisp/gnus/nnspool.el, lisp/gnus/nntp.el, lisp/gnus/nnvirtual.el:
66697         * lisp/gnus/nnweb.el, lisp/gnus/spam.el: Replace cl with cl-lib.
66698         * lisp/gnus/canlock.el, lisp/gnus/gnus-bcklg.el:
66699         * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-cloud.el:
66700         * lisp/gnus/gnus-draft.el, lisp/gnus/gnus-dup.el:
66701         * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-html.el:
66702         * lisp/gnus/gnus-int.el, lisp/gnus/gnus-kill.el, lisp/gnus/gnus-ml.el:
66703         * lisp/gnus/gnus-mlspl.el, lisp/gnus/gnus-range.el:
66704         * lisp/gnus/gnus-undo.el, lisp/gnus/gnus-vm.el:
66705         * lisp/gnus/mm-partial.el, lisp/gnus/mm-uu.el, lisp/gnus/mml1991.el:
66706         * lisp/gnus/nnagent.el, lisp/gnus/nndiary.el, lisp/gnus/nndir.el:
66707         * lisp/gnus/nndraft.el, lisp/gnus/nnfolder.el, lisp/gnus/nngateway.el:
66708         * lisp/gnus/nnmairix.el, lisp/gnus/nnmbox.el, lisp/gnus/nnmh.el:
66709         * lisp/gnus/nnml.el, lisp/gnus/score-mode.el, lisp/gnus/smiley.el:
66710         No need for cl.
66712 2018-03-23  Glenn Morris  <rgm@gnu.org>
66714         * lisp/gnus/gnus-vm.el (vm-mode, vm-save-message):
66715         Declare rather than autoload.
66717 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
66719         * src/process.c (Fsignal_process): Simplify.
66721 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
66723         Fix too-large integer in Hg backend
66725         * lisp/vc/vc-hg.el (vc-hg-state-fast):
66726         Don’t assume that 2**32 - 1 is representable as a fixnum.
66728 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
66730         Avoid Fortran-style floating-point optimization
66732         When optimizing arithmetic operations, avoid optimizations that
66733         are valid for mathematical numbers but invalid for floating-point.
66734         For example, do not optimize (+ 1 v 0.5) to (+ v 1.5), as they may
66735         not be the same due to rounding errors.  In general,
66736         floating-point numbers cannot be constant-folded, since that would
66737         make .elc files platform-dependent.
66738         * lisp/emacs-lisp/byte-opt.el (byte-optimize-associative-math):
66739         Do not optimize floats.
66740         (byte-optimize-nonassociative-math, byte-optimize-approx-equal)
66741         (byte-optimize-delay-constants-math, byte-compile-butlast)
66742         (byte-optimize-logmumble):
66743         Remove; no longer used.
66744         (byte-optimize-minus): Do not optimize (- 0 x) to (- x).
66745         (byte-optimize-multiply): Do not optimize (* -1 x) to (- x).
66746         (byte-optimize-divide): Do not optimize (/ x -1) to (- x).
66747         (logand, logior, logxor): Optimize with byte-optimize-predicate
66748         instead of with byte-optimize-logmumble.
66749         * test/lisp/emacs-lisp/bytecomp-tests.el:
66750         (byte-opt-testsuite-arith-data): Add a couple of test cases.
66752 2018-03-23  Michael Albinus  <michael.albinus@gmx.de>
66754         Instrument tramp-test39-utf8
66756         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test):
66757         Add the test name to the template.
66758         (tramp-test39-utf8): Instrument test.
66760 2018-03-23  Glenn Morris  <rgm@gnu.org>
66762         sql.el defcustom fixes
66764         * lisp/progmodes/sql.el (sql-login-params): Update.
66765         Avoids type mismatch with postgres and sqlite login params.
66766         (sql-postgres-login-params): Bump version.
66768 2018-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>
66770         Fix bug#30846, along with misc cleanups found along the way
66772         * test/src/data-tests.el (data-tests-kill-all-local-variables): New test.
66774         * src/buffer.c (swap_out_buffer_local_variables): Remove.
66775         Fuse the body of its loop into that of reset_buffer_local_variables.
66776         (Fkill_buffer, Fkill_all_local_variables): Don't call it any more.
66777         (reset_buffer_local_variables): Make sure the buffer's local binding
66778         is swapped out before removing it from the alist (bug#30846).
66779         Call watchers before actually killing the var.
66781         * src/data.c (Fmake_local_variable): Simplify.
66782         Use swap_in_global_binding to swap out any local binding, instead of
66783         a mix of find_symbol_value followed by messing with where&found.
66784         Don't call swap_in_symval_forwarding since the currently swapped
66785         binding is never one we've modified.
66786         (Fkill_local_variable): Use swap_in_global_binding rather than messing
66787         with where&found to try and trick find_symbol_value into doing the same.
66789         * src/alloc.c (mark_localized_symbol): 'where' can't be a frame any more.
66791 2018-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>
66793         * src/alloc.c: Avoid O(N²) complexity when unchaining markers (bug#24548).
66795         Unchain all dead markers with a single scan of the markers list,
66796         instead of calling the O(N) 'unchain_marker' N times.
66798         (unchain_dead_markers): New function.
66799         (sweep_buffers): Use it.
66800         (gc_sweep): Sweep buffers before markers.
66801         (sweep_misc): Check that markers have been unchained when reclaiming them.
66803 2018-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>
66805         Merge from origin/emacs-26
66807         b8ebf5fb64 * src/lisp.h (struct Lisp_Buffer_Local_Value): Update comm...
66808         8c92a37cb4 * doc/emacs/trouble.texi: Fix location of `emacs-version' ...
66809         10b1f2fdd5 Explain more about (defvar foo) form (Bug#18059)
66810         68c2f336b1 * doc/lispref/buffers.texi (Buffer List): Fix grammar.
66811         7e720c6851 * doc/lispref/anti.texi (Antinews): Fix grammar.
66812         a6a821d29b * lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.
66814 2018-03-23  Robert Pluim  <rpluim@gmail.com>
66816         Make update_autogen work in git worktrees
66818         * admin/update_autogen: Make it work in a git worktree
66820 2018-03-22  Glenn Morris  <rgm@gnu.org>
66822         Quieten cl-lib related compiler warnings
66824         * lisp/completion.el (cl-set-difference):
66825         * lisp/files.el (map-merge-with, map-merge):
66826         * lisp/emacs-lisp/radix-tree.el (map-apply): Declare.
66827         * lisp/emacs-lisp/thunk.el: Load cl-lib at run-time, not
66828         cl-macs at compile.
66829         * lisp/gnus/gnus-group.el: Load cl-lib at run-time, not cl at compile.
66830         * lisp/emacs-lisp/checkdoc.el, lisp/emacs-lisp/package.el
66831         * lisp/gnus/gnus-sum.el, lisp/gnus/message.el, lisp/net/shr.el:
66832         Load cl-lib at run-time.
66833         * lisp/gnus/mml-sec.el (mml-signencrypt-style)
66834         (mml-secure-cust-record-keys): Replace cl with cl-lib,
66835         and load it at run-time.
66836         * lisp/cedet/ede/linux.el, lisp/vc/vc-hg.el: Reorder requires.
66838 2018-03-22  Stefan Monnier  <monnier@iro.umontreal.ca>
66840         Try and fix the more obvious sources of bug#30635
66842         * lisp/files.el (dir-locals-read-from-dir): Handle the easy cases
66843         without loading `map`.
66845         * lisp/emacs-lisp/bytecomp.el: Don't require cl-lib at run-time.
66846         (byte-compile-and-folded): Avoid cl-every.
66848 2018-03-22  Charles A. Roelli  <charles@aurox.ch>
66850         Add new command vc-git-stash-delete
66852         * lisp/vc/vc-git.el (vc-git-stash-delete): New command, in line with
66853         vc-git-stash-delete-at-point.
66854         (vc-git-extra-menu-map): Add menu entry.
66856 2018-03-22  Paul Eggert  <eggert@cs.ucla.edu>
66858         Fix byte-opt lists of pure functions etc.
66860         This fixes a bug where a byte-compiler running on 64-bit Emacs
66861         optimized (lsh -1 -1) to #x1fffffffffffffff, an optimization
66862         that is incorrect for .elc files intended for either 32- or
66863         64-bit Emacs.  While I was in the neighborhood, I noticed other
66864         glitches in the lists of pure and side-effect-free functions, and
66865         fixed the errors that I found.
66866         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
66867         Move some functions here from side-effect-and-error-free-fns,
66868         since they can now signal errors.  The affected functions are
66869         current-time-string, current-time-zone,
66870         line-beginning-position, line-end-position.  Rename langinfo
66871         to locale-info.  Add logcount.  Remove string-to-int.
66872         (side-effect-and-error-free-fns): Remove minibuffer-window, a
66873         function that can signal errors, and that is already in
66874         side-effect-free-fns.
66875         (pure-fns): Remove ash, lsh, and logb, since they are
66876         platform-dependent and .elc files should be
66877         platform-independent.  Add %, logand, logcount.  Sort.
66878         Clarify what is meant by “pure”.
66880 2018-03-22  Paul Eggert  <eggert@cs.ucla.edu>
66882         Port emacs-module-tests to 32-bit Emacs
66884         Fix a portability bug when emacs-module-tests.el is byte-compiled
66885         with a 32-bit Emacs (where #x20000000 evaluates to a
66886         floating-point number) and then is run on a 64-bit Emacs (where
66887         the floating-point number causes a test failure).
66888         * test/src/emacs-module-tests.el (mod-test-sum-test):
66889         Don’t assume #x20000000 can be represented as an Emacs integer.
66891 2018-03-22  Glenn Morris  <rgm@gnu.org>
66893         Merge from origin/emacs-26
66895         8ac621b (origin/emacs-26) Document DEFUN attributes
66896         16d0cc7 * etc/NEWS: Add an entry for auth-source-pass.
66897         cc1702f Fix the MSDOS build
66898         daa9e85 Improve warning and error messages
66899         7612dd1 Adjust eieio persistence tests for expected failure
66900         f0cf4dc Let eieio-persistent-read read what object-write has written
66901         40ad1ff Handle possible classtype values in eieio-persistent-read
66902         4ec935d Add new tests for eieio persistence
66903         47917d8 * lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc ...
66904         e32f352 * lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix t...
66905         5268f30 * doc/lispref/windows.texi (Selecting Windows): Fix a typo.
66906         143b485 * doc/lispref/internals.texi (Writing Emacs Primitives): Fix ...
66907         4ab4551 Firm up documentation of generalized variables
66908         a5bf099 Improve documentation of Auto-Revert mode
66909         ed05eaa Improvements in dired.texi
66911         Conflicts:
66912                 etc/NEWS
66914 2018-03-22  Michael Albinus  <michael.albinus@gmx.de>
66916         Fix commit c24c5dc4a4
66918         * lisp/net/tramp.el (tramp-handle-substitute-in-file-name): Drop volume
66919         letter of localname substitution.  Reported by Chris Zheng
66920         <chriszheng99@gmail.com>.
66922 2018-03-22  Michael Albinus  <michael.albinus@gmx.de>
66924         Tag tramp-test39-utf8* as :unstable
66926         * test/lisp/net/tramp-tests.el (tramp-test39-utf8)
66927         (tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
66928         (tramp-test39-utf8-with-ls): Tag the tests as :unstable.
66930 2018-03-22  Michael Albinus  <michael.albinus@gmx.de>
66932         Fix Bug#30904
66934         * lisp/net/tramp.el (tramp-dissect-file-name): Adapt docstring.  (Bug#30904)
66936 2018-03-21  Paul Eggert  <eggert@cs.ucla.edu>
66938         Port data-tests-popcnt to 32-bit Emacs
66940         * test/src/data-tests.el (data-tests-popcnt):
66941         Don’t assume Emacs integers can represent 32-bit quantities.
66942         Change to a simple and straightforward approach, since runtime
66943         performance is not important here.
66945 2018-03-21  Glenn Morris  <rgm@gnu.org>
66947         * lisp/play/fortune.el (fortune-in-buffer): Revert previous nonsense.
66949 2018-03-21  Charles A. Roelli  <charles@aurox.ch>
66951         Provide completion in vc-git-stash-* commands
66953         * lisp/vc/vc-git.el (vc-git-stash-read-history)
66954         (vc-git-stash-read): New history variable and function.
66955         (vc-git-stash-show, vc-git-stash-apply, vc-git-stash-pop): Update
66956         their interactive specifications.
66958 2018-03-21  Paul Eggert  <eggert@cs.ucla.edu>
66960         Add tests for Bug#30408
66962         * test/src/editfns-tests.el (format-%d-large-float)
66963         (format-%x-large-float, format-%o-invalid-float): New tests.
66965 2018-03-21  Glenn Morris  <rgm@gnu.org>
66967         Quieten eieio-test compilation
66969         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:
66970         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el:
66971         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el:
66972         Remove obsolete name args where not being explicitly tested.
66974 2018-03-21  Glenn Morris  <rgm@gnu.org>
66976         * lisp/play/fortune.el (fortune-in-buffer): Unadvertise no-op arg.
66978         * lisp/play/fortune.el (fortune-message):
66979         Avoid trailing newline.  (Bug#30887)
66981 2018-03-20  Glenn Morris  <rgm@gnu.org>
66983         * lisp/isearch.el (isearch-pre-command-hook): Replace cl-lib function.
66985         As a preloaded file, isearch.el cannot require cl-lib at runtime.
66987 2018-03-20  Alan Mackenzie  <acm@muc.de>
66989         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Remove pessimization
66991 2018-03-20  Eli Zaretskii  <eliz@gnu.org>
66993         Avoid redisplay problems with too wide wrap-prefix
66995         * src/xdisp.c (display_line): Avoid looping in redisplay when
66996         wrap-prefix is set to a too-wide stretch of whitespace.
66997         (Bug#30432)
66999 2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>
67001         Port to 32-bit sparc64
67003         Problem reported by Ulrich Mueller; fix suggested by Eli Zaretskii
67004         and Andreas Schwab (Bug#30855).
67005         * src/alloc.c (mark_memory): Call mark_maybe_object only on
67006         pointers that are properly aligned for Lisp_Object.
67008 2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>
67010         Autoupdate from Gnulib
67012 2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>
67014         Merge from origin/emacs-26
67016         23527013c7 ; Rewrap doc string
67017         4328d5f744 Correct Info link markup
67018         2fb52abd9e Improve documentation of 'with-help-window'
67019         ec08c62f03 Minor improvements in building.texi
67020         663aafe1ff * lisp/textmodes/bibtex.el (bibtex-mark-entry): activate mark
67021         05781b2e88 ; Spelling fix
67022         aa40014ba3 * doc/emacs/building.texi (Starting GUD): Mention 'guiler'.
67023         23072e468f Yet more proofreading of the Emacs manual
67024         ba5a372540 * doc/emacs/rmail.texi: Fix broken link.
67025         6b2210cc29 ; Spelling fix
67026         067c8c4f5b Fix recently-added POP doc glitch
67027         fb3dc0e8aa More proofreading of the Emacs manual
67028         a776ce7be6 Fix typo in the Emacs manual's VC chapter
67029         7f27d42f0b Pass json-readtable-error data as a list (bug#30489)
67030         10bd3b3af8 Improve word motion docs (Bug#30815)
67031         2b8507fbdc Replace "carriage-return" by "carriage return" in manuals
67032         2616cd94f1 Minor copyedits in mule.texi
67033         36a1d52814 Fix problems caused by fontconfig-2.13.0
67035 2018-03-20  Michael Albinus  <michael.albinus@gmx.de>
67037         Extend Tramp's UTF8 tests
67039         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
67040         Apply more exhaustive tests.
67042 2018-03-20  Aaron Jensen  <aaronjensen@gmail.com>
67044         Better support for 'transpose-chars' in Flyspell mode
67046         * lisp/textmodes/flyspell.el (flyspell-post-command-hook): Check
67047         word  before previous point location after 'transpose-chars'.
67048         (Bug#30813)
67050 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67052         Improve port to NetBSD tzalloc
67054         Problem reported by Valery Ushakov (Bug#30738#22).
67055         * src/editfns.c (HAVE_TZALLOC_BUG): New macro.
67056         (tzlookup): Use it.  Compile on all platforms, not just on NetBSD.
67058 2018-03-19  Glenn Morris  <rgm@gnu.org>
67060         * test/lisp/info-xref-tests.el (info-xref-test-emacs-manuals): New.
67062 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67064         Tune time zone 0
67066         * src/editfns.c (tzlookup): Treat time zone 0 like t, for speed.
67067         Suggested by Valery Ushakov (Bug#30738#19).
67069 2018-03-19  Charles A. Roelli  <charles@aurox.ch>
67071         Normalize and fix some mistakes in NS-related commentary
67073         * lisp/term/ns-win.el (ns-insert-working-text): Normalize
67074         commentary.
67075         (x-file-dialog): Fix indentation.
67077         * src/nsfns.m (ns_get_window, interpret_services_menu)
67078         (x_set_background_color, x_set_icon_name, x_set_tool_bar_lines)
67079         (x_set_icon_type, x_set_mouse_color, Fx_create_frame)
67080         (ns_window_is_ancestor, Fns_popup_font_panel)
67081         (Fx_display_visual_class, Fns_font_name, Fns_do_applescript)
67082         (ns_screen_name, compute_tip_xy, Fns_mouse_absolute_pixel_position)
67083         (handlePanelKeys): Normalize commentary (also in top-level
67084         declarations) and remove two outdated comments (one in
67085         Fx_create_frame, the other in compute_tip_xy).
67087         * src/nsterm.h (NSApplication, NSWindow, ns_bitmap_record):
67088         * src/nsselect.m:
67089         * src/nsmenu.m (ns_update_menubar, addItemWithWidgetValue:)
67090         (runMenuAt:forFrame:keymaps:, ns_menu_show, free_frame_tool_bar)
67091         (update_frame_tool_bar, init)
67092         (initWithContentRect:styleMask:backing:defer:)
67093         (initFromContents:isQuestion:, timeout_handler:)
67094         (Fmenu_or_popup_active_p):
67095         * src/nsimage.m (initFromXBM, initFromXBMWithDepth):
67096         * src/nsgui.h:
67097         * src/nsfont.m (ns_spec_to_descriptor, ns_descriptor_to_entity)
67098         (ns_charset_covers, ns_get_req_script, ns_findfonts)
67099         (nsfont_list_family, nsfont_open, nsfont_encode_char)
67100         (nsfont_draw, ns_uni_to_glyphs, ns_glyph_metrics)
67101         (syms_of_nsfont): Normalize commentary (also in top-level
67102         declarations).
67104         * src/nsterm.m (ns_init_locale, ns_retain_object)
67105         (ns_screen_margins_ignoring_hidden_dock, ns_unfocus, NSImageView)
67106         (x_make_frame_visible, x_iconify_frame, x_destroy_window)
67107         (x_set_undecorated, x_set_no_focus_on_map, x_set_z_group)
67108         (ns_index_color, ns_get_color, ns_lisp_to_color)
67109         (note_mouse_movement, scrollbar, ns_scroll_run)
67110         (ns_draw_fringe_bitmap, ns_draw_window_cursor)
67111         (ns_draw_text_decoration, ns_draw_relief)
67112         (ns_dumpglyphs_box_or_relief, ns_dumpglyphs_image)
67113         (ns_dumpglyphs_stretch, ns_draw_glyph_string, ns_send_appdefined)
67114         (ns_check_menu_open, ns_read_socket, ns_select, ns_run_loop_break)
67115         (ns_set_vertical_scroll_bar, ns_set_horizontal_scroll_bar)
67116         (ns_string_to_lispmod, ns_default, ns_initialize_display_info)
67117         (ns_delete_display, ns_term_init, sendEvent:)
67118         (applicationDidFinishLaunching:, applicationDidBecomeActive:)
67119         (fd_handler:, setWindowClosing:, keyDown:, insertText:)
67120         (mouseDown:, mouseMoved:, updateFrameSize:)
67121         (windowWillResize:toSize:, windowDidResize:, windowDidResignKey:)
67122         (initFrameFromEmacs:, toggleFullScreen:, toolbarClicked:)
67123         (writeSelectionToPasteboard:types:, setMiniwindowImage:)
67124         (scrollerWidth, initFrame:window:, setFrame:, repeatScroll:)
67125         (ns_xlfd_to_fontname, syms_of_nsterm): Normalize commentary (also in
67126         top-level declarations), and in ns_get_color, replace a Gmane link
67127         with one from lists.gnu.org, which does not require JS to view the
67128         message.
67130 2018-03-19  Karl Fogel  <kfogel@red-bean.com>
67132         Revert move of interactive `transpose-regions' to Lisp
67134         This reverts my commit 3a3aa0e056a of 2018-03-18 at 21:43:18 UTC.
67135         I thought consensus had been reached, but it had not: Eli Zaretskii
67136         felt the pre-3a3aa0e056a situation was fine and would not like to
67137         see it changed without at least further discussion.
67139 2018-03-19  Alan Third  <alan@idiocy.org>
67141         Fix frame resize flicker on macOS (bug#30699)
67143         * src/nsterm.h (ns_enable_screen_updates): New function.
67144         * src/nsterm.m (ns_enable_screen_updates):
67145         (ns_disable_screen_updates): New functions.
67146         (disable_screen_updates_count): Count of number of times we've called
67147         NSDisableScreenUpdates.
67148         (x_set_window_size): Disable screen updates when not in a live resize
67149         loop.
67150         * src/xdisp.c (redisplay_internal): Reenable screen updates when
67151         redisplay doesn't complete due to a popup.
67152         (unwind_redisplay): Reenable screen updates.
67154 2018-03-19  Michael Albinus  <michael.albinus@gmx.de>
67156         Print top time consuming tests if advised
67158         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
67159         New argument HIGH.  Print top-running tests.
67161         * test/Makefile.in (check-doit): Use ${SUMMARIZE_TESTS}.
67163         * test/README: Explain SUMMARIZE_TESTS.
67165 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
67167         Followup to last change in browse-url.el
67169         * lisp/net/browse-url.el (browse-url-emacs): Doc fix to follow up
67170         the previous change.  (Bug#30673)
67172         * etc/NEWS: Mention the change in 'browse-url-emacs'.
67174 2018-03-19  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
67176         Allow 'browse-url-emacs' to fetch URL in the selected window
67178         * lisp/net/browse-url.el (browse-url-emacs): Use same-window argument.
67179         (Bug#30673)
67181 2018-03-19  Radon Rosborough  <radon.neon@gmail.com>
67183         Various follow-ups for early init file changes
67185         * doc/emacs/custom.texi (Early Init File): Add more details about
67186         which variables must be set in the early init file rather than the
67187         regular init file.  See
67188         https://lists.nongnu.org/archive/html/bug-gnu-emacs/2018-02/msg00827.html
67190         * lisp/emacs-lisp/package.el (package-enable-at-startup): Update
67191         docstring to note that packages are now made available before loading
67192         the init file, rather than afterwards.  See
67193         https://lists.gnu.org/archive/html/emacs-devel/2018-02/msg00632.html
67194         (package-load-list): Refer to "making available" rather than "loading"
67195         for packages.  See
67196         https://lists.gnu.org/archive/html/emacs-devel/2018-02/msg00298.html
67198         * lisp/startup.el (command-line): Call `custom-reevaluate-setting' on
67199         predefined variables before loading the early init file and before
67200         `package-initialize' is called.  This prevents
67201         `Info-default-directory-list' from being unbound when
67202         `package-initialize' tries to access it during startup.  See
67203         https://lists.gnu.org/archive/html/emacs-devel/2018-02/msg00545.html
67205         * lisp/emacs-lisp/package.el (package-initialize): Issue a warning
67206         if called twice.
67207         See: https://lists.gnu.org/archive/html/emacs-devel/2018-02/msg00626.html
67208              https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00301.html
67210 2018-03-18  Glenn Morris  <rgm@gnu.org>
67212         * lisp/url/url-handlers.el: No need for subr-x at run-time.
67214 2018-03-18  Karl Fogel  <kfogel@red-bean.com>
67216         Move interactive `transpose-regions' to Lisp
67218         Define `transpose-regions' in Lisp, because its complex interactive
67219         spec was ungainly in C, and change the C version to non-interactive
67220         `transpose-regions-internal'.  The Lisp function is just a wrapper
67221         around the C function, which still does all the work.
67223         * lisp/simple.el (transpose-regions): New wrapper function, with
67224           interactive spec taken from old C `transpose-regions'.
67226         * src/editfns.c (Ftranspose_regions): Rename to...
67227           (Ftranspose_regions_internal): ...here, and remove interactive spec.
67229         Discussion on Emacs Devel:
67231           From: Karl Fogel
67232           To: Emacs Development
67233           Cc: Richard Copley, Charles A. Roelli
67234           Subject: Re: [Emacs-diffs] master b88e7c8: \
67235                    Make transpose-regions interactive (Bug#30343)
67236           Date: Fri, 16 Mar 2018 10:23:31 -0500
67237           Message-ID: <87po44jb7w.fsf@red-bean.com>
67239           https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00555.html
67241 2018-03-18  Nicolas Petton  <nicolas@petton.fr>
67243         Fix compilation warnings in subr-x-tests.el
67245         * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-test-if-let*-false)
67246         (subr-x-test-when-let*-false): Make tests simpler and compiler warning
67247         free.
67249 2018-03-18  Nicolas Petton  <nicolas@petton.fr>
67251         * lisp/url/url-handlers.el: Require subr-x.
67253 2018-03-18  Nicolas Petton  <nicolas@petton.fr>
67255         Add URL handler for file-name-directory  (Bug#30444)
67257         * lisp/url/url-handlers.el (url-handler-file-name-directory): New
67258         function which handles special cases for `file-name-directory' and
67259         URLs.
67260         * test/lisp/url/url-handlers-test.el: New file.  Add tests for
67261         `url-handler-file-name-directory'.
67263 2018-03-18  Michael Albinus  <michael.albinus@gmx.de>
67265         * lisp/emacs-lisp/ert.el (ert-run-tests-batch): Print selector.
67267 2018-03-17  Michael Albinus  <michael.albinus@gmx.de>
67269         Optimize tramp-tests.el
67271         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test):
67272         Make it a defsubst.  Adapt all callees.
67273         (tramp--test-print-duration): New defmacro.
67274         (tramp-test11-copy-file, tramp-test12-rename-file)
67275         (tramp-test21-file-links, tramp--test-special-characters):
67276         Run some parts only if expensive tests are enabled.  (Bug#30807)
67278 2018-03-17  Aaron Jensen  <aaronjensen@gmail.com>
67280         In frameset save pixel values with frame-resize-pixelwise non-nil  (Bug#30141)
67282         * lisp/frameset.el (frameset--record-relationships): Replace
67283         check for text width/height and replace with check for
67284         frame-resize-pixelwise.  (Bug#30141)
67286 2018-03-17  Michael Albinus  <michael.albinus@gmx.de>
67288         Print test timings unconditionally
67290         * lisp/emacs-lisp/ert.el (ert-batch-print-duration): Remove.
67291         (ert-run-tests-batch): Adapt accordingly.
67293         * test/Makefile.in:
67294         * test/README: Remove TEST_PRINT_TEST_DURATION.
67296 2018-03-16  Glenn Morris  <rgm@gnu.org>
67298         Explicitly require cl-lib where needed
67300         Rather than relying on the byte-compiler happening to use it.
67301         * lisp/completion.el, lisp/ffap.el, lisp/loadhist.el:
67302         * lisp/userlock.el, lisp/emacs-lisp/debug.el, lisp/emacs-lisp/rx.el:
67303         * lisp/emacs-lisp/testcover.el, lisp/mail/rfc2231.el:
67304         * lisp/net/newst-treeview.el, lisp/net/puny.el:
67305         * lisp/net/tramp-archive.el, lisp/net/tramp-gvfs.el:
67306         * lisp/net/tramp-sh.el, lisp/net/tramp-smb.el, lisp/org/org-ctags.el:
67307         * lisp/org/org-macs.el, lisp/progmodes/grep.el:
67308         * lisp/progmodes/perl-mode.el, lisp/progmodes/ruby-mode.el:
67309         * lisp/textmodes/dns-mode.el, lisp/textmodes/mhtml-mode.el:
67310         * lisp/vc/pcvs-parse.el: Explicitly require cl-lib as needed.
67312 2018-03-16  Glenn Morris  <rgm@gnu.org>
67314         cedet: remove obsolete name args to constructors
67316         * lisp/cedet/ede/proj-archive.el, lisp/cedet/ede/proj-aux.el:
67317         * lisp/cedet/ede/proj-elisp.el, lisp/cedet/ede/proj-info.el:
67318         * lisp/cedet/ede/proj-misc.el, lisp/cedet/ede/proj-obj.el:
67319         * lisp/cedet/ede/proj-shared.el, lisp/cedet/ede/simple.el:
67320         * lisp/cedet/ede/source.el, lisp/cedet/semantic/:
67321         * lisp/cedet/semantic/analyze.el, lisp/cedet/semantic/complete.el:
67322         * lisp/cedet/semantic/db-javascript.el:
67323         * lisp/cedet/semantic/db-ref.el, lisp/cedet/semantic/debug.el:
67324         * lisp/cedet/semantic/ede-grammar.el:
67325         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/scope.el:
67326         * lisp/cedet/semantic/texi.el, lisp/cedet/semantic/bovine/:
67327         * lisp/cedet/semantic/bovine/c.el:
67328         * lisp/cedet/semantic/bovine/debug.el, lisp/cedet/srecode/:
67329         * lisp/cedet/srecode/extract.el, lisp/cedet/srecode/map.el:
67330         * lisp/cedet/srecode/srt-mode.el:
67331         Remove obsolete name args to constructors.
67333 2018-03-16  Glenn Morris  <rgm@gnu.org>
67335         Quieten semantic re-compilation when .elc already exist
67337         * lisp/cedet/semantic/db-find.el, lisp/cedet/semantic/util.el:
67338         Add some function declarations.
67340 2018-03-16  Glenn Morris  <rgm@gnu.org>
67342         * lisp/gnus/gnus-registry.el: Add missing compile-time requirement.
67344 2018-03-16  Eli Zaretskii  <eliz@gnu.org>
67346         Fix 'posn-at-point' when line numbers are displayed
67348         * src/xdisp.c (pos_visible_p): For the leftmost glyph, adjust the X
67349         coordinate due to line-number display.  (Bug#30834)
67351 2018-03-16  Eli Zaretskii  <eliz@gnu.org>
67353         Another followup to fixing 'window-text-pixel-width'
67355         * src/xdisp.c (Fwindow_text_pixel_size): Adjust the return value
67356         when we stop one buffer position short of TO.  (Bug#30746)
67358 2018-03-16  Michael Albinus  <michael.albinus@gmx.de>
67360         Optimize "make check" and "make check-maybe"
67362         * lisp/emacs-lisp/ert.el (ert-run-tests-batch): Print summary duration.
67364         * test/Makefile.in (TEST_LOAD_EL): Set default to "no" for
67365         targets all, check, and check-maybe.  (Bug#30807)
67367         * test/README: Reflect recent changes in Makefile.
67369         * test/lisp/net/tramp-archive-tests.el
67370         (tramp-archive-test99-libarchive-tests): Tag it :unstable.
67372 2018-03-16  Reuben Thomas  <rrt@sc3d.org>
67374         Call enchant-lsmod correctly when Enchant is installed with a suffix
67376         * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Cope with a
67377         version suffix on the binary name, so enchant-2 is converted to
67378         enchant-lsmod-2, not enchant-2-lsmod.
67380 2018-03-15  Glenn Morris  <rgm@gnu.org>
67382         Suppress warnings about obsolete generics (bug#25556)
67384         * lisp/Makefile.in (MAIN_FIRST): New variable.
67385         (compile-main): Put some files at the head of the queue.
67387 2018-03-15  Glenn Morris  <rgm@gnu.org>
67389         Replace some obsolete uses of filter-buffer-substring-functions
67391         * lisp/org/org-agenda.el (org-agenda-mode):
67392         * lisp/org/org-indent.el (org-indent-mode):
67393         Replace filter-buffer-substring-functions, obsolete since 24.4.
67395 2018-03-15  Glenn Morris  <rgm@gnu.org>
67397         * lisp/gnus/nnmaildir.el (nnmaildir-close-server):
67398         Remove unused locals.
67400         * lisp/emulation/cua-base.el (cua-paste): Quieten compilation.
67402         * lisp/progmodes/verilog-mode.el (verilog-mode): Quieten compilation.
67404 2018-03-15  Paul Eggert  <eggert@cs.ucla.edu>
67406         Improve port to NetBSD tzalloc
67408         Problem reported by Valery Ushakov (Bug#30738#13).
67409         * src/editfns.c (tzlookup) [__NetBSD_Version__ < 700000000]:
67410         If tzalloc fails for any reason other than memory exhaustion,
67411         assume it’s because NetBSD 6 does not support tzalloc on
67412         POSIX-format TZ strings, and fall back on tzdb if possible.
67414 2018-03-15  Glenn Morris  <rgm@gnu.org>
67416         * test/lisp/ses-tests.el: Quieten compilation.
67418         * lisp/pcomplete.el (pcomplete-here): Move before first reference.
67420 2018-03-15  Michael Albinus  <michael.albinus@gmx.de>
67422         Improve robustness in tramp-sh.el
67424         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
67425         Wrap both echo calls in parentheses, in order to avoid double prompt.
67427 2018-03-15  Eli Zaretskii  <eliz@gnu.org>
67429         Support variable-unquoting syntax in bat-mode
67431         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fontify
67432         argument numbers in %~n.  Suggested by Jostein Kjønigsen
67433         <jostein@secure.kjonigsen.net> in emacs-devel.
67435         * test/lisp/progmodes/bat-mode-tests.el
67436         (bat-test-fontification-iter-var-1): Update the test to check also
67437         the %~n construct.
67439 2018-03-15  Eli Zaretskii  <eliz@gnu.org>
67441         Fix mouse-set-point when line numbers are displayed
67443         * src/xdisp.c (move_it_to): Initialize the line_number_produced_p
67444         flag before iterating on a new line.  (Bug#30818)
67446 2018-03-15  Michael Albinus  <michael.albinus@gmx.de>
67448         Fix an error in tramp-archive-test42-auto-load
67450         * test/lisp/net/tramp-archive-tests.el (tramp-archive-test42-auto-load):
67451         Do not use "/ssh::" as test directory, it could harm.  (Bug#30807)
67453 2018-03-14  Glenn Morris  <rgm@gnu.org>
67455         More hydra.nixos.org logging for unfinished tests
67457         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
67458         Dump contents of any unfinished log files on hydra.nixos.org.
67460 2018-03-14  Stefan Monnier  <monnier@iro.umontreal.ca>
67462         * lisp/desktop.el: Make use some "new" functionality
67464         (desktop-files-not-to-save, desktop-clear):
67465         Use \` and \' when we don't intend to match newlines.
67466         (desktop-minor-mode-table): Remove auto-fill-function entry.
67467         (desktop-buffer-info): Use :minor-mode-function instead.
67468         (desktop--v2s): Use a closure rather than a backquoted lambda.
67469         (desktop-save): Set 'lexical-binding' in the saved file.
67470         Use 'utf-8-emacs' encoding rather than the old 'emacs-mule'.
67471         (desktop-read): Use 'default-value' to get the global part of a hook.
67473 2018-03-14  Michael Albinus  <michael.albinus@gmx.de>
67475         Extend ert to print duration of single tests
67477         * lisp/emacs-lisp/ert.el (ert-test-result): New slot ´duration'.
67478         (ert-run-or-rerun-test): Set it.
67479         (ert-batch-print-duration): New defvar.
67480         (ert-run-tests-batch): Print duration if needed.
67482         * test/Makefile.in (TEST_PRINT_TEST_DURATION): New variable.
67484         * test/README: Explain TEST_PRINT_TEST_DURATION.
67486 2018-03-13  Noam Postavsky  <npostavs@gmail.com>
67488         Fix line-wrapping for term.el (Bug#30775)
67490         * lisp/term.el (term-emulate-terminal): Leave line-wrapping state if
67491         point was moved after we entered it.
67492         * test/lisp/term-tests.el (term-line-wrapping-then-motion): New test.
67494 2018-03-13  Glenn Morris  <rgm@gnu.org>
67496         Merge from origin/emacs-26
67498         675edec (origin/emacs-26) Fix some allout.el aliases
67499         b2c069a * lisp/progmodes/ada-mode.el (ada-clean-buffer-before-saving)...
67500         2f5420c Doc fixes re obsolete items
67501         9edf82a Replace an obsolete alias in tpu-mapper
67502         a643792 Doc fixes re obsolete items
67503         3060fb8 Minor changes in mule.texi
67504         3e39897 Avoid assertion violation under visual-order-cursor-movement
67505         e4b73ab Stop mentioning options.el in doc
67506         05669f0 ; * lisp/minibuffer.el (completion-cycle-threshold): Fix last...
67507         758597f * lisp/vc/vc-dir.el (vc-dir-unmark): Fix documentation.
67508         62f0a2b * lisp/minibuffer.el (completion-cycle-threshold): Doc fix.
67509         761845c Fix last change in Xref documentation
67510         5186675 More changes in the Emacs manual
67511         b1aaa72 Improve documentation of Xref
67513         Conflicts:
67514                 lisp/w32-fns.el
67516 2018-03-13  Glenn Morris  <rgm@gnu.org>
67518         Try to stop tramp test hangs on hydra
67520         * test/lisp/net/tramp-tests.el (tramp-test41-asynchronous-requests):
67521         Use fewer processes on hydra.
67523 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
67525         * src/xdisp.c (Fwindow_text_pixel_size): Fix last change.
67527 2018-03-12  Glenn Morris  <rgm@gnu.org>
67529         * lisp/subr.el (focus-frame, unfocus-frame): Remove obsolete no-ops.
67531         * lisp/vc/ediff-util.el (ediff-recenter):
67532         Don't try focus-frame on Emacs.
67534 2018-03-12  Glenn Morris  <rgm@gnu.org>
67536         * lisp/obsolete/options.el: Remove file.
67538         * lisp/loadhist.el (unload-hook-features-list): Remove obsolete alias.
67540 2018-03-12  Glenn Morris  <rgm@gnu.org>
67542         Make compiler warn about use of obsolete hooks
67544         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
67545         Warn about using obsolete hooks.
67547 2018-03-12  Glenn Morris  <rgm@gnu.org>
67549         Replace use of the obsolete write-contents-hooks
67551         * lisp/play/gametree.el (gametree-mode):
67552         Replace write-contents-hooks, obsolete since 22.1,
67553         with write-contents-functions.
67555 2018-03-12  Paul Eggert  <eggert@cs.ucla.edu>
67557         Revert overenthusiastic procfs fixup
67559         Also, be more systematic in calls to string_to_number.
67560         * src/sysdep.c (list_system_processes) [HAVE_PROCFS]: Allow pids
67561         to be floating-point if they exceed fixnum range.  This partially
67562         reverts my patch 2018-03-09T20:06:05Z!eggert@cs.ucla.edu, which
67563         went too far in fixing string-to-number mishandling.
67565 2018-03-11  Charles A. Roelli  <charles@aurox.ch>
67567         Allow toggling Grep command abbreviation, and rename related symbols
67569         * lisp/progmodes/grep.el (grep-find-hide): Rename 'grep-find-hide'
67570         to 'grep-find-abbreviate'.
67571         (grep-find-hide-properties): Rename to
67572         'grep-find-abbreviate-properties'.
67573         (grep-mode-font-lock-keywords): Even when 'grep-find-abbreviate'
67574         is nil, fontify the verbose command options with property
67575         'abbreviated-command', so that the toggling command can later find
67576         these parts without refontifying.
67577         (grep-find-show): Rename to 'grep-find-toggle-abbreviation',
67578         simplify the code, and permit toggling the hidden command options.
67579         (grep-mode-map): Add a menu-bar item and new separator for
67580         'grep-find-toggle-abbreviation', and fix the incumbent separators
67581         in the "Grep" menu-bar, of which only one was showing before this
67582         commit, even though two were specified.
67583         * etc/NEWS (grep):
67584         * doc/emacs/building.texi (Grep Searching): Document these
67585         changes, and mention 'grep-find-toggle-abbreviation'.
67587 2018-03-11  Charles A. Roelli  <charles@aurox.ch>
67589         Document 'transpose-sentences' and 'transpose-paragraphs'
67591         * doc/emacs/fixit.texi (Transpose): Add documentation and index
67592         entries for 'transpose-sentences' and 'transpose-paragraphs'
67593         (Bug#30343 in passing).
67595 2018-03-11  Charles A. Roelli  <charles@aurox.ch>
67597         Make transpose-regions interactive (Bug#30343)
67599         * doc/emacs/fixit.texi (Transpose): Mention and explain the new
67600         command.
67601         * src/editfns.c (Ftranspose_regions): Add an interactive calling
67602         specification, and add documentation for it.
67604 2018-03-11  Charles A. Roelli  <charles@aurox.ch>
67606         Unify documentation on 'save-some-buffers'
67608         * doc/emacs/files.texi (Save Commands): Include some more keys
67609         that can be used in 'save-some-buffers'.
67611         * lisp/files.el (save-some-buffers): Include the same keys as
67612         above, and document all missing ones.
67614 2018-03-11  Charles A. Roelli  <charles@aurox.ch>
67616         * lisp/simple.el (mark-whole-buffer): Clarify its behavior.
67618 2018-03-11  Charles A. Roelli  <charles@aurox.ch>
67620         Improve and make use of 'image--get-image'
67622         * lisp/image.el (image--get-image): Add documentation, and
67623         check overlays for images too (since function 'put-image' from
67624         the same library uses overlays to insert images).
67625         (image-save): Use 'image--get-image'.
67627 2018-03-11  Paul Eggert  <eggert@cs.ucla.edu>
67629         Port to NetBSD tzalloc
67631         Problem reported by Valery Ushakov (Bug#30738).
67632         * src/editfns.c (xtzalloc): Remove.
67633         (invalid_time_zone_specification): New function.
67634         (tzlookup): Port to NetBSD, where tzalloc can fail when the TZ
67635         string has an invalid value.
67637 2018-03-10  Glenn Morris  <rgm@gnu.org>
67639         Remove many items obsolete since Emacs 22.1
67641         Emacs 22.1 was five major releases and over decade ago.
67642         In bug reporting statistics, it's been absent for around 5 years.
67643         Ref: https://debbugs.gnu.org/stats/emacs.html
67644         This list can be reviewed before to the next release, but for
67645         now hopefully this motivates any needed external updates.
67646         * lisp/arc-mode.el (archive-mouse-extract):
67647         * lisp/bookmark.el (bookmark-exit-hooks):
67648         * lisp/comint.el (comint-use-prompt-regexp-instead-of-fields):
67649         * lisp/cus-edit.el (custom-face-save-command):
67650         * lisp/descr-text.el (describe-char-after):
67651         * lisp/desktop.el (desktop-enable, desktop-basefilename)
67652         (desktop-buffer-modes-to-save, desktop-buffer-misc-functions)
67653         (desktop-buffer-handlers, desktop-load-default):
67654         * lisp/dired-x.el (dired-omit-files-p):
67655         * lisp/frame.el (new-frame, set-default-font, delete-frame-hook)
67656         (blink-cursor):
67657         * lisp/generic-x.el (generic-define-mswindows-modes)
67658         (generic-define-unix-modes):
67659         * lisp/help.el (describe-project, view-todo):
67660         * lisp/hilit-chg.el (highlight-changes-colours):
67661         * lisp/ibuffer.el (ibuffer-elide-long-columns, ibuffer-hooks)
67662         (ibuffer-mode-hooks):
67663         * lisp/imenu.el (imenu-always-use-completion-buffer-p):
67664         * lisp/isearch.el (isearch-lazy-highlight-cleanup)
67665         (isearch-lazy-highlight-initial-delay)
67666         (isearch-lazy-highlight-interval)
67667         (isearch-lazy-highlight-max-at-a-time)
67668         (isearch-lazy-highlight-cleanup):
67669         * lisp/mwheel.el (mouse-wheel-down-button)
67670         (mouse-wheel-up-button, mouse-wheel-click-button):
67671         * lisp/novice.el (disabled-command-hook):
67672         * lisp/recentf.el (recentf-menu-append-commands-p):
67673         * lisp/savehist.el (savehist-load):
67674         * lisp/speedbar.el (speedbar-ignored-path-expressions)
67675         (speedbar-ignored-path-regexp, speedbar-add-ignored-path-regexp)
67676         (speedbar-line-path, speedbar-buffers-line-path, speedbar-path-line):
67677         * lisp/subr.el (assoc-ignore-case, assoc-ignore-representation)
67678         (x-lost-selection-hooks, x-sent-selection-hooks)
67679         (process-kill-without-query):
67680         * lisp/calendar/icalendar.el (icalendar-convert-diary-to-ical)
67681         (icalendar-extract-ical-from-buffer):
67682         * lisp/emacs-lisp/autoload.el (update-autoloads-from-directories):
67683         * lisp/emacs-lisp/derived.el (derived-mode-class):
67684         * lisp/emacs-lisp/generic.el (generic-font-lock-defaults):
67685         * lisp/emacs-lisp/timer.el (timer-set-time-with-usecs):
67686         * lisp/gnus/spam.el (spam-list-of-processors):
67687         * lisp/international/latin1-disp.el (latin1-char-displayable-p):
67688         * lisp/mail/rmail.el (rmail-pop-password, rmail-pop-password-required):
67689         * lisp/net/goto-addr.el (goto-address-at-mouse):
67690         * lisp/net/net-utils.el (ipconfig-program, ipconfig-program-options):
67691         * lisp/obsolete/iswitchb.el (iswitchb-use-fonts):
67692         * lisp/play/dunnet.el (dungeon-mode-map):
67693         * lisp/progmodes/compile.el (compilation-finish-function)
67694         * lisp/progmodes/cperl-mode.el (cperl-vc-header-alist)
67695         * lisp/progmodes/gud.el (tooltip-gud-modes, tooltip-gud-display)
67696         (tooltip-gud-toggle-dereference):
67697         * lisp/progmodes/pascal.el (pascal-outline):
67698         * lisp/progmodes/perl-mode.el (electric-perl-terminator):
67699         * lisp/textmodes/nroff-mode.el (count-text-lines)
67700         (forward-text-line, backward-text-line, electric-nroff-newline)
67701         (electric-nroff-mode):
67702         * lisp/vc/log-edit.el (vc-comment-ring, vc-comment-ring-index)
67703         (vc-previous-comment, vc-next-comment)
67704         (vc-comment-search-reverse, vc-comment-search-forward)
67705         (vc-comment-to-change-log):
67706         * lisp/vc/pcvs-info.el (cvs-display-full-path)
67707         (cvs-fileinfo->full-path):
67708         * lisp/vc/vc.el (vc-diff-switches-list):
67709         Remove items, obsolete since Emacs 22.1.
67710         * lisp/ibuffer.el (ibuffer-cached-elide-long-columns):
67711         Remove internal variable.
67712         (ibuffer-compile-make-eliding-form, ibuffer-check-formats):
67713         (ibuffer-mode): Remove support for ibuffer-elide-long-columns.
67714         * lisp/cedet/semantic/sb.el (semantic-sb-token-jump):
67715         Remove support for speedbar-line-path.
67716         * lisp/emacs-lisp/unsafep.el (assoc-ignore-case):
67717         Stop marking as side-effect-free.
67718         * lisp/gnus/spam.el (spam-group-processor-p):
67719         Remove support for spam-list-of-processors.
67720         * lisp/progmodes/compile.el (define-compilation-mode)
67721         (compilation-handle-exit):
67722         Remove support for compilation-finish-function.
67723         * lisp/progmodes/cperl-mode.el (cperl-mode):
67724         Remove support for cperl-vc-header-alist.
67726 2018-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
67728         eshell-eval-using-options: Avoid compiler warning differently
67730         * lisp/eshell/em-unix.el (eshell/time):
67731         * lisp/eshell/em-tramp.el (eshell/sudo):
67732         * lisp/eshell/esh-var.el (eshell/env): Remove artificial use of `args'.
67734         * lisp/eshell/esh-opt.el (eshell-eval-using-options): Silence warning
67735         when `args' is not used by `body-forms'.
67737 2018-03-10  Paul Eggert  <eggert@cs.ucla.edu>
67739         Merge from origin/emacs-26
67741         5c91ca8 Fix create_process bug breaking eudc-expand-inline
67742         e244fed Clarify that nil doesn't match itself as a cl-case clause (Bu...
67743         df0e7e2 Improve SVG documentation
67744         a34ef52 Document the "URL" keyword in library headers
67745         fbc7f9a * test/lisp/international/mule-tests.el: Avoid local variable...
67746         16faff6 ; * lisp/org/org-table.el: Replace obsolete alias in comment.
67748 2018-03-10  Paul Eggert  <eggert@cs.ucla.edu>
67750         Merge from origin/emacs-26
67752         6af509e Replace the obsolete process-kill-without-query in documentation
67753         4df0d15 ; Tiny fix for recent doc change
67755 2018-03-10  Noam Postavsky  <npostavs@gmail.com>
67757         Let warning about (:foo) be suppressible (Bug#30499)
67759         * lisp/emacs-lisp/bytecomp.el (byte-compile-form): Check
67760         byte-compile-warning-enabled-p before warning about funcalling const
67761         symbol.
67763 2018-03-10  Dmitry Safronov  <saf.dmitry@gmail.com>
67765         Fix wrong behavior of 'outline-headers-as-kill' command (Bug#30209)
67767         * lisp/outline.el (outline-headers-as-kill): Fix heading duplication.
67769 2018-03-10  Eli Zaretskii  <eliz@gnu.org>
67771         Improve support for desktop restoration in daemon mode
67773         * lisp/server.el (server-after-make-frame-hook): New hook.
67774         (server-execute): Call it after creating a new frame or before
67775         switching to a buffer shown in a client frame.  (Bug#30421)
67777         * doc/emacs/misc.texi (Saving Emacs Sessions): Adjust advice for
67778         restoring desktop in daemon mode to the new hook.
67779         * doc/lispref/frames.texi (Creating Frames, Standard Hooks):
67780         Document server-after-make-frame-hook.
67782         * etc/NEWS: Mention server-after-make-frame-hook.
67784 2018-03-10  Aaron Jensen  <aaronjensen@gmail.com>
67786         Allow underline position variables be buffer-local
67788         * src/nsterm.m (ns_draw_text_decoration):
67789         * src/w32term.c (x_draw_glyph_string):
67790         * src/xterm.c (x_draw_glyph_string): Allow underline-minimum-offset,
67791         underline-at-descent-line, and x-use-underline-position-properties
67792         be buffer local variables.  (Bug#30553)
67793         * src/xdisp.c (syms_of_xdisp) <underline-minimum-offset>: Add DEFSYM.
67795 2018-03-09  Glenn Morris  <rgm@gnu.org>
67797         * Makefile.in (check-declare): Also check test/ directory.
67799         * test/Makefile.in (check-declare): New PHONY rule.
67801 2018-03-09  Glenn Morris  <rgm@gnu.org>
67803         Quieten --without-json compilation of json-tests.el
67805         * test/src/json-tests.el (json-serialize, json-insert)
67806         (json-parse-string, json-parse-buffer): Declare.
67808 2018-03-09  Glenn Morris  <rgm@gnu.org>
67810         * test/lisp/vc/vc-tests.el (w32-application-type): Fix declaration.
67812 2018-03-09  Paul Eggert  <eggert@cs.ucla.edu>
67814         Fix string-to-number C-level mishandling
67816         * src/sysdep.c (list_system_processes):
67817         * src/xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
67818         Defend against Fstring_to_number returning a float or a nonsense
67819         integer.
67821 2018-03-09  Glenn Morris  <rgm@gnu.org>
67823         Quieten compilation of some test/lisp files
67825         * test/lisp/dired-tests.el (dired-test-bug27243-02)
67826         (dired-test-bug27243-03, dired-test-bug27899)
67827         (dired-test-with-temp-dirs): Remove unused local variables.
67828         * test/lisp/hi-lock-tests.el (hi-lock-bug26666)
67829         (hi-lock-test-set-pattern): Mark unused arguments.
67830         * test/lisp/ses-tests.el (ses-tests-renamed-cells-row-insertion):
67831         Remove unused global "ses-tests-trigger".
67832         * test/lisp/simple-tests.el (line-number-at-pos-when-passing-point):
67833         Remove unused local "pos".
67834         * test/lisp/emacs-lisp/benchmark-tests.el (benchmark-tests):
67835         Pacify compiler.
67836         * test/lisp/emacs-lisp/package-tests.el (package-test-signed):
67837         Replace obsolete function epg-configuration.
67838         * test/lisp/ls-lisp-tests.el:
67839         * test/lisp/eshell/em-ls-tests.el: Require dired.
67840         * test/lisp/progmodes/ruby-mode-tests.el
67841         (ruby-forward-sexp-skips-method-calls-with-keyword-names):
67842         * test/lisp/vc/diff-mode-tests.el
67843         (diff-mode-test-ignore-trailing-dashes): Replace interactive funcs.
67845 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
67847         Avoid losing info when formatting integers
67849         * doc/lispref/numbers.texi (Integer Basics): Clarify that
67850         out-of-range integers are treated as floating point only when the
67851         integers are decimal.
67852         * etc/NEWS: Mention changes.
67853         * src/editfns.c (styled_format): Use %.0f when formatting %d or %i
67854         values outside machine integer range, to avoid losing info.
67855         Signal an error for %o or %x values that are too large to be
67856         formatted, to avoid losing info.
67858 2018-03-08  Glenn Morris  <rgm@gnu.org>
67860         Replace uses of the obsolete local-write-file-hooks
67862         * lisp/net/quickurl.el (quickurl-reread-hook-postfix):
67863         * lisp/progmodes/ebrowse.el (ebrowse-tree-mode)
67864         (ebrowse-write-file-hook-fn):
67865         * lisp/progmodes/glasses.el (glasses-mode):
67866         * lisp/progmodes/vhdl-mode.el (vhdl-write-file-hooks-init):
67867         * lisp/vc/ediff-merg.el (ediff-set-merge-mode):
67868         * lisp/vc/ediff-util.el (ediff-setup):
67869         Replace local-write-file-hooks, obsolete since 22.1,
67870         with write-file-functions.
67872 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
67874         Update from Gnulib
67876         This includes:
67877         2018-03-08 fflush: be more paranoid about libio.h change
67878         * lib/fpending.c: Copy from Gnulib.
67880 2018-03-08  Juri Linkov  <juri@linkov.net>
67882         * lisp/isearch.el (search-exit-option): Add option 'append'.
67884         (isearch-pre-command-hook): Use it.
67886         * doc/emacs/search.texi: Replace search-exit-option option nil with append.
67888         https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00202.html
67890 2018-03-08  Charles A. Roelli  <charles@aurox.ch>
67892         Add to "Completion Commands" Info node
67894         * doc/emacs/mini.texi (Completion Commands): Mention other keys
67895         for 'next-completion' and 'previous-completion', and explain 'q'
67896         and 'z' which are relatively new additions.
67898 2018-03-08  Glenn Morris  <rgm@gnu.org>
67900         Merge from origin/emacs-26
67902         cb0d40e (origin/emacs-26) Minor change in the manual
67903         7e26d83 More minor changes in the manual
67904         6851754 Replace some obsolete aliases in code
67905         6bcb48c Replace some obsolete aliases in documentation
67906         317da2a Minor improvements in manuals
67907         61c1f80 Minor copyedits in display.texi
67908         d523e4a Remove some unused spam.el variables
67909         501808c Replace some obsolete aliases in code
67910         19afff3 Replace some obsolete aliases in documentation
67911         c797bc9 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
67912         0efe0bd Obsolete eshell-cmpl-suffix-list
67913         add48d2 More minor changes in the Glossary of the Emacs manual
67914         f6bd7e0 Revert last commit
67915         af4697f Define if-let* and derivatives as aliases for if-let etc
67916         ec79bdc Minor fix in Emacs manual's Glossary
67918 2018-03-08  Eli Zaretskii  <eliz@gnu.org>
67920         Fix 'window-text-pixel-size' when display properties are around
67922         * src/xdisp.c (Fwindow_text_pixel_size): Correct the result when
67923         there's a display property at the  TO position, and the call to
67924         move_it_to overshoots.  (Bug#30746)
67926 2018-03-08  Michael Albinus  <michael.albinus@gmx.de>
67928         Add OpenDocument formats to Tramp file archives
67930         * doc/misc/tramp.texi (Archive file names):
67931         * lisp/net/tramp-archive.el (tramp-archive-suffixes):
67932         Add OpenDocument formats.
67934 2018-03-07  Mike Kupfer  <mkupfer@alum.berkeley.edu>
67936         * lisp/mh-e/mh-e.el (mh-variant-set): Tweak failure message.
67938         * lisp/mh-e/mh-utils.el (mh-find-path): Add missing part of previous.
67940 2018-03-07  Glenn Morris  <rgm@gnu.org>
67942         Suppress "No MH variant found" message (bug#30669)
67944         * lisp/mh-e/mh-e.el (mh-variant): Don't try to detect till needed.
67945         * lisp/mh-e/mh-e.el (mh-version, mh-variant-p):
67946         * lisp/mh-e/mh-comp.el (mh-insert-x-mailer):
67947         Ensure mh-variant-in-use is set.
67949 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
67951         Update from Gnulib
67953         This includes:
67954         2018-03-07 maint: write-file-hooks -> before-save-hook
67955         2018-03-05 binary-io: pacify gcc -Wunused-parameter
67956         2018-03-05 fflush: adjust to glibc 2.28 libio.h removal
67957         * build-aux/config.guess, build-aux/config.sub:
67958         * build-aux/gitlog-to-changelog, build-aux/install-sh:
67959         * build-aux/move-if-change, build-aux/update-copyright:
67960         * doc/misc/texinfo.tex, lib/binary-io.h, lib/fpending.c:
67961         * lib/stdio-impl.h: Copy from Gnulib.
67963 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
67965         Fix display of TABs in hscrolled windows with line numbers
67967         * src/dispextern.h (struct it): New members tab_offset and
67968         line_number_produced_p.
67969         * src/xdisp.c (display_line): Don't set row->x to a negative value
67970         if line numbers are being displayed.  (Bug#30582)
67971         Reset the line_number_produced_p flag before laying out the glyph
67972         row.
67973         (x_produce_glyphs): Use the line_number_produced_p flag to decide
67974         whether to offset the X coordinate due to line-number display.
67975         Use the tab_offset member to restore the original TAB width for
67976         alignment purposes.
67977         (move_it_in_display_line_to): Don't produce line numbers when moving
67978         in hscrolled window to the left of first_visible_x.
67979         (maybe_produce_line_number): Set the line_number_produced_p flag.
67980         (Bug#30584)
67981         * src/term.c (produce_glyphs): Correct TAB width only when
67982         line_number_produced_p flag is set.
67984 2018-03-06  Glenn Morris  <rgm@gnu.org>
67986         Condition em-cmpl's setting of pcomplete-suffix-list
67988         * lisp/eshell/em-cmpl.el (eshell-cmpl-initialize):
67989         Only set pcomplete-suffix-list if it is defined.
67991 2018-03-05  Glenn Morris  <rgm@gnu.org>
67993         Suppress some font-lock-fontify-buffer compiler warnings
67995         * lisp/htmlfontify.el (hfy-force-fontification):
67996         * lisp/progmodes/idlw-help.el (idlwave-help-fontify):
67997         Suppress compiler warning from backwards compatibility branch.
67999 2018-03-05  Glenn Morris  <rgm@gnu.org>
68001         Small auth-source-netrc-create fix
68003         * lisp/auth-source.el (auth-source-netrc-create):
68004         Fix handling of auth-source-netrc-use-gpg-tokens being a list.
68006 2018-03-05  Glenn Morris  <rgm@gnu.org>
68008         * lisp/emacs-lisp/ewoc.el (ewoc-goto-node):
68009         Simplify and quieten compiler.
68011 2018-03-05  Glenn Morris  <rgm@gnu.org>
68013         Suppress some unused lexical variable warnings in eshell
68015         * lisp/eshell/em-tramp.el (eshell/sudo):
68016         * lisp/eshell/em-unix.el (eshell/time):
68017         * lisp/eshell/esh-var.el (eshell/env):
68018         Pretend to use "args" to quieten compiler.
68020 2018-03-05  Glenn Morris  <rgm@gnu.org>
68022         Suppress some compiler warnings about pcomplete
68024         * lisp/erc/erc-dcc.el, lisp/eshell/em-xtra.el:
68025         Load pcomplete at run-time too, to silence compiler.
68027 2018-03-05  Glenn Morris  <rgm@gnu.org>
68029         * lisp/pcmpl-rpm.el (pcmpl-rpm-all-query): Fix typo in previous.
68031 2018-03-04  Paul Eggert  <eggert@cs.ucla.edu>
68033         uniqify -> uniquify
68035         The latter spelling is more common both within Emacs and in
68036         English-language sources in general (Bug#10048).
68037         * lisp/eshell/esh-util.el (eshell-uniquify-list):
68038         Rename from eshell-uniqify-list.  All callers changed.
68039         * lisp/pcomplete.el (pcomplete-uniquify-list):
68040         Rename from pcomplete-uniqify-list.  All callers changed.
68042 2018-03-04  Paul Eggert  <eggert@cs.ucla.edu>
68044         Spelling fixes (Bug#10068)
68046         * lisp/gnus/gnus-score.el (gnus-score-find-favorite-words):
68047         Rename from gnus-score-find-favourite-words.
68048         * lisp/hfy-cmap.el (hfy-fallback-color-map)
68049         (hfy-rgb-txt-color-map, hfy-fallback-color-values):
68050         * lisp/htmlfontify.el (hfy-color-vals, hfy-color):
68051         Rename from names that used 'colour' instead of 'color'.
68053 2018-03-04  Paul Eggert  <eggert@cs.ucla.edu>
68055         Merge from origin/emacs-26
68057         f2caf08ca6 ; Spelling fixes
68058         f0e5f220b6 * lisp/progmodes/grep.el (zrgrep):
68059         a0f71260f8 Minor copyedits in doc/emacs/text.texi
68060         adfe2f580f Remove outdated comment in syntax.el
68061         b80e15b6a6 Prevent Flyspell from changing unrelated words
68062         e385599457 Avoid errors in flymake in builds --without-x
68063         d691e30cb0 More improvements of the Emacs manual
68065 2018-03-04  Daniel Colascione  <dancol@dancol.org>
68067         Rename marker_free_list to misc_free_list
68069         * src/alloc.c: 'marker_free_list' -> 'misc_free_list' throughout
68071 2018-03-03  Glenn Morris  <rgm@gnu.org>
68073         * lisp/epa-mail.el (epa-mail-default-recipients): Replace obsolete func.
68075 2018-03-03  Glenn Morris  <rgm@gnu.org>
68077         Replace some obsolete functions in gnus
68079         * lisp/gnus/mml-sec.el (mml-secure-epg-encrypt):
68080         * lisp/gnus/smime.el (smime-ask-passphrase): Replace obsolete functions.
68082 2018-03-03  Bill Wohler  <wohler@newt.com>
68084         Add missing findex entries for recently removed kindex entries
68086         * doc/misc/mh-e.texi:
68088 2018-03-03  Juri Linkov  <juri@linkov.net>
68090         * lisp/isearch.el (search-exit-option): Add options ‘shift-move’ and ‘move’.
68092         Change type from ‘boolean’ to ‘choice’.  Extend docstring.
68093         (isearch-pre-move-point): New variable.
68094         (isearch-pre-command-hook, isearch-post-command-hook):
68095         Handle search-exit-option for values ‘move’ and ‘shift-move’.
68097         * doc/emacs/search.texi (Not Exiting Isearch): Document new
68098         values ‘shift-move’ and ‘move’ of search-exit-option.
68100         https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00013.html
68102 2018-03-03  Glenn Morris  <rgm@gnu.org>
68104         Quieten gud.el and gdb-mi.el compilation
68106         * lisp/progmodes/gud.el (gud-gdb):
68107         * lisp/progmodes/gdb-mi.el (gdb):
68108         Suppress "unused lexical argument" warning.
68110 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
68112         Improve commentary in simple,el
68114         * lisp/simple.el (next-error-last-buffer): Improve commentary.
68115         (Bug#20489)
68117 2018-03-03  Evgeni Kolev  <evgenysw@gmail.com>
68119         Fix font-lock in perl-mode
68121         * lisp/progmodes/perl-mode.el (perl-font-lock-keywords-1): Prevent
68122         the regexp from matching keywords if they start with a Perl sigil.
68123         (Bug#30549)
68125 2018-03-02  Glenn Morris  <rgm@gnu.org>
68127         Quieten eshell compilation
68129         * lisp/eshell/em-dirs.el (eshell-dirs-initialize, eshell/pwd):
68130         * lisp/eshell/em-script.el (eshell-script-initialize):
68131         * lisp/eshell/em-unix.el (eshell/whoami):
68132         * lisp/eshell/esh-proc.el (eshell/jobs): Mark unused arguments.
68134 2018-03-02  Glenn Morris  <rgm@gnu.org>
68136         * lisp/gnus/gnus.el (image-load-path): Declare for without-x builds.
68138 2018-03-02  Glenn Morris  <rgm@gnu.org>
68140         Merge from origin/emacs-26
68142         0213c8b (origin/emacs-26) mwheel minor consistency fix
68143         82f12b2 * src/window.c (Frecenter): Improve commentary.
68144         04da8f4 Fix downloading non-text files in EWW
68145         832b9ec ; Spelling fixes
68146         dd88499 ; Spelling fixes
68147         3968f72 Rename some mwheel options, for consistency
68148         d6e78de * lisp/vc/add-log.el (add-change-log-entry): Replace obsolete...
68149         5fe0387 Improve the Emacs manual
68150         56ab8e3 * lisp/dired-aux.el (dired-do-create-files): Doc fix.  (Bug#3...
68152         Conflicts:
68153                 etc/NEWS
68154                 lisp/mwheel.el
68156 2018-03-02  Glenn Morris  <rgm@gnu.org>
68158         Merge from origin/emacs-26
68160         304278c Further improvements on manuals
68162 2018-03-01  Noam Postavsky  <npostavs@gmail.com>
68164         Fix issues turned up by previous python.el change
68166         See [1] for more discussion.
68167         * lisp/progmodes/python.el (python--prettify-symbols-alist): Define
68168         the obsolete alias before the variable proper, so that we correctly
68169         get the user's settings regardless of which name they set.
68170         (python-nav-end-of-statement): Add missing backslash.
68171         (python-shell-send-file): Call `expand-file-name' before
68172         `file-local-name', the expansion of "~" could be different on remote
68173         filenames.
68174         (python-mode): Declare prettify-symbols-alist instead of checking if
68175         it's bound.  Use the non-obsolete python-prettify-symbols-alist name,
68176         rather than checking if the obsolete name is bound (it always is too,
68177         but the Emacs 24 byte compiler doesn't recognize that
68178         define-obsolete-variable-alias defines a variable).
68180         [1]: https://lists.gnu.org/archive/html/emacs-devel/2018-02/msg00826.html
68182 2018-03-01  Glenn Morris  <rgm@gnu.org>
68184         * admin/automerge: Quieten initial reset.
68186 2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68188         Arrange for loaddefs files to be greppable
68190         Without this change, ldefs-boot.el contains a couple of stray NUL
68191         bytes, which cause it to be considered to be a non-text file by
68192         tools like GNU grep.
68193         * lisp/emacs-lisp/autoload.el (autoload-print-form):
68194         Set print-escape-control-characters to t.
68196 2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68198         Improve octal-escape output in bool vectors and strings
68200         * src/print.c (octalout): New function.
68201         (print_vectorlike): When printing bool vectors, use
68202         octal escapes for control characters when
68203         print-escape-control-characters is non-nil, so that
68204         the printed representation avoids encoding issues.
68205         Rename locals to avoid byte-vs-char confusion.
68206         (print_object): Don't output unnecessary zeros when
68207         printing octal escapes.  Simplify by using octalout.
68209 2018-03-01  Glenn Morris  <rgm@gnu.org>
68211         Quieten nnir.el compilation
68213         * lisp/gnus/nnir.el (gnus-inhibit-demon, gnus-article-decode-hook):
68214         Declare dynamic variables.
68215         (nnir-request-group, nnir-retrieve-headers)
68216         (nnir-request-move-article, nnir-request-update-mark)
68217         (nnir-run-swish++, nnir-run-swish-e, nnir-run-namazu)
68218         (nnir-run-notmuch, nnir-registry-action)
68219         (nnir-request-create-group, nnir-request-delete-group)
68220         (nnir-request-list, nnir-request-scan): Mark unused arguments.
68221         (nnir-warp-to-article, nnir-run-imap, nnir-run-gmane)
68222         (nnir-get-active): Remove unused local variables.
68224 2018-03-01  Glenn Morris  <rgm@gnu.org>
68226         * lisp/progmodes/sql.el (sql-comint-oracle): Silence compiler.
68228 2018-03-01  Glenn Morris  <rgm@gnu.org>
68230         Quieten url-auth.el compilation
68232         * lisp/url/url-auth.el (url-digest-auth-nonce-count):
68233         Mark unused argument.
68235 2018-03-01  Glenn Morris  <rgm@gnu.org>
68237         Quieten ses.el compilation
68239         * lisp/ses.el (ses--edit-cell-completion-at-point-function)
68240         (ses--read-printer-completion-at-point-function):
68241         Mark unused arguments.
68243 2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68245         make-docfile: minor fixes and cleanups
68247         * lib-src/make-docfile.c: Include c-ctype.h.
68248         (read_c_string_or_comment, write_c_args, scan_c_stream, skip_white)
68249         (read_lisp_symbol, scan_lisp_file):
68250         Prefer c_isspace etc. to listing characters by hand.
68251         (read_c_string_or_comment): Simplify.
68252         (scan_c_stream, read_lisp_symbol): Use true for boolean 1.
68253         (scan_c_stream): Fix typo (c >= 'Z' && c <= 'Z').
68254         Minor rewrites to avoid duplicate code.
68255         (scan_c_stream, read_lisp_symbol, scan_lisp_file):
68256         Avoid infloop if at EOF.
68257         (skip_white, read_lisp_symbol): Don’t stuff getc result into
68258         ‘char’, as this mishandles EOF.
68260 2018-03-01  Glenn Morris  <rgm@gnu.org>
68262         * lisp/emulation/viper-ex.el (ex-cmd-read-exit): Silence compiler.
68264 2018-03-01  Glenn Morris  <rgm@gnu.org>
68266         Quieten defun-mh compilation
68268         * lisp/mh-e/mh-acros.el (defun-mh):
68269         Rewrite so the compiler can see it always defines target function.
68271 2018-03-01  Glenn Morris  <rgm@gnu.org>
68273         Quieten mh-compat compilation
68275         * lisp/mh-e/mh-compat.el (mh-assoc-string)
68276         (mh-replace-regexp-in-string): Silence compiler warnings.
68278 2018-03-01  Glenn Morris  <rgm@gnu.org>
68280         Simplify mh-thread-set-tables
68282         * lisp/mh-e/mh-thread.el (mh-thread-set-tables):
68283         Rewrite to simplify and remove compiler warning.
68285 2018-03-01  Glenn Morris  <rgm@gnu.org>
68287         Use select-message-coding-system in mh-comp
68289         * lisp/mh-e/mh-comp.el (mh-send-letter):
68290         Use select-message-coding-system.  (Bug#30060)
68292 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
68294         Remove redundant test in fns.c
68296         * src/fns.c (extract_data_from_object): Remove redundant
68297         CHECK_BUFFER test.
68299 2018-02-28  Glenn Morris  <rgm@gnu.org>
68301         Quieten without-x org compilation
68303         * lisp/org/org.el (image-refresh):
68304         * lisp/org/ox-odt.el (clear-image-cache, image-size): Declare.
68306 2018-02-28  Glenn Morris  <rgm@gnu.org>
68308         Quieten compilation of octave.el
68310         * lisp/progmodes/octave.el (compilation-forget-errors): Re-declare.
68312 2018-02-28  Glenn Morris  <rgm@gnu.org>
68314         * configure.ac (with_gconf): Respect --without-all.
68316 2018-02-28  Glenn Morris  <rgm@gnu.org>
68318         Quieten eshell compilation
68320         * lisp/eshell/em-tramp.el: Require esh-cmd.
68321         * lisp/eshell/esh-ext.el: Requie esh-io at runtime too.
68323 2018-02-28  Glenn Morris  <rgm@gnu.org>
68325         * lisp/url/url-handlers.el (mm-charset-to-coding-system): Declare.
68327 2018-02-28  Glenn Morris  <rgm@gnu.org>
68329         Fix header comment in generated bovine grammar file
68331         * lisp/cedet/semantic/bovine/grammar.el (bovine--make-parser-1):
68332         Fix header comment in generated scm-by.el.
68334 2018-02-28  Glenn Morris  <rgm@gnu.org>
68336         Quieten cedet "might not be defined at runtime" compile warnings
68338         * admin/grammars/scheme.by (semantic-parse-region):
68339         * lisp/cedet/ede.el (ede--project-inode):
68340         * lisp/cedet/semantic/texi.el (semantic-analyze-context):
68341         Declare.
68343 2018-02-28  Glenn Morris  <rgm@gnu.org>
68345         Merge from origin/emacs-26
68347         fd50238 (origin/emacs-26) * doc/lispref/streams.texi (Output Variable...
68348         769ea57 Use "GTK+" where applicable in the manual
68349         5e69219 Document print-escape-control-characters
68350         c00fea9 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
68351         a2ab0d0 * doc/emacs/killing.texi (Rectangles): Don't use @key for cha...
68352         6288c3d * lisp/emulation/viper.el: Unbreak it.
68353         bf3535e More fixes in the Emacs manual
68354         c87d04e Avoid aborts in 'md5'
68355         9743f48 Mark keys consistently in manuals
68356         ce557a9 Remove @key{} markups from @kindex entries in manuals
68357         71243f0 * doc/emacs/display.texi (Standard Faces): Fix markup of inde...
68358         7a069f3 Fix @kindex entries in manuals
68359         6218933 Fix @cindex entries in manuals
68360         57c9f12 Merge branch 'emacs-26' of git.sv.gnu.org:/srv/git/emacs into...
68361         e415309 Fix @cindex entries in org.texi
68362         560a23e Document reserved keys
68363         105d085 * doc/misc/ebrowse.texi: Use @key{} for keys.
68365         Conflicts:
68366                 doc/misc/tramp.texi
68367                 etc/NEWS
68369 2018-02-28  Michael Albinus  <michael.albinus@gmx.de>
68371         Some minor Tramp tweaks
68373         * lisp/net/tramp-adb.el (tramp-adb-get-ls-command): Fix docstring.
68375         * lisp/net/tramp-sh.el (tramp-vc-registered-read-file-names):
68376         Quote file.
68378         * lisp/net/tramp.el (tramp-handle-substitute-in-file-name):
68379         Make it more robust.
68381 2018-02-28  Dmitry Gutov  <dgutov@yandex.ru>
68383         Support PREDICATE in ido-read-buffer
68385         * lisp/ido.el (ido-predicate): New variable.
68386         (ido-read-buffer): Bind it.
68387         (ido-make-buffer-list): Use it.
68389 2018-02-27  Dmitry Gutov  <dgutov@yandex.ru>
68391         xref--next-error-function: Move xref's window point
68393         * lisp/progmodes/xref.el (xref--next-error-function): Move
68394         xref's window point if it's visible.  When we don't do that,
68395         navigation can start looping after a while.
68397 2018-02-27  Dmitry Gutov  <dgutov@yandex.ru>
68399         Fix xref--next-error-function behavior WRT current buffer
68401         * lisp/progmodes/xref.el (xref--show-location): Make sure to
68402         make the target window selected at the end, and its buffer
68403         current (bug#20489).
68405 2018-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
68407         * lisp/gnus/mm-decode.el: Use lexical-binding and use cl-lib
68409         (mm-display-parts): Remove unused arg 'no-default'.  Use 'cond'.
68410         (mm-display-external): Use closures rather than `(lambda ...).
68411         Don't bother with 'lexical-let'.
68412         (mm-insert-part): No need for string-to-multibyte now that
68413         'insert' will do that for us now (it used to behave more like
68414         string-make-multibyte).
68415         (mm-pipe-part): Remove unused var 'name'.
68416         (shr-width, shr-content-function, shr-inhibit-images): Declare.
68417         (mm-shr): Use a closure rather than `(lambda ...).
68419 2018-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
68421         * lisp/gnus/mm-extern.el: Use lexical-binding
68423         Don't require 'cl'.
68424         (mm-extern-anon-ftp): Remove unused var 'mode'.
68426 2018-02-27  Noam Postavsky  <npostavs@gmail.com>
68428         Fix python.el for Emacs 24, bump ELPA version to 0.26.1 (Bug#30633)
68430         Since python.el is distributed via GNU ELPA, it should be functional
68431         in earlier Emacs versions.  Also fix some compile warnings.
68432         * lisp/progmodes/python.el: Bump version to 0.26.1.  Define
68433         `prog-first-column' and `file-local-name' also at compile time, as
68434         needed.
68435         (inferior-python-mode-hook): Declare for the benefit of Emacs 24.3.
68436         (python-nav-end-of-statement): Fix format string for assertion error.
68437         (python-shell-tramp-refresh-process-environment): Don't `function'
68438         quote a symbol which might not be fbound.
68439         (python-mode): Only use prettify-symbols settings if they're bound.
68441 2018-02-27  Glenn Morris  <rgm@gnu.org>
68443         * lisp/nxml/nxml-mode.el (nxml-mode): Remove warning due to #'.
68445 2018-02-27  Glenn Morris  <rgm@gnu.org>
68447         Quieten without-x gnus compilation
68449         * lisp/gnus/gnus-group.el (image-load-path-for-library):
68450         * lisp/gnus/gnus-sum.el (image-load-path-for-library):
68451         * lisp/gnus/message.el (image-load-path-for-library): Declare.
68452         * lisp/gnus/gnus-cloud.el (gnus-group-refresh-group):
68453         * lisp/gnus/mml.el (image-property): Autoload.
68455 2018-02-27  Juri Linkov  <juri@linkov.net>
68457         * lisp/simple.el (next-error-find-buffer-function): Set default to #'ignore.
68459         (next-error-find-buffer): Don't check next-error-find-buffer-function
68460         for nil.  (Bug#20489)
68462 2018-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
68464         * lisp/dired.el (dired-get-filename): Don't string-to-multibyte
68466         We don't need to convert manually to multibyte now that Emacs doesn't silently
68467         convert (uni)bytes into latin-N chars depending on locale any more.
68469 2018-02-27  Glenn Morris  <rgm@gnu.org>
68471         Remove last vestiges of obsolete font-lock-face-attributes
68473         * lisp/ps-print.el (ps-font-lock-face-attributes): Remove function.
68474         (ps-build-reference-face-lists):
68475         No longer call ps-font-lock-face-attributes.
68476         * lisp/font-lock.el (font-lock-face-attributes):
68477         Remove stale declaration.
68479 2018-02-27  Glenn Morris  <rgm@gnu.org>
68481         Remove free variable warning when compiling viper using .el files
68483         * lisp/emulation/viper-cmd.el (viper-saved-mark): Move definition...
68484         * lisp/emulation/viper-util.el (viper-saved-mark): ... to here.
68486 2018-02-27  Aaron Jensen  <aaronjensen@gmail.com>
68488         Require a larger stack size for threads (bug#30364)
68490         * src/systhread.c (sys_thread_create) [THREADS_ENABLED && HAVE_PTHREAD]:
68491         Require at least 8MB stack size for x64 and 4MB for x86.
68493 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
68495         Update from gnulib
68497         This includes:
68498         2018-02-27 environ: fix link error on 32-bit Cygwin
68499         * doc/misc/texinfo.tex, lib/unistd.in.h: Copy from gnulib.
68501 2018-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
68503         * lisp/gnus/mm-util.el: Use lexical-binding and use cl-lib
68505         (mm-iso-8859-x-to-15-region): Remove unused var 'charset'.
68506         (mm-with-unibyte-buffer, mm-with-multibyte-buffer): Use 'declare'.
68507         (mm-with-unibyte-current-buffer): Remove.
68509 2018-02-27  Michael Albinus  <michael.albinus@gmx.de>
68511         Add ".msu" to Tramp file archives
68513         * doc/misc/tramp.texi (Archive file names):
68514         * lisp/net/tramp-archive.el (tramp-archive-suffixes):  Add ".msu".
68516 2018-02-26  Glenn Morris  <rgm@gnu.org>
68518         * lisp/dired-aux.el (dired-create-destination-dirs): Doc fix.
68520 2018-02-26  Mathieu Othacehe  <mathieu.othacehe@parrot.com>  (tiny change)
68522         Add coreutils 'ls' support for tramp adb
68524         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Allow '.'
68525         character in file permissions. It indicates an SELinux security
68526         context.
68527         (tramp-adb-get-ls-command): Detect Coreutils version of 'ls'.
68528         Use 'ls -1' instead of passing COLUMNS=1 env variable. This is
68529         isofunctional.  (Bug#30594)
68531 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
68533         Fix problem in tramp-handle-substitute-in-file-name
68535         * lisp/net/tramp.el (tramp-handle-substitute-in-file-name): Concat "/"
68536         only for local file "~".
68538 2018-02-26  Glenn Morris  <rgm@gnu.org>
68540         Remove leading * from two defcustom doc strings
68542         * lisp/gnus/mm-util.el (mm-extra-numeric-entities):
68543         * lisp/progmodes/cperl-mode.el (cperl-indent-subs-specially):
68544         Remove obsolete leading * from defcustom doc string.
68546 2018-02-26  Glenn Morris  <rgm@gnu.org>
68548         Quieten without-x, without-xml2 builds
68550         * lisp/help.el (x-display-pixel-height, x-display-pixel-width):
68551         * lisp/image.el (image-flush, image-size):
68552         * lisp/textmodes/sgml-mode.el (libxml-parse-html-region):
68553         Declare for compiler.
68555 2018-02-26  Glenn Morris  <rgm@gnu.org>
68557         Quieten without-x mwheel.el compilation
68559         * lisp/mwheel.el (mwheel-tilt-scroll-p, mwheel-flip-direction)
68560         (mwheel-scroll-left-function, mwheel-scroll-right-function)
68561         (mouse-wheel-left-event, mouse-wheel-right-event):
68562         Move definitions before use.
68564 2018-02-26  Glenn Morris  <rgm@gnu.org>
68566         * lisp/net/zeroconf.el (dbus-debug): Declare for builds without dbus.
68568 2018-02-26  Glenn Morris  <rgm@gnu.org>
68570         Quieten without-x lisp compilation
68572         * lisp/international/fontset.el (fontset-alias-alist):
68573         * lisp/term/ns-win.el (mouse-wheel-scroll-amount)
68574         (mouse-wheel-progressive-speed): Declare for without-x builds.
68576 2018-02-26  Glenn Morris  <rgm@gnu.org>
68578         * lisp/net/rcirc.el (rcirc-prompt-start-marker): Define before using.
68580         * lisp/term/ns-win.el (ns-version-string): Declare for non-ns builds.
68582 2018-02-26  Glenn Morris  <rgm@gnu.org>
68584         Remove compiler warnings due to #'
68586         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
68587         * lisp/ps-print.el (ps-print-region-function):
68588         Remove compiler warnings due to #'.
68590 2018-02-26  Glenn Morris  <rgm@gnu.org>
68592         Update some lisp function declarations
68594 2018-02-26  Daniel Colascione  <dancol@dancol.org>
68596         Make bare "make" in src actually build emacs again
68598         * src/Makefile.in (all): Move target ahead of dep-file inclusion.
68600 2018-02-26  Paul Eggert  <eggert@cs.ucla.edu>
68602         Update from gnulib
68604         * build-aux/config.guess, build-aux/config.sub: Copy from gnulib.
68606 2018-02-24  Glenn Morris  <rgm@gnu.org>
68608         Merge from origin/emacs-26
68610         560a23e (origin/emacs-26) Document reserved keys
68611         b0be19b ; * doc/emacs/xresources.texi (Table of Resources): Fix last ...
68613 2018-02-24  Glenn Morris  <rgm@gnu.org>
68615         Merge from origin/emacs-26
68617         7e7f2ea (origin/emacs-26) * src/keyboard.c (syms_of_keyboard): Doc fi...
68618         c0676d4 Improve documentation of X resources
68619         d806d69 ; Use @minus for negative numbers in some texi files
68620         4a8ea7d * lisp/international/mule.el (keyboard-coding-system): Doc fix.
68621         8a73b80 Minor doc fixes, mostly for timestamp issues
68622         361a8b9 * doc/emacs/mini.texi (Completion Styles): Improve indexing.
68623         2dc24d5 Fix @findex and @vindex entries in manuals
68624         76f5242 Document, in the Elisp manual, how to get a character's raw s...
68625         5fb2957 Improvements in the Emacs manual
68626         de17b8e Tiny doc/misc markup fixes
68628 2018-02-24  Robert Pluim  <rpluim@gmail.com>
68630         Describe 'view-lossage' changes in its docstring and NEWS
68632         * lisp/help.el (view-lossage): Mention that this now uses the same
68633         format as `edit-last-kbd-macro'.  (Bug#30560)
68635         * etc/NEWS: Improve the wording of the entry.
68637 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
68639         * .gitignore: revert latest change; not currently needed
68641 2018-02-23  Glenn Morris  <rgm@gnu.org>
68643         * lisp/vc/vc-git.el: Silence compiler.
68645         * admin/automerge: Quieten initial pull if start with reset.
68647 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
68649         Fix documentation from recent changes
68651         * lisp/isearch.el (isearch-yank-symbol-or-char): Doc fix.
68653         * doc/emacs/search.texi (Isearch Yank): Fix wording.
68654         * doc/emacs/building.texi (Grep Searching): Fix last change.
68656 2018-02-22  Daniel Colascione  <dancol@dancol.org>
68658         Add more build outputs to .gitignore
68660         * .gitignore: Add more generated files
68662 2018-02-22  Daniel Colascione  <dancol@dancol.org>
68664         Add isearch-yank-symbol-or-char
68666         * doc/emacs/search.texi (Isearch Yank): Document new
68667         function, keybindings.
68669         * etc/NEWS: Mention isearch changes.
68671         * lisp/isearch.el (isearch--yank-char-or-syntax): New function.
68672         (isearch-yank-word-or-char): Call it.
68673         (isearch-yank-symbol-or-char): New function.
68674         (isearch-mode-map): Change 'C-M-w' binding from
68675         'isearch-del-char' to isearch-yank-symbol-or-char; add 'C-M-d'
68676         binding for 'isearch-del-char'.
68678 2018-02-22  Daniel Colascione  <dancol@dancol.org>
68680         Remove unnecessary explicit subword-mode use from isearch
68682         * lisp/isearch.el (isearch-yank-word-or-char): Remove explicit
68683         use of subword-mode. These days, subword-mode use is an
68684         automatic side effect of forward-word.
68686 2018-02-22  Glenn Morris  <rgm@gnu.org>
68688         * lisp/vc/vc-git.el: Avoid bootstrap errors since recent grep change.
68690         The introduction of grep-find-hide-properties caused an
68691         "invalid read syntax" failure when saving ja-dic.el,
68692         when vc-git.el loaded grep.el.  Fortunately, vc-git doesn't
68693         actually need to load grep when being compiled.
68695 2018-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
68697         * test/lisp/emacs-lisp/package-tests.el: Improve signature tests
68699         (package-test-signed): Don't rely on return value of 'package-install'.
68700         Make sure 'package-install' does indeed install the package.
68702 2018-02-22  Juri Linkov  <juri@linkov.net>
68704         * lisp/help.el (view-lossage): Use the same format as in edit-last-kbd-macro.
68706         Call comment-indent with let-bound comment-start and comment-column.
68707         (Bug#30560)
68709 2018-02-22  Juri Linkov  <juri@linkov.net>
68711         * lisp/progmodes/grep.el (grep-find-hide): New defcustom (bug#30503).
68713         (grep-find-hide-properties): New variable.
68714         (grep-mode-font-lock-keywords): Put grep-find-hide-properties
68715         on part of grep command line.
68716         (grep-find-show): New function.
68717         * doc/emacs/building.texi (Grep Searching): Document grep-find-hide.
68719 2018-02-22  Glenn Morris  <rgm@gnu.org>
68721         Merge from origin/emacs-26
68723         83187cd (origin/emacs-26) Skip mouse-face overlap check when mouse-fa...
68724         a6d8f2b Fix capitalization of "Mail-Followup-To"
68725         f9640f9 * lisp/progmodes/grep.el (grep-compute-defaults):
68726         3a26c8a Semantic manual fixes
68727         106a9f6 More improvements in the Emacs manual
68728         244db85 * doc/misc/viper.texi (File and Buffer Handling): Add missing...
68729         f0d6a16 Fix documentation of 'x-underline-at-descent-line'
68730         69a8f45 * lisp/textmodes/flyspell.el (flyspell-get-word): Doc fix.
68731         05214c6 Correct variable markup in manuals
68732         355c644 Improve the "Sending Mail" chapter of Emacs manual
68734         Conflicts:
68735                 src/nsterm.m
68736                 src/w32term.c
68738 2018-02-22  Alexei Khlebnikov  <alexei.khlebnikov@gmail.com>
68740         Fix for: "25.0.50; auto-revert-mode breaks git rebase" (Bug#21559)
68742         * lisp/autorevert.el (auto-revert-handler):
68743         Set "revert-buffer-in-progress-p" flag before calling
68744         "vc-refresh-state".
68746         * lisp/vc/vc-git.el (vc-git-command):
68747         If "revert-buffer-in-progress-p" flag is set, prepend
68748         "GIT_OPTIONAL_LOCKS=0" to "process-environment".  (Bug#21559)
68750 2018-02-22  Michael Albinus  <michael.albinus@gmx.de>
68752         Fix Bug#30533
68754         * lisp/net/ange-ftp.el (ange-ftp-file-regular-p)
68755         (ange-ftp-real-file-regular-p): New defuns.  (Bug#30533)
68757 2018-02-21  Glenn Morris  <rgm@gnu.org>
68759         * admin/automerge (merge): Report no. of commits if too few.
68761 2018-02-21  Glenn Morris  <rgm@gnu.org>
68763         Speed up parallel make check by testing slower files first
68765         * test/Makefile.in (SLOW_TESTS): New variable.
68766         (ELFILES): Move slow tests to the front.
68768 2018-02-21  Glenn Morris  <rgm@gnu.org>
68770         * admin/automerge: Speed up check phase.
68772 2018-02-21  Juri Linkov  <juri@linkov.net>
68774         * lisp/simple.el (next-error-find-buffer-function): New defcustom.
68776         (next-error-last-buffer): Make variable buffer-local.
68777         (next-error-buffer-on-selected-frame): New function.
68778         (next-error-find-buffer): Use next-error-find-buffer-function
68779         at the first step instead of ad-hoc logic of using one window
68780         on the selected frame.
68781         (next-error, next-error-internal): Set default value of
68782         next-error-last-buffer.  Display message with the name of last
68783         next-error buffer.
68784         (next-error-select-buffer): New command.
68785         (Bug#20489)
68787 2018-02-21  Juri Linkov  <juri@linkov.net>
68789         * lisp/vc/vc-dispatcher.el (vc-do-command): Bind message-truncate-lines to t
68791         to keep entire commands in *Messages* but avoid resizing the echo area.
68792         Rephrase messages in a such way that the important parts are
68793         at the beginning.  (Bug#19045)
68795 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
68797         Another fix for cross-references
68799         * doc/emacs/package.texi (Package Installation): Fix references to
68800         "Early Init".  (Bug#30552)
68802 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
68804         Port recent MAX_RW_COUNT checks to POSIX
68806         * src/sysdep.c (MAX_RW_COUNT): Verify that it fits in POSIX standard
68807         types, to go along with already-existing checks for MS-Windows types.
68808         (emacs_intr_read): eassert on all platforms, not just MS-Windows.
68810 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
68812         Update from gnulib
68814         This includes:
68815         2018-02-18 warnings: Add support for Objective C
68816         2018-02-03 stdlib: Fix compilation error on OpenIndiana
68817         * lib/gnulib.mk.in: Regenerate.
68818         * lib/stdlib.in.h, m4/getloadavg.m4, m4/stdlib_h.m4, m4/warnings.m4:
68819         Copy from gnulib.
68821 2018-02-20  Sam Steingold  <sds@gnu.org>
68823         command-history-mode inherits from special-mode
68825         (command-history-mode-map): Add `special-mode-map' to parents.
68826         (command-history-mode): Parent is `special-mode', not
68827         `fundamental-mode', set `revert-buffer-function'.
68828         (command-history-revert): Define for `revert-buffer-function'.
68830 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
68832         Fix reference in Emacs manual
68834         * doc/emacs/custom.texi (Early Init File): Fix reference to ELisp
68835         manual.  (Bug#30552)
68837 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
68839         Fix false alarm with recent GCC x86
68841         * src/lread.c (Fload): Use UNINIT to pacify -Wmaybe-uninitialized
68842         false alarm on Fedora 27 x86 with GCC 7.3.1 20180130 (Red Hat 7.3.1-2).
68844 2018-02-20  Sam Steingold  <sds@gnu.org>
68846         ns_appsrc is not disjoint with srcdir/ns_appsrc
68848         (links): Avoid "file already exists" errors
68849         by removing the existing file.
68851 2018-02-20  Glenn Morris  <rgm@gnu.org>
68853         Merge from origin/emacs-26
68855         226aca3 (origin/emacs-26) Fix documentation of 'flyspell-auto-correct...
68856         a8c8434 * doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup.
68857         275e735 More changes in the Emacs manuals
68858         d962be5 More fixes in the Emacs manual
68859         6dc2846 * src/data.c (Faref): Fix a typo in the doc string.  (Bug#30510)
68860         36e729f Minor edit in tramp.texi
68861         6537f99 ; Fix oversight from last commit
68862         eb94588 ; * doc/emacs/maintaining.texi: Fix two typos.
68863         258135f More improvements in the Emacs manual
68864         f138bca Improve documentation of 'electric-pair-mode'
68865         f74ab96 ; Spelling and grammar fixes.
68866         42f9dc4 ; * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): ...
68868 2018-02-19  Eli Zaretskii  <eliz@gnu.org>
68870         Add assertion to guard 'read' calls on MS-Windows
68872         * src/sysdep.c (emacs_intr_read): Assert that NBYTES never
68873         overflows a 32-bit int.
68875 2018-02-19  Michael Albinus  <michael.albinus@gmx.de>
68877         Add ".xpi" to Tramp file archives
68879         * doc/misc/tramp.texi (Archive file names):
68880         * lisp/net/tramp-archive.el (tramp-archive-suffixes): Add ".xpi".
68882 2018-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
68884         * lisp/progmodes/elisp-mode.el (eval-sexp-add-defvars): Don't macroexpand.
68886         Otherwise it breaks C-M-x on (progn (defmacro x ..) (... (x ...))).
68887         Furthermore, many callers do their own macroexpansion anyway.
68888         (elisp--eval-last-sexp): Do macroexpansion to make up for it.
68890 2018-02-17  Stefan Monnier  <monnier@iro.umontreal.ca>
68892         * lisp/vc/diff-mode.el (diff-wiggle): New command.
68894 2018-02-17  Stefan Monnier  <monnier@iro.umontreal.ca>
68896         * lisp/startup.el (load-user-init-file): Use condition-case-unless-debug.
68898         (argv, argi): Silence compiler warning.
68900 2018-02-17  Stefan Monnier  <monnier@iro.umontreal.ca>
68902         * lisp/calendar/icalendar.el: Fix compilation warnings
68904         (icalendar-export-region): Remove unused vars 'start', 'sum', and
68905         'contents-n-summary'.
68906         (icalendar--parse-summary-and-rest): Remove unused var 'pos-sum' and 'sum'.
68907         (icalendar--convert-float-to-ical): Use calendar-let* to bind vars
68908         'date' and 'entry'.
68909         (icalendar--convert-non-recurring-all-day-to-diary):
68910         Remove 'event' arg.  Update callers.
68911         (icalendar--convert-non-recurring-not-all-day-to-diary): Remove 'event'
68912         and 'dtend-dec' args.  Update callers.
68914 2018-02-17  Glenn Morris  <rgm@gnu.org>
68916         * doc/lispref/package.texi (Packaging Basics): Fix xref.
68918 2018-02-17  Glenn Morris  <rgm@gnu.org>
68920         Merge from origin/emacs-26
68922         e5a2933 (origin/emacs-26) lisp/vc/: documentation fixes
68923         f21f8e6 Document 'desktop-files-not-to-save'
68924         d8917eb Improve documentation of Profiling features
68925         b228839 Improve indexing of "performance" in ELisp manual
68926         ab67b3e Minor change in Emacs manual's VC chapter
68927         c352434 Avoid memory corruption with specpdl overflow + edebug (Bug#3...
68928         593bbda Document comment-fill-column in the manual (Bug#11636)
68929         bd4cc8d * doc/emacs/dired.texi (Marks vs Flags): Copyedits.
68930         69107f3 ; Fix doc typos related to indefinite articles
68931         aaad1e6 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
68932         5906418 More fixes for the Emacs manual
68933         9ab3df1 ; Fix doc typos related to indefinite articles
68934         66a4e65 ; Fix doc typos related to indefinite articles
68935         35e5c57 ; Fix doc typos related to indefinite articles
68937 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
68939         Use pkg-config to find lcms2 CFLAGS and LIBS (Bug#30346)
68941         * configure.ac: Use EMACS_CHECK_MODULES fors LCMS2 rather than
68942         AC_SEARCH_LIBS.
68943         * src/Makefile.in: Get LCMS2_LIBS and LCMS2_CFLAGS from configure,
68944         instead of just LIBLCMS2.
68946 2018-02-17  Allen Li  <darkfeline@felesatra.moe>
68948         Preserve special abbrev properties when writing
68950         Fixes bug#29924
68952         * lisp/abbrev.el (abbrev--write): Write abbrev properties when set.
68954 2018-02-17  Alan Third  <alan@idiocy.org>
68956         Fix modifier key handling on macOS
68958         * configure.ac: Use the Carbon framework on macOS.
68959         * src/nsterm.m (ns_get_shifted_character) [NS_IMPL_COCOA]: New function.
68960         (EmacsView::keyDown) [NS_IMPL_COCOA]: Use ns_get_shifted_character
68961         when we have shift style modifiers.
68963 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
68965         Make echo-area buffers  almost always multibyte
68967         * src/xdisp.c (setup_echo_area_for_printing, set_message_1): Ensure
68968         the echo-area buffer is multibyte, unless
68969         unibyte-display-via-language-environment is non-nil, and the text
68970         we are to display is or could be unibyte.  (Bug#30405)
68972 2018-02-17  Radon Rosborough  <radon.neon@gmail.com>
68974         Add early init file, stop package-initialize insertion
68976         Discussion on emacs-devel leading up to this change (approximately 150
68977         messages):
68979         - https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00154.html
68980         - https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00433.html
68981         - https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00023.html
68982         - https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00599.html
68983         - https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00332.html
68985         * lisp/startup.el (early-init-file): New variable.
68986         (load-user-init-file): New function.
68987         (command-line): Load the early init file using `load-user-init-file'.
68988         Move the check for an invalid username to just before that, and move
68989         the initialization of the package system to just after.  Load the
68990         regular init file using `load-user-init-file'.
68991         * lisp/emacs-lisp/package.el (package--ensure-init-file): Remove
68992         definition, usage, and documentation.
68993         (package--init-file-ensured): Remove definition and usage.
68995         * src/lread.c (Vuser_init_file): Note change in semantics due to its
68996         usage while loading the early init file.
68998         * doc/emacs/custom.texi: Document early init file.
68999         * doc/emacs/package.texi: Document changes to when package-initialize
69000         is called.  Change terminology for package 'loading'.
69001         * doc/lispref/os.texi: Document early init file.  Update startup
69002         summary.
69003         * doc/lispref/package.texi: Document changes to when
69004         package-initialize is called, and advise against calling it in the
69005         init file.  Change terminology for package 'loading'.
69006         * doc/misc/org.texi: Don't recommend to call package-initialize in the
69007         init file.
69009 2018-02-17  Alan Mackenzie  <acm@muc.de>
69011         Fix the change from 2018-02-15 which didn't mention literals
69013         * doc/emacs/programs.texi (Left Margin Paren): Document that opening
69014         delimiters at column 0 which are inside strings or comments aren't regarded as
69015         defun starts.
69017 2018-02-16  Glenn Morris  <rgm@gnu.org>
69019         Quieten compilation of icalendar.el
69021         * lisp/calendar/icalendar.el (icalendar-import-buffer)
69022         (icalendar--convert-ical-to-diary, icalendar--add-diary-entry):
69023         Eliminate "Lexical argument shadows the dynamic variable" warning.
69025 2018-02-16  Glenn Morris  <rgm@gnu.org>
69027         Merge from origin/emacs-26
69029         a06a8ed (origin/emacs-26) ; * lisp/vc/vc-git.el (vc-git--program-vers...
69030         edc06ad Make 'byte-compile-error-on-warn' a safe file variable
69031         9f5d8da ; * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): ...
69032         f73905a Fix the doc string of flyspell-auto-correct-word
69033         e9c7ddc Improve the MS-Windows appendix of the Emacs manual
69034         6ddb4bd Fix 'vc-git--program-version'
69035         63c93f7 Fix typos and wording in the Emacs manual
69036         42f15b0 * doc/emacs/programs.texi (Semantic): Order programming langu...
69037         b46be29 More improvements for the Emacs manual
69038         874c0ed Minor wording change in Emacs manual
69039         53511f9 Another set of changes for the manual
69040         78426b8 Improvements on tramp.texi
69041         0dca618 Tramp minor doc fixes
69043         Conflicts:
69044                 doc/misc/tramp.texi
69046 2018-02-16  Matthias Dahl  <matthias.dahl@binary-island.eu>
69048         Fix wait_reading_process_output wait_proc hang
69050         * src/process.c (read_process_output): Track bytes read from
69051         a process.
69052         (wait_reading_process_output): If called recursively through
69053         timers and/or process filters via accept-process-output, it is
69054         possible that the output of wait_proc has already been read by
69055         one of those recursive calls, leaving the original call hanging
69056         forever if no further output arrives through that fd and no
69057         timeout has been set.  Fix that by using the process read
69058         accounting to keep track of how many bytes have been read and
69059         use that as a condition to break out of the infinite loop and
69060         return to the caller as well as to calculate the proper return
69061         value (if a wait_proc is given that is).
69063         * src/process.h (struct Lisp_Process): Add nbytes_read to track
69064         bytes read from a process.
69066 2018-02-16  Aaron Jensen  <aaronjensen@gmail.com>
69068         Don't flash previous buffer when connecting with emacsclient
69070         * lisp/server.el (server-execute): Accept lambda for creating
69071         frame rather than frame.  Ensure newly created tty frame
69072         initially shows the correct buffer.
69073         (server-process-filter): Pass a lambda to server-execute to create
69074         a frame.  (Bug#24218)
69076 2018-02-15  Alan Mackenzie  <acm@muc.de>
69078         Document open-paren-in-column-0-is-defun-start being of less importance
69080         * doc/emacs/programs.texi (Left Margin Paren): Update to reflect the recent
69081         change in syntax.c, whereby a paren at column 0 is no longer taken as a
69082         beginning of defun in moving backwards over comments.
69084 2018-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>
69086         * lisp/calendar/diary-lib.el (diary-remind): Fix bug#30455.
69088         (diary-remind): Bind `days' as documented for diary-remind-message.
69090 2018-02-13  Glenn Morris  <rgm@gnu.org>
69092         Stop keeping multiple doc copies for items defined multiple times
69094         It was always a nuisance to keep all the copies in sync.
69095         * src/doc.c (Fsnarf_documentation): Don't skip entire files.
69096         Instead, skip individual doc strings starting with "SKIP".
69097         * doc/lispref/internals.texi (Writing Emacs Primitives):
69098         Mention this skipping.
69099         * lisp/term/ns-win.el, lisp/term/pc-win.el, src/dosfns.c:
69100         * src/frame.c, src/nsfns.m, src/nsmenu.m, src/nsterm.m:
69101         * src/w16select.c, src/w32fns.c, src/w32menu.c, src/w32select.c:
69102         * src/w32term.c, src/xmenu.c: Remove duplicated doc strings.
69103         * src/xfns.c: Merge in information from doc string duplicates.
69105 2018-02-13  Glenn Morris  <rgm@gnu.org>
69107         Doc tweak for x-use-underline-position-properties
69109         * src/xterm.c (syms_of_xterm) <x-use-underline-position-properties>:
69110         Remove ancient information from doc.
69111         * etc/PROBLEMS: Related edit.
69113 2018-02-13  Glenn Morris  <rgm@gnu.org>
69115         Merge from origin/emacs-26
69117         333d6f4 (origin/emacs-26) More changes in the Emacs manual
69118         52ca0d1 * lisp/vc/vc.el (vc-deduce-backend): Use ignore-errors.
69119         69e8046 Don't signal error in vc-deduce-backend
69120         f568c91 * doc/misc/tramp.texi: Index more user options.
69121         92ca881 Minor change in the Emacs manual
69122         e055a12 NEWS update about 'string-trim'
69123         96b6e24 Clarify TRAMP process-environment interaction (Bug#30419)
69124         4fa467e * lisp/progmodes/grep.el (grep-num-matches-found): New variable.
69125         a22820a Avoid aborts in cm.c due to too small TTY frame
69126         26f6441 Another set of improvements in the Emacs manual
69127         cef3b42 Fix help in mode-line-mode-menu
69128         f8a493c Improve documentation of desktop restoring
69129         10637af Improve the Emacs manual's chapter "Frames"
69130         d924953 Fix unbound mm-uu-entry in mm-uu
69131         cb2487b Improve Emacs user manual in fixit.texi
69132         66e9527 Another minor change in the manual
69133         6a1c03d More minor changes in the Emacs manual
69134         32fb8c4 Avoid printing garbled error message from image.el
69136         Conflicts:
69137                 etc/NEWS
69138                 lisp/image.el
69140 2018-02-13  Philipp Stephani  <phst@google.com>
69142         Fix NS-related compilation errors.
69144         * src/nsterm.m (ns_set_represented_filename): Remove unused variable
69145         'view'.
69147         * src/nsfns.m (x_implicitly_set_name, syms_of_nsfns): The type of a
69148         variable defined with DEFVAR_BOOL is 'bool', not 'Lisp_Object'.
69150 2018-02-12  Rami Ylimäki  <rami.ylimaki@vincit.fi>
69152         Expand direct color description in Emacs FAQ
69154         * doc/misc/efaq.texi (Colors on a TTY): Show how to list direct
69155         mode TERM definitions.  (Bug#30429)
69157 2018-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
69159         * lisp/gnus/message.el (message-ecomplete-capf): Fix call convention.
69161 2018-02-12  Noam Postavsky  <npostavs@gmail.com>
69163         * lisp/progmodes/python.el: Bump package version to 0.26.
69165 2018-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69167         Work if libpng is in /usr/local (2nd try)
69169         Problem reported by Werner Lemberg in:
69170         https://lists.gnu.org/r/emacs-devel/2018-02/msg00304.html
69171         with a further fix suggested by Glenn Morris in Bug#30431#14.
69172         * configure.ac: Try pkg-config before libpng-config.
69173         Adjust LIBPNG accordingly, and append -lz regardless of
69174         whether it was pkg-config.
69176 2018-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69178         Finish renaming to internal--daemon-sockname
69180         * doc/lispref/processes.texi (Misc Network): Omit discussion of
69181         internal--daemon-sockname, as non-Emacs code shouldn't rely on it.
69182         * src/process.c (syms_of_process): Rename internal-daemon-sockname
69183         to internal--daemon-sockname.  All uses changed.
69185 2018-02-12  Matthew Leach  <matthew@mattleach.net>
69187         Rename internal--external-sockname and document (Bug#24218)
69189         * lisp/server.el: Rename `internal--external-sockname' to
69190           `internal-daemon-sockname'.
69191         * src/process.c: Likewise.
69192         * doc/lispref/processes.texi: Document `internal-daemon-sockname'.
69194 2018-02-12  Matthew Leach  <matthew@mattleach.net>
69196         Update `server-name' :version & document sockname (Bug#24218)
69198         * lisp/server.el: (server-name): Update :version tag.
69199         * etc/NEWS: Document that `server-name' and `server-socket-dir'
69200           automatically update.
69201         * doc/emacs/misc.texi: (Emacs Server): Likewise.
69203 2018-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69205         Minor cleanups for server-name fix (Bug#24218)
69207         * lisp/server.el (server--external-socket-initialized): Rename
69208         from server-external-socket-initialised, since it should be
69209         private and Emacs uses American spelling.  All uses changed.
69210         * src/emacs.c, src/lisp.h: Revert previous changes, as the
69211         initialization is now done in src/process.c, which already
69212         includes the relevant files.
69213         * src/process.c (union u_sockaddr): Move decl to top level.
69214         (external_sock_name, Fget_external_sockname): Remove, replacing
69215         with Vinternal__external_sockname.  All uses changed.
69216         (init_process_emacs): Deduce socket name ourselves rather than
69217         have main.c do it.  Use conv_sockaddr_to_lisp instead of doing
69218         it by hand.  Conditionalize it on HAVE_GETSOCKNAME.
69220 2018-02-12  Matthew Leach  <matthew@mattleach.net>
69222         Fix `server-name' and `server-socket-dir' for (Bug#24218)
69224         * lisp/server.el: (server-external-socket-initialised): New
69225         (server-name): Compute server name from `get-external-sockname'.
69226         (server-socket-dir): Compute socket dir from
69227         `get-external-sockname'.
69228         (server-start): Don't check for existing server when an
69229         uninitialised external socket has been passed to Emacs.
69230         * src/emacs.c: (main): Obtain socket name via getsockname and pass
69231         to `init_process_emacs'.
69232         * src/lisp.h: (init_process_emacs): Add second parameter.
69233         * src/process.c: (external_sock_name): New.
69234         (get-external-sockname): New.
69235         (init_process_emacs): Set `external_sock_name' to `sockname'
69236         parameter.
69238 2018-02-12  Tom Tromey  <tom@tromey.com>
69240         Minor fixes to .gdbinit
69242         * src/.gdbinit (xcompiled): Emit a final newline.
69243         (python): Define "long" if not already defined.  Use casts to long,
69244         not int.
69246 2018-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69248         Revert libpng /usr/local patch
69250         It broke builds on Arch, Debian, OpenSuSE; see thread containing:
69251         https://lists.gnu.org/r/2018-02/msg00330.html
69252         * configure.ac: Don't try pkg-config; just use libpng-config.
69254 2018-02-11  Paul Eggert  <eggert@cs.ucla.edu>
69256         Work even if libpng is installed in /usr/local
69258         Problem reported by Werner Lemberg in:
69259         https://lists.gnu.org/r/emacs-devel/2018-02/msg00304.html
69260         * configure.ac: Try pkg-config before libpng-config.
69262 2018-02-11  Dmitry Gutov  <dgutov@yandex.ru>
69264         Fix an infloop in python-nav-beginning-of-statement
69266         * lisp/progmodes/python.el (python-nav-beginning-of-statement):
69267         Fix an infloop (bug#30277).
69269 2018-02-11  Paul Eggert  <eggert@cs.ucla.edu>
69271         Merge from pkg-config
69273         * m4/pkg.m4: Copy from pkg-config 0.29.2.
69275 2018-02-11  Alan Third  <alan@idiocy.org>
69277         Fix modifier keys on NS port
69279         * src/nsterm.m (EV_MODIFIERS_OPTION):
69280         (EV_MODIFIERS_CONTROL):
69281         (EV_MODIFIERS_COMMAND): New macros.
69282         (ev_modifiers_helper): New function.
69283         (EV_MODIFIERS2): Use new helper function.
69284         (EmacsView::keyDown): Remove duplicate functionality and handle fn key
69285         correctly.
69287 2018-02-11  Alan Third  <alan@idiocy.org>
69289         Tidy up NS keybindings
69291         * lisp/term/ns-win.el: Remove unneeded mappings to super-shifted keys.
69293 2018-02-11  Alan Third  <alan@idiocy.org>
69295         Remove NS special handling of 'frame-title-format'
69297         * lisp/term/ns-win.el (frame-title-format, icon-title-format): Change
69298         default format to just the filename.
69299         * src/nsfns.m (ns-use-proxy-icon): New variable.
69300         (ns_set_name_as_filename): Remove function.
69301         (x_implicitly_set_name): Get rid of special handling of
69302         frame-title-format.
69303         * src/nsterm.h (ns_set_represented_filename): Use new definition.
69304         * src/nsterm.m (ns_set_represented_filename): Move some of the logic
69305         from ns_set_name_as_filename into this function.
69307 2018-02-11  Paul Eggert  <eggert@cs.ucla.edu>
69309         * src/xdisp.c (Vmessage_stack): Fix comment to match code.
69311 2018-02-11  Michael Albinus  <michael.albinus@gmx.de>
69313         Fix handling of file notifications in tramp-gvfs.el
69315         * lisp/net/tramp-archive.el (tramp-archive-dissect-file-name):
69316         Fix docstring.
69318         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
69319         Use consequently "gio monitor".
69320         (tramp-gvfs-monitor-process-filter): Rename from
69321         `tramp-gvfs-monitor-file-process-filter'.  Adapt implementation.
69323         * lisp/net/tramp-sh.el (tramp-gio-events): Move this ...
69324         * lisp/net/tramp.el (tramp-gio-events): ... here.
69326 2018-02-10  Juri Linkov  <juri@linkov.net>
69328         * lisp/window.el (display-buffer--maybe-at-bottom): New function (bug#30314).
69330         (display-buffer--maybe-pop-up-frame)
69331         (display-buffer--maybe-pop-up-window): New functions created from
69332         display-buffer--maybe-pop-up-frame-or-window.
69333         (display-buffer--maybe-pop-up-frame-or-window): Call
69334         display-buffer--maybe-pop-up-frame or
69335         display-buffer--maybe-pop-up-window.
69336         (display-buffer-at-bottom): Fix parens.
69338         * lisp/minibuffer.el (minibuffer-completion-help): Use
69339         display-buffer--maybe-pop-up-frame instead of let-binding
69340         pop-up-windows to nil.
69342         * lisp/files.el (hack-local-variables-confirm)
69343         (save-buffers-kill-emacs): Use display-buffer--maybe-at-bottom.
69345 2018-02-10  Juri Linkov  <juri@linkov.net>
69347         * lisp/comint.el (comint-after-pmark-p): Check if buffer has a live process.
69349         Return nil if not.
69350         (comint-history-isearch-setup): Don't check if process is live.
69351         Always check if shell prompt is empty regardless of the value
69352         of comint-history-isearch. (Bug#30187)
69354 2018-02-10  Rami Ylimäki  <rami.ylimaki@vincit.fi>
69356         Support standard Terminfo direct mode terminals
69358         Latest Terminfo introduces terminal definitions that support direct
69359         color mode.  The "Co"/"colors" capability is set to 0x1000000 on these
69360         terminals and Emacs is already compatible with them.
69361         However, if used Terminfo library hasn't been compiled with 32-bit
69362         value support, "Co"/"colors" is truncated to 0x7fff.  In this case
69363         direct color mode support can be detected from the "RGB" capability
69364         flag.
69365         There are some minor problems if the color count isn't corrected from
69366         0x7fff.  First eight standard colors defined in xterm-standard-colors
69367         are shown correctly.  However, their RGB values match the terminal
69368         settings, not the RGB values defined in xterm-standard-colors.  Bright
69369         versions of these colors are shown incorrectly.  They are interpreted
69370         as pixels #000008 - #000015, which are very dark shades of blue.
69372         * src/term.c (init_tty): Force terminal color count to 0x1000000 if
69373         "RGB" capability is present.
69374         * src/tparam.h: Define prototype for tigetflag.  (Bug#30308)
69376         * doc/misc/efaq.texi (Colors on a TTY): Add information about direct
69377         mode terminals supported by Terminfo.
69379 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
69381         Avoid infinite recursion in file_directory_p
69383         * src/fileio.c (file_directory_p) [DOS_NT]: Call faccessat on
69384         MS-DOS as well, to avoid infinite recursion introduced by last
69385         change in this function.
69387 2018-02-10  Martin Rudalics  <rudalics@gmx.at>
69389         Make tooltip code handle scenarios from Bug#30182 and Bug#30399
69391         Move calculation of the mode line default help echo from
69392         note_mode_line_or_margin_highlight to display_mode_lines
69393         (Bug#30182).  Fix cursor type for dragging the mode line.
69394         Normalize FRAME argument of Fx_show_tip before assigning it to
69395         tip_last_frame and handle the transition from GTK+ to Emacs
69396         tooltips and vice-versa in x_hide_tip (Bug#30399).
69398         * src/window.h (struct window): New Lisp member
69399         mode_line_help_echo.
69400         (wset_mode_line_help_echo): New function.
69401         * src/w32fns.c (Fx_show_tip): Normalize the FRAME argument
69402         before storing it in tip_last_frame (Bug#30399).
69403         * src/xdisp.c (display_mode_lines): Calculate mode line
69404         default help echo string here and store it in the window's
69405         mode_line_help_echo slot (Bug#30182).
69406         (note_mode_line_or_margin_highlight): Use value in window's
69407         mode_line_help_echo slot as mode line default help echo.  When
69408         the window is resizable show a vertical drag cursor instead of
69409         the vertical scroll bar cursor.
69410         * src/xfns.c (x_hide_tip): Rewrite the GTK+ part to correctly
69411         handle the transition from GTK+ system to Emacs tooltips and
69412         vice-versa (Bug#30399).
69413         (Fx_show_tip): Normalize the FRAME argument before storing it
69414         in tip_last_frame (Bug#30399).
69416 2018-02-10  Michael Albinus  <michael.albinus@gmx.de>
69418         Handle "gio monitor" in tramp-sh.el
69420         * lisp/net/tramp-sh.el (tramp-gio-events): New defconst.
69421         (tramp-sh-handle-file-notify-add-watch): Handle "gio monitor" extra.
69422         (tramp-sh-gio-monitor-process-filter)
69423         (tramp-get-remote-gio-monitor): New defuns.
69424         (tramp-sh-gvfs-monitor-dir-process-filter)
69425         (tramp-get-remote-gvfs-monitor-dir): Do not check for gio anymore.
69427 2018-02-09  Glenn Morris  <rgm@gnu.org>
69429         Merge from origin/emacs-26
69431         0276743 (origin/emacs-26) Doc string fix in latin-alt.el
69432         c9269af Minor improvements in package.texi
69433         898a3e4 Minor improvement in Emacs user manual
69434         8f7d718 * doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3.
69435         989d0af Improve documentation of mini-window resizing
69436         923e415 More changes in the Emacs manual
69437         565adf2 Clarify that text-quoting-style doesn't affect *Info* (Bug#24...
69438         2dd273b Mention that shell quoting of % on w32 may fail (Bug#19350)
69439         19fa6d5 Fix --no-build-details for w32 and macOS
69440         979944c * doc/lispref/anti.texi (Antinews): Add some more antinews.
69441         c2727e3 Fix crashes when run with --no-build-details
69442         dc08490 More changes for the manual
69443         04c5bd5 Doc fixes for process functions (Bug#30349)
69444         e209034 Fix shr and CSS 4 color maps
69445         5fe8192 Yet another round of improvements in the manual
69447         Conflicts:
69448                 doc/emacs/files.texi
69449                 test/lisp/subr-tests.el
69451 2018-02-08  Daniel Colascione  <dancol@dancol.org>
69453         Fix iswitchb highlighting: don't mutate buffer name
69455         * lisp/obsolete/iswitchb.el (iswitchb-completions): Copy buffer name
69456           before applying face
69458 2018-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>
69460         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Handle lambda!
69462         (cl--old-macroexpand): Remove.
69463         (cl--sm-macroexpand): Change its calling convention, so it can use
69464         advice-add.  Extend re-binding treatment of vars so it applies to all
69465         var-introducing forms rather than only to 'let'.
69466         (cl-symbol-macrolet): Use advice-add rather than fset.
69468 2018-02-08  Glenn Morris  <rgm@gnu.org>
69470         Remove unused duplicate of minibuffer-completion-contents
69472         * src/minibuf.c (Fminibuffer_completion_contents): Remove.
69473         Unused since introduction of minubuffer.el 2008-04-09.
69474         (syms_of_minibuf): Remove Sminibuffer_completion_contents.
69475         * lisp/minibuffer.el (minibuffer-completion-contents): Doc tweak.
69477 2018-02-06  Juri Linkov  <juri@linkov.net>
69479         * lisp/comint.el (comint-history-isearch-setup): Check if process is live.
69481         Don't activate comint-history isearch when shell prompt is empty
69482         like in all *Async Shell Command* buffers. (Bug#30187)
69484 2018-02-06  Juri Linkov  <juri@linkov.net>
69486         * lisp/dired.el (dired-get-marked-files): Add new optional arg 'error'.
69488         Call user-error when it's non-nil and result is empty (bug#30285).
69490         * lisp/dired-aux.el (dired-do-chxxx, dired-do-chmod)
69491         (dired-do-print, dired-do-async-shell-command)
69492         (dired-do-shell-command, dired-do-compress-to)
69493         (dired-mark-confirm, dired-do-create-files)
69494         (dired-do-isearch, dired-do-isearch-regexp)
69495         (dired-do-query-replace-regexp, dired-do-find-regexp):
69496         * lisp/dired-x.el (dired-do-find-marked-files):
69497         Set arg 'error' of dired-get-marked-files call to t.
69499 2018-02-06  Juri Linkov  <juri@linkov.net>
69501         Support occur command operating on the region from Isearch.
69503         * lisp/isearch.el (isearch-occur): Use region-bounds as region arg of occur.
69504         (isearch-query-replace): Use use-region-p.
69506         * lisp/replace.el (occur--region-start-line): Rename from
69507         occur--matches-threshold.
69508         (occur): Use complete lines when region is active for line-oriented occur.
69509         (occur-engine): Count lines either from occur--region-start-line or 1.
69511 2018-02-05  Paul Eggert  <eggert@cs.ucla.edu>
69513         Work around macOS faccessat bug
69515         * src/fileio.c (file_accessible_directory_p): Append an
69516         extra "/" to work around macOS bug in faccessat (Bug#30350).
69518 2018-02-05  Juri Linkov  <juri@linkov.net>
69520         Support list-matching-lines-jump-to-current-line for context lines.
69522         * lisp/replace.el (occur--orig-line-str): Remove.
69523         (occur): Remove occur--orig-line-str.
69524         (occur-engine): Use add-face-text-property to add the face
69525         list-matching-lines-current-line-face to the current line.
69526         Use previous-single-property-change to find occur--final-pos.
69527         (occur-context-lines): New args orig-line and multi-occur-p.
69528         Find the current line in context lines and add face to it.
69529         (Bug#30281)
69531 2018-02-05  Glenn Morris  <rgm@gnu.org>
69533         Merge from origin/emacs-26
69535         c787a49 (origin/emacs-26) * lisp/vc/vc-git.el (vc-git-print-log): Res...
69536         b654791 * doc/emacs/misc.texi (Interactive Shell): Refer to node "Min...
69537         f1102d2 Yet another round of fixing the Emacs manual
69538         76b5a68 * etc/NEWS: Expunge the solecism "allow(s)" + infinitive
69539         b4ff8cc Two minor fixes in Antinews
69540         aafcd12 * etc/NEWS: Rename image-dired-thumb-job-limit
69541         a893924 * lisp/simple.el (async-shell-command, shell-command): Fix gr...
69542         699081f Fix deferred display of async shell-command buffers
69543         d2d5e54 Mention remote file name completion in Emacs manual
69544         f589f5a Yest another round of manual copyedits
69545         1ed4089 Update xdisp.c commentary
69546         e23de39 Fix Bug#30324
69547         e1a9dc0 Recognize Org as builtin package (bug#30310)
69549         Conflicts:
69550                 etc/NEWS
69552 2018-02-05  Michael Albinus  <michael.albinus@gmx.de>
69554         Fix inconsistency expanding "//" in Tramp
69556         * doc/misc/tramp.texi (File name completion): Adapt example
69557         expanding "//".
69559         * lisp/net/tramp.el (tramp-handle-substitute-in-file-name): "//" shall
69560         expand the localname only, even when on top of the local part.
69562         * test/lisp/net/tramp-tests.el (tramp-test04-substitute-in-file-name):
69563         Adapt test.
69565 2018-02-04  Philipp Stephani  <phst@google.com>
69567         Fix handling of modifier keys on macOS
69569         * src/nsterm.m (keyDown:): Distinguish between shift-like and
69570         control-like modifier keys.  Allow treating ⌘ as shift-like
69571         modifier (e.g. for the Gujarati – QUERTY input method, where ⌘
69572         switches to QUERTY.)
69574         * lisp/cus-start.el (standard): Change nil to none for
69575         ns-command-modifier; update description.
69577         * etc/NEWS: Add NEWS entry.
69579 2018-02-04  Michael Albinus  <michael.albinus@gmx.de>
69581         Make tramp-archive fit for older Emacsen
69583         * lisp/net/tramp-archive.el (tramp-archive-enabled)
69584         (tramp-archive-file-name-handler-alist)
69585         (tramp-archive-file-name-handler): Adapt docstring.
69586         (tramp-register-archive-file-name-handler): Remove it from
69587         `after-init-hook' when unloading.
69588         (tramp-archive-gvfs-host): New defsubst.
69589         (tramp-archive-dissect-file-name): Use it.
69591         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections):
69592         Check that `tramp-archive-enabled' is bound.
69594         * test/lisp/net/tramp-archive-tests.el (tramp-archive-test42-auto-load):
69595         Check also that tramp-archive is not loaded when Tramp is loaded.
69596         (tramp-archive-test42-delay-load): Adapt test messages.
69598 2018-02-03  Paul Eggert  <eggert@cs.ucla.edu>
69600         Avoid EOVERFLOW problems with file-directory-p
69602         This fixes a bug where (file-directory-p FOO) would fail if FOO
69603         had an inode number out of range for ‘stat’.
69604         * src/fileio.c (file_directory_p): Accept a Lisp string instead of
69605         a C string.  All callers changed.  On non-MS-Windows hosts, use
69606         openat with O_PATH|O_DIRECTORY if available, otherwise
69607         file_accessible_directory_p unless it fails due to EACCESS,
69608         otherwise stat.
69610 2018-02-03  Philipp Stephani  <phst@google.com>
69612         Add tests to verify error propagation in 'json-insert'.
69614         * test/src/json-tests.el (json-tests--error): New error symbol.
69615         (json-insert/signal, json-insert/throw): New tests.
69617 2018-02-03  Noam Postavsky  <npostavs@gmail.com>
69619         Don't require all file-attributes to be equal (Bug#30327)
69621         * test/lisp/files-tests.el (files-tests-file-attributes-equal): New
69622         function.
69623         (files-tests-file-name-non-special-directory-files-and-attributes)
69624         (files-tests-file-name-non-special-file-attributes): Use it instead of
69625         `equal'.
69627 2018-02-03  Michael Albinus  <michael.albinus@gmx.de>
69629         * test/lisp/files-tests.el (files-tests--with-temp-non-special):
69631         Expand `temporary-file-directory' by `file-truename', in case
69632         it is located on a symlinked directory.  (Bug#30327)
69634 2018-02-03  Michael Albinus  <michael.albinus@gmx.de>
69636         Prevent loading tramp-archive when it cannot be used
69638         * lisp/files.el (locate-dominating-file): Check, that FILE is
69639         a directory when traversing the tree.
69641         * lisp/net/tramp-archive.el (tramp-archive-enabled): New defvar.
69642         (tramp-archive-file-name-regexp): Protect against errors.
69643         (tramp-archive-file-name-handler)
69644         (tramp-register-archive-file-name-handler): Use it.
69645         (all) Call `tramp-register-archive-file-name-handler'.
69647         * lisp/net/tramp.el (tramp-register-file-name-handlers):
69648         Use `tramp-archive-enabled'.
69650         * test/lisp/net/tramp-archive-tests.el (all):
69651         Use `tramp-archive-enabled' instead of `tramp-gvfs-enabled'.
69652         (tramp-archive--test-emacs27-p): New defun.
69653         (tramp-archive-test42-auto-load): Skip for older Emacsen.
69654         (tramp-archive-test42-delay-load): Skip for older Emacsen.
69655         Test also behavior when `tramp-archive-enabled' is nil.
69657 2018-02-03  Michael Albinus  <michael.albinus@gmx.de>
69659         Autoload tramp-archive
69661         * doc/misc/tramp.texi (Archive file names): Do not require to
69662         load Tramp explicitly, this is autoloaded now also for file archives.
69664         * lisp/net/tramp-archive.el (tramp-archive-suffixes)
69665         (tramp-archive-compression-suffixes): Autoload them.
69666         (tramp-archive-autoload-file-name-regexp): New defmacro.
69667         (tramp-archive-file-name-regexp): Use it.
69668         (tramp-register-archive-file-name-handler): New defun.  Call
69669         it in `after-init-hook'.
69671         * test/lisp/net/tramp-archive-tests.el
69672         (tramp-archive-test40-file-system-info): Rename from
69673         `tramp-archive-test40-archive-file-system-info.
69674         (tramp-archive-test42-auto-load)
69675         (tramp-archive-test42-delay-load): New tests.
69677 2018-02-02  Glenn Morris  <rgm@gnu.org>
69679         Try to work around intermittent autogen failure on hydra.nixos.org
69681         * autogen.sh (check_version): Try to handle odd systems where
69682         /bin/sh does not define the "command" builtin.
69684 2018-02-02  Glenn Morris  <rgm@gnu.org>
69686         * autogen.sh: Remove temporary debug statements.
69688         * autogen.sh: Add some temporary debug statements, for hydra.nixos.org.
69690 2018-02-02  Alan Mackenzie  <acm@muc.de>
69692         CC Mode: Fix an enum intro being parsed as defun-block-intro
69694         * lisp/progmodes/cc-engine.el (c-inside-bracelist-p): Return a bufpos rather
69695         than t for the enum case.
69696         (c-add-stmt-syntax, c-guess-continued-construct): Replace
69697         c-looking-at-or-maybe-in-bracelist by c-inside-bracelist-p, since the former
69698         does not recognize enum brace lists, but the latter does.
69700         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Replace
69701         c-looking-at-or-maybe-in-bracelist by c-inside-bracelist-p.
69703 2018-02-02  Philipp Stephani  <phst@google.com>
69705         Properly integrate modules into the loading process (Bug#30164).
69707         * src/lread.c (Fload): Don't defer to module-load immediately when
69708         encountering a module, but use the normal loading machinery to
69709         properly set up load-history, check for recursive loads, print
69710         messages, etc.
69712         * test/src/emacs-module-tests.el (module/load-history): New test.
69713         (module/describe-function-1): Adapt test.
69715         * etc/NEWS: Mention fixed behavior.
69717 2018-02-02  Philipp Stephani  <phst@google.com>
69719         Use 'defalias' in test module instead of 'fset'.
69721         This puts functions defined in the module into the 'load-history'.
69723         * test/data/emacs-module/mod-test.c (bind_function): Use 'defalias'
69724         instead of 'fset'.
69726         * test/src/emacs-module-tests.el (module/describe-function-1): Adapt
69727         unit test.
69729 2018-02-02  Philipp Stephani  <phst@google.com>
69731         Add support for module functions to C-h f (Bug#30163).
69733         * lisp/help-fns.el (help-fns-function-description-header): Handle
69734         module functions.
69736         * test/src/emacs-module-tests.el (module/describe-function-1): New
69737         test.
69739 2018-02-02  Michael Albinus  <michael.albinus@gmx.de>
69741         Handle quoted remote file names for file notifications
69743         * lisp/filenotify.el (file-notify-add-watch): Do not suppress
69744         other file name handlers when FILE is quoted.
69746         * test/lisp/filenotify-tests.el
69747         (file-notify-test-remote-temporary-file-directory):
69748         Beware quoted `temporary-file-directory'.
69750         * test/lisp/files-tests.el
69751         (files-tests-file-name-non-special-quote-unquote): Improve test.
69753 2018-02-02  Michael Albinus  <michael.albinus@gmx.de>
69755         Minor tweaks in tramp-archive.el
69757         * lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
69758         Bind `tramp-unknown-id-integer' and `tramp-unknown-id-string'
69759         in order to have minimal ownership information.
69761 2018-02-02  Glenn Morris  <rgm@gnu.org>
69763         Merge from origin/emacs-26
69765         6f495ab (origin/emacs-26) Another round of manual fixups
69766         59344c4 * doc/lispref/customize.texi (Custom Themes): Clarify .el pre...
69767         6386efc * doc/emacs/entering.texi (Entering Emacs): Another wording fix.
69768         e21f018 * doc/lispref/functions.texi (Inline Functions): Fix typo (Bu...
69769         1c2fb04 * lisp/imenu.el (imenu-generic-expression): Rephrase doc (Bug...
69770         b90e91c Fix last change of @key markup
69771         f180075 * doc/emacs/entering.texi (Entering Emacs): Fix markup.
69773 2018-02-02  Glenn Morris  <rgm@gnu.org>
69775         Merge from origin/emacs-26
69777         56c37bb Use @key{} where it is missing in the manuals
69778         25c0198 Another round of manual fixes from proofreading
69780 2018-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
69782         * lisp/emacs-lisp/cconv.el (cconv-convert): Fix compiling compiled code
69784         Don't conv-convert the docstring arg of defvar/defconst.
69786 2018-02-02  Michael Albinus  <michael.albinus@gmx.de>
69788         Fix quoting in tramp-find-inline-compress for w32
69790         * lisp/net/tramp-sh.el (tramp-find-inline-compress): Improve command
69791         quoting for w32.  Reported by Chris Zheng <chriszheng99@gmail.com>.
69793 2018-02-01  Michael Albinus  <michael.albinus@gmx.de>
69795         Handle quoted file names in filenotify.el
69797         * lisp/filenotify.el (file-notify-add-watch): Do not save
69798         quoted file names in `file-notify-descriptors'.
69800         * test/lisp/files-tests.el
69801         (files-file-name-non-special-notify-handlers): Do not expect
69802         to fail.
69804 2018-02-01  Michael Albinus  <michael.albinus@gmx.de>
69806         Use file-name-quote{,d-p} in files-tests.el
69808         * test/lisp/files-tests.el
69809         (files-tests-file-name-non-special-quote-unquote): New test.
69810         (files-tests--file-name-non-special--subprocess): Simplify.
69811         (files-tests--file-name-non-special--buffers)
69812         (files-tests--with-temp-non-special)
69813         (files-tests-file-name-non-special-directory-file-name)
69814         (files-tests-file-name-non-special-file-in-directory-p)
69815         (files-tests-file-name-non-special-file-name-all-completions)
69816         (files-tests-file-name-non-special-file-name-as-directory)
69817         (files-tests-file-name-non-special-file-name-completion)
69818         (files-tests-file-name-non-special-file-name-directory)
69819         (files-tests-file-name-non-special-find-backup-file-name)
69820         (files-tests-file-name-non-special-make-nearby-temp-file):
69821         Use `file-name-quote' and `file-name-quoted-p', respectively.
69823 2018-02-01  Noam Postavsky  <npostavs@gmail.com>
69825         Test and fix "/:" quoted file name handlers (Bug#30243)
69827         Some w32 specific problems were discovered, but only worked around, as
69828         these are not serious, and not the focus of this bug fix:
69829             - The w32 implementation of `insert-directory doesn't handle a nil
69830             SWITCHES argument.
69831             - `dired-compress-file' does not operate correctly if the unquoted
69832             filename contains a ":" (e.g., C:/foo/bar).
69834         * lisp/files.el (file-name-non-special): Strip the "/:" from
69835         `default-directory' for `temporary-file-directory' operation; both
69836         arguments to `file-name-completion', `file-name-all-completion', and
69837         `file-equal-p' operations; `buffer-file-name' for
69838         `make-auto-save-file-name' and 'set-visited-file-modtime' operations.
69839         Don't touch any operands of `file-notify-rm-watch' and
69840         `file-notify-valid-p' as they receive descriptors; not file
69841         names (this is not sufficient to fix these operations for "/:" quoted
69842         file names though, these are fixed in a later commit).
69844         * test/lisp/files-tests.el (files-tests--with-temp-file): Give it a
69845         `debug' property.
69846         (files-tests--with-temp-non-special): New helper macro.
69847         (files-tests--file-name-non-special--subprocess): Simplify.
69848         (files-tests-file-name-non-special-quote-unquote)
69849         (files-file-name-non-special-notify-handlers)
69850         (files-file-name-non-special-handlers)
69851         (files-tests-file-name-non-special-access-file)
69852         (files-tests-file-name-non-special-add-name-to-file)
69853         (files-tests-file-name-non-special-byte-compiler-base-file-name)
69854         (files-tests-file-name-non-special-copy-directory)
69855         (files-tests-file-name-non-special-copy-file)
69856         (files-tests-file-name-non-special-delete-directory)
69857         (files-tests-file-name-non-special-delete-file)
69858         (files-tests-file-name-non-special-diff-latest-backup-file)
69859         (files-tests-file-name-non-special-directory-file-name)
69860         (files-tests-file-name-non-special-directory-files)
69861         (files-tests-file-name-non-special-directory-files-and-attributes)
69862         (files-tests-file-name-non-special-dired-uncache)
69863         (files-tests-file-name-non-special-dired-compress-handler)
69864         (files-tests-file-name-non-special-expand-file-name)
69865         (files-tests-file-name-non-special-file-accessible-directory-p)
69866         (files-tests-file-name-non-special-file-acl)
69867         (files-tests-file-name-non-special-file-attributes)
69868         (files-tests-file-name-non-special-file-directory-p)
69869         (files-tests-file-name-non-special-file-equal-p)
69870         (files-tests-file-name-non-special-file-executable-p)
69871         (files-tests-file-name-non-special-file-exists-p)
69872         (files-tests-file-name-non-special-file-in-directory-p)
69873         (files-tests-file-name-non-special-file-local-copy)
69874         (files-tests-file-name-non-special-file-modes)
69875         (files-tests-file-name-non-special-file-name-all-completions)
69876         (files-tests-file-name-non-special-file-name-as-directory)
69877         (files-tests-file-name-non-special-file-name-case-insensitive-p)
69878         (files-tests-file-name-non-special-file-name-completion)
69879         (files-tests-file-name-non-special-file-name-directory)
69880         (files-tests-file-name-non-special-file-name-nondirectory)
69881         (files-tests-file-name-non-special-file-name-sans-versions)
69882         (files-tests-file-name-non-special-file-newer-than-file-p)
69883         (files-tests-file-name-non-special-file-ownership-preserved-p)
69884         (files-tests-file-name-non-special-file-readable-p)
69885         (files-tests-file-name-non-special-file-regular-p)
69886         (files-tests-file-name-non-special-file-remote-p)
69887         (files-tests-file-name-non-special-file-selinux-context)
69888         (files-tests-file-name-non-special-file-symlink-p)
69889         (files-tests-file-name-non-special-file-truename)
69890         (files-tests-file-name-non-special-file-writable-p)
69891         (files-tests-file-name-non-special-find-backup-file-name)
69892         (files-tests-file-name-non-special-get-file-buffer)
69893         (files-tests-file-name-non-special-insert-directory)
69894         (files-tests-file-name-non-special-insert-file-contents)
69895         (files-tests-file-name-non-special-load)
69896         (files-tests-file-name-non-special-make-auto-save-file-name)
69897         (files-tests-file-name-non-special-make-directory)
69898         (files-tests-file-name-non-special-make-directory-internal)
69899         (files-tests-file-name-non-special-make-nearby-temp-file)
69900         (files-tests-file-name-non-special-make-symbolic-link)
69901         (files-tests-file-name-non-special-rename-file)
69902         (files-tests-file-name-non-special-set-file-acl)
69903         (files-tests-file-name-non-special-set-file-modes)
69904         (files-tests-file-name-non-special-set-file-selinux-context)
69905         (files-tests-file-name-non-special-set-file-times)
69906         (files-tests-file-name-non-special-set-visited-file-modtime)
69907         (files-tests-file-name-non-special-shell-command)
69908         (files-tests-file-name-non-special-start-file-process)
69909         (files-tests-file-name-non-special-substitute-in-file-name)
69910         (files-tests-file-name-non-special-temporary-file-directory)
69911         (files-tests-file-name-non-special-unhandled-file-name-directory)
69912         (files-tests-file-name-non-special-vc-registered)
69913         (files-tests-file-name-non-special-write-region): New tests.
69915 2018-02-01  Paul Eggert  <eggert@cs.ucla.edu>
69917         Update from gnulib
69919         This includes:
69920         2018-01-31 environ: Fix link error on 64-bit Cygwin
69921         2018-01-27 Fix malfunction of socket functions on HP-UX in 64-bit mode
69922         2018-01-26 manywarnings: fix maintainer comment
69923         2018-01-23 Merge strftime.c changes from glibc
69924         * build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
69925         * lib/gnulib.mk.in, lib/nstrftime.c, lib/unistd.in.h, m4/extensions.m4:
69926         * m4/manywarnings.m4: Update.
69928 2018-02-01  Paul Eggert  <eggert@cs.ucla.edu>
69930         * src/xfns.c: Make some non-exported vars static.
69932 2018-02-01  Michael Albinus  <michael.albinus@gmx.de>
69934         Adapt tramp-tests.el according to Bug#30243
69936         * test/lisp/net/tramp-tests.el (tramp--test-emacs27-p): New defun.
69937         (tramp-test11-copy-file, tramp-test12-rename-file)
69938         (tramp-test21-file-links, tramp-test24-file-acl)
69939         (tramp-test25-file-selinux, tramp--test-check-files): Use it.
69941 2018-01-31  Michael Albinus  <michael.albinus@gmx.de>
69943         * lisp/files.el (get-free-disk-space): Wrap body with `save-match-data'.
69945         Several `*-insert-directory' functions could fail otherwise.
69947 2018-01-31  Michael Albinus  <michael.albinus@gmx.de>
69949         * lisp/net/tramp-archive.el (tramp-archive-run-real-handler): New defun.
69951         (tramp-archive-file-name-handler): Use it.
69953 2018-01-31  Glenn Morris  <rgm@gnu.org>
69955         automerge: adjust meaning of -d option
69957         * admin/automerge (nocd): New variable, replacing $dir.
69958         (usage, -d): Option -d no longer takes an argument.
69960 2018-01-31  Glenn Morris  <rgm@gnu.org>
69962         automerge: add option to work in specific directory
69964         * admin/automerge (usage): Mention -d.
69965         (dir): New variable.
69966         (-d): New option.
69967         (main): If requested, cd to specified directory.
69969 2018-01-31  Glenn Morris  <rgm@gnu.org>
69971         automerge: add option to start with a reset
69973         * admin/automerge (usage): Mention -r.
69974         (reset): New variable.
69975         (-r): New option.
69976         (main): If requested, do a reset and pull.
69978 2018-01-31  Glenn Morris  <rgm@gnu.org>
69980         Merge from origin/emacs-26
69982         22922c7 (origin/emacs-26) * doc/emacs/entering.texi (Entering Emacs):...
69983         59657c4 Document 'window-at-side-p' in the Elisp manual
69984         2b35ed0 Document external-debugging-output in the Elisp Manual (Bug#2...
69985         db6564c Fix scroll-margin docstring (Bug#13791)
69986         732d1b9 Clarify that `ansi-term' is almost the same as `term' (Bug#18...
69987         f706c59 Update manual description of locate-file (Bug#23650)
69988         1602262 Clarify effect of print-gensym (Bug#27776)
69989         53e9fa2 * lisp/custom.el (defcustom): Fix docstring (Bug#27891).
69990         607cc4e Define cl-type-definition button type as needed (Bug#28899)
69991         9e6889c Emphasize that GPG passphrase caching is temporary (Bug#29907)
69992         4b5711b Fix @examples in cc-mode.info, where lines were getting glued...
69993         71961f1 Minor change in "Mode Line" section of Emacs manual
69994         55a2b76 More fixes in the Emacs manual
69996 2018-01-31  Michael Albinus  <michael.albinus@gmx.de>
69998         Fix Bug#30293
70000         * lisp/net/tramp-archive.el (tramp-archive-file-name-for-operation):
70001         New defsubst.
70002         (tramp-archive-file-name-archive, tramp-archive-file-name-localname):
70003         New defuns.
70004         (tramp-archive-file-name-handler, tramp-archive-dissect-file-name)
70005         (tramp-archive-handle-not-implemented): Use them.  (Bug#30293)
70007         * test/lisp/net/tramp-archive-tests.el (tramp-archive-test-directory):
70008         New defconst.
70009         (tramp-archive-test01-file-name-syntax): Extend test.
70010         (tramp-archive-test05-expand-file-name-non-archive-directory):
70011         New test.  (Bug#30293)
70013         * test/lisp/net/tramp-archive-resources/foo.iso/foo: New file.
70015 2018-01-30  Glenn Morris  <rgm@gnu.org>
70017         automerge: handle upstream changes during operation
70019         * admin/automerge (merge): New function, split from pre-existing code.
70020         (main): If upstream changed during building and testing,
70021         reset local and try merging again.
70023 2018-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
70025         * test/lisp/mouse-tests.el: Fix tests broken by mouse.el change
70027         * test/lisp/mouse-tests.el (bug23288-use-return-value)
70028         (bug23288-translate-to-mouse-2): Don't rely as much on details of the
70029         implementation, so it also works with the new code.
70031 2018-01-30  Michael Albinus  <michael.albinus@gmx.de>
70033         Simplify last change in tramp-archive
70035 2018-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
70037         * lisp/mouse.el: Rework the mouse-1-click remapping
70039         Avoid peeking ahead at the next event because this had undesirable effects,
70040         such as making 'this-single-command-raw-keys' return bogus information.
70042         (mouse--last-down): New variable.
70043         (mouse--down-1-maybe-follows-link): Don't do the remapping here.
70044         Instead, just keep track of the time when the down happened.
70045         (mouse--down-1-maybe-follows-link): Do the remapping here.
70046         (key-translation-map): Add bindings for (double-)mouse-1.
70048 2018-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
70050         * lisp/help.el: Rework describe-key's handling of up and double clicks
70052         Use lexical-binding.
70053         (help--binding-undefined-p): New function, extracted from help--analyze-key.
70054         (help--analyze-key): Use it.
70055         (help--filter-info-list): New function.
70056         (describe-key-briefly): Change calling convention.
70057         Handle a list of key sequences now.
70058         (help--binding-locus): Remove unused var 'found'.
70059         (help--read-key-sequence): Rename from help-read-key-sequence.
70060         Almost complete rewrite, with a different return value.
70061         (help-downify-mouse-event-type): Remove.
70062         (describe-key): Change calling convention.
70063         Handle a list of key sequences now.
70065 2018-01-30  Michael Albinus  <michael.albinus@gmx.de>
70067         Fix Bug#30262
70069         * lisp/net/tramp-archive.el (tramp-archive-hash): Document (changed)
70070         layout.
70071         (tramp-archive-dissect-file-name): Merge with
70072         `tramp-archive-local-copy', which has been removed by this.
70073         (tramp-archive-cleanup-hash): Adapt to changed
70074         `tramp-archive-hash'.  (Bug#30262)
70076         * lisp/net/tramp-gvfs.el (tramp-gvfs-unmount): Flush
70077         connection properties.
70079         * test/lisp/net/tramp-archive-tests.el
70080         (tramp-archive-test01-file-name-syntax)
70081         (tramp-archive-test02-file-name-dissect)
70082         (tramp-archive-test16-directory-files)
70083         (tramp-archive-test26-file-name-completion): Adapt to changed
70084         test file.
70085         (tramp-archive-test08-file-local-copy): Be more robust in cleanup.
70087         * test/lisp/net/tramp-archive-resources/foo.tar.gz: Adapt to
70088         extended test.
70090 2018-01-30  Glenn Morris  <rgm@gnu.org>
70092         Merge from origin/emacs-26
70094         bc8dc37 (origin/emacs-26) Minor copyedits in "Distribution" chapter o...
70095         1c7a936 Minor copyedits in "Entering" chapter of Emacs manual.
70096         1d4498b Minor wording change in the Emacs manual
70097         2bf49e7 Fix a typo in the Emacs manual
70098         f3546a2 Improve the "Basic" chapter of the Emacs manual
70099         691431e Resurrect lost text in lispref
70100         956807b * lisp/emacs-lisp/rx.el (rx): Fix the definition of 'blank'.
70101         7d90d2e Proofread os.texi and files.texi
70102         490c736 Minor improvements in the "International" chapter of Emacs ma...
70103         79252d3 Minor improvement in "Text" chapter of Emacs manual
70105 2018-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
70107         * lisp/subr.el (atomic-change-group): Fix return value
70109         Suggested by Jarosław Rzeszótko <jrzeszotko@gmail.com>.
70111 2018-01-29  Glenn Morris  <rgm@gnu.org>
70113         Recognize more system descriptions in report-emacs-bug
70115         * lisp/mail/emacsbug.el (report-emacs-bug--os-description):
70116         New function, split from report-emacs-bug.  Also parse the
70117         standard /etc files that can contain release information.
70118         (report-emacs-bug): Call report-emacs-bug--os-description.
70120 2018-01-29  Paul Eggert  <eggert@cs.ucla.edu>
70122         Simplify Fcall_interactively
70124         * src/callint.c (Fcall_interactively): Use C99 constructs to
70125         simplify the code a bit.  Stop worrying about circa-1990
70126         compiler bugs.
70128 2018-01-29  Glenn Morris  <rgm@gnu.org>
70130         Merge from origin/emacs-26
70132         8d45000 (origin/emacs-26) Fix some issues in the emacs/lispref manuals
70133         194ded5 Fix multiple spaces in Emacs manual
70134         57a5461 * lisp/files.el (save-some-buffers): Doc fix.  (Bug#30215)
70135         231474f Adjudicate comments to "International" chapter of Emacs manual
70137 2018-01-29  Glenn Morris  <rgm@gnu.org>
70139         Merge from origin/emacs-26
70141         6415b2d Allow read-passwd to hide characters inserted by C-y.  (Secur...
70142         8cb4ffb * etc/PROBLEMS: Document issues with double-buffering.  (Bug#...
70143         fd10070 * lisp/window.el (window-largest-empty-rectangle): Fix grammar.
70144         e1a4403 Minor changes in the Emacs manual
70145         372fda6 Improve the "Files" chapter of the Emacs manual
70146         9afc86d Improve the "Search" chapter of the Emacs manual
70147         22f98b3 * src/indent.c (Findent_to): Doc fix.  (Bug#30260)
70148         085ee43 Improve documentation of 'edebug-defun'
70149         4dd1b33 Mention crashes due to Noto Serif Kannada fonts
70151 2018-01-29  tino calancha  <tino.calancha@gmail.com>
70153         * test/lisp/simple-tests.el (simple-tests-async-shell-command-30280): Add test
70155 2018-01-28  Glenn Morris  <rgm@gnu.org>
70157         * configure.ac: Improve recent libtof version test.
70159 2018-01-28  Juri Linkov  <juri@linkov.net>
70161         * lisp/simple.el: Move definitions shell-command-saved-pos
70163         and shell-command-dont-erase-buffer closer to their usage.
70165 2018-01-28  Juri Linkov  <juri@linkov.net>
70167         * lisp/simple.el (upcase-dwim, downcase-dwim): Add region-noncontiguous-p
70169         to the calls of region functions to support rectangular regions.
70171 2018-01-28  Juri Linkov  <juri@linkov.net>
70173         * lisp/tar-mode.el (tar-summarize-buffer): Let-bind `create-lockfiles' to nil
70175         instead of `buffer-file-truename'.  (Bug#30215)
70177         * lisp/image-mode.el (image-toggle-display-image): Idem.
70179 2018-01-28  Philipp Stephani  <phst@google.com>
70181         Add missing module types to cl--typeof-types.
70183         * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add module
70184         types.
70186         * test/src/emacs-module-tests.el (emacs-module-tests--generic): New
70187         helper function.
70188         (module-function-object, mod-test-userptr-fun-test): Test that type
70189         dispatching works with module types.
70191 2018-01-28  Philipp Stephani  <phst@google.com>
70193         Test that module functions are functions.
70195         * test/src/emacs-module-tests.el (module-function-object): Verify that
70196         a module function is treated as a function.
70198 2018-01-28  Philipp Stephani  <phst@google.com>
70200         * src/lisp.h: Tell developers to add new types to cl--typeof-types.
70202 2018-01-28  Philipp Stephani  <phst@google.com>
70204         Prevent name clashes between CL structures and builtin types
70206         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Don't allow
70207         structures with the same names as builtin types.
70208         (cl--typeof-types, cl--all-builtin-types): Move from cl-generic.el and
70209         rename.
70210         (cl--struct-name-p): New helper function.
70212         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't allow structures
70213         with the same names as builtin types.
70215         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-generalizer)
70216         (cl-generic-generalizers): Adapt to name change.
70218         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-defstruct/builtin-type):
70219         * test/lisp/emacs-lisp/cl-preloaded-tests.el
70220         (cl-struct-define/builtin-type): New unit tests.
70222         * etc/NEWS: Document changed behavior.
70224 2018-01-28  Alan Mackenzie  <acm@muc.de>
70226         Fix some errors in c-display-defun-name when the type is "struct {..}", etc.
70228         Also fix some errors with c-display-defun-name when there are nested classes.
70230         * lisp/progmodes/cc-cmds.el (c-in-function-trailer-p): Deal with a struct {..}
70231         being merely the type of a function.
70232         (c-where-wrt-brace-construct): Deal with a struct {..} being merely the type
70233         of a function.  Rearrange the order of some Lisp forms.  Insert a check for
70234         c-protection-key ("private", etc.) alongside the checking for a label.
70235         (c-defun-name-1): New function extracted form c-defun-name, which works within
70236         the existing restriction.  Don't regard 'at-function-end as being within the
70237         defun any more.  Recognize "struct", etc., with the new
70238         c-defun-type-name-decl-key rather than c-type-prefix-key.  Make the
70239         recognition of a normal function more accurate.
70240         (c-defun-name): Part left after extracting the above function.  It now just
70241         widens and calls c-defun-name-1.
70242         (c-declaration-limits-1): New function extracted from c-declaration-limits,
70243         which works within the existing restriction.  Move LIM back one block to
70244         account for the possibility of struct {..} as a function type.  Check we're
70245         not inside a declaration without braces.
70246         (c-declaration-limits): Part left after extracting the above function.  It now
70247         just narrows to an enclosing decl block and calls c-declaration-limits-1.
70248         (c-defun-name-and-limits): New function which identifies the name and limits
70249         of the most nested enclosing declaration or macro.
70250         (c-display-defun-name): Use c-defun-name-and-limits rather than two separate
70251         functions (which didn't always agree on which function).
70253         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): If we have struct
70254         {..} as the type of a function, go back over this, too.
70256         * lisp/progmodes/cc-langs.el (c-defun-type-name-decl-kwds)
70257         (c-defun-type-name-decl-key): New lang const/var.
70259 2018-01-28  Noam Postavsky  <npostavs@gmail.com>
70261         Fix round tripping of read->print for symbols with strange quotes
70263         Since 2017-07-22 "Signal error for symbol names with strange
70264         quotes (Bug#2967)", symbol names beginning with certain quote
70265         characters require an escaping backslash.  However, the corresponding
70266         change for printing missed, so that (eq (read (prin1-to-string SYM))
70267         SYM) does not give `t' for such symbols.
70268         * src/character.c (confusable_symbol_character_p): New function,
70269         extracted from test `read1'.
70270         * src/lread.c (read1): Use it.
70271         * src/print.c (print_object): Use it to print a backslash for symbols
70272         starting with characters that `read1' requires to be escaped.
70273         * test/src/print-tests.el (print-read-roundtrip): New test.
70274         * etc/NEWS.26:
70275         * etc/NEWS: Clarify the announcement for the earlier reader
70276         change (Bug#30217).
70278 2018-01-28  Simen Heggestøyl  <simenheg@gmail.com>
70280         Shorten CSS hex colors when possible
70282         * lisp/textmodes/css-mode.el (css--format-hex): New function for
70283         shortening CSS hex colors when possible.
70284         (css--named-color-to-hex, css--rgb-to-named-color-or-hex): Use it.
70286         * test/lisp/textmodes/css-mode-tests.el (css-test-format-hex): New
70287         tests for 'css--format-hex'.
70288         (css-test-named-color-to-hex, css-test-cycle-color-format): Adjust for
70289         the changes to 'css--named-color-to-hex' and
70290         'css--rgb-to-named-color-or-hex'.
70292 2018-01-28  Simen Heggestøyl  <simenheg@gmail.com>
70294         Fix off-by-one error in 'css--hex-to-rgb'
70296         * lisp/textmodes/css-mode.el (css--hex-to-rgb): Fix off-by-one error.
70298         * test/lisp/textmodes/css-mode-tests.el (css-test-hex-to-rgb): Add
70299         regression tests for the above fix.
70301 2018-01-27  tino calancha  <tino.calancha@gmail.com>
70303         Code refactoring assoc-delete-all assq-delete-all
70305         * lisp/subr.el (assoc-delete-all): Add optional arg TEST.
70306         (assq-delete-all): Use assoc-delete-all.
70308         * test/lisp/subr-tests.el (subr-tests--assoc-delete-all)
70309         (subr-tests--assq-delete-all): New tests.
70311         * doc/lispref/lists.texi (Association Lists): Document
70312         assoc-delete-all in the manual.
70314 2018-01-27  Simen Heggestøyl  <simenheg@gmail.com>
70316         Fix indentation bug with multi-line CSS values
70318         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
70319         multi-line CSS values that are separated by spaces.
70321         * test/manual/indent/css-mode.css: Add a test case for the fix.
70323 2018-01-27  Alan Third  <alan@idiocy.org>
70325         Allow configure to find Homebrew installed imagemagick
70327         * configure.ac: Add the imagemagick pkgconfig dir to pkg-config's
70328         search path.
70330 2018-01-26  Martin Rudalics  <rudalics@gmx.at>
70332         In bindings.el fix check whether mode line can be dragged
70334         * lisp/bindings.el (mode-line-default-help-echo): Use check
70335         whether mode line can be dragged from 'mouse-drag-mode-line'.
70337 2018-01-26  Glenn Morris  <rgm@gnu.org>
70339         Workaround a libotf crash with Kannada font (bug#30193)
70341         * configure.ac (HAVE_OTF_KANNADA_BUG): New define.
70342         * src/xfaces.c (syms_of_xfaces) <Vface_ignored_fonts>:
70343         Add problematic Kannada font if necessary.
70345 2018-01-26  Noah Friedman  <friedman@splode.com>
70347         Bring emacs-buffer.gdb up to date with recent lisp.h changes.
70349 2018-01-26  Noam Postavsky  <npostavs@gmail.com>
70351         Raise limit of regexp repetition (Bug#24914)
70353         * src/regex.h (RE_DUP_MAX): Raise limit to 2^16-1.
70354         * etc/NEWS: Announce it.
70355         * doc/lispref/searching.texi (Regexp Backslash): Document it.
70356         * test/src/regex-tests.el (regex-repeat-limit): Test it.
70358         * src/regex.h (reg_errcode_t): Add REG_ESIZEBR code.
70359         * src/regex.c (re_error_msgid): Add corresponding entry.
70360         (GET_INTERVAL_COUNT): Return it instead of the more generic REG_EBADBR
70361         when encountering a repetition greater than RE_DUP_MAX.
70363         * lisp/isearch.el (isearch-search): Don't convert errors starting with
70364         "Invalid" into "incomplete".  Such errors are not incomplete, in the
70365         sense that they cannot be corrected by appending more characters to
70366         the end of the regexp.  The affected error messages are:
70368         - REG_BADPAT "Invalid regular expression"
70369           - \\(?X:\\) where X is not a legal group number
70370           - \\_X where X is not < or >
70372         - REG_ECOLLATE "Invalid collation character"
70373           - There is no code to throw this.
70375         - REG_ECTYPE "Invalid character class name"
70376           - [[:foo:] where foo is not a valid class name
70378         - REG_ESUBREG "Invalid back reference"
70379           - \N where N is referenced before matching group N
70381         - REG_BADBR "Invalid content of \\{\\}"
70382           - \\{N,M\\} where N < 0, M < N, M or N larger than max
70383           - \\{NX where X is not a digit or backslash
70384           - \\{N\\X where X is not a }
70386         - REG_ERANGE "Invalid range end"
70387           - There is no code to throw this.
70389         - REG_BADRPT "Invalid preceding regular expression"
70390           - We never throw this.  It would usually indicate a "*" with no
70391             preceding regexp text, but Emacs allows that to match a literal
70392             "*".
70394 2018-01-26  Noam Postavsky  <npostavs@gmail.com>
70396         Merge from emacs-26
70398         463f96b481 * doc/lispref/searching.texi: Document regexp repetition l...
70399         08a6195571 ; test/README: Document TEST_LOAD_EL parameter.
70400         7bbea90b1a * src/syntax.c (char-syntax): Warn about ignoring text pro...
70401         50fcbb5f61 ; * src/process.c (Fprocess_contact): Fix docstring typo.
70402         81ae9c8c05 Load mm-util as needed for url-file and url-data (Bug#30258)
70403         5a1ee67ae1 Another minor copyedit in the manual's "Scroll Bars"
70404         226a651e9e Minor fix in documentation of 'equal'
70405         b26786c8d9 * lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix....
70406         5699a824f0 Minor rewording in Emacs manual's "Help Mode" node
70407         f35ff0156e Fixes for Emacs manual in frames.texi
70408         6cd4e8dcc5 * doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 t...
70409         1412cf3edd Fix a few issues with latest GTK scaling changes
70410         59db8dca03 Use scaled coordinates when calling into GTK
70411         2892f05792 Scale monitor dimensions obtained from GTK
70413 2018-01-26  Stefan Monnier  <monnier@iro.umontreal.ca>
70415         * lisp/emacs-lisp/cl-preloaded.el: Update cl-slot-descriptor name.
70417 2018-01-26  Francesco Potortì  <pot@gnu.org>
70419         Fix a typo in rmail.el
70421         * lisp/mail/rmail.el (rmail-simplified-subject): Fix a typo in the
70422         regexp.  (Bug#29659)
70424 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
70426         Minor fix for "M-x pdb"
70428         * lisp/progmodes/gud.el (gud-pdb-marker-regexp): Add @ and SPC to
70429         the regexp.  (Bug#30208)
70431 2018-01-26  Andy Moreton  <andrewjmoreton@gmail.com>
70433         Fix emacs-module-tests to work out of build tree
70435         * test/Makefile.in (test_module_dir): Build the test module library in
70436         a subdirectory of the build directory (not the source tree).
70437         (MODULE_CFLAGS): Fix location of emacs-module.h header file.
70438         (test_module): Move built library out of the source tree.
70439         * test/src/emacs-module-tests.el (mod-test-file): Locate the test module
70440         library relative to the running Emacs executable.
70442 2018-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
70444         * lisp/emacs-lisp/gv.el (char-table-range): Add gv-setter.
70446 2018-01-25  Juri Linkov  <juri@linkov.net>
70448         * lisp/arc-mode.el (archive-extract): Let-bind `create-lockfiles' to nil
70450         to prevent directory time modification by lock_file on visiting
70451         a file from archive.  (Bug#30215)
70452         (archive-summarize): Let-bind `create-lockfiles' to nil
70453         instead of `buffer-file-truename'.
70455 2018-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
70457         Replace (default-value 'enable-multibyte-characters) with t
70459         Since Emacs-24, (default-value 'enable-multibyte-characters) can't be
70460         changed any more, so we can remove all code which checks this value.
70462         * lisp/x-dnd.el (x-dnd-handle-file-name):
70463         * lisp/w32-fns.el (w32-set-default-process-coding-system):
70464         * lisp/textmodes/ispell.el (ispell-send-string):
70465         * lisp/term/internal.el (dos-codepage-setup):
70466         * lisp/tar-mode.el (tar-header-block-tokenize, tar--extract):
70467         * lisp/startup.el (command-line):
70468         * lisp/server.el (server-process-filter):
70469         * lisp/net/browse-url.el (browse-url-file-url):
70470         * lisp/menu-bar.el (menu-bar-options-menu, menu-bar-describe-menu):
70471         * lisp/mail/sendmail.el (mail-setup):
70472         * lisp/mail/rmail.el (rmail-mode, rmail-get-new-mail):
70473         * lisp/mail/rfc2047.el (rfc2047-encode-message-header):
70474         * lisp/mail/emacsbug.el (report-emacs-bug):
70475         * lisp/international/mule-diag.el (mule-diag):
70476         * lisp/files.el (find-file-noselect-1):
70477         * lisp/dos-fns.el (dos-set-default-process-coding-system):
70478         * lisp/arc-mode.el (archive-mode):
70479         * lisp/international/mule-cmds.el (mule-menu-keymap)
70480         (set-default-coding-systems, set-language-info)
70481         (set-language-environment, standard-display-european-internal)
70482         (set-locale-environment): Simplify code.
70484 2018-01-25  Michael Albinus  <michael.albinus@gmx.de>
70486         * lisp/simple.el (shell-command-to-string):
70488         Call `shell-command' in order to respect file name handlers.
70490 2018-01-25  Michael Albinus  <michael.albinus@gmx.de>
70492         * lisp/net/trampver.el: Simplify version check.
70494 2018-01-24  Juri Linkov  <juri@linkov.net>
70496         * lisp/dired.el (dired-internal-do-deletions): Remove nreverse
70498         to compensate the changes that added nreverse to dired-do-delete
70499         and dired-do-flagged-delete in 9ecbdee (bug#30162)
70501 2018-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
70503         * lisp/net/tramp.el: Require trampver here instead of...
70505         * lisp/net/tramp-compat.el: ... there.
70507 2018-01-24  Glenn Morris  <rgm@gnu.org>
70509         * admin/automerge: Disable rebasing.
70511 2018-01-24  Marcin Borkowski  <mbork@mbork.pl>
70513         Merge branch 'fix/bug-20871-cur'
70515 2018-01-23  Glenn Morris  <rgm@gnu.org>
70517         Avoid kill-emacs-hook errors hanging batch mode
70519         * src/emacs.c (Fkill_emacs): Prevent errors from kill-emacs-hook
70520         hanging Emacs in batch mode.  (Bug#29955)
70522 2018-01-23  Philipp Stephani  <phst@google.com>
70524         Add unit test for Bug#30005.
70526         * test/src/callint-tests.el (call-interactively/embedded-nulls): New
70527         unit test.
70529 2018-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
70531         Remove final uses of 'cl' in lisp/net
70533         * lisp/net/pop3.el: Use lexical-binding and cl-lib.
70534         (pop3-write-to-file): Remove unused var 'start'.
70535         (pop3-make-date): Remove unused var 'sign'.
70537         * lisp/net/rfc2104.el: Use lexical-binding and cl-lib.
70539         * lisp/net/shr-color.el: Use lexical-binding and cl-lib.
70541         * lisp/net/sieve-manage.el: Use lexical-binding and cl-lib.
70543 2018-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
70545         * lisp/net/imap.el: Use lexical-binding and cl-lib
70547         Require packages instead of autoloading their functions.
70548         (imap-send-command): Remove unused vars 'stream' and 'eol'.
70549         (imap-parse-response): Use pcase.
70550         (imap-parse-fetch): Remove unused arg 'response'.
70552         * lisp/format-spec.el: Don't require CL.
70554 2018-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
70556         * lisp/gnus/message.el: Tweak header font-lock and ecomplete completion
70558         (message-font-lock-make-header-matcher): Delete.
70559         (message-match-to-eoh): New function to replace it.
70560         (message-font-lock-keywords): Use it.
70561         (message-strip-forbidden-properties): Remove redundant binding.
70562         (message-goto-body): Avoid called-interactively-p, only use
70563         push-mark when called interactively.
70564         (message-goto-body-1): Merge into message-goto-body.  Redefine as alias.
70565         (message-goto-eoh): Call message-goto-body interactively.
70566         (message--in-tocc-p): New function, extracted from message-display-abbrev.
70567         (message-ecomplete-capf): New function.
70569 2018-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
70571         * lisp/ecomplete.el: Add completion-table; use lexical-binding and cl-lib
70573         Also remove redundant :group args.
70574         (ecomplete-database-file): Use locate-user-emacs-file.
70575         (ecomplete-completion-table): New completion table.
70576         (completion-category-defaults): Set default behavior for that table.
70578 2018-01-23  Eli Zaretskii  <eliz@gnu.org>
70580         Support null characters in interactive specs
70582         * src/callint.c (Fcall_interactively): Support 'interactive'
70583         specifications with embedded null characters.  (Bug#30005)
70585 2018-01-22  Stefan Monnier  <monnier@iro.umontreal.ca>
70587         * lisp/emacs-lisp/ert.el (describe-symbol-backends): Add ourselves
70589         (ert-describe-test): Return the description text as well.
70590         Remove left over version check.
70591         * lisp/help-mode.el (describe-symbol-backends): Add docstring.
70593 2018-01-22  Philipp Stephani  <phst@google.com>
70595         Add a regression test for Bug#30004.
70597         * test/src/callint-tests.el
70598         (call-interactively/incomplete-multibyte-sequence): New unit test.
70600 2018-01-22  Philipp Stephani  <phst@google.com>
70602         * src/nsterm.m (x_set_offset): Remove unused variable 'screens'.
70604 2018-01-22  Juri Linkov  <juri@linkov.net>
70606         Restore isearch correctly after M-e in special modes (bug#30187)
70608         * lisp/isearch.el (isearch-suspended): New defvar.
70609         (with-isearch-suspended): Set isearch-suspended to t
70610         at the beginning, then set it back to nil at the end.
70612         * lisp/comint.el (comint-history-isearch-backward)
70613         (comint-history-isearch-backward-regexp): Set global value of
70614         comint-history-isearch to t.
70615         (comint-history-isearch-end): Reevaluate
70616         comint-history-isearch when isearch-edit-string finishes.
70618         * lisp/dired-aux.el (dired-isearch-filenames)
70619         (dired-isearch-filenames-regexp): Set global value of
70620         dired-isearch-filenames to t.
70621         (dired-isearch-filenames-end): Reevaluate
70622         dired-isearch-filenames when isearch-edit-string finishes.
70624 2018-01-22  Paul Eggert  <eggert@cs.ucla.edu>
70626         Merge from origin/emacs-26
70628         1fc98ed073 ; Spelling fix
70629         bb396a369c Update Org to v9.1.6
70630         fa582153f7 Use text-pixels values only when saving framesets (Bug#30141)
70631         6b01b9475d Minor improvement in section "Pages" of the usere manual
70632         e8c8bd3de2 Minor improvements in user manual
70633         26b8b92e63 Improve the "Mark" chapter of the user manual
70634         759569fe40 Improve the "Buffers" chapter of the user manual
70635         c2e6d121ff * lisp/term.el (term-send-input): Fix text duplication in ...
70636         854a1c0a61 Improve "Buffers" in the user manual
70638         # Conflicts:
70639         #       etc/NEWS
70641 2018-01-22  Michael Albinus  <michael.albinus@gmx.de>
70643         Fix byte-compiler warning in tramp-sh.el
70645         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
70646         Use `set-process-coding-system' rather than interactive
70647         `set-buffer-process-coding-system'.
70649         * lisp/net/tramp.el (tramp-default-user-alist)
70650         (tramp-default-host-alist): Fix docstring.
70652 2018-01-22  Michael Albinus  <michael.albinus@gmx.de>
70654         Finish changes in autorevert from commit 530bb2dc68
70656         * lisp/autorevert.el (auto-revert-buffers):
70657         Check `auto-revert-timer' being a timerp.
70659         * test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
70660         Adapt test in order to cover changed behavior of autorevert.
70662 2018-01-21  Juri Linkov  <juri@linkov.net>
70664         * lisp/vc/add-log.el (change-log-next-buffer): Check file for nil.
70666 2018-01-21  Juri Linkov  <juri@linkov.net>
70668         New function read-answer (bug#30073)
70670         * lisp/emacs-lisp/map-ynp.el (read-answer): New function.
70671         (read-answer-short): New defcustom.
70673         * lisp/dired.el (dired-delete-file): Use read-answer.
70674         (dired--yes-no-all-quit-help): Remove function.
70675         (dired-delete-help): Remove defconst.
70677         * lisp/subr.el (assoc-delete-all): New function.
70679 2018-01-21  Lars Ingebrigtsen  <larsi@gnus.org>
70681         (archive-rar-summarize): Adjust parsing to be more permissive
70683         * lisp/arc-mode.el (archive-rar-summarize): Adjust parsing to
70684         be more permissive.
70686         The previous code would stop parsing if we had a directory entry or a
70687         negative ratio as seen from the output of lsar on Debian jessie:
70689           0. D----    16221659  -----  Nr20  2005-12-24 19:30  foo/
70690           4. -----      466509  -0.0%  Nr20  2005-12-24 19:19  foo/bar.jpg
70692 2018-01-21  Alan Mackenzie  <acm@muc.de>
70694         Handle C99 Compound Literals in return statements and argument lists.
70696         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Recognize
70697         a brace list when preceded by "return" or inside parentheses, either
70698         immediately after the "(" or following a comma.
70699         (c-looking-at-inexpr-block): Test c-has-compound-literals rather than hard
70700         coded C++ Mode.
70701         (c-guess-basic-syntax, CASE 7B): Test additionally for not being just inside a
70702         parenthesis or being at a Java "new" keyword.  CASE 9: Remove the simple
70703         minded test on the contents of a block to determine a brace list.
70705         * lisp/progmodes/cc-langs.el (c-has-compound-literals): New lang const and lang var.
70707 2018-01-21  Simen Heggestøyl  <simenheg@gmail.com>
70709         Parse percent values in CSS alpha components
70711         * lisp/textmodes/css-mode.el (css--rgb-color): Support parsing percent
70712         values in the alpha component.
70714         * test/lisp/textmodes/css-mode-tests.el
70715         (css-test-rgb-to-named-color-or-hex, css-test-rgb-parser): Update for
70716         the above changes.
70718 2018-01-20  Paul Eggert  <eggert@cs.ucla.edu>
70720         Fix tempfile creation when byte compiling
70722         This improves on the recent fix for master failing to build
70723         on FreeBSD.  Suggested by Stefan Monnier in:
70724         https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
70725         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
70726         Put tempfile next to the target file, as was the original intent.
70728 2018-01-20  Michael Albinus  <michael.albinus@gmx.de>
70730         Extend tramp-test02-file-name-dissect* tests
70732         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
70733         (tramp-test02-file-name-dissect-simplified)
70734         (tramp-test02-file-name-dissect-separate): Test also
70735         `tramp-default-method-alist', `tramp-default-user-alist' and
70736         `tramp-default-host-alist'.
70738 2018-01-20  Jarosław Rzeszótko  <jrzeszotko@gmail.com>  (tiny change)
70740         * lisp/ielm.el: Bring up the debugger when requested
70743         (ielm-eval-input): Don't catch errors during evaluation
70744         of the expression if debug-on-error is set.
70746 2018-01-20  Glenn Morris  <rgm@gnu.org>
70748         Merge from origin/emacs-26
70750         cfc94fd (origin/emacs-26) Don't mention 'vc-stay-local' in the user m...
70751         8ce430b Fix a typo in calendar.texi
70752         bb748b3 Minor improvement in wording of the Emacs manual
70753         b603aff Revert "Fix tempfile creation when byte compiling"
70754         4fd446e Fix tempfile creation when byte compiling
70755         7f48a11 Improve the Emacs manual as suggested in emacs-manual-bugs
70756         728ded0 * lisp/emacs-lisp/bytecomp.el: Tweak last change
70757         c6c05e2 Unbreak building Emacs on FreeBSD
70758         a41ad3d Don't unnecessarily use non-ASCII characters in C sources
70759         c28d4b6 Portability fixes in emacs-module-tests
70760         1d50c18 Add tests for term.el
70762 2018-01-20  Glenn Morris  <rgm@gnu.org>
70764         Merge from origin/emacs-26
70766         297dc41 * configure.ac (emacs_config_features): Add threads.
70768         Conflicts:
70769                 configure.ac
70771 2018-01-20  Michael Albinus  <michael.albinus@gmx.de>
70773         Use file notification in autorevert also for recreated files
70775         * lisp/autorevert.el (auto-revert-mode)
70776         (global-auto-revert-mode, auto-revert-notify-add-watch)
70777         (auto-revert-notify-handler, auto-revert-handler): Do not use
70778         buffer local `auto-revert-use-notify' anymore.
70780         * test/lisp/autorevert-tests.el
70781         (auto-revert-test02-auto-revert-deleted-file): Adapt test in
70782         order to check, that file notification is reenabled when possible.
70784 2018-01-20  Michael Albinus  <michael.albinus@gmx.de>
70786         * doc/misc/tramp.texi: Highlight @cindex entries properly.
70788 2018-01-20  Basil L. Contovounesios  <contovob@tcd.ie>
70790         Improve and simplify 'map-y-or-n-p'
70792         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Do not follow a
70793         definite article with an action verb in C-h help text.  Use
70794         'with-help-window' instead of 'with-output-to-temp-buffer'.
70795         Simplify string concatenation.  (Bug#30064)
70797 2018-01-20  Basil L. Contovounesios  <contovob@tcd.ie>
70799         Use map-y-or-n-p in bibtex.el
70801         * lisp/textmodes/bibtex.el (bibtex-reformat): Use map-y-or-n-p.
70802         (Bug#30065)
70804 2018-01-20  Basil L. Contovounesios  <contovob@tcd.ie>
70806         Reverse bibtex-reference-keys in 'bibtex-parse-keys'
70808         * lisp/textmodes/bibtex.el (bibtex-parse-keys): Reverse
70809         bibtex-reference-keys.  (Bug#30048)
70811 2018-01-19  Michael Albinus  <michael.albinus@gmx.de>
70813         Add new entry in tramp-smb-errors
70815         * lisp/net/tramp-smb.el (tramp-smb-errors):
70816         Add "NT_STATUS_RESOURCE_NAME_NOT_FOUND".
70818 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
70820         Fix posn-at-point in Flycheck buffers
70822         * src/dispnew.c (buffer_posn_from_coords): Improve commentary.
70824         * src/xdisp.c (move_it_in_display_line_to): Don't exit the loop
70825         under truncate-lines if the glyph at TO_CHARPOS was not yet
70826         produced.  This avoids bailing out too early when we are at
70827         TO_CHARPOS, but didn't yet produce glyphs for that buffer
70828         position, because the last call to PRODUCE_GLYPHS at this position
70829         was for an object other than the buffer.  For further details, see
70830         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00537.html.
70832 2018-01-19  Reuben Thomas  <rrt@sc3d.org>
70834         etags(1): fix formatting problem
70836         * doc/man/etags.1: Remove spurious space.
70838 2018-01-19  Michael Albinus  <michael.albinus@gmx.de>
70840         * test/lisp/filenotify-tests.el (file-notify-test03-events): Cleanup subtests.
70842 2018-01-18  Stefan Monnier  <monnier@iro.umontreal.ca>
70844         * lisp/calendar/calendar.el: Use lexical-binding
70846         (calendar-generate-window): Remove unused variable `day'.
70847         (calendar-generate-month): Use calendar-dlet* to provide the dynbind
70848         vars promised by the respective docstrings.
70849         (calendar-update-mode-line): Use calendar-dlet* to provide `date' to
70850         calendar-mode-line-format.  Don't call `eval' here since it's called in
70851         calendar-string-spread anyway!
70852         (calendar-date-string): Use calendar-dlet* to provide the dynbind
70853         vars promised by the docstring of calendar-date-display-form.
70855         * lisp/calendar/diary-lib.el (diary--date-string): Rename from date-string.
70857 2018-01-18  Noam Postavsky  <npostavs@gmail.com>
70859         Switch term.el to lexical binding, and clean up code a bit
70861         * lisp/term.el (term-terminal-state): Remove.
70862         (term-do-line-wrapping): New variable, equivalent to state 1.
70863         (term-terminal-previous-parameter, term-terminal-parameter)
70864         (term-terminal-more-parameters)
70865         (term-terminal-previous-parameter-2)
70866         (term-terminal-previous-parameter-3)
70867         (term-terminal-previous-parameter-4): Remove.
70868         (term-move-to-column): New function, for absolute column movement.
70869         (term-control-seq-regexp, term-control-seq-prefix-regexp): New
70870         constants.
70871         (term-emulate-terminal, term-pager-discard): Use them via string-match
70872         instead of implementing a state machine in elisp.  Handle all
70873         unprocessed input via term-terminal-undecoded-bytes (this solves
70874         Bug#17231).
70875         (term-handle-ansi-escape): Take a list of escape sequence parameters
70876         as an argument, rather than via dynamic variables.
70877         (term-erase-in-display): Consult the argument, not the dynamically
70878         bound term-terminal-parameter (which happened to be the same as the
70879         argument up until now).
70881 2018-01-18  Glenn Morris  <rgm@gnu.org>
70883         * admin/automerge: New script.
70885 2018-01-18  Glenn Morris  <rgm@gnu.org>
70887         Merge from origin/emacs-26
70889         76040d1 (origin/emacs-26) Handle case-insensitive filenames for load-...
70890         0c9b050 ; * test/file-organization.org: Fix typo.
70892 2018-01-18  Glenn Morris  <rgm@gnu.org>
70894         Merge from origin/emacs-26
70896         779b2ac Use recommended long options syntax in man page
70897         c433e87 An overdue update of GNUstep emacs.tiff
70898         188a9d9 Add some test skip conditions
70900 2018-01-18  Glenn Morris  <rgm@gnu.org>
70902         Merge from origin/emacs-26
70904         7efb366 ; * etc/AUTHORS: Regenerate.
70905         3dc7f68 * admin/authors.el (authors-aliases): Tighten more entries.
70906         7428062 ; * lisp/vc/vc.el: Comment fixes.
70907         f4e6b6e Small startup fix for current-load-list
70908         5b776bf ; * etc/AUTHORS: Regenerate.
70909         d80295c authors-aliases is based on regexps, not literals
70911 2018-01-18  Stefan Monnier  <monnier@iro.umontreal.ca>
70913         * lisp/vc/vc-hg.el, lisp/vc/vc-git.el: Flush the 'vc-functions' cache.
70915 2018-01-18  Juri Linkov  <juri@linkov.net>
70917         Improve "*Process List*" and "*Local Variables*".  (Bug#30016)
70919         * lisp/files.el (save-buffers-kill-emacs): Display "*Process List*"
70920         buffer at bottom.
70921         (hack-local-variables-confirm): Display "*Local Variables*" buffer
70922         at bottom.
70924         * lisp/simple.el (process-menu-mode): Increase buffer column width
70925         from 15 to 25.
70927 2018-01-18  Philipp Stephani  <p.stephani2@gmail.com>
70929         Fix module support if threads are disabled (Bug#30106)
70931         * src/systhread.c (sys_thread_equal): New function.
70932         * src/thread.c (in_current_thread): Move from emacs-module.c; use
70933         sys_thread_equal.
70935 2018-01-18  Michael Albinus  <michael.albinus@gmx.de>
70937         * doc/misc/message.texi (Mail Aliases): Mention also down and up keys.
70939 2018-01-18  Lars Ingebrigtsen  <larsi@gnus.org>
70941         Bind up/down in ecomplete
70943         * lisp/ecomplete.el (ecomplete-display-matches): Allow using
70944         up/down in addition to M-p/M-n.
70946 2018-01-18  Martin Rudalics  <rudalics@gmx.at>
70948         Fix some tooltip related problems
70950         Replace 'tooltip' frame parameter with a 'tooltip' member in
70951         the frame structure.  For GTK+ builds use 'tip_last_frame' to
70952         find the frame for which the currently visible tooltip was
70953         made.  For modeline help-echoing have tooltips show applicable
70954         actions only.
70956         * lisp/bindings.el (mode-line-default-help-echo): New function
70957         as default value of homonymous option.
70958         * src/dispextern.h (tip_frame, tip_window): Remove
70959         declarations.
70960         * src/frame.c (make_frame): Initialize new frame structure
70961         member 'tooltip'.
70962         (Fframe_list, other_frames): Rewrite with new macro
70963         FRAME_TOOLTIP_P.
70964         * src/frame.h (struct frame): New member 'tooltip'.
70965         (FRAME_TOOLTIP_P): New macro.
70966         * src/gtkutil.c (xg_prepare_tooltip, xg_hide_tooltip): Rewrite
70967         using boolean return values.
70968         * src/nsfns.m (tip_frame): Remove declaration.
70969         * src/w32fns.c (w32_display_monitor_attributes_list)
70970         (w32_display_monitor_attributes_list_fallback): Rewrite with
70971         new macro FRAME_TOOLTIP_P.
70972         (tip_last_string, tip_last_frame, tip_last_parms): New Lisp
70973         scalars replacing Lisp vector last_show_tip_args.
70974         (x_create_tip_frame): Set new frame's 'tooltip' structure
70975         member to true.
70976         (x_hide_tip): Additionally test tip_frame for liveness.
70977         (Fx_show_tip): Handle last_show_tip_args to tip_last_frame,
70978         tip_last_string and tip_last_parms conversion.
70979         (syms_of_w32fns): staticpro tip_last_frame, tip_last_string
70980         and tip_last_parms instead of last_show_tip_args.
70981         * src/w32term.c (w32_read_socket, x_new_font): Rewrite with
70982         new macro FRAME_TOOLTIP_P.
70983         * src/w32term.h (tip_window): Add external declaration.
70984         * src/xdisp.c (x_consider_frame_title, prepare_menu_bars)
70985         (should_produce_line_number): Rewrite with new macro
70986         FRAME_TOOLTIP_P.
70987         (note_mode_line_or_margin_highlight): If
70988         `mode-line-default-help-echo' specifies a function, call it to
70989         produce help echo string.
70990         * src/xfns.c (x_make_monitor_attribute_list)
70991         (Fx_display_monitor_attributes_list): Rewrite with
70992         new macro FRAME_TOOLTIP_P.
70993         (tip_last_string, tip_last_frame, tip_last_parms): New Lisp
70994         scalars replacing Lisp vector last_show_tip_args.
70995         (x_create_tip_frame): Set new frame's 'tooltip' structure
70996         member to true.
70997         (x_hide_tip): Rewrite with additional tests of frames for
70998         liveness and taking into account that for GTK+ tips the
70999         reference frame is now stored in tip_last_frame instead of
71000         tip_frame.
71001         (Fx_show_tip): Handle last_show_tip_args to tip_last_frame,
71002         tip_last_string and tip_last_parms conversion.  For GTK+ store
71003         FRAME argument in tip_last-frame.
71004         (syms_of_xfns): staticpro tip_last_frame, tip_last_string
71005         and tip_last_parms instead of last_show_tip_args.
71006         * src/xterm.c (x_update_begin, handle_one_xevent, x_new_font)
71007         (x_set_window_size): Rewrite with new macro FRAME_TOOLTIP_P.
71008         * src/xterm.h (tip_window): Add external declaration.
71009         * etc/NEWS: Mention new modeline tooltips behavior.
71011 2018-01-16  Glenn Morris  <rgm@gnu.org>
71013         Small cus-start fix for custom-delayed-init-variables
71015         * lisp/cus-start.el (custom-delayed-init-variables):
71016         Only modify it during startup.
71018 2018-01-16  Lars Ingebrigtsen  <larsi@gnus.org>
71020         Introduce a variable to control ecomplete sorting
71022         * lisp/ecomplete.el (ecomplete-sort-predicate): New variable.
71023         (ecomplete-get-matches): Use it.
71025 2018-01-16  Alan Mackenzie  <acm@muc.de>
71027         C++ Mode: Fontify correctly uniform initialisation with inner parentheses.
71029         E.g.: someStruct x ( (nullptr != y) ? 3 : 4 )
71030         Also fontify declarations of function pointers correctly.
71032         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): While testing for a
71033         typeless declaration, additionally test the variable `got-prefix' to
71034         recognize a function pointer in parentheses.  Allow c-fdoc-shift-type-backward
71035         to be invoked when we have nested parens.
71037 2018-01-16  Lars Ingebrigtsen  <larsi@gnus.org>
71039         Add documentation to ecomplete.el
71041         * lisp/ecomplete.el: Add doc strings and document the format.
71043 2018-01-15  Paul Eggert  <eggert@cs.ucla.edu>
71045         Fix macOS breakage in make_lispy_event
71047         Problem reported by John Wiegley in:
71048         https://lists.gnu.org/r/emacs-devel/2018-01/msg00499.html
71049         * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]:
71050         Act on used_mouse_menu here...
71051         (make_lispy_event) [HAVE_NS]: ... instead of here.
71053 2018-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
71055         * lisp/ielm.el (ielm-eval-input): Use cl-print.
71057 2018-01-15  Glenn Morris  <rgm@gnu.org>
71059         Merge from origin/emacs-26
71061         98e5fb9bf3 (origin/emacs-26) Remove incorrect documentation in comint.el
71062         8ba5b85161 An overdue update of src/emacs-icon.h
71063         155b211133 Minor copyedit in ELisp manual
71065 2018-01-15  Glenn Morris  <rgm@gnu.org>
71067         Merge from origin/emacs-26
71069         c9c1add6a4 * doc/lispref/variables.texi (File Local Variables): Fix l...
71070         752fba992b (tag: emacs-26.0.91) ; * Update ldefs-boot.el
71071         4f46a5098d * ChangeLog.3: Update
71072         8f705ba44d Update etc/AUTHORS
71073         6c63204b8c Fix an entry in authors-aliases
71074         5dd0e5c54d Mention trace.el facilities in the ELisp manual
71075         97b0e41c5d Improve documentation of safe values of variables
71076         a502ee9dc4 ; * doc/emacs/misc.texi (Amusements): Really add "games" t...
71077         106bf8adc3 Improve the Emacs manual's "Misc" node
71078         47aa85c7ec In nsterm.m use FRAME_NS_P instead of FRAME_X_P (Bug#30019)
71079         e9e32d3475 ; * Update ldefs-boot.el
71081 2018-01-15  Glenn Morris  <rgm@gnu.org>
71083         Merge from origin/emacs-26
71085         2c0cfa6455 * ChangeLog.3: Update
71086         4387bb44ae Update authors
71087         bce51bd6f7 * lisp/gnus/message.el (message-do-auto-fill): Prevent do-...
71088         bd2a2a1e84 Improve documentation of etags
71089         7ba75b9637 Teach etags new interpreters for some languages
71090         1f7f03742d * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-stri...
71091         dbb4aac212 * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#2...
71092         80463a43da Improve documentation of fill-separate-heterogeneous-words...
71093         4bd2416d55 Fix documentation of some x-* functions
71094         9c2b11484f Inherit query-on-exit flag to stderr process (Bug#30031)
71095         3efb1e7def Fix Bug#30057
71096         a9b884c60f Tag some unstable tests, and skip by default (bug#24503)
71098         # Conflicts:
71099         #       test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
71101 2018-01-15  Nicolas Petton  <nicolas@petton.fr>
71103         * admin/authors.el (authors-aliases): Additions.
71105 2018-01-15  Nicolas Petton  <nicolas@petton.fr>
71107         Update authors.el
71109         * admin/authors.el (authors-valid-file-names)
71110         (authors-renamed-files-alist): Additions.
71112 2018-01-15  Glenn Morris  <rgm@gnu.org>
71114         Small improvement for noninteractive gitmerge
71116         * admin/gitmerge.el (gitmerge-resolve-unmerged):
71117         In batch mode, report conflicted files.
71119 2018-01-15  Glenn Morris  <rgm@gnu.org>
71121         Small gitmerge-skip-regexp fix
71123         * admin/gitmerge.el (gitmerge-skip-regexp): Update for new format
71124         of "bump version" message that seems to have appeared.
71126 2018-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
71128         * src/print.c (syms_of_print) <print_quoted>: Set default to true
71130 2018-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
71132         * lisp/mail/smtpmail.el (smtpmail-send-data-1): No string-as-multibyte
71134         This is not needed any more since unibyte strings will be sent as-is
71135         anyway by process-send-string.
71136         (smtpmail-via-smtp): Avoid set-buffer-process-coding-system.
71138 2018-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
71140         (set-buffer-process-coding-system): Mark as interactive-only.
71142         * lisp/international/mule.el (set-buffer-process-coding-system):
71143         Mark as interactive-only.
71145 2018-01-15  Jeremie Courreges-Anglas  <jca@wxcvbn.org>
71147         Use fcntl.h in kqueue.c
71149         * src/kqueue.c: Use fcntl.h (specified by POSIX) instead of
71150         non-standard sys/file.h to access O_* open(2) flags.
71152 2018-01-14  Marcin Borkowski  <mbork@mbork.pl>
71154         Add simple tests for the `fill-polish-nobreak-p' function
71156         * test/lisp/textmodes/fill-tests.el:
71157         (fill-test-no-fill-polish-nobreak-p): New test
71159 2018-01-14  Marcin Borkowski  <mbork@mbork.pl>
71161         Add the function `fill-polish-nobreak-p'
71163         * lisp/textmodes/fill.el (fill-polish-nobreak-p): Prevent
71164         line-breaking after a single-letter word even if this word is not
71165         preceded by a space.  Fixes bug #20871.
71167 2018-01-13  Ken Brown  <kbrown@cornell.edu>
71169         Add battery support to all Cygwin builds
71171         It already exists in the Cygwin-w32 build.
71172         * src/w32fns.c (Fw32_battery_status): Move to...
71173         * src/w32cygwinx.c: New file, to be used for functions common to
71174         the MS Windows and Cygwin builds.
71175         (syms_of_w32cygwinx): New function.
71176         * src/lisp.h: Add prototype of syms_of_w32cygwinx.
71177         * src/emacs.c (main) [HAVE_NTGUI or CYGWIN]: Call syms_of_w32cygwinx.
71178         * src/Makefile.in (SOME_MACHINE_OBJECTS):
71179         * configure.ac (W32_OBJ) [HAVE_W32]: Add w32cygwinx.o.
71180         (W32_LIBS) [CYGWIN]: Set equal to "-lkernel32" in non-w32 build.
71181         (W32_OBJ) [CYGWIN]: Set equal to "w32cygwinx.o" in non-w32 build.
71182         * etc/NEWS: Document the new battery support.
71184 2018-01-13  Shuguang Sun  <shuguang@gmail.com>
71186         Fix Bug#29149 in dired-aux.el
71188         * lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
71189         commands on w32 properly.  (Bug#29149)
71191 2018-01-13  Michael Albinus  <michael.albinus@gmx.de>
71193         Fix Bug#29149 in shell.el
71195         * lisp/shell.el (shell): Change order of `file-local-name' and
71196         `expand-file-name' calls.  Otherwise, the local file name
71197         would be extended by a drive letter, even when it is a remote
71198         file, seen from w32.  (Bug#29149)
71200 2018-01-13  Michael Albinus  <michael.albinus@gmx.de>
71202         Improve Tramp robustness
71204         * lisp/net/tramp.el (tramp-message, tramp-process-actions)
71205         (tramp-read-passwd, tramp-interrupt-process):
71206         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
71207         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch)
71208         (tramp-gvfs-maybe-open-connection):
71209         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
71210         (tramp-process-sentinel)
71211         (tramp-sh-handle-file-notify-add-watch)
71212         (tramp-barf-if-no-shell-prompt, tramp-maybe-open-connection)
71213         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
71214         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
71215         (tramp-smb-maybe-open-connection): Use process property rather
71216         than connection property "vector".
71218         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
71219         Fix scoping error.  Let error traces use process buffer.
71221         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
71222         Move "inotifywait" up.  GVFS based monitoring is not stable.
71223         Let error traces use process buffer.
71224         (tramp-sh-gvfs-monitor-dir-process-filter): Check more error
71225         messages.
71226         (tramp-get-remote-gvfs-monitor-dir): Search also for "gio".
71228         * lisp/net/tramp.el (tramp-get-debug-buffer):
71229         Use `special-mode-map' as parent map in debug buffer.
71230         (tramp-message): Ensure, that proper process buffer is dumped
71231         in error case.
71233 2018-01-12  Stefan Monnier  <monnier@iro.umontreal.ca>
71235         * src/keyboard.c: Consolidate code into make_lispy_event
71237         (clear_event): Change arg type.  Adjust callers.
71238         (kbd_buffer_get_event): Move most special event handling to
71239         make_lispy_event.
71240         (make_lispy_event): Add missing cases, taken from kbd_buffer_get_event.
71241         <SAVE_SESSION_EVENT>: Change return value to match what used to be built
71242         in kbd_buffer_get_event.
71244 2018-01-12  Stefan Monnier  <monnier@iro.umontreal.ca>
71246         * src/keyboard.c (kbd_buffer_get_event): Use 'switch' ...
71248         ...rather than a sequence of else-if.
71250 2018-01-12  Alan Mackenzie  <acm@muc.de>
71252         Make Fzlib_decompress_region always call the change hooks in a balanced way.
71254         This means there will be exactly one call of each of before- and
71255         after-change-functions, regardless of whether or not the decompression
71256         succeeds, and these calls will refer to corresponding buffer regions.
71258         src/decompress.c (struct decompress_unwind_data): add a new field, orig.
71259         (unwind_decompress): Use del_range_2 and update_compositions in place of
71260         del_range, to avoid unwanted change hook calls.  Call signal_after_change for
71261         the failed case.
71262         (Fzlib_decompress_region): Call modify_txt for a before-change-functions.  Set
71263         the new field orig of unwind_data to the region's start.  Use del_range_2 and
71264         update_compositions in place of del_range to avoid unwanted change hook
71265         calls.  Call signal_after_change for the successful case.
71267 2018-01-11  Juri Linkov  <juri@linkov.net>
71269         * lisp/frame.el (toggle-frame-maximized/fullscreen): Add frame arg.
71271         (Bug#29986)
71273 2018-01-11  Juri Linkov  <juri@linkov.net>
71275         * lisp/windmove.el (windmove-default-keybindings): Allow list of modifiers.
71277         (Bug#29985)
71279 2018-01-11  Ken Brown  <kbrown@cornell.edu>
71281         Unbreak the Cygwin-w32 build
71283         * src/keyboard.c (input_polling_used) [CYGWIN]: Restore.  This was
71284         removed on Cygwin in the commit "On non-MS-Windows, omit unnecessary
71285         polling functions".  But it is used in w32fns.c:x_make_frame_visible
71286         in the Cygwin-w32 build.
71288 2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
71290         * lisp/mail/smtpmail.el: Use lexical-binding and cl-generic
71292         (smtpmail-auth-supported): Mark it as non-constant.
71293         (smtpmail-try-auth-methods): Remove unused var 'ret'.
71294         Test non-nullness of mech user and password before calling
71295         smtpmail-try-auth-method.
71296         (smtpmail-try-auth-method): Make it into a generic function.
71297         (smtpmail-via-smtp): Remove unused var 'response-code'.
71299 2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
71301         * lisp/org/org-element.el: Add comment about use of internal functions
71303 2018-01-10  Glenn Morris  <rgm@gnu.org>
71305         Remove some more face aliases obsolete since 22.1
71307         * lisp/generic-x.el (show-tabs-tab-face, show-tabs-space-face):
71308         * lisp/eshell/em-prompt.el (eshell-prompt-face):
71309         * lisp/vc/smerge-mode.el (smerge-base-face, smerge-markers-face):
71310         Remove face "-face" aliases, obsolete since 22.1.
71312 2018-01-10  Glenn Morris  <rgm@gnu.org>
71314         Remove message.el face aliases obsolete since 22.1
71316         * lisp/gnus/message.el: Remove face "-face" aliases,
71317         obsolete since 22.1.
71319 2018-01-10  Glenn Morris  <rgm@gnu.org>
71321         Remove Gnus face aliases obsolete since 22.1
71323         * lisp/gnus/gnus-art.el, lisp/gnus/gnus-cite.el:
71324         * lisp/gnus/gnus-srvr.el, lisp/gnus/gnus.el:
71325         * lisp/gnus/spam.el: Remove face "-face" aliases, obsolete since 22.1.
71327 2018-01-10  Glenn Morris  <rgm@gnu.org>
71329         Remove obsolete variable sun-raw-prefix-hooks
71331         * lisp/term/sun.el (sun-raw-prefix-hooks): Remove, obsolete since 21.1.
71332         (terminal-init-sun): No longer consult sun-raw-prefix-hooks.
71334 2018-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
71336         * lisp/calendar/appt.el: Use lexical-binding
71338         (appt-display-message): Remove unused variable 'err'.
71339         (appt-check): Fix typo in search for a function on a hook.
71340         (number, original-date): Move declaration into 'appt-make-list'.
71342 2018-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
71344         * lisp/calendar/diary-lib.el: Fix bug#30051
71346         (diary-list-entries): Dynamically bind 'number' and 'original-date' around
71347         diary-hook as documented in the docstring.
71349 2018-01-09  Glenn Morris  <rgm@gnu.org>
71351         Remove some obsolete calendar functions and variables
71353         * lisp/calendar/cal-tex.el (cal-tex-list-holidays):
71354         Remove alias, obsolete since 24.4.
71355         * lisp/calendar/calendar.el (calendar-mode):
71356         No longer use calendar-font-lock-keywords.
71357         (calendar-font-lock-keywords): Delete variable, obsolete since 24.4.
71359 2018-01-09  Glenn Morris  <rgm@gnu.org>
71361         Remove some obsolete compat code in supercite.el
71363         * lisp/mail/supercite.el (sc-ask, sc-cite-original):
71364         Remove obsolete compat code.  This file uses modern features.
71366 2018-01-09  Glenn Morris  <rgm@gnu.org>
71368         Remove some obsolete compat code in f90.el
71370         * lisp/progmodes/f90.el (f90-mark-subprogram, f90-indent-region)
71371         (f90-fill-region): Remove obsolete compat code.
71372         This file uses modern features.
71374 2018-01-09  Glenn Morris  <rgm@gnu.org>
71376         Remove some obsolete compat code in fortran.el
71378         * lisp/progmodes/fortran.el (fortran-abbrev-start):
71379         Remove obsolete compat code.  This file uses modern features.
71381 2018-01-09  Paul Eggert  <eggert@cs.ucla.edu>
71383         Merge from origin/emacs-26
71385         7668717d6f Merge from Gnulib
71386         9e4d523427 * lisp/epg.el (epg-start-sign): Replace obsolete functions.
71387         26c58f31a8 Small fix for erc-logging-enabled
71388         34b41e3bc6 Quieten semantic normal usage
71389         e25f961e37 Avoid irrelevant hyperlink in doc string of 'epa-pinentry-...
71390         ec2636513c * doc/misc/tramp.texi (Remote processes): Mention gdb rest...
71391         918a052a42 Query background for gnome terminal version 3.22 (Bug#29716)
71392         1dfc27576a Make pixel-wise scrolling less laggy
71393         f92264fc2a Fix child frame placement issues (bug#29953)
71394         a5f718c4c5 ; * doc/lispref/text.texi (Change Hooks): Fix last change.
71395         e876f5f9fb Describe the precise interaction of complex primitives wit...
71396         3a22097cf6 Fix valgrind report in call-interactively
71397         d5f1c87bfe * src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)
71398         b8d74c4578 Fix mark-defun when there's no spaces between successive d...
71399         a377c652b5 Fix Dired display and operations on file names with raw bytes
71400         d9d6e8a04c ; Comments related to src/termcap.c
71401         f8a07fa6b1 Improve documentation of 'gdb-many-windows'
71402         f82400798e Fix failures in smerge-mode on MS-Windows
71404 2018-01-09  Paul Eggert  <eggert@cs.ucla.edu>
71406         Merge from origin/emacs-26
71408         d382d2bfc5 * etc/DEBUG (Getting control to the debugger): Fix grammar.
71409         687af4c8e8 * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset h...
71410         43e2aafae3 Don't bind dframe events on load (Bug#29599)
71411         ab31bf3c5f * lisp/textmodes/picture.el (picture-mode-exit): Doc fix. ...
71412         ed44d92fa6 * lisp/textmodes/picture.el (picture-open-line): Doc fix. ...
71413         b87a772612 Fix description of 'emacs-internal'
71414         a5256da588 Update PROBLEMS with selection-related issues
71415         c59ecb005e New customization variable for python-mode indentation (Bu...
71416         4e20c8f220 Fix menu keyboard shortcuts on macOS (Bug#29595)
71418         # Conflicts:
71419         #       etc/NEWS
71421 2018-01-09  Michael Albinus  <michael.albinus@gmx.de>
71423         Fix Bug#30038
71425         * lisp/net/tramp.el (tramp-make-tramp-file-name): Check, that
71426         method is not empty.  (Bug#30038)
71428 2018-01-08  Tino Calancha  <tino.calancha@gmail.com>
71430         cl-loop: Add missing guard condition
71432         Consider the expansion of `cl-loop' with a `for' clause and more
71433         than one internal variables, X, Y, processed in parallel.
71434         Each step updates X and Y right after update the loop variable, K; if
71435         either X or Y depend on K, then some forms of the body are
71436         evaluated with the wrong K (Bug#29799).
71438         For instance, consider the following code:
71439         (cl-loop for k below 2
71440                  for x = (progn (message "k = %d" k) 1)
71441                  and y = 1)
71443         This code should show in *Messages*:
71444         k = 0
71445         k = 1
71447         Instead, the code shows:
71448         k = 0
71449         k = 1
71450         k = 2
71452         To prevent this we must ensure that the loop condition is still
71453         satisfied right after update the loop variable.
71454         In the macro expansion of the example above, right after:
71455         (setq k (+ k 1))
71457         evaluate the rest of the body forms iif the condition
71458         (< k 2)
71459         is still valid.
71461         * lisp/emacs-lisp/cl-macs.el (cl--loop-guard-cond): New variable.
71462         (cl--parse-loop-clause): Set it non-nil if the loop contains
71463         a for/as clause.
71464         (cl-loop): After update the loop variable, evaluate the remaining of
71465         the body forms just if the loop condition is still valid (Bug#29799).
71467         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-for-as-equals-and):
71468         New test.
71470 2018-01-07  Alan Third  <alan@idiocy.org>
71472         Add macOS character-palette (bug#29837)
71474         * lisp/term/ns-win.el (ns-do-show-character-palette): New function.
71475         * src/nsfns.m (Sns_show_character_palette): New function.
71476         * src/nsterm.m (EmacsView::insertText): Handle NSAttributedString.
71478 2018-01-07  Alan Third  <alan@idiocy.org>
71480         Fix build issues on macOS (bug#29931)
71482         * configure.ac: On darwin add check for Homebrew texinfo install, and
71483         fix incorrect quoting of libxml2 includes.
71485 2018-01-07  Philipp Stephani  <phst@google.com>
71487         Allow inserting non-BMP characters
71489         * src/coding.h (UTF_16_HIGH_SURROGATE_P, UTF_16_LOW_SURROGATE_P): Move
71490         from coding.c and document.
71491         (surrogates_to_codepoint): New function.
71493         * src/nsterm.m (insertText:): Properly handle surrogate pairs.
71495 2018-01-07  Michael Albinus  <michael.albinus@gmx.de>
71497         Make tramp-tests.el more robust on w32
71499         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
71500         Do not call `make-symbolic-link' on w32.
71501         (tramp-test36-find-backup-file-name): Call also
71502         `convert-standard-filename' due to w32.
71503         (tramp--test-windows-nt): New defun.
71504         (tramp-test42-auto-load, tramp-test42-delay-load)
71505         (tramp-test42-recursive-load, tramp-test42-remote-load-path):
71506         Quote command due to w32.
71508 2018-01-07  Philipp Stephani  <phst@google.com>
71510         Remove incorrect use of AUTO_STRING
71512         * src/lread.c (load_error_old_style_backquotes): Remove incorrect use
71513         of AUTO_STRING.
71515 2018-01-07  Tino Calancha  <tino.calancha@gmail.com>
71517         cl-loop: Calculate the array length just once
71519         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause):
71520         Dont calculate the array length on each iteration (Bug#29866).
71522 2018-01-07  Philipp Stephani  <phst@google.com>
71524         Improve error message for old-style backquotes
71526         * src/lread.c (load_error_old_style_backquotes): Improve error message
71527         if no file is being loaded.
71529         * test/src/lread-tests.el (lread-tests--force-new-style-backquotes):
71530         Adapt test.
71532 2018-01-07  Philipp Stephani  <phst@google.com>
71534         Add new variable to force new-style backquote interpretation.
71536         * src/lread.c (syms_of_lread): Add new variable
71537         'force-new-style-backquotes'.
71538         (read_internal_start): Use it.
71540         * test/src/lread-tests.el (lread-tests--force-new-style-backquotes):
71541         New test.
71543         * etc/NEWS: Document new variable.
71545 2018-01-07  Philipp Stephani  <phst@google.com>
71547         Revert "Prevent name clashes between CL structures and builtin types"
71549         This reverts commit 151496a4b96430924bc148f85b9c8471d1e132b1.
71550         That commit breaks bootstrap builds due to a cyclic dependency.
71552 2018-01-07  Philipp Stephani  <phst@google.com>
71554         Ignore escape characters for context-sensitive quotes (Bug#29812)
71556         * lisp/electric.el (electric-quote-post-self-insert-function): Skip
71557         over escape characters when determining whether a context-sensitive
71558         quote should be opening or closing.
71560         * test/lisp/electric-tests.el
71561         (electric-quote-replace-double-escaped-open)
71562         (electric-quote-replace-double-escaped-close): New unit tests.
71564 2018-01-07  Philipp Stephani  <phst@google.com>
71566         Fix a small bug in electric quoting.
71568         Before this commit, if 'electric-quote-replace-double' is non-nil,
71569         typing " '" turned into " ‘" even if
71570         'electric-quote-context-sensitive' was nil.
71572         * lisp/electric.el (electric-quote-post-self-insert-function): Insert
71573         context-sensitive double quote only if the last character is actually
71574         a double quote character.
71576         * test/lisp/electric-tests.el
71577         (electric-quote-replace-double-no-context-single): New unit test.
71579 2018-01-07  Philipp Stephani  <phst@google.com>
71581         Prevent name clashes between CL structures and builtin types
71583         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Don't allow
71584         structures with the same names as builtin types.
71585         (cl--struct-name-p): New helper function.
71587         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't allow structures
71588         with the same names as builtin types.
71590         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-defstruct/builtin-type):
71591         * test/lisp/emacs-lisp/cl-preloaded-tests.el
71592         (cl-struct-define/builtin-type): New unit tests.
71594         * etc/NEWS: Document changed behavior.
71596 2018-01-07  Alan Mackenzie  <acm@muc.de>
71598         * src/fns.c (base64-decode-region): Add signal_after_change call for insertion.
71600 2018-01-06  Noam Postavsky  <npostavs@gmail.com>
71602         Revert "Fix command repetition with lexical-binding (Bug#29334)"
71604         It does not work with more complicated interactive forms, because
71605         byte-compile-lambda actually receives an intermediate form of code
71606         rather than valid lisp source (Bug#29988).
71607         * src/callint.c (Fcall_interactively):
71608         * lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Revert previous
71609         change, and update commentary.
71611 2018-01-06  Alan Third  <alan@idiocy.org>
71613         Allow setting tooltip colors in NS port
71615         * src/nsfns.m (Fx_show_tip): Get face colors and apply them to the
71616         tooltip.
71617         * src/nsmenu.m (EmacsTooltip::setBackgroundColor):
71618         (EmacsTooltip::setForegroundColor): New functions.
71619         * src/nsterm.h (EmacsTooltip::setBackgroundColor):
71620         (EmacsTooltip::setForegroundColor): New function prototypes.
71622 2018-01-06  Alan Mackenzie  <acm@muc.de>
71624         Make transpose-regions invoke before-change-functions only once.
71626         In the case of two non-contiguous regions the same size, transpose-regions has
71627         been calling before-change-functions twice, once for each region.  It now
71628         calls it just once, for the minimal region spanning both single regions.
71630         * src/editfns.c (Ftranspose_regions): Combine two calls of modify_text into
71631         one.
71633 2018-01-06  Michael Albinus  <michael.albinus@gmx.de>
71635         Minor tramp-gvfs.el cleanup
71637         * lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): Move up.
71638         (top): Delete goa methods only when `tramp-gvfs-enabled' is not nil.
71640 2018-01-05  Michael Albinus  <michael.albinus@gmx.de>
71642         Add new Tramp connection method "owncloud"
71644         * doc/misc/tramp.texi (all): Use @acronym{GNOME} thoroughly.
71645         (Using GNOME Online Accounts based methods): Rename from
71646         "Using Google Drive".  Add `owncloud'.
71647         (GVFS based methods): Add `owncloud'.
71649         * etc/NEWS: Add Tramp connection method "owncloud".
71651         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "owncloud".
71652         Remove goa methods if not supported.
71653         (tramp-goa-methods, tramp-goa-service, tramp-goa-path)
71654         (tramp-goa-path-accounts, tramp-goa-interface-documents)
71655         (tramp-goa-interface-printers, tramp-goa-interface-files)
71656         (tramp-goa-interface-contacts, tramp-goa-interface-calendar)
71657         (tramp-goa-interface-oauth2based)
71658         (tramp-goa-interface-account, tramp-goa-identity-regexp)
71659         (tramp-goa-interface-mail, tramp-goa-interface-chat)
71660         (tramp-goa-interface-photos, tramp-goa-path-manager)
71661         (tramp-goa-interface-documents)
71662         (tramp-gvfs-owncloud-default-prefix)
71663         (tramp-gvfs-owncloud-default-prefix-regexp): New defconst.
71664         (tramp-goa-name): New defstruct.
71665         (tramp-gvfs-stringify-dbus-message): Handle all consp messages.
71666         (tramp-dbus-function, tramp-gvfs-get-remote-prefix)
71667         (tramp-get-goa-accounts): New defun.
71668         (with-tramp-dbus-call-method): Use it.
71669         (with-tramp-dbus-get-all-properties): New defmacro.
71670         (tramp-gvfs-url-file-name)
71671         (tramp-gvfs-handler-mounted-unmounted)
71672         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
71673         Map between "owncloud" and "davs".
71674         (tramp-gvfs-maybe-open-connection): Set "vector" connection property.
71676         * test/lisp/net/tramp-tests.el (tramp-gvfs-handler-askquestion):
71677         Suppress run in tests.
71678         (tramp--test-owncloud-p): New defun.
71679         (tramp-test11-copy-file, tramp-test12-rename-file): Use it.
71681 2018-01-05  Jay Kamat  <jaygkamat@gmail.com>
71683         Make eshell history expansion more like bash (Bug#29821)
71685         - Prevent expansion of quick substitutions when the initial "^" is not
71686           at start of line (Bug#29157).
71687         - Allow spaces inside substitutions, so "^foo bar^baz" works.
71688         - Allow trailing characters after substitution, so "^foo^bar^trailing"
71689           works.
71690         - Throw an error when substitution does not match.
71692         * lisp/eshell/em-hist.el (eshell-expand-history-references): Expand
71693         history substitution before other types of expansions, and expand them
71694         with the whole line.
71695         (eshell-history-substitution): New function to expand only
71696         substitutions, taking in the entire typed line rather than individual
71697         arguments.
71699 2018-01-04  Michael Albinus  <michael.albinus@gmx.de>
71701         Improve backward compatibility in tramp-archive
71703         * lisp/net/tramp-archive.el
71704         (tramp-archive-handle-temporary-file-directory):
71705         Use `tramp-compat-temporary-file-directory'.
71707         * test/lisp/net/tramp-archive-tests.el
71708         (tramp-archive-test37-make-nearby-temp-file):
71709         Wrap `temporary-file-directory' call with `with-no-warnings'.
71711 2018-01-04  Michael Albinus  <michael.albinus@gmx.de>
71713         Write proper `write-region' message in Tramp backends
71715         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
71716         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
71717         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
71718         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
71719         Write proper message.
71721         * lisp/net/tramp.el (tramp-message-show-message): Change default.
71723         * test/lisp/net/tramp-tests.el (ert-x): Require it.
71724         (tramp-test10-write-region): Extend test.
71726 2018-01-03  Noam Postavsky  <npostavs@gmail.com>
71728         Fix command repetition with lexical-binding (Bug#29334)
71730         `call-interactively' relies on analyzing the source of `interactive'
71731         forms in order to preserve arguments like (region-end) in the command
71732         history, rather than just storing the resulting position.  However,
71733         the byte-compiler does not preserve the source of the interactive form
71734         when lexical-binding is in effect, because `call-interactively' would
71735         evaluate the form with dynamic binding in that case.
71737         To fix this, change `call-interactively' so that it checks compiled
71738         functions for lexical-binding as well.  Then the byte-compiler can
71739         preserve the source of interactive forms regardless of the value of
71740         lexical-binding.
71742         * src/callint.c (Fcall_interactively): Functions compiled with
71743         lexical-binding have their arglist encoded as an integer, use this to
71744         choose the right kind of binding for compiled functions too.
71745         * lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Preserve the
71746         uncompiled form of the interactive form when lexical-binding is
71747         enabled too.
71749 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
71751         Fix .gdbinit to work with Lisp_Word
71753         Problem reported by Stefan Monnier (Bug#29957).
71754         * src/.gdbinit (xgetptr, xgetint, xgettype):
71755         Cast Lisp_Word value to EMACS_INT, since it might be a pointer now.
71757 2018-01-02  Stephen Leake  <stephen_leake@stephe-leake.org>
71759         Fix description of 'struct' generic function specializer
71761         * doc/lispref/functions.texi (Generic Functions): Fix description of
71762         'struct' specializer; it must be the named struct or a child, not a
71763         parent.
71765 2018-01-02  Michael Albinus  <michael.albinus@gmx.de>
71767         Remove superfluous test data for Tramp
71769 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
71771         * etc/NEWS: Improve -fcheck-pointer-bounds wording.
71773         Merge from gnulib, mostly to fix copyright years
71775 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
71777         Update copyright year to 2018
71779         Run admin/update-copyright.
71781 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
71783         Merge from origin/emacs-26
71785         63b04c11d5 Fix copyright years by hand
71786         5c7dd8a783 Update copyright year to 2018
71787         220a9ecba1 Merge from Gnulib
71788         312c565566 Don't add empty keyboard macro to macro ring (Bug#24992)
71789         39ca289a7a Allow customization of decoding of "man" command
71790         f8240815ea * etc/NEWS: Add security consideration note on passphrase ...
71791         0c78822c70 Fix subtle problem with scroll-down when scroll-margin is ...
71792         acd289c5a4 Fix problems with indexing in User manual
71793         b240c7846b * lisp/help.el (describe-key): Only (copy-sequence elt) wh...
71794         e879a5444a * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
71795         81b1028b63 Improve documentation of 'inhibit-modification-hooks' and ...
71796         7175496d7a Fix doc string of 'enable-recursive-minibuffers'
71797         5b38406491 Fix documentation of delsel and of killing text
71799         # Conflicts:
71800         #       etc/NEWS
71801         #       etc/refcards/ru-refcard.tex
71803 2017-12-30  Philipp Stephani  <phst@google.com>
71805         Improve error reporting when serializing non-Unicode strings to JSON
71807         * src/coding.c (utf8_string_p): New helper function.
71808         (syms_of_coding) <utf-8-unix>: Move from json.c.
71810         * src/json.c (json_check_utf8): New helper function.
71811         (lisp_to_json_toplevel_1, lisp_to_json): Use it.  To save a bit of
71812         time, check for invalid UTF-8 strings only after encountering an
71813         error, since Jansson already rejects them.
71815         * test/src/json-tests.el (json-serialize/invalid-unicode): Adapt
71816         expected error symbol.
71818 2017-12-30  David McFarland  <corngood@gmail.com>  (tiny change)
71820         Fix regex stack overflow in gdb-mi.el when parsing complex locals
71822         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer): Skip string
71823         literals with (forward-sexp) instead of matching with regex.
71824         (Bug#29868)
71826 2017-12-30  Sebastian Reuße  <seb@wirrsal.net>  (tiny change)
71828         Fix output alignment in 'find-dired' for "ls -h"
71830         * lisp/find-dired.el (find-dired-filter): Fix alignment of
71831         the file size column when the -h ls option is used in
71832         'find-ls-option'.  (Bug#29803)
71834 2017-12-28  Eric Abrahamsen  <eric@ericabrahamsen.net>
71836         Make gnus-alter-articles-to-read-function a constant lambda
71838         * lisp/gnus/gnus-sum.el (gnus-alter-articles-to-read-function):
71839           Default to a no-op lambda form, mention the use of `add-function' in
71840           the docstring.
71841         * lisp/gnus/gnus-sum.el (gnus-articles-to-read): Check if the option
71842           value is callable.
71844 2017-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
71846         * lisp/net/ange-ftp.el: Use lexical-binding
71848 2017-12-28  Michael Albinus  <michael.albinus@gmx.de>
71850         Fix Bug#29874
71852         * lisp/net/ange-ftp.el (ange-ftp-file-accessible-directory-p)
71853         (ange-ftp-real-file-accessible-directory-p): New defuns.
71854         (ange-ftp-nslookup-host, ange-ftp-start-process):
71855         Use `ange-ftp-real-file-accessible-directory-p'.
71856         (file-accessible-directory-p): Put `ange-ftp' property.  (Bug#29874)
71858 2017-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
71860         Remove uses of `cl` from test/ subdirectory
71862         * test/lisp/gnus/gnus-tests.el: Remove unneeded (require 'cl).
71864         * test/lisp/net/gnutls-tests.el: Use cl-lib and pcase.
71866 2017-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
71868         (delayed-after-hook-functions): Tighten the code a bit
71870         * lisp/subr.el (delayed-mode-hooks, delayed-after-hook-functions):
71871         Use defvar-local.
71872         (run-mode-hooks): Reset delayed-after-hook-functions before running
71873         those functions, in case an error is signaled.
71875         * lisp/emacs-lisp/derived.el (define-derived-mode): Don't duplicate code.
71877 2017-12-27  Glenn Morris  <rgm@gnu.org>
71879         Fix recent rfc2231 avoidance of cl
71881         * lisp/mail/rfc2231.el (rfc2231-parse-string)
71882         (rfc2231-encode-string): Replace cl forms with cl-lib versions.
71884 2017-12-27  Glenn Morris  <rgm@gnu.org>
71886         Merge from origin/emacs-26
71888         fd35804971 (origin/emacs-26) * doc/lispref/strings.texi (Case Convers...
71889         89e257d71b * doc/misc/speedbar.texi (Top): Fix grammar.
71890         a31ab5ffb5 * lisp/subr.el (with-silent-modifications): Doc fixes.
71891         2ebc8dc3b6 Fix curved quotes in printed manual
71892         e4a881b5cf Say that "gnus-cloud" is a parody name
71893         13c59d0a83 More improvements for text.texi
71894         7850b7620e Adjudicate review comments for the "Text" chapter of user ...
71895         d7d3b14a99 * lisp/url/url-http.el (url-http-wait-for-headers-change-f...
71896         f3819ad13e In C-h k <mouse-n>, alert user to existence of any matchin...
71897         99054fbef9 * net/eww.el (eww): Handle URLs without host part.
71898         de89c0b641 Make C-h c/k S-mouse-1 display message for mouse-appearanc...
71899         720ed0b533 Avoid crashes when ':eval' deletes our frame
71900         9105c9aa34 Fix scrolling up in pixel-scroll.el
71901         b882d4ef11 Fix problems with ligatures in PDF version of ELisp manual
71902         289dd53bb3 (elisp-flymake-byte-compile): Handle killed buffer in sent...
71903         cf36c82127 Avoid some overfull lines in PDF lispref
71904         b07b56a351 Avoid some overfull lines in PDF manual
71905         6b3118f025 * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer M...
71906         7ffb7b1e01 ; lispref nil/t markup fixes
71908         # Conflicts:
71909         #       doc/emacs/text.texi
71911 2017-12-26  Stefan Monnier  <monnier@iro.umontreal.ca>
71913         Eliminate last uses of 'cl' in lisp/mail/
71915         * lisp/mail/binhex.el: Use lexical-binding and avoid cl.
71916         (binhex-push-char): Remove unused arg 'count'.
71917         (binhex-decode-region-external): Remove unused var 'status'.
71919         * lisp/mail/flow-fill.el: Use lexical-binding and avoid cl.
71921         * lisp/mail/footnote.el: Reduce redundancy.
71922         (footnote-roman-lower-regexp, footnote-roman-upper-regexp)
71923         (footnote-roman-upper-list): Auto-generate from footnote-roman-lower-list.
71924         (footnote-hebrew-numeric-regex): Auto-generate from footnote-hebrew-numeric.
71925         (footnote--hebrew-numeric): Simplify.
71926         (footnote-hebrew-symbolic-regex): Generate from footnote-hebrew-symbolic.
71928         * lisp/mail/hashcash.el: Use lexical-binding and avoid cl.
71929         (hashcash-verify-payment): Use pcase.
71931         * lisp/mail/ietf-drums.el: Use lexical-binding and avoid cl.
71932         (ietf-drums-token-to-list): Remove unused var 'e'.
71934         * lisp/mail/rfc2231.el: Use lexical-binding and avoid cl.
71936         * lisp/mail/uudecode.el: Use lexical-binding and avoid cl.
71937         (uudecode-char-int): Remove unused 'eval-and-compile' wrapper.
71938         (uudecode-decode-region-external): Remove unused 'status' var.
71939         (uudecode-string-to-multibyte): Remove.
71940         (uudecode-decode-region-internal): Use decode-coding-string instead.
71942         * lisp/mail/yenc.el: Use lexical-binding and avoid cl.
71944 2017-12-26  Charles A. Roelli  <charles@aurox.ch>
71946         Fix highlighting in query-replace with non-nil replace-char-fold
71948         * lisp/replace.el (replace-highlight): Bind
71949         'isearch-regexp-function' in the same way that function
71950         'replace-search' does, so as to respect the value of
71951         'replace-char-fold'.  (Bug#24356)
71953 2017-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
71955         * lisp/mail/footnote.el: Reduce redundancy in roman&hebrew defs
71957         (footnote-roman-lower-regexp, footnote-roman-upper-regexp)
71958         (footnote-roman-upper-list): Auto-generate from footnote-roman-lower-list.
71959         (footnote-hebrew-numeric-regex): Auto-generate from footnote-hebrew-numeric.
71960         (footnote--hebrew-numeric): Simplify.
71961         (footnote-hebrew-symbolic-regex): Generate from footnote-hebrew-symbolic.
71963 2017-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
71965         * lisp/mail/footnote.el: Use lexical-binding
71967         (footnote--renumber): Mark arg 'from' as unused.
71968         (footnote-add-footnote, footnote-renumber-footnotes)
71969         (footnote-back-to-message): Remove unused argument 'arg'.
71971 2017-12-25  Boruch Baum  <boruch_baum@gmx.com>
71973         * lisp/mail/footnote.el: Replace "Footnote-" prefix with "footnote--"
71975         (footnote-section-tag): Remove trailing space.
71977 2017-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
71979         * lisp/register.el: Use cl-generic
71981         (registerv): Make it a "normal"struct.
71982         (registerv-make): Declare obsolete.
71983         (register-val-jump-to, register-val-describe, register-val-insert):
71984         New generic functions.
71985         (jump-to-register, describe-register-1, insert-register): Use them.
71987         * lisp/emacs-lisp/cl-generic.el: Prefill a combination of struct+typeof.
71988         (cl--generic-prefill-dispatchers): Allow a list of specializers.
71990 2017-12-25  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
71992         Fix MS-Windows build broken by recent changes in json.c
71994         * src/json.c [WINDOWSNT] (fn_json_object_get): Define.
71995         (init_json_functions) [WINDOWSNT]: Load json_object_get from DLL.
71996         (Bug#29848)
71998 2017-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
72000         * lisp/rtree.el: Use lexical-binding and not 'cl'.
72002 2017-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
72004         lisp/net/mailcap.el (mailcap-file-name-to-mime-type): New function.
72006         * lisp/net/mailcap.el (mailcap-file-name-to-mime-type): New function.
72008 2017-12-25  Michael Albinus  <michael.albinus@gmx.de>
72010         Fix Bug#29822
72012         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
72013         Fix handling of restricted shells.  (Bug#29822)
72015 2017-12-24  Paul Eggert  <eggert@cs.ucla.edu>
72017         Make main_thread_id private
72019         * src/sysdep.c (main_thread_id) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
72020         Now static.
72022 2017-12-24  Paul Eggert  <eggert@cs.ucla.edu>
72024         On non-MS-Windows, omit unnecessary polling functions
72026         * src/keyboard.c (poll_for_input_1) [!CYGWIN && !DOS_NT]: Remove.
72027         (input_polling_used) [!DOS_NT]: Remove.
72029 2017-12-24  Philipp Stephani  <phst@google.com>
72031         Add more Unicode test cases for JSON conversion
72033         * test/src/json-tests.el (json-parse-string/string)
72034         (json-serialize/string, json-serialize/invalid-unicode)
72035         (json-parse-string/invalid-unicode): Add more Unicode test cases.
72037 2017-12-24  Philipp Stephani  <phst@google.com>
72039         Accept alists when serializing JSON
72041         * src/json.c (lisp_to_json_toplevel_1): Also accept alists
72042         representing objects.
72044         * src/json.c (Fjson_serialize): Update docstring.
72046         * test/src/json-tests.el (json-serialize/object): Add unit tests for
72047         serializing alists.
72049         * doc/lispref/text.texi (Parsing JSON): Document that serialization
72050         functions accept alists.
72052 2017-12-24  Philipp Stephani  <phst@google.com>
72054         JSON serialization: reject duplicate keys in hashtables
72056         * src/json.c (lisp_to_json_toplevel_1): Reject duplicate keys in
72057         hashtables.
72059         * test/src/json-tests.el (json-serialize/object-with-duplicate-keys):
72060         Add unit tests.
72062 2017-12-22  Boruch Baum  <boruch_baum@gmx.com>
72064         * lisp/mail/footnote.el (footnote-align-to-fn-text): New config var
72066         (footnote-mode): Declare.
72067         (Footnote--get-area-point-min): Fix last change to use 'car` instead of
72068         the undefined 'first'.
72069         (Footnote--calc-fn-alignment-column, Footnote--fill-prefix-string)
72070         (Footnote--adaptive-fill-function): New functions.
72071         (footnote-mode): Use them.
72073 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
72075         * lisp/textmodes/fill.el (adaptive-fill-function): Change default
72077         Use 'ignore' rather than nil since they behave identically, except that
72078         'ignore' interacts correctly with add/remove-function.
72080 2017-12-22  Boruch Baum  <boruch_baum@gmx.com>
72082         * lisp/mail/footnote.el: Misc changes in preparation for more
72084         (footnote-section-tag-regexp): Don't require the trailing space.
72085         (Footnote--point-in-body-p, Footnote--get-area-point-min)
72086         (Footnote--get-area-point-max): New functions.
72087         (Footnote-narrow-to-footnotes, Footnote-text-under-cursor): Use them.
72089 2017-12-22  Glenn Morris  <rgm@gnu.org>
72091         Merge from origin/emacs-26
72093         34fcfc5 (origin/emacs-26, emacs-26) * lisp/emacs-lisp/inline.el (defi...
72094         f7a62c2 Fix doc string of 'footnote-style-alist'
72095         c3b6742 Improve documentation of selecting windows
72096         861d110 Improve documentation of records
72097         22b3075 * etc/NEWS: Mention the removal of pinentry.el.  (Bug#27445)
72098         689526b Fix interactive spec of 'semantic-ia-show-variants'
72099         90ca37f Fix documentation of 'mouse-drag-and-drop-region' and friends
72100         d60faf3 Improve detection of speller version in ispell.el
72101         a0e3b06 Document 'mouse-drag-and-drop-region' options and mention the...
72102         164e84c Fix uses of 'nil' and 'non-nil' in manuals and a few more min...
72103         798f07f Document that mode commands should be idempotent.
72104         ad2a47c ; * src/xdisp.c (extend_face_to_end_of_line): Fix last change.
72105         88ddf53 Fontify a CPP construct correctly when a comment follows with...
72106         de7de9c Prevent infloop in redisplay on TTY frames
72107         293720e Fix loss of documentation face in certain CC Mode doc comment...
72109         # Conflicts:
72110         #       etc/NEWS
72111         #       lisp/mail/footnote.el
72113 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
72115         * lisp/progmodes/cperl-mode.el: Split table for electric kwd abbrevs
72117         (cperl-mode-electric-keywords-abbrev-table): New abbrev table.
72118         (cperl-mode-abbrev-table): Use it.
72120 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
72122         * lisp/progmodes/cperl-mode.el: Use cl-lib.  Fix comment convention
72124         (defgroup, defcustom, defface, x-color-defined-p, uncomment-region)
72125         (ps-extend-face-list, eval-after-load, turn-on-font-lock):
72126         Assume defined.
72127         (cperl-calculate-indent): Use 'functionp' to test if a value is a function.
72129 2017-12-22  Boruch Baum  <boruch_baum@gmx.com>
72131         Support Hebrew-style footnotes in footnote.el
72133         * lisp/mail/footnote.el (footnote-hebrew-numeric-regex)
72134         (footnote-hebrew-symbolic-regex): New defconsts.
72135         (Footnote-hebrew-numeric, Footnote-hebrew-symbolic): New functions.
72136         (footnote-style-alist): Add new Hebrew styles.  Doc fix.
72137         (footnote-style): Add new Hebrew styles.  (Bug#29759)
72139 2017-12-22  Ian Johnson  <ianprime0509@gmail.com>  (tiny change)
72141         Support French password prompts in shell
72143         French punctuation rules require a space (preferably non-breaking)
72144         before the colon.
72146         * lisp/comint.el (comint-password-prompt-regexp): Support
72147         spaces (including non-breaking spaces) before and after password
72148         prompt colon.  (Bug#29729)
72150 2017-12-22  Ted Zlatanov  <tzz@lifelogs.com>
72152         * lisp/registry.el (registry-collect-prune-candidates): Skip invalid entries
72154 2017-12-22  Francesco Potortì  <pot@gnu.org>
72156         Improve Rmail Subject normalization when replying
72158         * lisp/mail/rmail.el (rmail-simplified-subject): A more thorough
72159         implementation which removes more prefixes from Subject.
72160         (Bug#29659)
72162 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
72164         Improve the description of 'electric-quote-replace-double'
72166         * etc/NEWS: Improve the description of 'electric-quote-replace-double'.
72167         (Bug#29806)
72169 2017-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
72171         * lisp/progmodes/cperl-mode.el: Use lexical-binding
72173         Drop some support code for Emacs-19.  Remove unused args and vars.
72174         (cperl-mark-active): Remove, use region-active-p.
72175         (cperl-use-region-p): Remove, use use-region-p.
72176         (cperl-can-font-lock, cperl-enable-font-lock, cperl-emacs-can-parse):
72177         Remove, obsolete.
72178         (cperl-mode-map): Move initialization into declaration.
72180 2017-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
72182         * lisp/progmodes/cperl-mode.el: Merge from Jonathan Rockway's version
72184         (cperl-indent-subs-specially): New var.
72185         (cperl-mode-abbrev-table): Add '=begin'.  Obey cperl-electric-keywords.
72186         (cperl-sub-keywords, cperl-sub-regexp): New vars.
72187         (cperl-char-ends-sub-keyword-p): New function.
72188         (cperl-mode): Use them.
72189         (cperl-db): Pass `-d` arg to perl.
72190         (cperl-electric-keyword, cperl-linefeed): Accept also '=end'.
72191         (cperl-sniff-for-indent): Obey cperl-indent-parens-as-block and
72192         cperl-indent-subs-specially.
72193         (cperl-calculate-indent): Fix handling of numbers in
72194         cperl-indent-rules-alist, and add a case for functions.
72195         (cperl-find-pods-heres): Use cperl-sub-regexp and allow =begin/=end.
72196         Also recognize 'say'.
72197         (cperl-block-p): Use cperl-sub-regexp
72198         (cperl-after-block-p): Use cperl-char-ends-sub-keyword-p and
72199         cperl-sub-regexp.
72200         (cperl-after-block-and-statement-beg): Accept 'say'.
72201         (cperl-indent-exp): Accept 'state'.
72202         (cperl-fix-line-spacing): Accept 'state'.
72203         (cperl-init-faces): Add 'given', 'when', 'default', 'break', 'try',
72204         'catch', 'finally', 'evalbytes', 'state', '__SUB__', 'fc', 'sysseek'.
72205         Use cperl-sub-regexp.
72206         (cperl-etags): Use cperl-sub-regexp.
72207         (cperl-not-bad-style-regexp): Add '//'.
72208         (cperl-short-docs): Add ~~, UNITCHECK, 'break', 'default', 'evalbytes',
72209         'given', 'say', 'state', //, 'fc', 'prototype', =begin', and '=end'.
72211 2017-12-21  Philipp Stephani  <phst@google.com>
72213         Add a few more unit tests for JSON
72215         * test/src/json-tests.el (json-serialize/invalid-unicode)
72216         (json-parse-string/null): Add more tests.
72217         (json-parse-string/invalid-unicode): New test.
72219 2017-12-21  Philipp Stephani  <phst@google.com>
72221         JSON: improve some comments
72223         * src/json.c (json_make_string, json_build_string): Document why
72224         these functions are OK as-is.
72226 2017-12-21  Philipp Stephani  <phst@google.com>
72228         Simplify a JSON test
72230         * test/src/json-tests.el (json-serialize/invalid-unicode):
72231         Simplify test.  Hexadecimal escape sequences allow putting
72232         non-Unicode characters in strings directly.
72234 2017-12-21  Philipp Stephani  <phst@google.com>
72236         Fix bugs in JSON test
72238         * test/src/json-tests.el (json-serialize/invalid-unicode): Fix two
72239         bugs that canceled each other out.  "a\xCCb" is actually a valid
72240         Unicode string because the hexadecimal character escape isn't
72241         terminated by the "b".  But this was masked by an incorrect
72242         closing parentheses, causing an unrelated error.
72244 2017-12-20  Glenn Morris  <rgm@gnu.org>
72246         Merge from origin/emacs-26
72248         b3f4a3a (origin/emacs-26) Special-case %DUMBFW for GnuTLS between 3.2...
72249         c2ae057 Work around GnuTLS version issues with %DUMBFW (tiny change)
72250         2f9d9ef ; Remove the mention of "plain C code" in the docstring as well
72251         aca827b Merge branch 'widen-less' into emacs-26
72252         87548f5 ; Rephrase NEWS entry a bit
72253         da0d773 (emacs-26) ; * lisp/erc/erc.el: Update URL.
72254         3a60515 * lisp/erc/erc.el (erc-shorten-server-name): Silence compiler...
72255         471b6c1 ; Replace non-ascii quote characters in doc strings etc
72256         7af7f5e Fix some more aliases to user options
72257         79fb4b5 Fix some flymake aliases
72258         b9fbc03 (origin/widen-less) Widen in indent-for-tab-command in the no...
72259         446faf3 Replace the mention of c-indent-defun with js-indent-line
72260         7e9eef0 Consolidate 'widen' calls
72262         # Conflicts:
72263         #       etc/NEWS
72264         #       lisp/progmodes/flymake-proc.el
72266 2017-12-20  Glenn Morris  <rgm@gnu.org>
72268         Merge from origin/emacs-26
72270         4122d54 Fix updating scrollbar sizes when scaling is in effect
72271         21a212f Collect GnuTLS extensions and use them to set %DUMBFW if supp...
72272         936136e * test/lisp/emacs-lisp/derived-tests.el: Fix copy&paste lefto...
72273         07b7fb9 * lisp/subr.el (delayed-after-hook-functions): Rename from .....
72274         a5b0a4e * lisp/net/shr.el (shr-string-pixel-width): Return pixel-widt...
72275         c51e797 python.el doc fixes
72276         c62ced5 Make 'mouse-drag-and-drop-region' more robust and customizable
72278 2017-12-20  Glenn Morris  <rgm@gnu.org>
72280         Merge from origin/emacs-26
72282         89cfdbf Don't mess up syntax-ppss cache in electric-pair (Bug#29710)
72283         c5061d8 * etc/emacs.appdata.xml: Update file format.
72284         080f227 Use utf-8-hfs-unix on macOS (Bug#29712)
72285         28e0261 * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
72286         ac53084 Improve fix for Bug#29712
72287         ffd4771 * doc/lispref/sequences.texi (Sequence Functions): Improve in...
72288         f274cbd Avoid reordering of output in 'shr-insert-document'
72289         7890864 Improve documentation of 'invisible-p'
72290         a1327bb Remove one more check that Vframe_list is non-nil
72291         63b6281 Fix off-by-one error in 'css--hex-color'
72292         804b37c Save and restore text-pixel height and width of frames (Bug#2...
72293         777fe94 Partially revert "Mention new strictness for &optional, &rest...
72294         ad17db7 * lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-m...
72295         5a7d009 * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete al...
72296         e019c35 FOR_EACH_FRAME no longer assumes frame-list
72297         d64b88d * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
72298         92b2604 Modernise message.el face spec syntax
72299         b1efbe6 Update message.el obsolete face aliases
72300         2494c14 ; * lisp/comint.el (comint-terminfo-terminal): Add a :version...
72301         12ad276 Improve documentation of TERM environment variable
72302         8ed529f Add option to configure comint TERM
72303         889f07c Better support utf-8-with-signature and utf-8-hfs in XML/HTML
72304         a2697fa * lisp/menu-bar.el (menu-bar-mode): Doc fix.
72305         ffb50ea ; * etc/NEWS: Fix last change.
72306         95606af Fix Bug#29712 in tramp-tests.el
72307         9bf66c6 Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
72308         c2a88ec * lisp/textmodes/tex-mode.el: Ensure uncompiled file is loada...
72309         b178870 Remember password change for IMAP in Gnus (Bug#29692)
72310         a21dac1 Add %DUMBFW to the default GnuTLS priority strings
72311         780407c Small fixes prompted by make check-declare
72312         541a601 Fix some custom groups
72313         e220d6e Fix fontification of first declaration within a C++ lambda form.
72314         aa66da2 * src/data.c (Fadd_variable_watcher): Doc fix.
72315         f838210 Fix misfontification of C++ member initialization list after ...
72316         232c646 Fix doc-string of Fbuffer_list
72317         3f9aac6 Don't raise an extraneous frame (bug#29696)
72318         e7b1111 Mention new strictness for &optional, &rest in arglists (Bug#...
72319         4cb8696 Don't misfontify "foo ()" inside C++ initialization parenthes...
72320         ce31e72 Fixes for defcustoms, prompted by cus-test-opts
72321         aacd1e1 * lisp/net/newst-backend.el (newsticker--raw-url-list-default...
72322         7e2f4d3 * lisp/htmlfontify.el (hfy-which-etags): Fix it.
72323         52d2a69 Add missing :version tags revealed by cusver-check
72324         f5d0360 Escape column-zero doc parens
72325         45099bb Remove ObjC blocks (Bug#23753)
72326         b0369d0 Import the latest IVD_Sequences.txt
72327         cd53b63 Fix dired-do-compress when tar doesn't default to stdin (Bug#...
72328         51911da Suppress warnings during elisp completion macroexpansion
72329         a36a090 * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bu...
72330         6a6e8e6 Make tramp-interrupt-process more robust
72331         5bcd468 Make quail-input-method work when inhibit-read-only is non-ni...
72332         87baf12 Fix 'fontset-name-p'
72333         d231587 Fix fontset documentation inconsistencies for bug#29630
72334         a829cb8 Remove sentence from child frames section in Elisp manual
72335         ad491c8 Avoid crashes in 'font-at' after 'set-fontset-font'
72336         c73d2cd * lisp/files-x.el (connection-local-set-profile-variables): F...
72337         cefca2b Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
72338         122e726 Fix tool-tip display when display margins are non-zero by def...
72339         e1cc203 Handle hash tables and vectors when reading/writing EIEIO obj...
72340         cda219c Improve interactive debugging commands in xdisp.c
72341         1056b3c Fix calculation of continuation_pixel_width in display engine
72342         90e2080 Improve documentation of 'save-abbrevs'.
72343         14f0230 Improve documentation of Dired
72344         161b0e5 * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
72345         7eea314 Minor Tramp fixes
72346         c0a670a * lisp/help-mode.el (help-function-def): Allow help-make-xref...
72347         0572016 Fix doc-string of 'display-buffer-in-side-window'
72348         a1bbc49 Fix Bug#29579
72349         cb3d979 ; NEWS: Update Org version number
72350         445eefd Backport: Update Org to v9.1.4
72351         5381c70 In windows.texi mention special splitting behavior of side an...
72352         46d62b9 * lisp/gnus/gnus-group.el (gnus-group-mode-map): Bind [follow...
72353         1ef1dbd Avoid compilation warning in xterm.c
72354         5cf3c26 * README: Document all the top-level directories.  (Bug#29558)
72355         e9ea206 Don't enable erc modules on simply loading erc.el
72356         4b06af0 Allow shr to use data: URLs without encoding
72357         1fdac2d Don't add newlines in minibuffer history
72358         de68f33 modhelp.py: Support Python 3 (Bug#24954)
72359         afb04f7 Use forward slashes for python w32 config example (Bug#21656)
72360         04e5b28 Fix bug in i18n/l10n optimization
72361         8227087 Let autoload-compute-prefix be set file-locally (Bug#29471)
72362         98ca7d5 Improve edit-kbd-macro prompting in case of remapped keys (Bu...
72363         c02c1f6 Add tests on electric-indentation and Python multiline string...
72364         946bb6d Disable electric indent for python strings (Bug#29305)
72365         35f1ed1 ; ChangeLog.2: Fix bug reference.
72366         ac31663 Fix buffer overflow in fontname conversion (Bug#29523)
72367         bf9b972 Fix byte compilation of files with leading directories
72368         ac144dc * lisp/files.el (make-backup-file-name-1): Fix scoping error.
72369         1b351c8 Revert Tramp commit from 2017-11-20
72370         77cf972 Improve documentation of buffer-list commands and features
72371         66ec92a Fix backing up remote files in local directories on MS-Windows
72372         7e61e74 * doc/emacs/mule.texi (Output Coding): Clarify sendmail coding.
72373         1e25cd7 Revert "Fix backing up remote files in local directories on M...
72374         f52d795 Fix a typo in ELisp manual
72375         bf26fc3 * lisp/composite.el (find-composition): Fix a typo in the doc...
72376         34a21c3 ; Auto-commit of loaddefs files.
72377         8c8b673 Fix backing up remote files in local directories on MS-Windows
72378         8eb6870 Fix vertical cursor motion in pixel-scroll.el
72379         625e84f Fix typos in doc strings of message.el
72380         9292276 Fix a typo in the Emacs manual
72381         42509c0 Improve the documentation of 'table-insert-sequence'
72382         93dc7ae Port better to QNX
72383         ad99550 Make tramp-test42-auto-load more robust
72384         af0ce33 ; * lisp/composite.el (find-composition): Fix a typo in last ...
72385         bdbcdba Avoid assertions in find-composition
72386         408862f ; * lisp/emacs-lisp/bytecomp.el: Tweak message formatting in ...
72387         9964db4 Restore obsolete method of changing byte-compile-dest-file
72388         3dd25ae Some minor Tramp corrections
72389         d670a15 * doc/misc/url.texi (http/https): Fix typo
72390         99d07e8 Remove some bogus definition-prefixes from loaddefs
72392 2017-12-20  Charles A. Roelli  <charles@aurox.ch>
72394         Fix vc-region-history when narrowed
72396         * lisp/vc/vc.el (vc-region-history): Fix behavior when narrowed, by using
72397         line numbers starting from (point-min).
72399 2017-12-20  Charles A. Roelli  <charles@aurox.ch>
72401         Ensure current buffer is version-controlled in vc-region-history
72403         * lisp/vc/vc.el (vc-region-history): Ensure buffer is
72404         version-controlled.  Otherwise if a user runs it in a
72405         non-version-controlled buffer, they get the error:
72407           Cannot open load file: No such file or directory, vc-nil
72409 2017-12-20  Philipp Stephani  <phst@google.com>
72411         Define helper functions only if needed
72413         * src/json.c (JSON_HAS_ERROR_CODE): New define.
72414         (json_parse_error): Use it.
72415         (json_has_prefix, json_has_suffix): Define only if needed.
72417 2017-12-20  Philipp Stephani  <phst@google.com>
72419         * src/json.c (json_parse_error): Fix embarrassing bug.
72421 2017-12-20  Philipp Stephani  <phst@google.com>
72423         Fix a few compiler warnings in auth-source.el
72425         * lisp/auth-source.el (json): Add missing require.
72426         (auth-source-json-search): Remove unused argument.
72428 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
72430         * lisp/auth-source.el (auth-source-backends-parser-file): Fix missing stringp.
72432 2017-12-19  Philipp Stephani  <phst@google.com>
72434         Use Jansson's error code support if available
72436         * src/json.c (json_parse_error): Use Jansson's error code support if
72437         available.
72439 2017-12-19  Glenn Morris  <rgm@gnu.org>
72441         * doc/misc/auth.texi: Fix use of {} and wrapping in previous change.
72443 2017-12-19  Philipp Stephani  <phst@google.com>
72445         Allow JSON parser functions to return alists
72447         * src/json.c (Fjson_parse_string, Fjson_parse_buffer): Give these
72448         functions a keyword argument to specify the return type for JSON
72449         objects.
72450         (json_to_lisp): Convert objects to alists if requested.
72451         (json_parse_object_type): New helper function to parse keyword
72452         arguments.
72454         * test/src/json-tests.el (json-parse-string/object): Add a unit test.
72456         * doc/lispref/text.texi (Parsing JSON): Document new functionality.
72458 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
72460         * doc/misc/auth.texi (Help for users): Mention JSON backend.
72462 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
72464         auth-source: support JSON backend with .json extension
72466         * lisp/auth-source.el (auth-source-backends-parser-file): Look
72467         for .gpg extension and make backend decision without it. Add
72468         JSON case to backends.
72470         (auth-source-json-check): Parse JSON data.
72472 2017-12-18  Glenn Morris  <rgm@gnu.org>
72474         Add a Makefile rule for running gitmerge
72476         * Makefile.in (GITMERGE_EMACS, GITMERGE_NMIN): New variables.
72477         (gitmerge): New phony target.
72479 2017-12-18  Glenn Morris  <rgm@gnu.org>
72481         Set minimum number of commits for gitmerge in batch mode
72483         * admin/gitmerge.el (gitmerge-minimum-missing): New variable.
72484         (gitmerge): In batch mode, respect gitmerge-minimum-missing.
72486 2017-12-18  Glenn Morris  <rgm@gnu.org>
72488         * admin/gitmerge.el (gitmerge-skip-regexp): Be stricter in batch mode.
72490 2017-12-18  Glenn Morris  <rgm@gnu.org>
72492         Make gitmerge usable in batch mode
72494         * admin/gitmerge.el (gitmerge-missing): Add progress messages.
72495         (gitmerge-maybe-resume): In batch mode, never resume.
72496         (gitmerge): Handle batch mode.
72498 2017-12-18  Philipp Stephani  <phst@google.com>
72500         JSON: Add tests for Unicode edge cases
72502         * test/src/json-tests.el (json-serialize/string): Add test for
72503         serializing the null character.
72504         (json-parse-string/null): Add test for parsing the null character.
72505         (json-serialize/invalid-unicode): Add tests for invalid Unicode
72506         strings.
72507         (json-serialize/roundtrip): Add Unicode
72508         noncharacter, non-BMP characters, and syntactic characters.
72510 2017-12-18  Charles A. Roelli  <charles@aurox.ch>
72512         Fix infinite loop in vc-dir-mark-unmark
72514         * lisp/vc/vc-dir.el (vc-dir-mark-unmark): Prevent from getting
72515         stuck on the same line in an infinite loop.  (Bug#24017)
72517 2017-12-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
72519         Fix Gnus registry header extraction
72521         * lisp/gnus/gnus-registry.el (gnus-registry-fetch-recipients-fast,
72522           gnus-registry-fetch-sender-fast): First, delete
72523           `gnus-registry-fetch-header-fast'. It was being called with reversed
72524           arguments, and thus always returned nil, but even if the argument
72525           order was correct it would have raised an error, as it was trying to
72526           `assq' a string in a vector. Instead, just have these two functions
72527           do their own work, as they're doing fairly different things.
72529 2017-12-17  Paul Eggert  <eggert@cs.ucla.edu>
72531         Default CHECK_LISP_OBJECT_TYPE to "no"
72533         * configure.ac: Go back to not defining CHECK_LISP_OBJECT_TYPE by
72534         default for developer builds, since it is no longer that useful.
72535         We can make it a no-op entirely later, if in practice it's not
72536         that helpful to enable it.
72538 2017-12-17  Michael Albinus  <michael.albinus@gmx.de>
72540         Minor fixes in Tramp
72542         * lisp/net/tramp-archive.el
72543         (tramp-archive-handle-temporary-file-directory): New defun.
72544         (tramp-archive-file-name-handler-alist): Use it.
72546         * test/lisp/net/tramp-archive-tests.el
72547         (tramp-archive-test99-libarchive-tests): Rename it.
72549         * test/lisp/net/tramp-tests.el (tramp-test34-vc-registered):
72550         Skip for older Emacsen.
72552 2017-12-17  Simen Heggestøyl  <simenheg@gmail.com>
72554         Add command for cycling between CSS color formats
72556         * lisp/textmodes/css-mode.el (css-mode-map): Add keybinding for
72557         'css-cycle-color-format'.
72558         (css--rgb-color): Add support for extracting alpha component.
72559         (css--hex-alpha, css--color-to-4-dpc, css--named-color-to-hex)
72560         (css--format-rgba-alpha, css--hex-to-rgb)
72561         (css--rgb-to-named-color-or-hex): New functions.
72562         (css-cycle-color-format): New command for cycling between color
72563         formats.
72565         * test/lisp/textmodes/css-mode-tests.el (css-test-color-to-4-dpc):
72566         (css-test-named-color-to-hex, css-test-format-rgba-alpha)
72567         (css-test-hex-to-rgb, css-test-rgb-to-named-color-or-hex)
72568         (css-test-cycle-color-format, css-test-hex-alpha): New tests for the
72569         changes mentioned above.
72571         * etc/NEWS: Mention the new command.
72573 2017-12-16  Stefan Monnier  <monnier@iro.umontreal.ca>
72575         * lisp/textmodes/css-mode.el (css--hex-color): Trivial simplification
72577 2017-12-16  Glenn Morris  <rgm@gnu.org>
72579         Merge from origin/emacs-26
72581         28e0261890 * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
72582         ac53084f9b Improve fix for Bug#29712
72583         ffd4771560 * doc/lispref/sequences.texi (Sequence Functions): Improve...
72584         f274cbd185 Avoid reordering of output in 'shr-insert-document'
72585         7890864413 Improve documentation of 'invisible-p'
72586         a1327bbc64 Remove one more check that Vframe_list is non-nil
72587         63b6281fdd Fix off-by-one error in 'css--hex-color'
72588         804b37ca63 Save and restore text-pixel height and width of frames (Bu...
72589         777fe94661 Partially revert "Mention new strictness for &optional, &r...
72590         ad17db7964 * lisp/vc/smerge-mode.el (smerge-refine): Respect font-loc...
72591         5a7d0095a4 * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete...
72592         e019c35df6 FOR_EACH_FRAME no longer assumes frame-list
72593         d64b88da2f * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
72594         92b2604a7f Modernise message.el face spec syntax
72595         b1efbe6564 Update message.el obsolete face aliases
72596         2494c14e76 ; * lisp/comint.el (comint-terminfo-terminal): Add a :vers...
72597         12ad276d15 Improve documentation of TERM environment variable
72598         8ed529f0f3 Add option to configure comint TERM
72599         889f07c352 Better support utf-8-with-signature and utf-8-hfs in XML/HTML
72600         a2697fac0e * lisp/menu-bar.el (menu-bar-mode): Doc fix.
72601         ffb50eace6 ; * etc/NEWS: Fix last change.
72602         95606af8b0 Fix Bug#29712 in tramp-tests.el
72603         9bf66c6bee Don't run FOR_EACH_FRAME when there's no frame left (Bug#2...
72604         c2a88ec8e8 * lisp/textmodes/tex-mode.el: Ensure uncompiled file is lo...
72605         b178870528 Remember password change for IMAP in Gnus (Bug#29692)
72606         a21dac18bb Add %DUMBFW to the default GnuTLS priority strings
72607         780407cff1 Small fixes prompted by make check-declare
72608         541a60108d Fix some custom groups
72609         e220d6e112 Fix fontification of first declaration within a C++ lambda...
72610         aa66da220c * src/data.c (Fadd_variable_watcher): Doc fix.
72611         f838210b01 Fix misfontification of C++ member initialization list aft...
72612         232c6465ce Fix doc-string of Fbuffer_list
72613         3f9aac68d7 Don't raise an extraneous frame (bug#29696)
72614         e7b1111155 Mention new strictness for &optional, &rest in arglists (B...
72615         4cb8696e47 Don't misfontify "foo ()" inside C++ initialization parent...
72616         ce31e726ad Fixes for defcustoms, prompted by cus-test-opts
72617         aacd1e14fc * lisp/net/newst-backend.el (newsticker--raw-url-list-defa...
72618         7e2f4d3d41 * lisp/htmlfontify.el (hfy-which-etags): Fix it.
72619         52d2a690f6 Add missing :version tags revealed by cusver-check
72620         f5d0360234 Escape column-zero doc parens
72622         # Conflicts:
72623         #       etc/NEWS
72625 2017-12-16  Philipp Stephani  <phst@google.com>
72627         Remove two unused variables in macfont.m
72629         * src/macfont.m (macfont_get_glyph_for_character): Remove two unused
72630         variables.
72632 2017-12-16  Alan Third  <alan@idiocy.org>
72634         Use utf-8-hfs-unix on macOS (Bug#29712)
72636         * lisp/term/ns-win.el: Use utf-8-hfs-unix instead of utf-8-hfs.
72638 2017-12-16  Alan Third  <alan@idiocy.org>
72640         Silence macOS 10.13 deprecation notices (Bug#29643)
72642         * src/nsfns.m (Fx_display_backing_store):
72643         (Fx_display_save_under): Don't use NSBackingStoreRetained or
72644         NSBackingStoreNonretained on macOS 10.13+.
72645         * src/nsselect.m (symbol_to_nsstring):
72646         (ns_string_to_symbol):
72647         (nxatoms_of_nsselect): Replace NSGeneralPboard with
72648         NSPasteboardNameGeneral.
72649         * src/nsterm.h: #define NSPasteboardNameGeneral to NSGeneralPboard on
72650         GNUstep and macOS < 10.13.
72651         * src/nsterm.m (EmacsView::resetCursorRects):
72652         (EmacsScroller::resetCursorRects): Don't use setOnMouseEntered on
72653         macOS 10.13+.
72655 2017-12-16  Michael Albinus  <michael.albinus@gmx.de>
72657         Suppress timers in Tramp operations
72659         * lisp/net/tramp.el (tramp-accept-process-output):
72660         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
72661         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
72662         (tramp-sh-handle-start-file-process):
72663         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
72664         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
72665         (tramp-smb-handle-set-file-acl)
72666         (tramp-smb-handle-start-file-process): Suppress timers.
72668         * test/lisp/net/tramp-tests.el (tramp-test41-asynchronous-requests):
72669         Use $REMOTE_PARALLEL_PROCESSES.  Flush cache prior file operations.
72670         Add instrumentation messages.
72672 2017-12-15  Oscar Fuentes  <ofv@wanadoo.es>
72674         Don't compare arguments that can be nil
72676         copy-region-as-kill can be called passing nil as `beg' and
72677         `end'. Magit does that, which caused an error when this advice was in
72678         effect.
72680         * lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison
72681           unless `beg' and `end' are non-nil.
72683 2017-12-15  Glenn Morris  <rgm@gnu.org>
72685         Automatically evaluate top-level define-obsolete-function-alias etc
72687         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-make-obsolete):
72688         New handler.
72690 2017-12-14  Paul Eggert  <eggert@cs.ucla.edu>
72692         Spelling fix
72694         * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
72695         Fix misspelling of ‘delete-directory’.
72697 2017-12-14  Glenn Morris  <rgm@gnu.org>
72699         Make w32-fns.el loadable on any platform (bug#6997)
72701         * lisp/w32-fns.el (find-file-visit-truename): Only set on MS Windows.
72702         (set-message-beep, w32-charset-info-alist): Check bound before using.
72704 2017-12-14  Glenn Morris  <rgm@gnu.org>
72706         Improve Custom's treatment of obsolete options (bug#5742)
72708         * lisp/cus-edit.el (custom-variable-obsolete): New face.
72709         (custom-variable-documentation): Include obsolescence information.
72710         (custom-variable-value-create): Use different face for obsolete items.
72711         (custom-face-documentation): New function.
72712         (custom-face): Use custom-face-documentation.
72713         * lisp/info-look.el (info-lookup-guess-custom-symbol):
72714         Add custom-variable-obsolete face.
72716 2017-12-14  Eric Abrahamsen  <eric@ericabrahamsen.net>
72718         Clarify manual section on &context specializer for methods
72720         * doc/lispref/functions.texi (Generic Functions): Provide a little
72721           more information on how they work.
72723 2017-12-13  Stefan Monnier  <monnier@iro.umontreal.ca>
72725         Don't get fooled by open parens in column 0 within strings
72727         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw):
72728         Skip defun-prompt-regexp and open-paren-in-0 within strings and comments.
72730 2017-12-12  Glenn Morris  <rgm@gnu.org>
72732         * admin/gitmerge.el (gitmerge-missing):
72733         Don't get confused by decorations.
72735 2017-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>
72737         * src/syntax.c (find_defun_start): Use syntax-ppss
72739         (syms_of_syntax): New variable comment-use-syntax-ppss.
72741 2017-12-12  Glenn Morris  <rgm@gnu.org>
72743         Merge from origin/emacs-26
72745         b0369d0536 Import the latest IVD_Sequences.txt
72746         cd53b6399b Fix dired-do-compress when tar doesn't default to stdin (B...
72747         51911dae14 Suppress warnings during elisp completion macroexpansion
72748         a36a090a95 * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo ...
72749         6a6e8e6e8d Make tramp-interrupt-process more robust
72750         5bcd468a9e Make quail-input-method work when inhibit-read-only is non...
72751         87baf1242e Fix 'fontset-name-p'
72752         d23158777d Fix fontset documentation inconsistencies for bug#29630
72753         a829cb8c8b Remove sentence from child frames section in Elisp manual
72754         ad491c80e4 Avoid crashes in 'font-at' after 'set-fontset-font'
72755         c73d2cdfd7 * lisp/files-x.el (connection-local-set-profile-variables)...
72756         cefca2b8ac Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
72757         122e7264b8 Fix tool-tip display when display margins are non-zero by ...
72758         e1cc2037a9 Handle hash tables and vectors when reading/writing EIEIO ...
72759         cda219c3df Improve interactive debugging commands in xdisp.c
72760         1056b3cbcd Fix calculation of continuation_pixel_width in display engine
72761         90e20804f5 Improve documentation of 'save-abbrevs'.
72762         14f0230a48 Improve documentation of Dired
72763         161b0e5493 * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
72765 2017-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>
72767         * lisp/subr.el (backtrace--print-frame): Use cl-prin1
72769         * lisp/emacs-lisp/cl-print.el (cl-prin1): Catch errors, since callers
72770         generally don't expect errors.
72772 2017-12-12  Glenn Morris  <rgm@gnu.org>
72774         Fix gitmerge handling of automatic conflict reslution
72776         * admin/gitmerge.el (gitmerge-resolve): Reenable NEWS handling.
72777         (gitmerge-resolve-unmerged): Commit after successful resolution.
72778         (gitmerge-commit): New function, extracted from gitmerge-maybe-resume.
72779         (gitmerge-maybe-resume): Use gitmerge-commit.
72781 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
72783         Fix recently-introduced cast typo
72785         * src/alloc.c (SDATA_OF_STRING): Put cast in right spot.
72786         This matters only if GC_CHECK_STRING_BYTES, which is sort
72787         of a coals-to-Newcastle situation if pointer bounds checking
72788         is also enabled.
72790 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
72792         Port --fcheck-pointer-bounds to --with-wide-int
72794         * src/lisp (XSYMBOL) [__CHKP__ && !USE_LSB_TAG]:
72795         Bypass pointer bounds checking here,
72796         instead of failing the entire build.
72797         (make_lisp_symbol): Improve comment.
72799 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
72801         Narrow pointer bounds when appropriate
72803         This typically occurs in a storage manager, where the caller
72804         is expected to access only the newly-allocated object,
72805         instead of using the returned value to access unrelated
72806         parts of the heap.
72807         * src/alloc.c (allocate_string, allocate_string_data)
72808         (compact_small_strings, find_string_data_in_pure)
72809         (sweep_strings, setup_on_free_list, allocate_vectorlike
72810         (pure_alloc):
72811         * src/bytecode.c (exec_byte_code):
72812         * src/callint.c (Fcall_interactively):
72813         * src/dispnew.c (scrolling):
72814         * src/editfns.c (styled_format):
72815         * src/frame.c (xrdb_get_resource, x_get_resource_string):
72816         * src/fringe.c (Fdefine_fringe_bitmap):
72817         * src/gmalloc.c (malloc, realloc, aligned_alloc):
72818         Narrow pointer bounds when appropriate.
72819         * src/alloc.c (SDATA_OF_STRING):
72820         * src/lisp.h (make_lisp_symbol) [__CHKP__]:
72821         Widen bounds here, though.
72822         * src/bytecode.c, src/callint.c, src/dispnew.c, src/editfns.c:
72823         * src/emacs.c, src/frame.c, src/fringe.c:
72824         Include ptr-bounds.h.
72825         * src/ptr-bounds.h (ptr_bounds_clip): New function.
72827 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
72829         Port to gcc -fcheck-pointer-bounds
72831         This is a minimal port, just to get Emacs running;
72832         it does not attempt to make the pointer bounds at all tight.
72833         * src/ptr-bounds.h: New file.
72834         * src/alloc.c, src/gmalloc.c: Include it.
72835         * src/alloc.c (live_string_holding, live_cons_holding)
72836         (live_symbol_holding, live_misc_holding, garbage_collect_1)
72837         (sweep_conses, sweep_floats):
72838         * src/gmalloc.c (malloc_initialize_1, _free_internal_nolock)
72839         (_realloc_internal_nolock):
72840         Widen pointer bounds as necessary.
72841         We're in a memory allocator so this is OK.
72842         * src/lisp.h (lisp_h_XSYMBOL, make_lisp_symbol) [__CHKP__]:
72843         Do not convert from pointer to integer and back again, so
72844         that GCC does not lose track of pointer bounds.
72845         (XSYMBOL) [__CHKP__ && !USE_LSB_TAG]: Now a compile-time error.
72846         Although it's possible to support both -fcheck-pointer-bounds and
72847         --with-wide-int, it's more work; keep things simple for now.
72848         (DEFINE_LISP_SYMBOL) [__CHKP__]: Now a no-op, to avoid
72849         trouble with unbounded pointers.
72851 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
72853         Reimplement Lisp_Object as pointer-to-incomplete
72855         This makes Lisp_Object values opaque pointers instead of integers,
72856         which helps avoid the same sort of typos that
72857         CHECK_LISP_OBJECT_TYPE helps to avoid, without having to wrap
72858         pointers inside structures.  This also looks forward to supporting
72859         -fcheck-pointer-bounds.
72860         * etc/DEBUG:
72861         * src/.gdbinit (Lisp_Object_Printer.to_string):
72862         Lisp_Object can be a pointer type now.
72863         * src/alloc.c (macro_XPNTR, XPNTR):
72864         * src/emacs-module.c (value_to_lisp_bits, lisp_to_value_bits):
72865         * src/lisp.h (lisp_h_XLI, lisp_h_XIL):
72866         (lisp_h_XUNTAG) [USE_LSB_TAG]:
72867         (XUNTAG) [!USE_LSB_TAG]:
72868         (Lisp_Object, TAG_PTR, make_lisp_symbol):
72869         Support new Lisp_Object implementation as a pointer to an
72870         incomplete type.  Keep pointers pointers, as much as possible.
72871         * src/alloc.c (macro_XPNTR_OR_SYMBOL_OFFSET, XPNTR_OR_SYMBOL_OFFSET):
72872         Remove.  All uses replaced by plain XPNTR.
72873         * src/emacs-module.c: Work around GCC bug 83162.
72874         * src/lisp.h (LISP_WORDS_ARE_POINTERS, lisp_h_XLP, lisp_h_XPL):
72875         (XLP, XPL) [DEFINE_KEY_OPS_AS_MACROS]:
72876         New macros.
72877         (Lisp_Word, untagged_ptr, Lisp_Word_tag): New types.
72878         (XLP, XPL): New inline functions.
72879         (TAG_PTR): Now expands to an initializer, not an expression.
72880         All uses changed.
72881         (TAG_SYMOFFSET, XLI_BUILTIN_LISPSYM): Remove.  All uses removed.
72882         (LISPSYM_INITIALLY): Redo in terms of the new TAG_PTR.
72883         (NIL_IS_ZERO): Redo without XLI_BUILTIN_LISPSYM.
72884         * src/xwidget.c (webkit_javascript_finished_cb): Use XPL
72885         instead of XIL with a non-EMACS_INT arg.
72886         (Fxwidget_webkit_execute_script): Use XLP instead of XLI
72887         followed by two conversions.
72889 2017-12-12  Ted Zlatanov  <tzz@lifelogs.com>
72891         Rename gnus-cloud method setter
72893         * lisp/gnus/gnus-srvr.el (gnus-server-set-cloud-method-server)
72894           (gnus-server-make-menu-bar, gnus-server-mode-map): Rename
72895           `gnus-server-toggle-cloud-method-server' to
72896           `gnus-server-set-cloud-method-server' (Bug#28845).
72897           (gnus-server-toggle-cloud-server): Use "toggle" in docstring.
72899         * lisp/gnus/gnus-cloud.el: Fix docstring.
72901 2017-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>
72903         * lisp/subr.el (run-mode-hooks): Fix last change
72905 2017-12-12  Alan Third  <alan@idiocy.org>
72907         Remove ObjC blocks (Bug#23753)
72909         * src/macfont.m (macfont_get_glyph_for_character):
72910         (mac_font_get_glyphs_for_variants): Inline Objective-C blocks.
72912 2017-12-12  Michael Albinus  <michael.albinus@gmx.de>
72914         Extend tramp-cache.el interface
72916         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
72917         (tramp-handle-dired-uncache):
72918         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory)
72919         (tramp-adb-handle-delete-directory, tramp-adb-handle-delete-file)
72920         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
72921         (tramp-adb-handle-set-file-times, tramp-adb-handle-copy-file)
72922         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
72923         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
72924         (tramp-adb-maybe-open-connection):
72925         * lisp/net/tramp-cache.el (tramp-flush-file-properties)
72926         (tramp-flush-directory-properties, tramp-flush-file-function):
72927         * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
72928         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
72929         (tramp-gvfs-handle-delete-directory, tramp-gvfs-handle-delete-file)
72930         (tramp-gvfs-handle-file-system-info, tramp-gvfs-handle-make-directory)
72931         (tramp-gvfs-handle-write-region, tramp-gvfs-handler-mounted-unmounted)
72932         (tramp-gvfs-send-command):
72933         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
72934         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
72935         (tramp-sh-handle-set-file-selinux-context, tramp-sh-handle-set-file-acl)
72936         (tramp-sh-handle-add-name-to-file, tramp-sh-handle-copy-directory)
72937         (tramp-do-copy-or-rename-file, tramp-do-copy-or-rename-file-out-of-band)
72938         (tramp-sh-handle-make-directory, tramp-sh-handle-delete-directory)
72939         (tramp-sh-handle-delete-file, tramp-sh-handle-dired-compress-file)
72940         (tramp-process-sentinel, tramp-sh-handle-start-file-process)
72941         (tramp-sh-handle-process-file, tramp-sh-handle-write-region):
72942         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
72943         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
72944         (tramp-smb-handle-delete-directory, tramp-smb-handle-delete-file)
72945         (tramp-smb-handle-file-acl, tramp-smb-handle-make-directory-internal)
72946         (tramp-smb-handle-make-symbolic-link, tramp-smb-handle-process-file)
72947         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
72948         (tramp-smb-handle-set-file-modes, tramp-smb-handle-start-file-process)
72949         (tramp-smb-handle-write-region, tramp-smb-maybe-open-connection):
72950         Use them.
72952         * lisp/net/tramp-cache.el (tramp-flush-file-properties)
72953         (tramp-flush-directory-properties, tramp-flush-connection-properties):
72954         Rename from `tramp-flush-file-property',`tramp-flush-directory-property'
72955         and `tramp-flush-connection-property', respectively.
72956         (tramp-flush-file-property, tramp-flush-connection-property):
72957         New defuns.
72959 2017-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>
72961         * lisp/subr.el (run-mode-hooks): Set parse-sexp-lookup-properties
72963         if syntax-propertize-function is set (bug#24749).
72964         * lisp/progmodes/sh-script.el (sh-set-shell):
72965         * lisp/textmodes/texinfo.el (texinfo-mode):
72966         * lisp/textmodes/mhtml-mode.el (mhtml-mode):
72967         * lisp/progmodes/js.el (js-mode): Don't set parse-sexp-lookup-properties.
72969 2017-12-12  Glenn Morris  <rgm@stanford.edu>
72971         Make functions invocation-directory and invocation-name obsolete
72973         * lisp/subr.el (invocation-directory, invocation-name):
72974         Mark the function versions as obsolete.  (Bug#10476)
72975         * lisp/startup.el (tty-handle-args):
72976         * lisp/term/common-win.el (x-handle-xrm-switch, x-handle-name-switch):
72977         * lisp/term/ns-win.el (top-level):
72978         * lisp/term/pc-win.el (top-level):
72979         * lisp/term/w32-win.el (window-system-initialization):
72980         * lisp/term/x-win.el (top-level, x-handle-parent-id)
72981         (x-handle-smid, window-system-initialization):
72982         * test/lisp/htmlfontify-tests.el (htmlfontify-bug25468):
72983         Use invocation-directory and invocation-name as variables.
72985 2017-12-11  Glenn Morris  <rgm@gnu.org>
72987         * lisp/mail/emacsbug.el (report-emacs-bug): Try "sw_vers" on Darwin.
72989         * admin/gitmerge.el (gitmerge-resolve): Disable buggy NEWS handling.
72991 2017-12-10  Eric Abrahamsen  <eric@ericabrahamsen.net>
72993         Obsolete gnus-remove-if and gnus-remove-if-not
72995         Use seq-remove and seq-filter, respectively, instead.
72997         * lisp/gnus/gnus-util.el: Remove functions and replace with
72998           define-obsolete-function-alias calls.
72999         * lisp/gnus/gnus.el: Require seq here.
73000         * lisp/gnus/gnus-art.el (gnus-mime-view-part-as-type):
73001         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event--get-attendee-names):
73002         * lisp/gnus/gnus-score.el (gnus-summary-score-effect):
73003         * lisp/gnus/gnus-sum.el (gnus-read-move-group-name):
73004         * lisp/gnus/gnus-topic.el (gnus-group-prepare-topics):
73005         * lisp/gnus/gnus-win.el (gnus-get-buffer-window):
73006         * lisp/gnus/nnmail.el (nnmail-purge-split-history):
73007         * lisp/gnus/nnmaildir.el (nnmaildir-request-scan):
73008         * lisp/gnus/nnrss.el (nnrss-make-hash-index): Replace calls in all
73009           these locations.
73011 2017-12-10  Philipp Stephani  <phst@google.com>
73013         Skip tests for json.c unless compiled with native JSON support.
73015         * test/src/json-tests.el (json-serialize/roundtrip)
73016         (json-serialize/object, json-parse-string/object)
73017         (json-parse-string/string, json-serialize/string)
73018         (json-parse-string/incomplete, json-parse-string/trailing)
73019         (json-parse-buffer/incomplete, json-parse-buffer/trailing): Skip if
73020         JSON functions aren't available.
73022 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
73024         Support dynamic loading of libjansson on MS-Windows
73026         * src/json.c [WINDOWSNT]: Define fn_* function pointers to jansson
73027         functions.
73028         (json_delete) [WINDOWSNT]: A wrapper around fn_json_delete, needed
73029         by json_decref.
73030         (init_json_functions) [WINDOWSNT]: New function.
73031         (Fjson_serialize, Fjson_insert, Fjson_parse_string)
73032         (Fjson_parse_buffer) [WINDOWSNT]: Call init_json_functions if
73033         needed, and record JSON in Vlibrary_cache.
73034         * src/emacs.c (main): Don't call init_json on WINDOWSNT.
73035         * src/w32fns.c (syms_of_w32fns): DEFSYM "json".
73037         * lisp/term/w32-win.el (dynamic-library-alist): Add JSON DLL to
73038         the list.
73040         * configure.ac (HAVE_JSON): Empty JSON_LIBS for MinGW.
73042         * nt/INSTALL.W64:
73043         * nt/INSTALL: Add information about libjansson.
73045 2017-12-10  Philipp Stephani  <phst@google.com>
73047         * configure.ac: Fix minimum Jansson version requirement.
73049 2017-12-10  Wilfred Hughes  <me@wilfred.me.uk>
73051         Ensure that we can find definitions when buffer is narrowed
73053         find-function-search-for-symbol will reuse the existing buffer if
73054         we've already opened the file that contains this symbol. However, if
73055         the user has narrowed that buffer, we can't find definitions outside
73056         the narrowed area.
73058         Instead, search the whole file to find definitions, and teach the help
73059         buttons to widen if necessary.
73061         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol):
73062           Search the whole buffer for the target symbol.
73064         * lisp/help-mode.el: Help buttons now widen the target buffer, if
73065           narrowing is in effect and the target position is not in that range.
73067 2017-12-10  Philipp Stephani  <phst@google.com>
73069         Implement native JSON support using Jansson
73071         * configure.ac: New option --with-json.
73073         * src/json.c (Fjson_serialize, Fjson_insert, Fjson_parse_string)
73074         (Fjson_parse_buffer): New defuns.
73075         (json_malloc, json_free, json_has_prefix, json_has_suffix)
73076         (json_make_string, json_build_string, json_encode)
73077         (json_out_of_memory, json_parse_error)
73078         (json_release_object, check_string_without_embedded_nulls, json_check)
73079         (lisp_to_json, lisp_to_json_toplevel, lisp_to_json_toplevel_1)
73080         (json_insert, json_insert_callback, json_to_lisp)
73081         (json_read_buffer_callback, Fjson_parse_buffer, define_error): New
73082         helper functions.
73083         (init_json, syms_of_json): New file.
73085         * src/lisp.h: Declaration for init_json and syms_of_json.
73087         * src/emacs.c (main): Enable JSON functions.
73089         * src/eval.c (internal_catch_all, internal_catch_all_1): New helper
73090         functions to catch all signals.
73091         (syms_of_eval): Add uninterned symbol to signify out of memory.
73093         * src/Makefile.in (JSON_LIBS, JSON_CFLAGS, JSON_OBJ, EMACS_CFLAGS)
73094         (base_obj, LIBES): Compile json.c if --with-json is enabled.
73096         * test/src/json-tests.el (json-serialize/roundtrip)
73097         (json-serialize/object, json-parse-string/object)
73098         (json-parse-string/string, json-serialize/string)
73099         (json-parse-string/incomplete, json-parse-string/trailing)
73100         (json-parse-buffer/incomplete, json-parse-buffer/trailing): New unit
73101         tests.
73103         * doc/lispref/text.texi (Parsing JSON): New manual section.
73105 2017-12-10  Michael Albinus  <michael.albinus@gmx.de>
73107         * doc/misc/tramp.texi (Archive file names): Precise example.
73109 2017-12-09  Glenn Morris  <rgm@gnu.org>
73111         * test/lisp/net/tramp-archive-tests.el
73112         (tramp-archive-test06-directory-file-name): Add skip condition.
73114 2017-12-09  Philipp Stephani  <phst@google.com>
73116         * lisp/emacs-lisp/advice.el: Stop using old-style backquotes
73118 2017-12-09  Philipp Stephani  <phst@google.com>
73120         Raise an error when detecting old-style backquotes.
73122         They have been deprecated for a decade now.
73124         * src/lread.c (Fload): Don't use record_unwind_protect to warn about
73125         old-style backquotes any more.  They now generate a hard error.
73126         (read1): Signal an error when detecting old-style backquotes.  Remove
73127         unused label.
73128         (syms_of_lread): Remove unused internal variable
73129         'lread--old-style-backquotes'.
73130         (load_error_old_style_backquotes): Rename from
73131         'load_warn_oldstyle_backquotes'.  Signal an error.
73133         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Remove check
73134         from byte compiler.  It isn't triggered any more.
73136         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Adapt
73137         unit test.
73139         * test/lisp/emacs-lisp/bytecomp-tests.el
73140         (bytecomp-tests--old-style-backquotes)
73141         (bytecomp-tests-function-put): Adapt unit tests.
73143         * etc/NEWS: Document change.
73145 2017-12-09  Philipp Stephani  <phst@google.com>
73147         Work around reader limitations for old-style backquotes.
73149         See Bug#28759.
73151         * admin/grammars/make.by: Escape ,@ to avoid old-style backquote
73152         detection
73154 2017-12-09  Michael Albinus  <michael.albinus@gmx.de>
73156         Support for archive file names
73158         * doc/misc/tramp.texi (Top, Usage): Add entry "Archive file names".
73159         (History): Mention archive file names.
73160         (GVFS based methods): Mentio "http" and "https" methods.
73161         (Archive file names): New node.
73162         (Frequently Asked Questions): Add Emacs 27 as supported version.
73164         * etc/NEWS: Mention tramp-archive.el.
73166         * lisp/net/tramp.el (tramp-run-real-handler)
73167         (tramp-register-file-name-handlers)
73168         (tramp-register-file-name-handlers, tramp-unload-file-name-handlers):
73169         Add `tramp-archive-file-name-handler'.
73170         (tramp-handle-file-name-completion): Do not insist in Tramp
73171         file names.
73173         * lisp/net/tramp-archive.el: New package.
73175         * lisp/net/tramp-cache.el (tramp-dump-connection-properties): Check for
73176         "archive" method.
73178         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections): Cleanup also
73179         local copies of archives.
73181         * lisp/net/tramp-compat.el (tramp-compat-use-url-tramp-p): New defconst.
73183         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "http" and "https".
73184         (tramp-gvfs-gio-mapping): Add "gvfs-mount".
73185         (tramp-gvfs-handler-mounted-unmounted)
73186         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
73187         Handle "uri" and "http".
73188         (tramp-gvfs-unmount): New defun.
73190         * test/lisp/net/tramp-archive-tests.el: New package.
73192 2017-12-09  Michael Albinus  <michael.albinus@gmx.de>
73194         * test/Makefile.in (url-tramp-test.log): Do not handle special.
73196 2017-12-09  Michael Albinus  <michael.albinus@gmx.de>
73198         Sync with Tramp 2.4.0-pre
73200         * doc/misc/trampver.texi:
73201         * lisp/net/trampver.el: Change version to "2.4.0-pre".
73203         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
73204         Use `tramp-handle-file-directory-p'.
73205         (tramp-adb-parse-device-names)
73206         (tramp-adb-handle-expand-file-name)
73207         (tramp-adb-handle-file-truename, tramp-adb-handle-process-file):
73208         Adapt `tramp-make-tramp-file-name' call.
73209         (tramp-adb-handle-file-directory-p): Remove.
73210         (tramp-adb-maybe-open-connection): Do not set
73211         tramp-current-*.
73213         * lisp/net/tramp-cache.el (tramp-get-hash-table):
73214         Adapt `tramp-make-tramp-file-name' call.
73216         * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Do not set
73217         tramp-current-*.
73219         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
73220         Use `tramp-handle-file-directory-p'.
73221         (tramp-gvfs-dbus-event-error): Trace with verbosity 6.
73222         (tramp-gvfs-do-copy-or-rename-file): Use `file-truename'.
73223         (tramp-gvfs-handle-file-directory-p): Remove.
73224         (tramp-gvfs-handler-askpassword): Do not set tramp-current-*.
73226         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
73227         (tramp-sh-handle-start-file-process)
73228         (tramp-maybe-open-connection, tramp-get-remote-path): Do not
73229         set tramp-current-*.
73230         (tramp-maybe-open-connection): Set "password-vector" property.
73232         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
73233         Use `tramp-handle-file-accessible-directory-p' and
73234         `tramp-handle-file-directory-p'.
73235         (tramp-smb-handle-copy-directory, tramp-smb-handle-file-acl)
73236         (tramp-smb-handle-set-file-acl)
73237         (tramp-smb-maybe-open-connection): Do not set tramp-current-*.
73238         (tramp-smb-handle-file-directory-p): Remove.
73239         (tramp-smb-handle-make-symbolic-link):
73240         Use `tramp-get-connection-buffer' rather than `buffer-name'.
73242         * lisp/net/tramp.el (tramp-current-method, tramp-current-user)
73243         (tramp-current-domain, tramp-current-host)
73244         (tramp-current-port): Remove.
73245         (tramp-dissect-file-name): No special handling of localname anymore.
73246         (tramp-make-tramp-file-name): Reimplemnt with new signature.
73247         (tramp-completion-make-tramp-file-name): Fix docstring.
73248         (tramp-get-buffer, tramp-handle-file-name-as-directory)
73249         (tramp-handle-file-name-directory)
73250         (tramp-check-cached-permissions, tramp-local-host-p)
73251         (tramp-get-remote-tmpdir, tramp-clear-passwd):
73252         Adapt `tramp-make-tramp-file-name' call.
73253         (tramp-completion-handle-file-name-all-completions)
73254         (tramp-action-login, tramp-read-passwd): Do not set
73255         tramp-current-*.
73256         (tramp-handle-file-directory-p): New defun.
73257         (tramp-handle-verify-visited-file-modtime): Remove superfluous
73258         `with-parsed-tramp-file-name'.
73259         (tramp-process-actions, tramp-read-passwd):
73260         Use "password-vector" property.
73261         (tramp-call-process, tramp-call-process-region): No special
73262         setting of vec.
73263         (tramp-read-passwd): Handle "login-as" property.
73265         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
73266         Special code for "smb".
73268 2017-12-09  Michael Albinus  <michael.albinus@gmx.de>
73270         Minor Tramp fixes
73272         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
73273         Fix a bug when renaming.
73275         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
73276         (tramp-test42-delay-load, tramp-test42-remote-load-path):
73277         Skip unless Emacs >= 26.
73279 2017-12-09  Glenn Morris  <rgm@gnu.org>
73281         * lisp/help-mode.el (help-function-def):
73282         Allow help-make-xrefs to call with one argument.  (Bug#29611)
73284 2017-12-09  Martin Rudalics  <rudalics@gmx.at>
73286         Fix doc-string of 'display-buffer-in-side-window'
73288         * lisp/window.el (display-buffer-in-side-window): In doc-string
73289         clarify why the window returned gets dedicated to its buffer.
73291 2017-12-09  Michael Albinus  <michael.albinus@gmx.de>
73293         Fix Bug#29579
73295         * lisp/files.el (file-name-non-special):
73296         Inhibit `file-name-handler-alist' only for some operations.
73297         Add missing operations.  (Bug#29579)
73299         * lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
73300         Do not quote if it is quoted already.
73302         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
73303         Use `copy-tree' but `copy-sequence'.
73305         * lisp/net/tramp.el (tramp-handle-file-truename): Handle several
73306         trailing slashes correctly.
73308         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
73309         (tramp-test12-rename-file, tramp-test24-file-acl)
73310         (tramp-test25-file-selinux, tramp--test-check-files):
73311         Handle also quoted file names.
73312         (tramp-test21-file-links): Fix file name quoting test.
73313         (tramp-test24-file-acl): Be more robust for "smb" method.
73314         (tramp-test35-make-auto-save-file-name): Enable hidden test cases.
73316 2017-12-09  Michael Albinus  <michael.albinus@gmx.de>
73318         Merge from origin/emacs-26
73320         7eea3144d4 Minor Tramp fixes
73321         c0a670a8b5 * lisp/help-mode.el (help-function-def): Allow help-make-x...
73322         05720162c1 Fix doc-string of 'display-buffer-in-side-window'
73323         a1bbc49015 Fix Bug#29579
73324         cb3d979b74 ; NEWS: Update Org version number
73326 2017-12-09  Michael Albinus  <michael.albinus@gmx.de>
73328         Merge from origin/emacs-26
73330         5381c70b7a In windows.texi mention special splitting behavior of side...
73331         46d62b9f36 * lisp/gnus/gnus-group.el (gnus-group-mode-map): Bind [fol...
73332         1ef1dbdbc5 Avoid compilation warning in xterm.c
73333         5cf3c26f2d * README: Document all the top-level directories.  (Bug#29...
73334         e9ea2065a8 Don't enable erc modules on simply loading erc.el
73336 2017-12-09  Michael Albinus  <michael.albinus@gmx.de>
73338         Merge from origin/emacs-26
73340         1fdac2d65c Don't add newlines in minibuffer history
73341         de68f337e3 modhelp.py: Support Python 3 (Bug#24954)
73342         afb04f7f3c Use forward slashes for python w32 config example (Bug#21656)
73344 2017-12-08  Paul Eggert  <eggert@cs.ucla.edu>
73346         Fix core dump from (format "%#08x" n) patch
73348         Problem reported by Glenn Morris (Bug#29609#13).
73349         * src/editfns.c (styled_format): Null-terminate output,
73350         as later code now expects this.
73352 2017-12-08  Paul Eggert  <eggert@cs.ucla.edu>
73354         Fix daylight-saving inference for Irish time
73356         * lisp/calendar/cal-dst.el (calendar-dst-find-data): Do not assume
73357         that daylight-saving time has a greater UT offset than standard
73358         time.  The reverse is true in Ireland, where standard time "IST"
73359         is UTC +01 in summer and daylight-saving time "GMT" is UTC +00 in
73360         winter.  The current Irish rules are given by the POSIX setting
73361         TZ='IST-1GMT0,M10.5.0,M3.5.0/1'.
73363 2017-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73365         Fix zero-padding bug with (format "%#08x" n)
73367         Problem reported by Gustaf Waldemarson (Bug#29609).
73368         * src/editfns.c (styled_format):
73369         Put zero padding after a leading "0x", not before.
73370         * test/src/editfns-tests.el (format-sharp-0-x): New test.
73372 2017-12-06  Rasmus  <rasmus@gmx.us>
73374         Revert "; Add entry for new Org version in NEWS file"
73376         This reverts commit 793ba92c50d69e1796ea2122520dea872007bca7.
73378 2017-12-06  Rasmus  <rasmus@gmx.us>
73380         Update Org to v9.1.4
73382         Please note this is a bugfix release. See etc/ORG-NEWS for details.
73384 2017-12-05  Stefan Monnier  <monnier@iro.umontreal.ca>
73386         * lisp/files.el (find-alternate-file): Use selected-window even if dedicated
73388 2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
73390         * lisp/calendar/diary-lib.el: Use lexical-binding
73392         (diary-pull-attrs): Avoid let...setq.
73393         (diary-list-entries-2, diary-mark-entries-1)
73394         (diary-font-lock-date-forms, diary-fancy-date-pattern):
73395         Use calendar-dlet* around uses of diary-date-forms.
73396         (list-only, number, date, entry): Don't declare globally.
73397         (diary-including): Declare.
73398         (diary-saved-point, date-string): Move before first use.
73399         (diary-list-entries): Use calendar-dlet* around
73400         diary-nongregorian-listing-hook and 'diary-list-entries-hook.
73401         (displayed-year, displayed-month): Move before first use.
73402         (diary-sexp-entry): Use calendar-let* around evaluation of the sexp.
73403         (diary-remind): Use calendar-let* around evaluation of sexp.
73405 2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
73407         * lisp/calendar/cal-dst.el: Use lexical-binding
73409         (calendar-time-zone-daylight-rules, calendar-dst-starts)
73410         (calendar-dst-ends, dst-in-effect): Bind `year' explicitly around `eval'.
73412 2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
73414         * lisp/calendar/todo-mode.el: Use calendar-dlet*
73416         (dayname, monthname, day, month, year): Don't declare globally.
73417         (todo-date-pattern, todo-edit-item--header)
73418         (todo-convert-legacy-date-time, todo-read-date):
73419         Use calendar-dlet* around uses of calendar-date-display-form.
73421 2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
73423         * lisp/calendar/solar.el: Use lexical-binding
73425         (date): Don't declare globally.
73426         (solar-time-string): Use calendar-dlet*.
73428         * lisp/calendar/calendar.el (calendar-dlet*): New macro.
73430 2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
73432         * lisp/emacs-lisp/faceup.el: Don't require CL
73434         (faceup-markup-start-char, faceup-markup-end-char): Use char immediates.
73436 2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
73438         * lisp/emacs-lisp/elint.el (elint-init-form): Remove outdated CL hack
73440 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
73442         Fix an omission in lookup_basic_face
73444         * src/xfaces.c (lookup_basic_face): Handle 'vertical-border' face
73445         as well.  (Bug#29557)
73447 2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>
73449         allocate_vectorlike minor cleanup
73451         * src/alloc.c (allocate_vectorlike): Move a bit of code out of the
73452         critical section.  Although this doesn’t really help performance,
73453         it cleans up the code a bit and should make it easier to add
73454         pointer bounds checking.
73456 2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>
73458         Omit exprintf if modules but no X
73460         * src/doprnt.c (exprintf): Do not define if HAVE_MODULES &&
73461         !(have_X_WINDOWS || USE_X_TOOLKIT), as the modules code no longer
73462         uses exprintf.
73464 2017-12-03  Paul Eggert  <eggert@union>
73466         Pacify GCC on Ubuntu 17.10 x86-64
73468         * src/xfns.c (x_real_pos_and_offsets): Pull out parent frame
73469         into a local, so that GCC doesn't warn about dereferencing
73470         a possibly-null pointer.
73472 2017-12-03  Lars Ingebrigtsen  <larsi@gnus.org>
73474         Allow shr to use data: URLs without encoding
73476         * lisp/net/shr.el (shr-image-from-data): Don't bug out on
73477         image data: URLs that have no base64 encoding like
73478         (shr-image-from-data
73479         "text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").
73481 2017-12-03  Alan Third  <alan@idiocy.org>
73483         Add image resizing and rotation to NS port
73485         * lisp/image.el (image--get-imagemagick-and-warn): Bypass imagemagick
73486         check when using NS.
73487         * src/nsimage.m (ns_load_image): Add rotation and resizing
73488         functionality. Move the getMetaData call to before the resize/rotation
73489         so it returns correct metadata.
73490         (EmacsImage::setSizeFromSpec, EmacsImage::rotate): New functions.
73491         * src/nsterm.h (EmacsImage): Add new function prototypes.
73492         (NSCompositingOperationCopy): Add define to older equivalent for
73493         GNUstep and pre-10.12 macOS.
73494         * configure.ac: Don't use libjpeg on Cocoa.
73496 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
73498         Disable history expansion in eshell (Bug#29157)
73500         History expansion is not so useful since interactive history commands
73501         are already provided.  It can produce surprising errors when the user
73502         is not aware of the history designator syntax.
73503         * lisp/eshell/em-hist.el (eshell-hist-initialize): Don't add
73504         eshell-expand-history-references to eshell-expand-input-functions.
73505         * etc/NEWS: Announce it.
73507 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
73509         * lisp/emacs-lisp/package.el (package-read-from-string): Simplify.
73511 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
73513         Fix faceup tests when run from elc
73515         String literals may be shared by the compiler, so the test string
73516         needs to be copied before adding properties to it.  For single
73517         properties, just use a string literal with properties.
73518         * test/lisp/emacs-lisp/faceup-tests/faceup-test-basics.el
73519         (faceup-markup): Split into...
73520         (faceup-markup-basics, faceup-markup-escaping, faceup-markup-plain)
73521         (faceup-markup-plain-full-text, faceup-markup-anonymous-face)
73522         (faceup-markup-anonymous-face-2keys, faceup-markup-anonymous-nested)
73523         (faceup-markup-nested, faceup-markup-overlapping)
73524         (faceup-markup-multi-face, faceup-markup-multi-property): New tests.
73526 2017-12-02  Paul Eggert  <eggert@cs.ucla.edu>
73528         Merge from origin/emacs-26
73530         04e5b28ff1 Fix bug in i18n/l10n optimization
73531         8227087194 Let autoload-compute-prefix be set file-locally (Bug#29471)
73532         98ca7d5f26 Improve edit-kbd-macro prompting in case of remapped keys ...
73533         c02c1f6be7 Add tests on electric-indentation and Python multiline str...
73534         946bb6d225 Disable electric indent for python strings (Bug#29305)
73535         35f1ed10e4 ; ChangeLog.2: Fix bug reference.
73536         ac316634e4 Fix buffer overflow in fontname conversion (Bug#29523)
73537         bf9b972843 Fix byte compilation of files with leading directories
73538         ac144dc835 * lisp/files.el (make-backup-file-name-1): Fix scoping error.
73539         1b351c8a47 Revert Tramp commit from 2017-11-20
73540         77cf972592 Improve documentation of buffer-list commands and features
73541         66ec92af00 Fix backing up remote files in local directories on MS-Win...
73542         7e61e74da7 * doc/emacs/mule.texi (Output Coding): Clarify sendmail co...
73543         1e25cd79ff Revert "Fix backing up remote files in local directories o...
73544         f52d79500b Fix a typo in ELisp manual
73545         bf26fc3656 * lisp/composite.el (find-composition): Fix a typo in the ...
73547 2017-12-02  Paul Eggert  <eggert@cs.ucla.edu>
73549         Merge from origin/emacs-26
73551         8c8b673288 Fix backing up remote files in local directories on MS-Win...
73552         8eb6870be6 Fix vertical cursor motion in pixel-scroll.el
73553         625e84f156 Fix typos in doc strings of message.el
73554         9292276a44 Fix a typo in the Emacs manual
73555         42509c0649 Improve the documentation of 'table-insert-sequence'
73556         93dc7ae4a4 Port better to QNX
73557         ad99550610 Make tramp-test42-auto-load more robust
73558         af0ce33d08 ; * lisp/composite.el (find-composition): Fix a typo in la...
73559         bdbcdbac43 Avoid assertions in find-composition
73561 2017-12-02  Alan Mackenzie  <acm@muc.de>
73563         For help commands, ensure all keys of a mouse sequence are reported.
73565         This solves the problem where read_key_sequence initializes and uses a global
73566         buffer raw_keybuf, yet is called recusrsively.  The initialization is now done
73567         elsewhere, avoiding the reinitialization of that global buffer.
73569         * src/keyboard.c (command_loop_1, read_key_sequence_vs): Initialize
73570         raw_event_count before calling read_key_sequence.
73571         (read_char_x_menu_prompt): Call x_popup_menu_1 in place of Fx_popup_menu.
73572         (init_raw_keybuf_count): New function.
73573         (read_key_sequence): Remove initialization of raw_event_count.  Add a missing
73574         GROW_RAW_KEYBUF invocation.
73576         * src/keyboard.h: (init_raw_keybuf_count): New declaration.
73578         * src/menu.c: (x_popup_menu_1): New function with the functionality of the
73579         former Fx_popup_menu.
73580         (Fx_popup_menu): Replace with function which initializes raw_event_count then
73581         calls x_popup_menu_1.
73583         * src/menu.h: (x_popup_menu_1): New declaration.
73585 2017-12-01  Vibhav Pant  <vibhavp@gmail.com>
73587         lisp/erc/erc.el: Use inline-letevals for when args are buffer local.
73589         * lisp/erc/erc.el: (erc-get-server-user, erc-add-server-user,
73590           erc-remove-server-user): Use inline-letevals for when the arguments
73591           refer to buffer-local variables.
73593 2017-12-01  Glenn Morris  <rgm@gnu.org>
73595         * admin/gitmerge.el (gitmerge-resolve): Handle NEWS.  (Bug#29366)
73597 2017-12-01  Glenn Morris  <rgm@gnu.org>
73599         Don't hard-code gitmerge.el's default merge branch
73601         * admin/gitmerge.el (gitmerge-default-branch): Make it a variable,
73602         defaulting to nil.
73603         (gitmerge-emacs-version, gitmerge-default-branch): New functions.
73604         (gitmerge): Guess the branch to merge from.
73606 2017-12-01  Glenn Morris  <rgm@gnu.org>
73608         * admin/gitmerge.el (gitmerge-resolve):
73609         Fix treatment of generated files.
73611 2017-11-30  Michael Heerdegen  <michael_heerdegen@web.de>
73613         Add macros `thunk-let' and `thunk-let*'
73615         * lisp/emacs-lisp/thunk.el (thunk-let, thunk-let*): New macros.
73616         * test/lisp/emacs-lisp/thunk-tests.el:
73617         (thunk-let-basic-test, thunk-let*-basic-test)
73618         (thunk-let-bound-vars-cant-be-set-test)
73619         (thunk-let-laziness-test, thunk-let*-laziness-test)
73620         (thunk-let-bad-binding-test): New tests for `thunk-let' and
73621         `thunk-let*.
73623         * doc/lispref/eval.texi (Deferred Eval): New section.
73624         * doc/lispref/elisp.texi: Update menu.
73626 2017-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
73628         Add date to dependency and source zips for snapshots
73630         * admin/nt/dist-build/build-zips.sh,
73631           admin/nt/dist-build/build-dep-zips.py: Support snapshot naming
73633 2017-11-30  Glenn Morris  <rgm@gnu.org>
73635         Make truncate-lines permanently local (bug#15396)
73637         Width of lines relative to display is rarely a function of major mode.
73638         * src/buffer.c (init_buffer_once) <truncate-lines>:
73639         Flag as permanently local.
73640         * lisp/bindings.el (truncate-lines): Add permanent-local property.
73642 2017-11-29  Glenn Morris  <rgm@gnu.org>
73644         Merge from origin/emacs-26
73646         408862f02a (origin/emacs-26) ; * lisp/emacs-lisp/bytecomp.el: Tweak m...
73647         9964db4c34 Restore obsolete method of changing byte-compile-dest-file
73648         3dd25aeecb Some minor Tramp corrections
73649         d670a15f25 * doc/misc/url.texi (http/https): Fix typo
73650         99d07e8d5e Remove some bogus definition-prefixes from loaddefs
73651         6067f0c702 Shell-quote wildcards when invoking 'vc-git-grep'
73652         0540df10e6 Update documentation of '.dir-locals-2.el'
73653         f2441ab320 ; Fix some tiny doc and comment typos
73654         22ff46e6d8 ; Fix some comment typos
73656         # Conflicts:
73657         #       etc/NEWS
73659 2017-11-29  Glenn Morris  <rgm@gnu.org>
73661         Merge from origin/emacs-26
73663         f2e6961a1b ; * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file): ...
73664         1c8bd8a119 A few small doc fixes for bytecomp.el
73666 2017-11-29  Glenn Morris  <rgm@gnu.org>
73668         Merge from origin/emacs-26
73670         02d114d6b8 * lisp/tree-widget.el (tree-widget-end-guide): Escape it. ...
73671         0a85d12474 Fix ELisp "Warning Tips"
73672         06d05fec84 Fix Bug#29163
73673         ac64fdb248 Harden exec_byte_code against redefining 'error'
73674         700f74e4c8 Fix Edebug specs for if-let* and and-let* (Bug#29236)
73675         0ded1b41a9 Fix Edebug's handling of dotted specs (bug#6415)
73676         16358d4fcb Improve documentation of "constant" symbols
73678 2017-11-29  Stefan Monnier  <monnier@iro.umontreal.ca>
73680         * lisp/gnus/message.el: Use pcase and cl-lib
73682         (message-check-news-body-syntax): Avoid string-to-multibyte.
73684 2017-11-28  Glenn Morris  <rgm@gnu.org>
73686         Put most erc autoloads in a dedicated file erc-loaddefs.el
73688         These are features that are only useful after erc.el is loaded.
73689         * lisp/erc/erc.el (top-level): Load erc-loaddefs.
73690         * lisp/erc/erc-autoaway.el, lisp/erc/erc-button.el:
73691         * lisp/erc/erc-capab.el, lisp/erc/erc-compat.el:
73692         * lisp/erc/erc-dcc.el, lisp/erc/erc-desktop-notifications.el:
73693         * lisp/erc/erc-ezbounce.el, lisp/erc/erc-fill.el:
73694         * lisp/erc/erc-identd.el, lisp/erc/erc-imenu.el:
73695         * lisp/erc/erc-join.el, lisp/erc/erc-list.el, lisp/erc/erc-log.el:
73696         * lisp/erc/erc-match.el, lisp/erc/erc-menu.el:
73697         * lisp/erc/erc-netsplit.el, lisp/erc/erc-notify.el:
73698         * lisp/erc/erc-page.el, lisp/erc/erc-pcomplete.el:
73699         * lisp/erc/erc-replace.el, lisp/erc/erc-ring.el:
73700         * lisp/erc/erc-services.el, lisp/erc/erc-sound.el:
73701         * lisp/erc/erc-speedbar.el, lisp/erc/erc-spelling.el:
73702         * lisp/erc/erc-stamp.el, lisp/erc/erc-track.el:
73703         * lisp/erc/erc-truncate.el, lisp/erc/erc-xdcc.el:
73704         Set generated-autoload-file to "erc-loaddefs.el".
73706 2017-11-27  Glenn Morris  <rgm@gnu.org>
73708         Fix probable typo in elisp-mode constant name
73710         * lisp/progmodes/elisp-mode.el (emacs-lisp-byte-code-comment-re):
73711         Rename from emacs-list-byte-code-comment-re.  Add doc string.
73712         (elisp--byte-code-comment, elisp-byte-code-syntax-propertize):
73713         Update for the above.
73715 2017-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
73717         Update Build files for Emacs-27
73719         * admin/nt/dist-build/README-windows-binaries,
73720           admin/nt/dist-build/build-dep-zips.py,
73721           admin/nt/dist-build/build-zips.sh: Update Version
73723 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
73725         * lisp/emacs-lisp/cl-macs.el: Fix bug#26073.
73727         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand):
73728         Implement Common-Lisp's behavior for symbol-macro's let-rebindings.
73729         (cl--letf, cl-letf): Don't get fooled into using a plain `let` for
73730         symbol-macros.
73732         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet-hide):
73733         New test.
73735 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
73737         * lisp/emacs-lisp/cl-macs.el: Fix &key with no key arg
73739         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-empty-keyargs): New test.
73740         * lisp/emacs-lisp/cl-macs.el (cl--do-arglist): Fix it.
73742 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
73744         * src/lread.c (syms_of_lread): Fix thinko in commit b1573a97e17b5.
73746 2017-11-26  Paul Eggert  <eggert@union>
73748         Pacify --enable-gcc-warnings on Ubuntu 17.10 x86-64
73750         * src/process.c (Fmake_network_process):
73751         Avoid duplicate test of NILP (host), which apparently confuses
73752         GCC into thinking that portstringlen might be used uninitialized.
73754 2017-11-26  Charles A. Roelli  <charles@aurox.ch>
73756         * src/process.c (wait_reading_process_output): Deduplicate check.
73758         (Bug#29454)
73760 2017-11-25  Paul Eggert  <eggert@cs.ucla.edu>
73762         Merge from origin/emacs-26
73764         a89f0b6f33 maint: shorten https://lists.gnu.org/archive/html/... links
73765         8be3aee281 Merge from Gnulib
73766         265cee553f Work around GCC bug 80776 on Fedora 27 x86
73767         dc7a97fb84 Tweak copy-file, rename-file doc
73768         cfa2a944d4 Change font-lock-extend-region-multiline handling in mhtml...
73769         a8664cc998 Minor cleanup in tramp-gvfs-handle-file-local-copy
73770         55c5b12fa0 Add test for Bug#29423 in Tramp.
73771         3198a1646e Avoid jumbled order in HTML rendered by shr.el
73772         23bfc2d2db Make sure 'dired-filename' property is always put by ls-lisp
73773         f7fdaea4c0 A better solution for bug#29347
73774         86e6ed8521 ; * src/thread.c (acquire_global_lock): Fix thinko in last...
73775         f300852037 Avoid a hang after C-g while sit-for on a Unix TTY
73776         d7fc719ff1 Improve the doc string of 'list-packages'
73777         b4f67ebb92 Improve discoverability of 'defvar' for suppressing warnings
73778         8a2b204e64 Improve discoverability of 'read-buffer-completion-ignore-...
73779         eea4e9194c Improve documentation of self-insert-uses-region-functions
73780         e6e41dac87 Reflect changes in copy-file and rename-file in doc strings
73781         0ec534070f * lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix.  (...
73782         1d0dbdff6c Reorder type predicates in ELisp manual
73783         b081ec9dd7 Fix backward scrolling in buffers with header-line
73784         8e40429c96 ; Fix some doc typos
73785         ed2c542920 * lisp/bindings.el (buffer-file-coding-system): Add explic...
73786         d82474e452 * src/fns.c (syms_of_fns) <overriding-plist-environment>: ...
73787         292c09ff6d Fix incorrect interaction of drag/drop and double click (b...
73788         d6fadb1d26 * lisp/menu-bar.el (menu-bar-options-save): Add display-li...
73789         daa959efbc * lisp/menu-bar.el (menu-bar-options-save): Add global-dis...
73790         17fc74d1b9 * lisp/follow.el (follow-mode): Restore mode line lighter....
73791         f20c2e2f3d ; Compare process status against 127 exactly
73792         2d203ffb7e Extract the common part of ruby-flymake-simple and ruby-fl...
73793         09944d499a Add Rubocop Flymake backend
73794         c65a0ae7c4 ; Fix a typo
73795         7ab7603125 Update nt/INSTALL.W64 (Bug#28601)
73796         11db253c08 Remove incorrect NEWS item about VC state indicator (Bug#2...
73797         2fdc01c036 * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.
73798         735c8b516e Make c-defun-name analyze more thoroughly a function type ...
73799         92f0c4cd56 Avoid bogus abbreviated file names if HOME changes
73800         8d450453fa * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.
73801         37a3b4ea40 Fix erc keep-place module with new defaults (Bug#29111)
73802         6c312605bf Add window divider faces to NS (bug#29353)
73804         # Conflicts:
73805         #       etc/NEWS
73806         #       lisp/ruler-mode.el
73808 2017-11-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
73810         Obsolete gnus-copy-sequence and gnus-last-element
73812         (Bug#28856, Bug#28867)
73814         * lisp/gnus/gnus-range.el: Leave gnus-last-element in place, but
73815           obsolete it and point to car of last. Remove gnus-copy-sequence and
73816           define as an obsolete alias for copy-tree.
73817           (gnus-remove-from-range):
73818         * lisp/gnus/gnus-cache.el (gnus-cache-generate-active):
73819         * lisp/gnus/gnus-sum.el (gnus-summary-insert-articles,
73820           gnus-select-newsgroup, gnus-summary-read-group-1,
73821           gnus-select-newsgroup, gnus-update-marks,
73822           gnus-summary-insert-articles, gnus-summary-insert-new-articles):
73823           Replace calls in these locations.
73824         * lisp/gnus/gnus-agent.el (gnus-agent-catchup,
73825           gnus-agent-summary-fetch-series, gnus-category-copy):
73826         * lisp/gnus/gnus-cus.el (gnus-group-customize):
73827         * lisp/gnus/gnus-group.el (gnus-group-edit-group-done,
73828           gnus-group-make-useful-group):
73829         * lisp/gnus/gnus-score.el (gnus-score-adaptive):
73830         * lisp/gnus/gnus-srvr.el (gnus-server-copy-server): Replace calls in
73831           these locations.
73833 2017-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
73835         * src/data.c: Fix regression in last clone-buffer change
73837         * src/data.c (Fmake_local_variable, Fmake_variable_buffer_local):
73838         Signal more precise error when applied to read-only variable.
73840 2017-11-24  Sam Steingold  <sds@gnu.org>
73842         Fix last patch: ensure the return value of tags-verify-table.
73844         * lisp/progmodes/etags.el (tags-verify-table): Since `(tags-table-mode)'
73845         always return nil now that it is a derived mode, call
73846         `verify-tags-table-function' explicitly.
73848 2017-11-24  Pip Cet  <pipcet@gmail.com>
73850         Use NULL for NULL rather than false
73852         * src/xdisp.c (x_draw_bottom_divider): Fix type typo.
73854 2017-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
73856         * lisp/macros.el (insert-kbd-macro): Recognize kmacros reliably
73858         * lisp/macros.el (name-last-kbd-macro): Make it an alias of
73859         kmacro-name-last-macro.
73860         (insert-kbd-macro): Use kmacro-keyboard-macro-p so it also works for
73861         kmacros that fail to have a `kmacro' property.
73862         (see https://emacs.stackexchange.com/questions/37065, for an example).
73864         * lisp/kmacro.el: Remove redundant :group args.
73865         (kmacro-insert-counter): Simplify.
73866         (kmacro-extract-lambda): Use car/cdr-safe.
73867         (kmacro-p, kmacro-keyboard-macro-p): New functions.
73868         (kmacro-name-last-macro): Use them.
73870 2017-11-24  Daiki Ueno  <ueno@gnu.org>
73872         Remove pinentry.el
73874         * lisp/epg.el (epg--start): Remove the use of pinentry.el.
73875         * lisp/net/pinentry.el: Remove (bug#27445).
73877 2017-11-24  Jaesup Kwak  <veshboo@gmail.com>  (tiny change)
73879         Avoid unnecessary xwidget_view creations
73881         * src/xwidget.c (x_draw_xwidget_glyph_string): Don't create new
73882         xwidget view if we have a usable one already.
73884 2017-11-24  Alex Branham  <branham@utexas.edu>
73886         More informative error when autosave file is not available
73888         * lisp/files.el (recover-file): Distinguish in error messages
73889         between autosave file not existing and not being current.
73890         (Bug#29179)
73892 2017-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
73894         * lisp/simple.el (clone-buffer): Adjust `mark-ring'
73896 2017-11-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
73898         Marked groups should always be visible in *Group* buffer
73900         * lisp/gnus/gnus-group.el (gnus-group-prepare-flat): Check for the
73901           mark in these two locations.
73902         * lisp/gnus/gnus-topic.el (gnus-topic-find-groups)
73904 2017-11-22  Sam Steingold  <sds@gnu.org>
73906         Use special-mode for read-only buffers.
73908         * lisp/progmodes/etags.el (tags-table-mode): Define using
73909         `define-derived-mode', inheriting from `special-mode'.
73910         Not only the buffer is now read-only, but you can bury it with "q".
73911         (select-tags-table-mode): No need to set `buffer-read-only'
73912         explicitly, `special-mode' takes care of that.
73913         * lisp/vc/log-edit.el (log-edit-show-files): Use `special-mode'
73914         instead of setting `buffer-read-only' explicitly.
73916 2017-11-22  Sam Steingold  <sds@gnu.org>
73918         Remove variable alias executing-macro, obsolete since before 19.34.
73920 2017-11-22  Sam Steingold  <sds@gnu.org>
73922         Remove *-yank-hooks aliases for -citation-hook, obsolete since 19.34.
73924         * lisp/simple.el (compose-mail): Use `mail-citation-hook'
73925         instead of `mail-yank-hooks'.
73926         * lisp/mail/sendmail.el (mail-yank-hooks): Remove.
73927         (mail-yank-original, mail-yank-region): Drop `mail-yank-hooks'.
73928         * lisp/mh-e/mh-letter.el (mh-yank-hooks): Remove.
73929         (mh-insert-prefix-string): Drop `mh-yank-hooks'.
73931 2017-11-20  Phillip Lord  <phillip.lord@russet.org.uk>
73933         Fix lower case installer name
73935         * admin/nt/dist-build/build-zips.sh (build_installer):
73937 2017-11-20  Eric Abrahamsen  <eric@ericabrahamsen.net>
73939         Use message instead of gnus-message in gnus-summary-current-score
73941         * lisp/gnus/gnus-score.el (gnus-summary-current-score): The only point
73942           of this function is to display the score to the user, there's no
73943           need to do gnus-message filtering.
73945 2017-11-20  Phillip Lord  <phillip.lord@russet.org.uk>
73947         Add date to snapshot file
73949         * admin/nt/dist-build/build-zips.sh: Add date to all out files.
73950         * admin/nt/dist-build/emacs.nsi: Lower case and date installer.
73952 2017-11-20  Alan Mackenzie  <acm@muc.de>
73954         read_key_sequence: correct the handling of raw_keybuf in recursive calls
73956         This fixes bug #29349.
73958         * src/keyboard.c (raw_keybuf_buffer, raw_keybuf_count_buffer): New variables
73959         pointed to by ...
73960         (raw_keybuf, raw_keybuf_count): Variables converted to pointers.
73961         (GROW_RAW_KEYBUF): enhance with a length argument.
73962         (command_loop_1): Initialize the above two pointers to their canonical values.
73964         (read_key_sequence): In recursive calls (for menus) the function was
73965         overwriting the raw event buffer of the outer call.  Correct this by
73966         introducing a local buffer for each level of call, and setting this up to be
73967         used by the call to read_char.  Any contents of this local buffer are appended
73968         to the global buffer afterwards.
73970 2017-11-20  Glenn Morris  <rgm@gnu.org>
73972         Merge from origin/emacs-26
73974         fc5b8f1 Fix Bug#29149
73975         5622b2e Merge branch 'emacs-26' of git.sv.gnu.org:/srv/git/emacs into...
73976         4da8799 (emacs-26) Fix misbehavior when drawing three-pixel high hori...
73977         1b082c8 MH-E: don't automatically download external-body parts
73978         069f978 ; * lisp/emacs-lisp/byte-run.el: Fix a typo in a comment.
73979         504a56c ; Fix last commit
73980         a34e44e ; Fix last commit
73981         a8892b4 Further fix for Bug#29291
73982         d14923b Fix divider frame params on NS (bug#29352)
73983         b2518ac Spelling fixes
73985         # Conflicts:
73986         #       etc/NEWS
73987         #       test/lisp/net/tramp-tests.el
73989 2017-11-20  Glenn Morris  <rgm@gnu.org>
73991         Merge from origin/emacs-26
73993         6e6bf60 Don't let delete_frame select a tooltip frame (Bug#27647)
73994         e9dd580 Filter obtrusive events in help-read-key-sequence.
73995         90075e8 Fix symlink flag in tramp-gvfs-handle-file-attributes
73996         c355529 Fix bug in tramp-handle-file-truename
73997         4c21d04 Fix a typo in doc string of electric-indent-functions-without...
73998         319c2de Avoid assertion violations in echo_area_display
73999         63c7733 ; * lisp/ido.el (ido-find-alternate-file): Doc fix.  (Bug#29278)
74000         cbd319a Fix case-folding in Occur
74001         29520b0 Fix quick-calc in C mode with hex values
74002         3e80124 Improve documentation of dired-next/prev-marked-file
74003         90add18 Prevent aborts in line-move-visual
74004         648c128 More fixes in src/.gdbinit
74005         104f3e5 Document how to enter whitespace when using grep-read-files
74007 2017-11-20  Glenn Morris  <rgm@gnu.org>
74009         Merge from origin/emacs-26
74011         42c8768 Fix .gdbinit following lisp.h changes
74012         720322a ; Spelling fixes
74013         617c556 * lisp/simple.el (shell-command): Doc fixes.
74014         1faade8 Fix marker adjustment for undo (Bug#29118)
74016 2017-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
74018         * lisp/erc/erc-services.el: Use lexical-binding
74020 2017-11-20  Olaf Rogalsky  <olaf.rogalsky@t-online.de>  (tiny change)
74022         * src/keyboard.c: Make xterm-mouse clicks on mode-line work
74025         (read_key_sequence): Recompute first_event
74026         after replay_sequence, since it might have changed (bug#29104).
74028 2017-11-19  Johan Bockgård  <bojohan@gnu.org>
74030         copyright.el: Avoid inadvertent point motion
74032         * lisp/emacs-lisp/copyright.el (copyright-update-year): Enlarge the
74033         scope of save-excursion. Reported in:
74034         https://lists.gnu.org/archive/html/emacs-devel/2017-04/msg00271.html
74036 2017-11-19  Vibhav Pant  <vibhavp@gmail.com>
74038         lisp/erc/erc-services.el: Fix arg eval order of inline functions.
74040         * lisp/erc/erc-services.el (erc-nickserv-alist-sender,
74041           erc-nickserv-alist-regexp, erc-nickserv-alist-nickserv,
74042           erc-nickserv-alist-ident-keyword, erc-nickserv-alist-use-nick-p,
74043           erc-nickserv-alist-ident-command,
74044           erc-nickserv-alist-identified-regexp): Use `inline-letevals' to make
74045           sure that `network' is evaluated first and independently of `entry'.
74047 2017-11-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
74049         Further fixes to writing of object names
74051         Pursuant to 1ef6d2b0e6
74053         * lisp/emacs-lisp/eieio.el (object-write): Only write the name in the
74054           comment when the comment's also present. Newline should only be
74055           printed if the name is.
74057 2017-11-18  Vibhav Pant  <vibhavp@gmail.com>
74059         Reimplement inline functions in ERC with define-inline.
74061         * lisp/erc/erc-backend.el: (erc-server-reconnect-p): Reimplement using
74062           define-inline.
74064         * lisp/erc/erc-dcc.el: (erc-dcc-unquote-filename, erc-dcc-get-parent):
74065           Reimplement using define-inline.
74067         * lisp/erc/erc-services.el: (erc-nickserv-alist-sender,
74068           erc-nickserv-alist-regexp, erc-nickserv-alist-nickserv,
74069           erc-nickserv-alist-ident-keyword, erc-nickserv-alist-use-nick-p,
74070           erc-nickserv-alist-ident-command,
74071           erc-nickserv-alist-identified-regexp): Reimplement using define-inline.
74073         * lisp/erc/erc.el: (erc-get-channel-user, erc-get-server-user,
74074           erc-add-server-user, erc-remove-server-user, erc-channel-user-owner-p,
74075           erc-channel-user-admin-p, erc-channel-user-op-p,
74076           erc-channel-user-halfop-p, erc-channel-user-voice-p, erc-log):
74077           Reimplement using define-inline.
74079 2017-11-17  Phillip Lord  <phillip.lord@russet.org.uk>
74081         Rebrand Uninstaller
74083         * admin/nt/dist-build/emacs.nsi: Add MUI_UNICON
74085 2017-11-17  Phillip Lord  <phillip.lord@russet.org.uk>
74087         Fix install location for windows installer
74089 2017-11-15  Phillip Lord  <phillip.lord@russet.org.uk>
74091         Rebrand Windows installer
74093          * admin/nt/dist-build/emacs.nsi: Use two icons.
74094          * etc/images/splash.bmp,etc/images/icons/hicolor/scalable/apps/emacs.ico:
74095            New files.
74097 2017-11-14  Glenn Morris  <rgm@gnu.org>
74099         Merge from origin/emacs-26
74101         796c7f7 (origin/emacs-26) ; Fix last fix of 'mouse-drag-and-drop-region'
74102         40d41dd (emacs-26) Fix Bug#28139
74103         a5ec644 Fix Bug#29291
74104         8b900e5 Fix Bug#2928
74105         ff7bd84 Make 'mouse-drag-and-drop-region' work with 'mouse-autoselect...
74106         0491de8 * etc/PROBLEMS: Remove fixed xterm-mouse-mode problems
74107         caa39f4 Fix cookie handling (bug#29282)
74108         93304e3 Improve documentation of Edebug and macros
74110 2017-11-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
74112         Fix name of gnus-summary-sort-by-mark(s)
74114         * lisp/gnus/gnus-sum.el (gnus-summary-sort-by-marks): Needs the
74115           "s", according to docs and keymap both.
74117 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
74119         Merge from origin/emacs-26
74121         79108894db Port to IBM xlc 12.01
74122         d14956099d Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
74123         b1573a97e1 Use alignas to fix GCALIGN-related bugs
74124         5d68dc9a2f Change vectorlike from struct to union
74125         6aa0a26b46 Don't enable cursor-sensor-mode in mhtml-mode
74126         2b8ef8dddf * lisp/files.el (abbreviate-file-name): Doc fix.  (Bug#29267)
74127         fe85ce1e16 Unbreak interactive run of a flymake test (bug#29267)
74128         48ad00390d Fix Bug#29225
74129         42daf83f08 CC Mode: Fix defun-open being recognized as brace-list-ope...
74130         7775c47298 Merge from Gnulib
74131         e470d16448 Pacify GCC when configured --with-x-toolkit=no
74132         49450d0951 * lisp/find-dired.el (find-grep-dired): Doc fix.  (Bug#29262)
74133         e286b3381f Fix more flymake-diag-region eob corner cases and add test...
74135         # Conflicts:
74136         #       src/lisp.h
74138 2017-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>
74140         * lisp/gnus/gnus-srvr.el: Avoid custom-set-variables
74142         * lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
74143         Prefer customize-set-variable.
74145 2017-11-11  Basil L. Contovounesios  <contovob@tcd.ie>
74147         Rename Man-build-section-alist (bug#28998)
74149         The defsubst Man-build-section-alist builds and returns a list of
74150         strings, so rename it to Man-build-section-list and make it a defun.
74152         * lisp/man.el (Man-build-section-alist): Do it and reduce syntax.
74153         (Man-goto-page):
74154         * lisp/woman.el (woman-find-file): Use it.
74156 2017-11-10  Eric Abrahamsen  <eric@ericabrahamsen.net>
74158         Provide more control over writing of objects in object-write
74160         * lisp/emacs-lisp/eieio.el (eieio-print-indentation,
74161           eieio-print-object-name): New variables controlling whether an
74162           object name is printed for each object, and whether an object's
74163           contents are indented or not. Object names are obsoleted; omitting
74164           indentation reduces the size of persistence files.
74166 2017-11-08  Paul Eggert  <eggert@cs.ucla.edu>
74168         Merge from origin/emacs-26
74170         9e59de9449 Use GCALIGNED properly for GCC
74171         b9d7c90260 In f90.el, set fill-paragraph-function to a useful value
74173         # Conflicts:
74174         #       src/lisp.h
74176 2017-11-08  Paul Eggert  <eggert@cs.ucla.edu>
74178         Merge from origin/emacs-26
74180         6c3031399b * admin/gitmerge.el (gitmerge-resolve-unmerged): Fix doc t...
74181         98288ecaff Further workaround for faulty localtime() under macOS 10.6
74183 2017-11-08  Paul Eggert  <eggert@cs.ucla.edu>
74185         Merge from origin/emacs-26
74187         255ba01148 Fix handling of nil PRED2 arg for completion-table-with-pr...
74188         949b70a7d8 ; Minor comment copyedit in window.c
74189         20f9bf30f0 Describe Lao rendering problem
74190         3d61657694 Fix docstring of arabic-shaper-ZWNJ-handling
74191         db949166ec Handle single-line comments correctly (Bug#26049)
74192         795bb233a5 * test/lisp/net/tramp-tests.el (tramp-test16-file-expand-w...
74193         ba00ea7d0d * etc/PROBLEMS: Add URL to relevant issues for xterm+evil bug
74194         4a6015811e ; In text.texi fix typo spotted by Štěpán Němec
74195         93cd8415b2 Document new treatment of 'comment-auto-fill-only-comments'
74196         ca2d94ba61 Do not load Tramp unless `tramp-mode' is non-nil
74197         709478eaa8 Prefer `customize-set-variable' in tramp.texi
74198         5d36f2227f Fix last change in hscroll_window_tree
74199         72d07d1950 Ediff: add some missing documentation
74200         18af404ef3 Support python virtualenv on w32 (Bug#24464)
74201         efd0371c23 Improve dired deletion error handling (Bug#28797)
74202         5d744e032f Don't replace user input when completion prefix is empty (...
74203         ec6cf35c5f ; Describe xt-mouse problems with Evil mode
74204         c572e1f329 Return non-nil from gnutls-available-p under GnuTLS 2.x
74205         a2cc6d74c5 Fix Flymake help-echo functions across windows (bug#29142)
74206         58bb3462ee Add tests for Flymake backends for Ruby and Perl
74207         58e742b21d Add a Flymake backend for Perl
74208         9dee764165 Add a Flymake backend for Ruby
74209         3ad712ebc9 Add a Flymake backend for Python (bug#28808)
74210         8db2b3a79b Allow "%" in Tramp host names
74211         8c50842790 ; Fix typo in test/file-organization.org
74212         00fa4449cd ; Fix typo
74213         918a2dda07 Use hybrid malloc for FreeBSD (Bug#28308)
74214         725ab635d9 Add html-, mhtml- and python-mode support to semantic symref
74215         369da28702 Improve documentation of 'window-scroll-functions'
74216         93818eed8a Fix subtle problems in tabulated-list-mode with line numbers
74217         1f1de8e872 Make gdb-non-stop-setting default to nil on MS-Windows
74218         680e8e119b Fix gdb-mi prompt after "attach PID" command
74219         ff33074546 Fix doc string of 'window-configuration-change-hook'
74220         787b75ad71 Improve documentation of window hooks
74221         d9be8704ae Fix hscroll suspension after cursor motion
74222         6f43d29d29 ; * CONTRIBUTE, admin/make-tarball.txt: Doc tweaks re 'ema...
74223         a0d30d6369 Introduce a function to CC Mode which displays the current...
74224         383abc8898 ; Fix some comment typos
74225         b02c2714c3 Fix typos in ediff-wind.el
74226         4f38bdec74 Examine tex-chktex--process in the correct buffer
74227         94b490529a * nt/INSTALL.W64: Update to current mingw64 install instru...
74228         c25113d4ac Don't resignal errors in flymake-diag-region
74229         e950f329c0 New xref-quit-and-goto-xref command bound to TAB (bug#28814)
74230         5d34e1b288 Allow split-window-sensibly to split threshold in further ...
74231         2a973edeac Honor window-switching intents in xref-find-definitions (b...
74232         78e9065e9f * lisp/emacs-lisp/generator.el (iter-do): Add a debug decl...
74233         caa63cc96c * lisp/progmodes/flymake.el (flymake-start): Fix dead buff...
74234         9f4f130b79 Fix buffer name comparison in async shell-command
74236         # Conflicts:
74237         #       etc/NEWS
74238         #       lisp/vc/ediff-wind.el
74240 2017-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>
74242         * lisp/net/tramp-cmds.el, lisp/allout.el: Avoid custom-set-variables
74244         * lisp/net/tramp-cmds.el (tramp-change-syntax):
74245         * lisp/allout.el (allout-init): Avoid custom-set-variables.
74247 2017-11-07  John Mastro  <john.b.mastro@gmail.com>
74249         Increase DUMPED_HEAP_SIZE in w32heap.c
74251         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]: Bump
74252         up DUMPED_HEAP_SIZE to 22 MiB.  (Bug#29180)
74254 2017-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>
74256         * lisp/minibuffer.el: Put completions-common-part on all common parts
74258         (completion-pcm--pattern-point-idx): New function.
74259         (completion-pcm--hilit-commonality): Use it.
74260         Put completions-common-part on all the common parts.
74262 2017-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>
74264         * lisp/filecache.el: Use lexical-binding.  Simplify.
74266         Remove redundant :group args, use with-tmep-buffer and let
74267         completion-all-completions do its work.
74269         (file-cache-minibuffer-complete): Skip `completion-hilit-commonality`
74270         since `completion-all-completions' already hilighted its output.
74271         Call our setup function directly rather than via `completion-setup-hook`.
74272         (file-cache-buffer): Remove variable.
74273         (file-cache-buffer-default-regexp): Make it a defvar.
74274         (file-cache--add-from-buffer): Rename from
74275         file-cache-add-from-file-cache-buffer and use current-buffer and
74276         match-string-no-properties.
74277         (file-cache-add-directory-using-find)
74278         (file-cache-add-directory-using-locate): Adjust accordingly and use
74279         with-temp-buffer.
74281 2017-11-07  Chris Feng  <chris.w.feng@gmail.com>
74283         Handle unread-command-events consistently (bug#23980)
74285         * src/keyboard.c (read_char): Events put into `unread-command-events'
74286         with the form (t . EVENT) should always have the t stripped when read
74287         out.
74288         * test/src/keyboard-tests.el: New tests for `unread-command-events'.
74290 2017-11-07  Sam Steingold  <sds@gnu.org>
74292         Mark flymake-diagnostic-functions as save to set locally to nil.
74294         * lisp/progmodes/flymake.el (flymake-diagnostic-functions): Set
74295         `safe-local-variable' property to `null'.
74296         Now one can disable flymake-mode locally in a file by setting
74297         `flymake-diagnostic-functions' to nil, see `(Emacs)File Variables'.
74299 2017-11-06  Juri Linkov  <juri@linkov.net>
74301         Override possible change of next-error-last-buffer in next-error-function
74303         * lisp/simple.el (next-error, next-error-internal):
74304         Setq next-error-last-buffer after next-error-function call.
74305         (Bug#28864)
74307 2017-11-05  Phillip Lord  <phillip.lord@russet.org.uk>
74309         Add support for Windows installer build
74311         * etc/images/slash.bmp:
74312         * admin/nt/dist-build/emacs.nsi: New files
74313         * admin/nt/dist-build/build-zips.sh: Support building installer
74315 2017-11-04  Andreas Politz  <politza@hochschule-trier.de>
74317         Make filecache use extended completion
74319         * lisp/filecache.el (file-cache-minibuffer-complete): Use
74320         completion-try-completion and completion-all-completions.
74322         * etc/NEWS: Add news entry.
74324 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
74326         Allow 'make-string' callers force creation of multibyte strings
74328         * src/alloc.c (Fmake_string): Accept additional argument
74329         MULTIBYTE, and produce a multibyte string if it is non-nil.
74330         (make_event_array):
74331         * src/lread.c (read0):
74332         * src/editfns.c (Ftranslate_region_internal):
74333         * src/coding.c (Fdefine_coding_system_internal):
74334         * src/cmds.c (internal_self_insert):
74335         * src/xdisp.c (build_desired_tool_bar_string)
74336         (store_mode_line_string): All C callers changed.
74338         * doc/lispref/strings.texi (Creating Strings): Document the new
74339         optional argument.
74341         * etc/NEWS: Mention the new optional argument.
74343         * lisp/ruler-mode.el (ruler-mode-ruler): Call make-string with the
74344         3rd argument non-nil.
74346 2017-11-04  Łukasz Jędrzejewski  <jedrzejewskiluk@gmail.com>  (tiny change)
74348         Extract user from host when searching for entries in auth-source-pass
74350         * lisp/auth-source-pass.el (auth-source-pass--user): New function.
74351         (auth-source-pass--find-match): Use it.  When the user is not
74352         explicitly specified and no entry is found, extract the user from
74353         the host and then search again.  (Bug#29045)
74354         * test/lisp/auth-source-pass-tests.el
74355         (auth-source-pass-find-match-matching-extracting-user-from-host):
74356         Add a new test case.
74358 2017-11-03  Sam Steingold  <sds@gnu.org>
74360         Finish the Bug#11728 work: hg & git
74362         * lisp/vc/vc-git.el (vc-git--pushpull): Make `extra-args' a list.
74363         Do not set `compilation-error-regexp-alist', this is done in
74364         `vc-compilation-mode'.
74365         (vc-git-error-regexp-alist): Tweak the regexp.
74366         * lisp/vc/vc-hg.el (vc-hg-error-regexp-alist): Make non-trivial.
74367         (vc-hg--pushpull): Accept `post-processing' argument.
74368         Call them after the `command'.
74369         (vc-hg-pull): Pass the `post-processing' commands that show which
74370         are to be modified by the `update', and then run `update'.
74372 2017-11-03  Sam Steingold  <sds@gnu.org>
74374         Add colors to faces that lack them.
74376         (gnus-group-news-X-empty): Add colors for X=3,4,5.
74378 2017-11-03  Robert Pluim  <rpluim@gmail.com>
74380         New function 'libxml-available-p'
74382         * src/emacs.c (main): Call syms_of_xml unconditionally.
74383         * src/lisp.h: Provide syms_of_xml prototype even when
74384         HAVE_LIBXML2 is not defined.
74385         * src/xml.c (Flibxml_available_p): New function, cloned from
74386         Fgnutls_available_p.
74387         (syms_of_xml): Provide Slibxml_available_p.
74389         * doc/lispref/text.texi (Parsing HTML/XML): Document libxml-available-p.
74390         (GnuTLS Cryptography, Format of GnuTLS Cryptography Inputs)
74391         (Document Object Model): Fix indentation of the first paragraph.
74393         * etc/NEWS (libxml-available-p): Mention libxml-available-p.
74395 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
74397         Merge from origin/emacs-26
74399         c911b27 Change GCALIGNMENT back to an integer literal
74401 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
74403         Simplify by assuming !_MSC_VER.
74405         Emacs has not been portable to MSVC for some time (Bug#29040#57).
74406         * admin/CPP-DEFINES (_MSC_VER): Remove.
74407         * src/lisp.h (ENUM_BF, DEFUN):
74408         * src/regex.c (re_char):
74409         Simplify by assuming _MSC_VER is not defined.
74410         * src/regex.c (const_re_char): Remove.
74411         All uses replaced by re_char.
74413 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
74415         * etc/NEWS.26: Copy from emacs-26/etc/NEWS.
74417 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
74419         Merge from origin/emacs-26
74421         a87ce5c4b4 * src/lisp.h (GCALIGNED): Clarify comment (Bug#29040).
74422         8a31e9993f ; etc/NEWS: Add cpp-message-min-time-interval.  (Bug#28961)
74423         ac0bb9a192 Improve the doc of eshell-cmpl-* custom variables (Bug#25069)
74424         36400c7dc9 Fix mouse-scrollbar offset on GNUstep and old macOS (bug#2...
74425         04bc1410c2 Merge from Gnulib
74426         6b08ad5263 Fix alignment portability problems
74427         a9f8706fa8 Fix completion of colon after CSS property (Bug#29056)
74428         9031dec527 ; * src/alloc.c (sweep_symbols): Fix last change.
74429         fdd3dcfa4e * src/alloc.c (sweep_symbols): Tweak last change
74430         27964af438 In frame parameters documentation mention desktop saving/r...
74431         1bd4e7c243 ; Fix typo in ChangeLog.3
74432         4182a60d31 Don't have frameset save the 'client' parameter (Bug#29067)
74433         9d31a97092 ; Spelling fixes
74434         460a25f212 Handle generic variables in cl-defgeneric Edebug spec
74435         dc0a25c2f9 Give a more sensible message if file-attributes fails (Bug...
74436         8453423c7c Avoid wrong value from file-attributes on Linux kernel bef...
74437         70621e2571 Fix customization of debugger-print-function (Bug#29077)
74439         # Conflicts:
74440         #       etc/NEWS
74442 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
74444         Merge from origin/emacs-26
74446         460fe4a1bc ; Doc fixes
74447         41adf3281e Avoid duplicate calls to xfree for the same pointer
74448         3e7ebbe1bd Don't clobber docstrings of explicitly-defined mode hook v...
74449         9c8fe0248b Avoid fullscreen ediff control frames by default (Bug#29026)
74450         7d32176acc Fix the bug#24034 change (revno 9eb028f) causing infloop (...
74451         ee493663ba Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
74452         ca5eb0d0b7 Fix a typo in the ELisp manual
74453         d10c9479ca Fix doc and doc-strings for minibuffer window related func...
74454         18331d00da Fix "Args out of range" error in c-determine-limit.  Fixes...
74455         edde35e6f8 * lisp/progmodes/perl-mode.el: Fix electric indentation wi...
74456         056587c45f Extend mhtml submode region when in comment
74457         4c4ad80848 Fix mthml submode lighting at end of buffer
74458         557e252aa2 Remember more variables in mhtml-mode
74459         336cd0a11a ; * lisp/select.el (select-enable-primary): Add missing pe...
74460         134099bc90 ; * etc/NEWS (EUDC): Mark as not requiring documentation.
74461         1a340274bf * etc/NEWS (EUDC): Deprecate BBDB 2.x backward compatibility.
74462         4189d0ef7b Fix minibuffer window related docs and strings (Bug#28978)
74463         2ebdde6e9c Add ChkTeX flymake backend for latex-mode
74464         5b59841791 Fix doc typos
74465         82a16c547b Fix some duplicate word typos
74466         266888b1d7 * doc/lispref/commands.texi (Adjusting Point): Fix wording...
74467         00c3c6d88d Avoid segfaults in 64-bit Windows builds
74468         a8e6741066 Fix conversion of pixel coordinates to buffer position
74469         d43b486f6c Fix doc strings in desktop.el
74470         9102fb603e Add Index to ERT manual
74471         68182a4710 Make manuals and NEWS consistent
74472         451823b0e5 Don't allow (minibuffer-window-active-p nil) to return t
74473         cc8f72ca22 Clarify obsolescence message for 'whitespace-tab'
74474         50f711e7fa Fix some duplicate words typos
74475         8bd9524a7c * lisp/button.el (button-activate): Fix doc typo.
74476         0b0d91e60a * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Fix ...
74477         e6b4e5ffdf Fix some doc typos
74478         e8636ac8cc Fix startup display on Cygwin
74479         3926c5ad83 * src/fileio.c (Fset_default_file_modes): Fix typo in doc ...
74480         9715317dfd * lisp/dired.el (dired-find-alternate-file): Doc fix.  (Bu...
74481         9e442a001a Improve documentation of how faces are applied to display ...
74482         1bda71ec3b Improve pixel-scroll-mode
74483         196106d37d Support Certification Authority Authorization in dns-mode.el
74484         ec08d70b4f Improve documentation of set-default-file-modes
74486         # Conflicts:
74487         #       etc/NEWS
74489 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
74491         Merge from origin/emacs-26
74493         7f089aa5f6 Require seq in rmc.el
74494         53aaad1dfc Make an example code introduced in the Gnus info work (bug...
74495         7b29db222f Enable gnus-read-ephemeral-* to run multiple times (bug#29...
74496         015f0bb2d8 Port thread.c to OpenBSD ARM
74497         ad68bbd0da Fix another "wrong side of point" error in CC Mode.
74498         646e56e150 Fix Bug#28959
74499         685fd77959 Fix duplicate .o file on QNX
74500         e562356c3f Fix two js indentation problems
74501         b8cf159bbc Update documentation for windows build
74502         46540a1c7a Fix a "wrong side of point" error in CC Mode.  Fixes bug #...
74503         57ca409111 Fix autoload of flymake from elisp-mode during bootstrap (...
74504         aee0bc8775 Fix non-native fullscreen on NS (bug#28872)
74505         d6c1a9cb8a ; Fix author email address in test/lisp/url/url-tramp-test...
74506         761c630766 Fix Bug#28982
74507         628b653209 Fix windows build errors
74508         e8a06a5f9a Fix compile warning for non-w32 builds
74509         0c536a20fb Display commit in package description, if available (Bug#2...
74510         1d83257a1d Port to QNX
74511         19667f44ef * configure.ac: Tweak libcurses diagnostic.
74512         3fc05cfaec Scripts to automate windows binary distribution
74513         928a106939 Fix Edebug specs for map-let and with-maps-do
74514         46f2ee0d4c * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): ...
74515         b51009d7f0 * admin/authors.el (authors-canonical-author-name): Ignore...
74516         a015db90e3 * test/lisp/progmodes/sql-tests.el (sql-tests-postgres-lis...
74517         529a9c09d3 Further work on Bug#28889
74518         c6deabaf4d Improve Tramp backward compatibility
74519         8093e82e42 Improve backward compatibility of tramp-tests.el
74520         46cdc01daa Fix some ‘window-normalize-’ prefixed functions (Bug#28947)
74521         6360611457 Port to OpenIndiana
74522         a012ec766c Don't fill keywords after Emacs Lisp docstring
74523         b7c4aa951c Refactor c-forward-token-2 with new function c-forward-ove...
74524         3aee7be62e Avoid unnecessary rounding errors in timestamps
74525         2bfa42855b Fix xdg timestamp error on 32-bit Emacs
74526         237e96bc52 Test that advice doesn't trigger bytecomp warnings (Bug#28...
74527         d719ea6ad5 Another fix for unsafe directory error message (Bug#865)
74528         b060e091c3 Handle https url for debbugs mbox (Bug#28831)
74529         9e4265ef91 Ignore string properties when saving eshell history (Bug#2...
74530         0f286ca85a Fix Bug#28889
74532 2017-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
74534         * lisp/gnus/gnus.el: Use lexical-binding and cl-lib
74536         Remove unneeded use of `eval-when' for gnus-splash hack.
74537         (gnus-find-subscribed-addresses): Don't use `add-to-list' with local var.
74538         (gnus-info-buffer): Declare var.
74539         (gnus-interactive): Remove unused arg `params'.
74540         (gnus-symbolic-argument): Remove unused arg `arg`.
74541         (gnus-sloppily-equal-method-parameters): Use \' to match end of string.
74542         (gnus-short-group-name): Remove unused var `name'.
74544 2017-11-02  Sam Steingold  <sds@gnu.org>
74546         make all related faces inherit from each other
74548         * lisp/gnus/gnus.el (gnus-group-A-B): Inherit from `gnus-group-A-B-empty',
74549         where "A" is "mail" and "news" and "B" is "1".."6" and "low".
74550         (gnus-summary-high-A, gnus-summary-low-A): Inherit from
74551         `gnus-summary-normal-A', where "A" is "ticked", "ancient",
74552         "undownloaded", "unread", "read".
74554 2017-11-01  Sam Steingold  <sds@gnu.org>
74556         Fix Bug#11728: show files updated by git
74558         * lisp/vc/vc-git.el (vc-git--pushpull): Accept extra-args and set
74559         `compilation-error-regexp-alist' to `vc-git-error-regexp-alist'.
74560         (vc-git-pull): Pass "--stat" as `extra-args' to `vc-git--pushpull'.
74561         (vc-git-push): Pass "" as `extra-args' to `vc-git--pushpull'.
74563 2017-11-01  Michael Heerdegen  <michael_heerdegen@web.de>
74565         * lisp/emacs-lisp/thunk.el: Assert lexical-binding
74567         This fixes Bug#28990.  Also add a note to the file header that
74568         creating thunks requires lexical-binding.
74569         (thunk-delay): `cl-assert' lexical-binding.
74571 2017-11-01  Sam Steingold  <sds@gnu.org>
74573         User can specify files never subject to flymake.
74575         * lisp/progmodes/flymake-proc.el (flymake-proc-ignored-file-name-regexps):
74576         Add user customization option.
74577         (flymake-proc--get-file-name-mode-and-masks): Check it before
74578         `flymake-proc-allowed-file-name-masks'.
74580 2017-10-31  Sam Steingold  <sds@gnu.org>
74582         The user can now specify the time stamp format.
74584         * lisp/textmodes/remember.el (remember-time-format): New user variable.
74585         (remember-append-to-file): Pass it to `format-time-string' instead of
74586         calling `current-time-string'.
74588 2017-10-31  Sam Steingold  <sds@gnu.org>
74590         Highlight CL `with-' (context) and `do-' (iteration)
74592         * lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2):
74593         Highlight the Common Lisp conventional names as described in
74594         http://www.cliki.net/Naming+conventions.
74595         (lisp-el-font-lock-keywords-2): Remove the already commented out
74596         code for `do-' and `with-' because Emacs Lisp does not have a similar
74597         convention.
74599 2017-10-31  Sam Steingold  <sds@gnu.org>
74601         Highlight uninterned symbols.
74603         * lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2):
74604         Highlight uninterned symbols, often used as string designators to
74605         avoid namespace pollution (https://stackoverflow.com/a/46981940/850781).
74607 2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
74609         * lisp/progmodes/ebnf2ps.el: Use lexical-binding; fix warnings
74611         (ebnf-eps-executing): Declare var.
74612         (ebnf-eps-string): Clarify regexp; don't use string-as-unibyte since we're
74613         manipulating chars rather than bytes.
74614         (ebnf-tree): Move declaration before first use.
74615         (ebnf-generate-eps, ebnf-generate): Don't use dyn-var as argument.
74616         (ebnf-generate-eps): Use cl-letf and unwind-protect.
74617         (ebnf-eps-production-list): Get a ref rather than a symbol.
74618         (ebnf-generate-eps): Adjust call accordingly.
74620 2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
74622         * lisp/net/newst-backend.el: Use lexical scoping and fix warnings
74624         (newsticker-stop, newsticker-get-all-news)
74625         (newsticker--decode-rfc822-date, newsticker--lists-intersect-p)
74626         (newsticker--update-process-ids, newsticker--cache-read)
74627         (newsticker-opml-export, newsticker--run-auto-mark-filter)
74628         (newsticker--do-run-auto-mark-filter): Use dolist.
74629         (newsticker--insert-bytes): New function, to avoid string-to-multibyte.
74630         (newsticker--get-news-by-funcall, newsticker--get-news-by-url-callback)
74631         (newsticker--image-download-by-url-callback): Use it.
74632         (newsticker--parse-rss-0.91, newsticker--parse-rss-0.92):
74633         Remove unused var `pub-date`.
74634         (newsticker--parse-generic-feed): Remove unused var `old-item`.
74635         (newsticker--parse-generic-items): Use dolist and let rather than mapc
74636         and setq.
74637         (newsticker--image-download-by-url-callback): Simplify boolean expression.
74639 2017-10-30  viniciusjl  <viniciusjl.gnu@gmail.com>
74641         Remove last entry.
74643 2017-10-29  viniciusjl  <viniciusjl.gnu@gmail.com>
74645         Email replacement.
74647 2017-10-28  Paul Pogonyshev  <pogonyshev@gmail.com>
74649         Add 'ert-quiet' variable
74651         * lisp/emacs-lisp/ert.el (ert-quiet): New variable.
74652         (ert-run-tests-batch): When 'ert-quiet' is non-nil, don't
74653         print non-important information.  (Bug#29025)
74655         * doc/misc/ert.texi (Running Tests in Batch Mode): Document it.
74657         * etc/NEWS: Mention the new variable.
74659 2017-10-27  Ulf Jasper  <ulf.jasper@web.de>
74661         Fix documentation of `newsticker-new-item-functions' (bug#29023).
74663         * lisp/net/newst-backend.el (newsticker-new-item-functions),
74664         (newsticker-new-item-functions-sample),
74665         (newsticker-download-enclosures): Fix docstring, rename
74666         variable feed to feedname (bug#29023).
74668         * doc/misc/newsticker.texi (Automatic Processing)
74669         (Automatic Processing): Fix documentation of
74670         `newsticker-new-item-functions' (bug#29023).
74672 2017-10-26  Stefan Monnier  <monnier@iro.umontreal.ca>
74674         * lisp/vc/ediff-wind.el: Don't pop spurious frame in corner case
74676         (ediff-setup-windows-multiframe-compare): Clarify control-flow.
74677         Postpone the initial call to ediff-skip-unsuitable-frames until we're
74678         sure it's needed to avoid creating a spurious new frame.
74679         (ediff-setup-windows, ediff-setup-windows-plain)
74680         (ediff-setup-windows-plain-merge, ediff-setup-control-frame)
74681         (ediff-setup-windows-plain-compare, ediff-setup-windows-multiframe)
74682         (ediff-setup-windows-multiframe-merge): Use with-current-buffer.
74684 2017-10-26  Lars Ingebrigtsen  <larsi@gnus.org>
74686         Fix up svg text encoding
74688         * lisp/svg.el (svg--encode-text): The SVG driver doesn't like
74689         it if we use &apos; for apostrophe, so use our own encoding
74690         function instead of relying on the xml one.
74692 2017-10-26  Anders Lindgren  <andlind@gmail.com>
74694         New package, `faceup'
74696         `faceup' is a framework for regression testing of font-lock
74697         keywords in ert.  It is based on a human-readable markup
74698         language.  (Bug#16063 and bug#28311).
74700         * lisp/emacs-lisp/faceup.el:
74701         * test/lisp/emacs-lisp/faceup-tests/faceup-test-basics.el:
74702         * test/lisp/emacs-lisp/faceup-tests/faceup-test-files.el:
74703         * test/lisp/emacs-lisp/faceup-resources/faceup-test-mode.el:
74704         * test/lisp/emacs-lisp/faceup-resources/faceup-test-this-file-directory.el:
74705         * test/lisp/emacs-lisp/faceup-resources/files/test1.txt:
74706         * test/lisp/emacs-lisp/faceup-resources/files/test1.txt.faceup:
74707         New files.
74709 2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
74711         Fix misleading error during autoload (bug#28994)
74713         * src/eval.c (Fautoload_do_load): Don't silence `load` errors when
74714         autoloading a macro.  If silencing load errors, also silence the
74715         subsequent check.
74717 2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
74719         * lisp/play/gamegrid.el: Use lexical-binding to silence warnings
74721         (gamegrid-init-buffer): Silence another warning.
74723 2017-10-24  Gemini Lasswell  <gazally@runbox.com>
74725         Make Snake, Tetris and Pong adjust to display DPI
74727         Replace gamegrid's constant 16x16 glyph with a generated one based
74728         on display dimensions (bug#24658).
74729         * lisp/play/gamegrid.el (gamegrid-glyph-height-mm): New variable.
74730         (gamegrid-glyph-height): Deleted.
74731         (gamegrid-xpm, gamegrid-xbm): Constants replaced with functions.
74732         (gamegrid-colorize-glyph): Use new functions instead of constants.
74733         (gamegrid-calculate-glyph-size, gamegrid-insert-xbm-bits): New
74734         functions.
74736 2017-10-23  Glenn Morris  <rgm@gnu.org>
74738         * configure.ac (AC_INIT): Use https for package url.
74740         * lisp/format.el (format-alist): Use internal rot13.
74742 2017-10-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
74744         Fix to 2fddfb7ce7
74746         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
74747           Fix bogus paren wrapping.
74749 2017-10-22  Gemini Lasswell  <gazally@runbox.com>
74751         Change Edebug's behavior-changing hooks to variables
74753         * lisp/emacs-lisp/edebug.el (edebug-after-instrumentation-functions)
74754         (edebug-new-definition-functions): Deleted.
74755         (edebug-after-instrumentation-function)
74756         (edebug-new-definition-function): New variables.
74757         (edebug-behavior-alist): Update docstring.
74758         (edebug-read-and-maybe-wrap-form1, edebug-make-form-wrapper): Use new
74759         variables.
74761         * lisp/emacs-lisp/testcover.el (testcover-start)
74762         (testcover-this-defun): Use `edebug-after-instrumentation-function' and
74763         `edebug-new-definition-function'.
74764         (testcover-after-instrumentation): Return passed form.
74765         (testcover-init-definition): Use argument instead of `edebug-def-name'.
74767         * doc/lispref/edebug.texi (Edebug Options): Replace descriptions of
74768         `edebug-after-instrumentation-functions' and `edebug-new-definition-functions'
74769         with `edebug-after-instrumentation-function' and
74770         `edebug-new-definition-function'.
74772 2017-10-22  Masatake YAMATO  <yamato@redhat.com>
74774         Put cpp config file to ~/.emacs.d/cpp.el if possible (Bug#28685)
74776         If `cpp-config-file` starts with '.', remove the '.'
74777         when putting the file to ~/.emacs.d.
74778         Suggested by Noam Postavsky <npostavs@users.sourceforge.net>
74780         * lisp/progmodes/cpp.el (cpp-locate-user-emacs-file): New
74781         function wrapping `locate-user-emacs-file`.
74782         (cpp-edit-load, cpp-edit-save): Use it.
74784 2017-10-22  Masatake YAMATO  <yamato@redhat.com>
74786         Fix reading and writing cpp-config-file under home directory (Bug#28685)
74788         * lisp/progmodes/cpp.el (cpp-edit-load): Load ~/.cpp.el when
74789         it is readable.
74790         (cpp-edit-save): Write to ~/.cpp.el when it is wriable.
74792 2017-10-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
74794         Handle object string name in eieio-persistent-convert-list-object
74796         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
74797           Starting to phase out the printing of object names in
74798           `object-write', handle either case.
74800 2017-10-21  Glenn Morris  <rgm@gnu.org>
74802         Merge from origin/emacs-26
74804         888e51f220 (origin/emacs-26) Update describe-function for recent Fdoc...
74805         75bb482763 Make flymake's mouse-wheel interaction portable (Bug#28732)
74806         035d7ac7e4 Prevent eldoc from changing the mode line
74807         c9d71b31bf Fix doc strings in simple.el
74808         0d8e4f45d6 Avoid creating inconsistent buffer states in term-char-mode
74809         79d57f4b7a New input method 'usbek-cyrillic'
74810         4587d8e0ef Document 'minibuffer-with-setup-hook'
74812         # Conflicts:
74813         #       etc/NEWS
74815 2017-10-20  Paul Eggert  <eggert@cs.ucla.edu>
74817         * etc/NEWS.26: Sync from emacs-26 etc/NEWS.
74819 2017-10-20  Paul Eggert  <eggert@cs.ucla.edu>
74821         Merge from origin/emacs-26
74823         868eb74f91 Simplify make-progress-reporter vs float-time
74824         83db9a1bba Fix two more minor Gnus typos
74825         e655946ce0 Fix two minor Gnus typos
74826         6a00914d6d Tweak Fdocumentation's error for an undefined function
74827         7c63655e39 Tweak format of list of old files in NEWS header
74829         # Conflicts:
74830         #       etc/NEWS
74832 2017-10-20  Paul Eggert  <eggert@cs.ucla.edu>
74834         Merge from origin/emacs-26
74836         11bd8aa24b Fix flymake's loading of subr-x
74837         b500e06f4d Fix Bug#28896
74838         d815de017b Skip a Flymake test for old gcc versions
74839         fd3d8610b2 Make :align-to account for display-line-numbers
74840         831eafc8ae Augment Flymake API for third-party extensions
74841         ddd547fada Improve treatment of Fortran's "class default"
74842         234b1e3864 Flymake backends must check proc obsoleteness in source bu...
74843         3ea6a4d4ba Skip an rsync test in tramp-tests.el
74844         25f83fa7c5 ; Indentation fixes
74845         4d578d432d On Windows default a frame's border width to zero (Bug#28873)
74846         6f1dea5c74 Spelling fixes
74847         b8433b0954 Use pop-to-buffer-same-window instead of switch-to-buffer
74848         2f7163fb72 Fix the MSDOS build.
74849         2551d28fe8 Fix line number display after 'widen'
74850         dc8812829b Remove resizable attribute on macOS undecorated frames (bu...
74851         b970a4a52a Fix handling of `border-width' in `frameset--restore-frame...
74852         445e92658f Mention how to send CC to > 1 address in a bug report
74853         8ca6fa585a Improve format-time-string doc
74854         2e1b3522b8 Improve documentation of 'line-number-display-width'
74855         5b6e59cfdb Implement vc-default-dir-extra-headers for vc-rcs
74856         22adeca42a In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
74857         2c3e6f1ddc Dont update primary selection with winner-undo
74858         b38724ab67 Work around ImageMagick bug 825
74859         20cc68e871 Document rectangle-preview option more (Bug#27974)
74860         a0b7b301dd Do not reject https://gnu.org in commit messages
74861         fb4200a875 Fix Edebug spec for cl-defun (bug#24255)
74862         db68cefe72 Fix errors in kmacro.el post-command-hook
74863         c63b344c3d Fix range-error in image-dired.el
74864         081d2187c4 Fix 'line-number-display-width' in hscrolled windows
74865         16e85456e7 Fix error in tramp-smb-handle-insert-directory
74866         613db8d35c Don't reject PBM header whitespace unnecessarily
74867         3205b12a78 Fix regression in display of PPM images
74868         1ca9ae7069 Require subr-x when compiling nnimap.el
74869         de60992053 Fix ert-test finding by symbol (Bug#28849)
74870         51615a8082 Don't remember old debugger window (Bug#17882)
74871         5980de3727 Disable python native completion on w32 (Bug#28580)
74872         616b4c5956 Let select-frame-by-name choose any frame when called from...
74873         8eb3c01dbd * lisp/dired-aux.el (dired-create-directory): Doc fix.
74874         325dfdae13 Avoid compilation warnings in optimized builds
74875         f79382819c ; * src/composite.c (Fclear_composition_cache): Fix last c...
74876         f95cd5cd70 Improve customization of arabic-shaper-ZWNJ-handling.
74877         a7f154688d Improve customization type of 'mouse-drag-and-drop-region'
74878         864734d112 ; Prefer https: to http: in GNU URLs
74879         3c78960a47 Encourage https: in commit messages
74880         def9715282 ; Cleanup of etc/NEWS
74881         4e59ecc646 Fix wording in Elisp manual's child frames section (Bug#28...
74882         eda9f5018c Another fix for C mode fontification of w32 source files
74883         05aadd8990 Fix fontification of ALIGN_STACK functions
74884         aa0c38f358 Make sure thread stack is properly aligned on MS-Windows
74885         d7038020aa Do not under-align pseudovectors
74886         ff33053012 Fix indentation bug in multi-line CSS selectors
74887         8968be822e ; * etc/NEWS: Grammar and spelling fixes
74888         716b84034d gnutls_mac_get_nonce_size has been added in gnutls 3.3
74889         55e313f7be ; * CONTRIBUTE: More suggestions for using US English.
74890         622c675648 * CONTRIBUTE: Suggest American English.
74892         # Conflicts:
74893         #       etc/NEWS
74894         #       msdos/sed2v2.inp
74896 2017-10-20  Tino Calancha  <tino.calancha@gmail.com>
74898         Allow to copy/rename file into a non-existent dir
74900         * lisp/dired-aux.el (dired-create-destination-dirs): New option.
74901         (dired-maybe-create-dirs): New defun.
74902         (dired-copy-file-recursive, dired-rename-file): Use it (Bug#28834).
74903         * test/lisp/dired-aux-tests.el (dired-test-bug28834): Add test.
74904         * doc/emacs/dired.texi (Operating on Files): Update manual.
74905         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 27.1)
74906         Announce this change.
74908 2017-10-20  Paul Eggert  <eggert@cs.ucla.edu>
74910         Prefer nil to (current-time) when either works
74912         * doc/misc/gnus.texi (Category Syntax):
74913         * lisp/allout-widgets.el (allout-widgets-post-command-business):
74914         * lisp/cedet/ede/detect.el (ede-detect-qtest):
74915         * lisp/cedet/pulse.el (pulse-momentary-highlight-overlay)
74916         (pulse-tick):
74917         * lisp/cedet/semantic.el (bovinate):
74918         * lisp/cedet/semantic/analyze.el:
74919         (semantic-analyze-current-symbol-default, semantic-adebug-analyze):
74920         * lisp/cedet/semantic/analyze/refs.el (semantic-analyze-current-tag):
74921         * lisp/cedet/semantic/lex.el (semantic-lex-test):
74922         * lisp/cedet/semantic/symref/filter.el:
74923         (semantic-symref-test-count-hits-in-tag):
74924         * lisp/cedet/srecode/dictionary.el (srecode-adebug-dictionary):
74925         * lisp/cedet/srecode/map.el (srecode-adebug-maps):
74926         * lisp/desktop.el (desktop-create-buffer):
74927         * lisp/emacs-lisp/benchmark.el (benchmark-elapse):
74928         * lisp/emacs-lisp/elp.el (elp--make-wrapper):
74929         * lisp/epa.el (epa--show-key):
74930         * lisp/erc/erc.el (erc-lurker-cleanup, erc-lurker-p):
74931         * lisp/gnus/gnus-agent.el (gnus-agent-fetch-articles)
74932         (gnus-agent-expire-group-1, gnus-agent-store-article):
74933         * lisp/gnus/gnus-art.el (article-lapsed-string):
74934         * lisp/gnus/gnus-cloud.el (gnus-cloud-update-newsrc-data)
74935         (gnus-cloud-collect-full-newsrc):
74936         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
74937         * lisp/gnus/gnus-html.el (gnus-html-cache-expired):
74938         * lisp/gnus/gnus-score.el (gnus-score-load-file)
74939         (gnus-decay-scores):
74940         * lisp/gnus/nndiary.el (nndiary-expired-article-p):
74941         * lisp/gnus/nnmail.el (nnmail-expired-article-p):
74942         * lisp/gnus/nnmaildir.el (nnmaildir--scan):
74943         * lisp/gnus/score-mode.el (gnus-score-edit-insert-date):
74944         * lisp/image/gravatar.el (gravatar-cache-expired):
74945         * lisp/net/newst-backend.el (newsticker--image-get)
74946         (newsticker--cache-mark-expired):
74947         * lisp/nxml/rng-maint.el (rng-time-function):
74948         * lisp/org/org-agenda.el (org-agenda-to-appt):
74949         * lisp/org/org-clock.el (org-clock-resolve-clock)
74950         (org-clock-resolve, org-resolve-clocks-if-idle):
74951         * lisp/org/org-colview.el (org-columns-edit-value, org-columns)
74952         (org-columns-compute-all, org-agenda-columns):
74953         * lisp/org/org-element.el (org-element--cache-interrupt-p)
74954         (org-element--cache-sync):
74955         * lisp/org/org-habit.el (org-habit-get-faces)
74956         (org-habit-insert-consistency-graphs):
74957         * lisp/org/org-indent.el (org-indent-add-properties):
74958         * lisp/org/org-timer.el (org-timer-start)
74959         (org-timer-pause-or-continue, org-timer-seconds)
74960         (org-timer-show-remaining-time, org-timer-set-timer):
74961         * lisp/org/org.el (org-babel-load-file, org-current-time)
74962         (org-today, org-auto-repeat-maybe, org-read-date-analyze)
74963         (org-small-year-to-year, org-goto-calendar):
74964         * lisp/org/ox.el (org-export-insert-default-template):
74965         * lisp/time.el (emacs-uptime):
74966         * lisp/type-break.el (type-break-mode, type-break)
74967         (type-break-time-warning-schedule, type-break-check):
74968         * lisp/url/url-cache.el (url-cache-expired):
74969         * lisp/url/url.el (url-retrieve-synchronously):
74970         * test/lisp/char-fold-tests.el (char-fold--speed-test):
74971         * test/manual/cedet/semantic-ia-utest.el:
74972         (semantic-symref-test-count-hits-in-tag):
74973         * test/manual/cedet/semantic-tests.el (semantic-idle-pnf-test)
74974         (semantic-lex-test-full-depth):
74975         Use nil instead of (current-time) where either will do, as nil is
74976         a bit more efficient and should have less timing error.
74978 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
74980         * lisp/emacs-lisp/debug.el: Use cl-print more systematically
74982         (debugger-return-value, debugger-eval-expression, debugger--insert-locals):
74983         Use debugger--print.
74985 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
74987         * lisp/emacs-lisp/eieio.el (eieio-object-name-string): De-obsolete
74989         This is apparently the advertised method to use for `eieio-named' objects.
74990         Also use sxhash-eq to get a more precise default "object name".
74991         (eieio-object-set-name-string): Clarify obsolescence message.
74993         * lisp/emacs-lisp/eieio-base.el (eieio-object-name-string): Delegate to
74994         the default method when applicable.
74996 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
74998         * lisp/help-fns.el (describe-function-1): Fix help-fns-test-dangling-alias.
75000 2017-10-20  Wilfred Hughes  <me@wilfred.me.uk>
75002         css-mode: Don't confuse variable names with class names
75004         This fixes highlighting for class names that contain --, for example:
75006         .foo--bar {
75007             display: none;
75008         }
75010         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Make regular
75011           expression stricter.
75013 2017-10-20  Tino Calancha  <tino.calancha@gmail.com>
75015         ibuffer: new filter to list buffers running a process
75017         * lisp/ibuf-ext.el (ibuffer-filter-by-process): Add new filter (Bug#28825).
75018         * lisp/ibuffer.el (ibuffer-mode-map): Bound it to '/E'.
75020 2017-10-20  Tino Calancha  <tino.calancha@gmail.com>
75022         Make ibuffer filters idempotent
75024         * lisp/ibuf-ext.el (ibuffer-push-filter): Check if the
75025         filter is already in effect (Bug#28826).
75026         * lisp/ibuf-macs.el (define-ibuffer-filter):
75027         Report to user if the filter was already enabled.
75029 2017-10-18  Lars Ingebrigtsen  <larsi@gnus.org>
75031         * lisp/svg.el (svg--encode-text): Fix off-by-one error in previous patch.
75033 2017-10-18  Lars Ingebrigtsen  <larsi@gnus.org>
75035         (svg--encode-text): Make strings even more valid
75037         * lisp/svg.el (svg--encode-text): Quote &<>, too.
75039 2017-10-18  Lars Ingebrigtsen  <larsi@gnus.org>
75041         Encode non-ASCII SVG texts
75043         * lisp/svg.el (svg--encode-text): Encode non-ASCII texts.
75045 2017-10-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
75047         Documentation and error-message edits re gnus-server-alist
75049         * lisp/gnus/gnus.el (gnus-server-alist): Expand docstring.
75050         * lisp/gnus/gnus-srvr.el (gnus-server-kill-server,
75051           gnus-server-edit-server): Return error messages that tell the user
75052           what the actual problem is.
75053         * doc/misc/gnus.texi (Server Commands): Note that not all servers are
75054           editable via the server buffer.
75056 2017-10-13  Stefan Monnier  <monnier@iro.umontreal.ca>
75058         * lisp/emacs-lisp/debug.el: Don't bail on errors inside cl-print
75060         (debugger--print): New function.
75061         (debugger-insert-backtrace, debugger-setup-buffer): Use it.
75063 2017-10-12  Thien-Thi Nguyen  <ttn@gnu.org>
75065         [admin] Add some notes on US-v-UK spelling; nfc.
75067 2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>
75069         Merge from origin/emacs-26
75071         59b5dc60d6 Fix this-command-keys for "M-x foo" commands
75072         2f4bd2fbda Let rename-file rename dirs across filesystems
75073         413978727c Simplify Flymake user documentation
75074         6ff18c3995 * etc/NEWS: Mention the new version of Org.
75075         b78332c3c6 Don't use (format "%s" ...) for string copying (Bug#28774)
75076         078fb7f6df Make frame-list-z-order on NS match Windows behaviour (bug...
75078         # Conflicts:
75079         #       etc/NEWS
75081 2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>
75083         Merge from origin/emacs-26
75085         05d0c0f802 ; * ChangeLog.3: ChangeLog fixes.
75086         fbabae6b24 * ChangeLog.3: Update.
75087         eab051991e Fix docstring style for 'functionp'
75088         e8a7c41b4e Format shell commands in tramp.texi
75089         0526aac4eb Unbreak the button in the Flymake diagnostics buffer again
75090         c89f001de1 Add mode map to Flymake diagnostic button
75091         f9cd8ee681 Tweak the Flymake diagnostics buffer again
75092         0e83f5f279 Simplify Flymake diagnostics buffer UX
75093         cf4a15b9b6 First stab at a Flymake diagnostics buffer
75094         e4a1556392 * etc/NEWS (Flymake): Rewrite entry.
75095         00adeb43e9 Improve the Flymake manual
75096         44c6401733 ; * etc/NEWS: Clarify the description of "---" and "+++".
75097         042b3cfbd2 Fix two Flymake bugs
75098         3dfa2ca4dc Don't log "emergencies" in the Flymake legacy backend
75099         1c2e188440 Add full documentation on new Flymake API
75100         0f7f677f82 Fix some Flymake docstrings and messages
75101         21e7075781 Make three new Flymake commands for debugging common problems
75102         c9be9a3678 ; INSTALL.REPO: Add -d to "thorough cleaning" suggestion.
75103         5d51403ceb ; Typo fixes, mostly repeated words
75104         0d004ed01a ; Spelling fixes
75105         0485aa76c9 ; * src/lread.c (syms_of_lread) <module-file-suffix>: Fix ...
75106         ba7fb37d6a * admin/authors.el (authors-renamed-files-alist): addition.
75107         14dca4a79a ; ChangeLog.3 fixes
75108         f352d0257c Fix PWD check on DOS_NT
75109         934f08f3de Fix unlikely overflows with wd length
75110         6c2b1e89ef * lisp/gnus/message.el: Improve last commit
75111         7ed7360855 Fix problems when editing raw undecoded message (Bug#28671)
75112         aca5f0072b Avoid encoding errors in message.el
75113         0c36663db5 Improve doc string and prompt of 'grep-read-files'
75114         2da83c9d36 Avoid assertion violations when line numbers are displayed
75115         5b81f65ad0 ; * lisp/emacs-lisp/rmc.el: Minor fix for copyright and li...
75116         11b37b4a9f Be lazy when starting Flymake checks
75117         36ed9a9ede Fix last change in frameset.el
75118         62e5c119af Describe how window dividers can replicate vertical border...
75119         e2150d994a Add line-number faces to the display-line-numbers group
75120         89b0023044 Increase xterm click count only within double-click-fuzz
75121         745aea2296 Change pause in fullscreen toggling for NS port (bug#28496)
75122         1cd334cd47 Handle PARENTS properly in tramp-*-handle-make-directory
75123         f1c73de47d ; Merge from Gnulib (comment changes only)
75124         7c2c117c91 Improve test for unreachable dirs
75125         2202952b83 * src/xsmfns.c (x_session_initialize): Fix memory leak.
75126         a9b72976de Merge branch 'emacs-26' of git.sv.gnu.org:/srv/git/emacs i...
75127         64baaff8c5 New option for handling ZWNJ in Arabic text rendering
75128         c194fb61c6 Make python prettify symbols into a defvar (Bug#28713)
75129         6dfc778d54 Fix fullscreen crash on macOS (bug#28496)
75130         3db0dc2168 Fix crash when closing fullscreen frame on macOS (bug#28661)
75131         bc80da5bd3 Support gio tool in Tramp
75132         349e0eb5ff Fix flymake-goto-next-error when message has %-constructs
75133         0fa353b504 * src/gnutls.c (syms_of_gnutls): Remove duplicated call to...
75134         dc6ae15a8d Move the entry about 'format' into Incompatible Lisp Changes
75135         75174a632d Fix glitches in displaying TTY menus
75136         238fbcb20e Create new Edebug spec for docstrings and use it in closures
75137         2d58d51329 Avoid byte-compilation warnings in message.el
75139         # Conflicts:
75140         #       etc/NEWS
75142 2017-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>
75144         * lisp/gnus/message.el (message-check-recipients): Bogus adr is a user error.
75146         * test/lisp/help-fns-tests.el (help-fns-test-dangling-alias): New test.
75148         * lisp/ansi-color.el (ansi-color-make-extent): Let overlays evaporate.
75150 2017-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
75152         * lisp/url/url-cookie.el: Fix warning and miscompilation
75154         (url-cookie-parse-file-netscape): Remove unused var `match', fix
75155         undefined `incf' misuse.
75157 2017-10-10  Aurelien Aptel  <aaptel@suse.com>
75159         Add parser for Netscape/Mozilla cookie file format
75161         * lisp/url/url-cookie.el (url-cookie-parse-file-netscape): New function.
75163 2017-10-09  Philipp Stephani  <phst@google.com>
75165         Revert "Raise an error when detecting old-style backquotes."
75167         This reverts commit 9613690f6e51e2f2aa2bcbbede3e209d08cfaaad.
75169 2017-10-09  Mark Oteiza  <mvoteiza@udel.edu>
75171         Disable XTerm titles (Bug#28591)
75173         * etc/NEWS: Mention it.
75174         * lisp/term/xterm.el (xterm-set-window-title): Disable it.
75176 2017-10-08  Gemini Lasswell  <gazally@runbox.com>
75178         Stop Testcover from producing spurious 1value errors
75180         Fix bug#25351 by copying results of form evaluations for later
75181         comparison.
75182         * lisp/emacs-lisp/testcover.el (testcover-after): Copy the result
75183         of a form's first evaluation and compare subsequent evaluations to
75184         the copy. Improve the error message used when a form's value
75185         changes.
75186         (testcover--copy-object, testcover--copy-object1): New functions.
75187         * test/lisp/emacs-lisp/testcover-resources/testcases.el
75188         (by-value-vs-by-reference-bug-25351): Remove expected failure tag.
75189         (circular-lists-bug-24402): Add another circular list case.
75191 2017-10-08  Gemini Lasswell  <gazally@runbox.com>
75193         Rewrite Testcover's internals, fixing several bugs
75195         * lisp/emacs-lisp/testcover.el: Rewrite the internals of Testcover
75196         to analyze instrumented code instead of reinstrumenting it.  Use new
75197         hooks in Edebug to collect code coverage information at runtime
75198         using Edebug's instrumentation.
75199         Includes fixes for: (bug#11307) (bug#24509) (bug#24688) (bug#24743)
75200         (bug#25316) (bug#25326).
75201         (testcover-compose-functions): Remove mapcar.
75202         (testcover-start, testcover-this-defun): Analyze code instead of
75203         reinstrumenting it. Set edebug-behavior for each definition.
75204         (testcover--read, testcover-1value, testcover-reinstrument)
75205         (testcover-reinstrument-list, testcover-reinstrument-compose):
75206         Deleted.
75207         (testcover-after-instrumentation, testcover-init-definition)
75208         (testcover-before): New functions.
75209         (testcover-enter): Change call signature to match edebug-enter.
75210         (testcover-after, testcover-mark): Add handling of 'maybe and
75211         'noreturn.
75212         (testcover-analyze-coverage, testcover-analyze-coverage-progn)
75213         (testcover-analyze-coverage-edebug-after)
75214         (testcover-analyze-coverage-wrapped-form)
75215         (testcover-analyze-coverage-wrapped-application)
75216         (testcover-analyze-coverage-compose)
75217         (testcover-analyze-coverage-backquote)
75218         (testcover-analyze-coverage-backquote-form)
75219         (testcover-coverage-combine): New functions to analyze instrumented
75220         code.
75222         * lisp/emacs-lisp/gv.el: Modify edebug-after's gv-expander to
75223         instrument in the setter as well as the getter.
75225         * test/lisp/emacs-lisp/testcover-tests.el
75226         (testcover-tests-run-test-case): Use `edebug-default-enter'
75227         instead of `edebug-enter' to detect Edebug invocation
75228         during tests.
75230         * test/lisp/emacs-lisp/testcover-resources/testcases.el
75231         (constants-bug-25316)
75232         (customize-defcustom-bug-25326)
75233         (1-value-symbol-bug-25316)
75234         (quotes-within-backquotes-bug-25316)
75235         (backquote-1value-bug-24509)
75236         (pcase-bug-24688)
75237         (defun-in-backquote-bug-11307-and-24743)
75238         (closure-1value-bug)
75239         (backquoted-vector-bug-25316)
75240         (vector-in-macro-spec-bug-25316)
75241         (mapcar-is-not-compose): Remove expected failure tags.
75242         (function-with-edebug-spec-bug-25316): Remove expected failure tag
75243         and modify expected result.
75244         (quoted-backquote): New test.
75246         * lisp/textmodes/rst.el: Remove workarounds for bugs in Testcover.
75247         (rst-testcover-defcustom): Deleted.
75249         * lisp/subr.el (1value): Remove incorrect description of
75250         testcover-1value from docstring, replace with description of
75251         Testcover's treatment of 1value.
75253 2017-10-08  Gemini Lasswell  <gazally@runbox.com>
75255         Allow Edebug's instrumentation to be used for other purposes
75257         * lisp/emacs-lisp/edebug.el:
75258         (edebug-after-instrumentation-functions)
75259         (edebug-new-definition-functions): New hook variables.
75260         (edebug-behavior-alist): New variable.
75261         (edebug-read-and-maybe-wrap-form): Run a hook after a form is
75262         wrapped.
75263         (edebug-make-form-wrapper): Run a hook after a definition is
75264         wrapped. Remove message for each definition.
75265         (edebug-announce-definition): New function.
75266         (edebug-enter): Rewritten to change behavior of Edebug based
75267         on symbol property `edebug-behavior' and `edebug-behavior-alist'.
75268         (edebug-default-enter): New function which does what `edebug-enter'
75269         used to do.
75270         (edebug-run-slow, edebug-run-fast): Modify edebug-behavior-alist.
75271         (edebug-before, edebug-after): Function definitions are now set by
75272         `edebug-enter'.
75274 2017-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
75276         * lisp/emacs-lisp/checkdoc.el: cl-defstruct + minor simplifications
75278         (checkdoc-make-overlay, checkdoc-overlay-put, checkdoc-delete-overlay)
75279         (checkdoc-overlay-start, checkdoc-overlay-end, checkdoc-char=)
75280         (checkdoc-mode-line-update): Remove old compatibility aliases.
75281         (checkdoc, checkdoc-interactive-loop):
75282         Consolidate common code in if branches.
75283         (checkdoc-error): New struct type.
75284         (checkdoc-error-text, checkdoc-error-start, checkdoc-error-end)
75285         (checkdoc-error-unfixable): Now defined by cl-defstruct.
75287 2017-10-08  Philipp Stephani  <phst@google.com>
75289         Raise an error when detecting old-style backquotes.
75291         They have been deprecated for a decade now.
75293         * src/lread.c (Fload): Don't use record_unwind_protect to warn about
75294         old-style backquotes any more.  They now generate a hard error.
75295         (read1): Signal an error when detecting old-style backquotes.  Remove
75296         unused label.
75297         (syms_of_lread): Remove unused internal variable
75298         'lread--old-style-backquotes'.
75299         (load_error_old_style_backquotes): Rename from
75300         'load_warn_oldstyle_backquotes'.  Signal an error.
75302         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Remove check
75303         from byte compiler.  It isn't triggered any more.
75305         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Adapt
75306         unit test.
75308         * test/lisp/emacs-lisp/bytecomp-tests.el
75309         (bytecomp-tests--old-style-backquotes)
75310         (bytecomp-tests-function-put): Adapt unit tests.
75312         * etc/NEWS: Document change.
75314 2017-10-08  Philipp Stephani  <phst@google.com>
75316         Say that side effect-free functions don't change the matchd data
75318         * lisp/help-fns.el (describe-function-1): Add note if a function is
75319         known not to change the match data.
75321 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
75323         New defcustom 'tooltip-resize-echo-area'
75325         * lisp/tooltip.el (tooltip-resize-echo-area): New defcustom.
75326         (tooltip-show-help-non-mode): Use it to avoid truncating the
75327         tooltip text in the echo area.  (Bug#28724)
75329         * etc/NEWS: Mention 'tooltip-resize-echo-area'.
75331 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
75333         Merge from origin/emacs-26
75335         9226cf3254 Fix bug in recent styled_format change
75336         fa92f0c447 Cleanup emacs-lisp-mode's use of Flymake
75337         0d0265bf50 Fix @include directive in Flymake doc
75338         295457ae52 Move read-multiple-choice to its own library
75339         560dd9b573 * src/process.c (syms_of_process): Remove duplicated call ...
75341 2017-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
75343         Merge emacs-26
75345 2017-10-03  Michael Albinus  <michael.albinus@gmx.de>
75347         Add file name handler support for file-system-info
75349         * doc/lispref/files.texi (Magic File Names): Add file-system-info.
75351         * etc/NEWS: Mention get-free-disk-space working on remote systems.
75353         * lisp/files.el (get-free-disk-space): Do not block on remote systems.
75355         * src/w32fns.c (Ffile_system_info):
75356         * src/fileio.c (Ffile_system_info): Call file name handler if exists.
75357         (syms_of_fileio): Add Qfile_system_info.
75359 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
75361         Merge from Gnulib
75363         This incorporates:
75364         2017-10-02 fsusage: fix typo in previous change
75365         * lib/fsusage.c: Copy from Gnulib.
75367 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
75369         Port file-system-info to non-Microsoft
75371         * admin/merge-gnulib (GNULIB_MODULES): Add fsusage.
75372         * doc/emacs/files.texi (Directories): Remove documentation of
75373         now-obsolete directory-free-space-program and
75374         directory-free-space-args.
75375         * etc/NEWS: Mention change.
75376         * etc/PROBLEMS: Slow df is no longer a problem.
75377         * lib/fsusage.c, lib/fsusage.h, m4/fsusage.m4:
75378         New files, copied from Gnulib.
75379         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
75380         * lisp/dired.el (dired-free-space-program)
75381         (dired-free-space-args): These aliases are now obsolete.
75382         * lisp/files.el (directory-free-space-program)
75383         (directory-free-space-args): Now obsolete.
75384         (get-free-disk-space): Just call file-system-info instead
75385         of the now-obsolete directory-free-space-program.
75386         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_fsusage): New macro.
75387         * src/fileio.c: Include fsusage.h.
75388         (blocks_to_bytes, Ffile_system_info) [!DOS_NT]: New functions.
75389         (syms_of_fileio) [!DOS_NT]: Defsubr file-system-info.
75391 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
75393         Merge from origin/emacs-26
75395         5172fa02cc Prefer HTTPS to HTTP for gnu.org
75396         8cdd8b920a Merge from Gnulib
75397         60b7668b89 Keep eww buffer current when looking up CSS on MDN
75398         bd49b6f1b3 Workaround for faulty localtime() under macOS 10.6
75399         913808e224 Doc amendment for syntax-ppss.
75400         98dc91fda8 Remove incorrect NEWS entry about 'find-library'
75401         539d8626cd Remove inadvertent changes to syntax.texi in last commit.
75402         8c18dcbc78 Amend documentation for text-quoting-style becoming a user...
75403         5f76ac150a Make the value nil in text-quoting-style mean what it does...
75404         d5e4e004fa Make text-quoting-style customizable.  Introduce t and new...
75405         1ba3471b9b eshell.texi improvements
75406         7abb5c3960 Fix ns-win.el on GNUstep
75407         07ea5ef99a Fix reference style in org.texi
75408         b03b4f6d79 Improve handling of iconification of child frames (Bug#28611)
75409         ba9139c501 Revert "Don't lose arguments to eshell aliases (Bug#27954)"
75410         43fac3beae Make "unsafe directory" error message more informative (Bu...
75411         c59ddb2120 Fix slot typecheck in eieio-persistent
75412         8b2ab5014b Fix semantic-ia-fast-jump
75413         5b45e7e1c3 Bind vc-region-history
75414         f172894595 Exit macro definition on undefined keys
75415         289fe6c0d1 Reset bidi-paragraph-direction on article rendering
75416         a4f7518817 Fix url-http use of url-current-object
75417         4a755ed421 Avoid assertions in vc-hg.el on MS-Windows
75418         cb93a6ce72 Improve documentation of 'copy-sequence'
75419         200ef6f721 Minor update of ack.texi
75420         cb407d3e87 * doc/emacs/emacs.texi (Acknowledgments): Add more contrib...
75421         82b6c765ff Improve indexing of multi-file/buffer Isearch commands
75422         645ff6c702 Add CAM02 JCh and CAM02-UCS J'a'b' conversions
75423         157007b58e Fix uses of @kindex in the Emacs manual
75424         63a45e8837 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
75425         3ab2f9bbb9 Merge from gnulib
75426         cbc8324488 Prefer HTTPS to HTTP for gnu.org
75427         bbda601d1d ; Spelling fixes
75428         695cf5300b Wait for frame visibility with timeout in w32term too
75429         e1f6e3127a Bring back the busy wait after x_make_frame_visible (Bug#2...
75430         bccf635217 ; * src/gtkutil.c (xg_check_special_colors): Add another G...
75431         f428757cdb Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
75432         26d58f0c58 ; Standardize license notices
75433         73dba0f466 Fix last doc string change in simple.el
75435 2017-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
75437         * lisp/electric.el: Break recursive loading loop
75439         (electric-pair-text-pairs): Declare instead of requiring elec-pair.
75441 2017-10-01  Philipp Stephani  <phst@google.com>
75443         * src/editfns.c (Fchar_after): Small optimization.
75445 2017-10-01  Eli Zaretskii  <eliz@gnu.org>
75447         Avoid compilation warning in electric.el
75449         * lisp/electric.el: Require 'elec-pair' when compiling, to avoid a
75450         compiler warning.
75452 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
75454         Make logcount act like CL on negative arg
75456         Behaving like Common Lisp is less likely to lead to surprises,
75457         as it yields the same answers on 32- vs 64-bit machines.
75458         * doc/lispref/numbers.texi (Bitwise Operations):
75459         Document behavior on negative integers.
75460         * src/data.c (Flogcount):
75461         Behave like Common Lisp for negative arguments.
75462         * test/src/data-tests.el (data-tests-popcnt)
75463         (data-tests-logcount): Test negative args too.
75465 2017-09-30  Philipp Stephani  <phst@google.com>
75467         Electric quote mode: Conditionally replace " (Bug#24710)
75469         * lisp/electric.el (electric-quote-replace-double): New user option.
75470         (electric-quote-post-self-insert-function): Use it.
75472         * test/lisp/electric-tests.el (electric-quote-replace-double-disabled)
75473         (electric-quote-replace-double-bob)
75474         (electric-quote-replace-double-bol)
75475         (electric-quote-replace-double-after-space)
75476         (electric-quote-replace-double-after-letter)
75477         (electric-quote-replace-double-after-paren): New unit tests.
75479         * doc/emacs/text.texi (Quotation Marks): Document
75480         'electric-quote-replace-double'.
75482 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
75484         Simplify logcount implementation
75486         * src/data.c (HAVE_BUILTIN_POPCOUNTLL, logcount32, logcount64):
75487         Remove.
75488         (Flogcount): Simplify by using count_one_bits.
75490 2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>
75492         Add logcount (Bug#22689)
75494         * doc/lispref/numbers.texi (Bitwise Operations): Add documentation.
75495         * etc/NEWS: Mention.
75496         * src/data.c (logcount32, logcount64): New functions.
75497         (logcount): New Lisp function.
75498         (syms_of_data): Declare it.
75499         * test/src/data-tests.el (data-tests-popcnt, data-tests-logcount): New
75500         test.
75502 2017-09-29  Paul Eggert  <eggert@cs.ucla.edu>
75504         Merge from origin/emacs-26
75506         3ab2f9bbb9 Merge from gnulib
75507         cbc8324488 Prefer HTTPS to HTTP for gnu.org
75508         bbda601d1d ; Spelling fixes
75509         695cf5300b Wait for frame visibility with timeout in w32term too
75510         e1f6e3127a Bring back the busy wait after x_make_frame_visible (Bug#2...
75511         bccf635217 ; * src/gtkutil.c (xg_check_special_colors): Add another G...
75512         26d58f0c58 ; Standardize license notices
75513         61225964ed Revert "bug#28609: simple.el"
75514         a75ab3b3fb bug#28609: simple.el
75515         c7a21430c1 ; * etc/NEWS: Fix last change.
75516         33401b26b1 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
75517         d4b2bbdc73 Merge branch 'emacs-26' into scratch/org-mode-merge
75518         c1ac8c170f Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
75519         af130f900f Fix ert backtrace saving for non-`signal'ed errors (Bug#28...
75520         7476eeaa23 Revert "Fix build on macOS (bug#28571)"
75521         fec63089d5 Fix build on macOS (bug#28571)
75522         0f9a78e770 Add tests for `css-current-defun-name'
75523         88a0dd71f1 In w32fullscreen_hook don't add decorations to undecorated...
75524         18073beb14 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
75525         1eef11b7be Fix doc string of 'dired-listing-switches'
75526         eaefbc26d5 ; Add files missing in ab351d442d7
75527         ab351d442d Update Org to v9.1.1
75529 2017-09-29  Paul Eggert  <eggert@cs.ucla.edu>
75531         Merge from origin/emacs-26
75533         a3f647c5c8 * src/editfns.c (styled_format): Fix typo in previous change.
75534         0e82fa3416 Avoid some unnecessary copying in Fformat etc.
75536 2017-09-29  Paul Eggert  <eggert@cs.ucla.edu>
75538         Merge from origin/emacs-26
75540         1e5949642a ; * src/gtkutil.c (xg_create_frame_widgets): Add FIXME re....
75541         e7c8da4d05 bug#28609: simple.el
75542         827db6b559 Use a separate syntax-ppss cache for narrowed buffers
75543         a2244f417a Improve python3-compatibility of fallback completion (Bug#...
75544         79162cb0db Fix subr-x-tests when running from elc
75545         66d35ae49d * lisp/eshell/esh-util.el (eshell-condition-case): Add deb...
75546         f5e72b04d9 Make sh-indentation into an alias for sh-basic-offset (Bug...
75547         a58d0c590a Fix loading of smie-config rules (Bug#24848)
75548         3a68dec327 ; Update NEWS for the change in eldoc-message
75549         5a41dd0a1f Reset default-directory inside *xref-grep* buffer
75550         49cd561dc6 * test/lisp/tramp-tests.el (tramp-test21-file-links): Spec...
75551         b719f6b20b Loosen strict parsing requirement for desktop files
75552         c7a0c13777 * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
75553         dc6b3560e5 Fix documentation of `make-frame' and related variables an...
75554         3d3778d82a Accept new `always' value for option `buffer-offer-save'
75555         638f64c40a Improve new NS scrolling variable names
75556         d93301242f Document 'replace-buffer-contents' in the manual.
75557         00e4e3e9d2 Fix undecorated frame resizing issues on NS (bug#28512)
75558         820739bbb5 ; * doc/emacs/display.texi (Display Custom): Fix wording.
75559         f2b2201594 ; Spelling and URL fixes
75560         0e143b1fc5 Documentation improvements for 'display-line-numbers'
75561         f656ccdb43 ; Fix typo
75562         d64da52d57 Fix last change in bat-mode.el
75563         908af46abd Fix restoring in GUI sessions desktop saved in TTY sessions
75564         51cbd85454 Improve syntax highlighting in bat-mode
75565         0273916618 Document the 'list-FOO' convention
75566         d24ec58540 Expose viewing conditions in CAM02-UCS metric
75567         a81d5a3d3f Revert "Set frame size to actual requested size (bug#18215)"
75568         0bf066d4b2 Add tests for Edebug
75569         68baca3ee1 Catch more messages in ert-with-message-capture
75570         28e0c410c9 ; * lisp/mouse.el (secondary-selection-exist-p): Doc fix.
75571         31e1d9ef2f Support setting region from secondary selection and vice v...
75572         047f02f00f Fix new copy-directory bug with empty dirs
75573         fbd15836af * doc/lispref/strings.texi (Formatting Strings): Improve i...
75574         f16a8d5dbd Fix 2 testsuite tests for MS-Windows
75575         965cffd89c Rename timer-list to list-timers
75576         a5fec62b51 Provide native touchpad scrolling on macOS
75577         7b3d1c6beb Fix MinGW64 build broken by recent MinGW64 import libraries
75578         c83d0c5fdf Fix crashes in 'move-point-visually' in minibuffer windows
75579         7f3d5f929d * src/emacs.c (usage_message): Don't mention 'find-file'.
75580         6845282200 Fix a minor inaccuracy in the Emacs manual
75581         74d7bb9498 Fix errors in flyspell-post-command-hook
75582         40fdbb01d0 Work on Tramp's file-truename
75583         1a01423b3c Fix bug with make-directory on MS-Windows root
75584         066efb8666 Fix log-view-diff-common when point is after last entry
75585         3f006b56cd Adapt fileio-tests--symlink-failure to Cygwin
75586         ee512e9a82 Ignore buffers whose name begins with a space in save-some...
75587         9e1b5bd92c Improve tramp-interrupt-process robustness
75588         8d4223e61b Minor Tramp doc update
75589         331d0e520f Fix gensym
75590         466df76f7d Cleanup in files-tests.el
75591         6359fe630a Remove old cl-assert calls in 'newline'
75592         059184e645 Avoid crash with C-g C-g in GC
75593         541006c536 Fix format-time-string %Z bug with negative tz
75594         679e05eeb9 message-citation-line-format %Z is now tz name
75595         4e8888d438 Use doc-view or pdf-tools on any window-system
75596         5f28f0db73 Fix bug with min and max and NaNs
75597         37b5e661d2 Fix recently-introduced copy-directory bug
75598         6bbbc38b34 Merge from Gnulib
75599         57249fb297 Fix compatibility problem in Tramp
75600         411bec82c4 Avoid GCC 7 compilation warning in eval.c
75601         34a6774daa ; Partially revert c3445aed5194
75602         3003ac0469 Adapt Tramp version.  Do not merge
75603         48d39c39e8 Search for Syntax section when viewing MDN
75604         9d101376b4 Allow smerge-keep-current to work for empty hunks
75605         13aba24add Call vc-setup-buffer in vc-git-log-{in,out}going
75606         1d599df5e0 Fix last change to textmodes/page-ext.el
75607         a726e09a9a * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcm...
75608         546413e1ac * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 ...
75609         96aaeaaffa ; * src/lcms.c: Minor stylistic changes in comments.
75610         c3df816585 Fix compilation warning in etags.c
75612 2017-09-29  Philipp Stephani  <phst@google.com>
75614         Revert "GTK+: Stop querying for background colors."
75616         This reverts commit f6818e761eaafe095e07249180dc8f9a329f1473.
75618 2017-09-28  Charles A. Roelli  <charles@aurox.ch>
75620         Fix 'point-to-register' prompt with prefix arg
75622         * lisp/register.el (point-to-register): Fix prompt when a prefix
75623         argument is given.
75625 2017-09-28  Mark Oteiza  <mvoteiza@udel.edu>
75627         Add indent spec to easy-mmode macros
75629         Ideally these macros should expand to the proper code instead of
75630         relegating all the work to a function call.
75631         * lisp/emacs-lisp/easy-mmode.el (easy-mmode-defmap):
75632         (easy-mmode-define-syntax): Add indent spec.
75634 2017-09-27  Mark Oteiza  <mvoteiza@udel.edu>
75636         Mark some functions as pure
75638         * lisp/emacs-lisp/byte-opt.el: Add some functions that return integral
75639         values to the builtin list of pure functions.
75641 2017-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
75643         * lisp/textmodes/page-ext.el: Misc cleanup, add RET binding
75645         Use lexical-binding.
75646         Remove redundant :group args.
75647         (pages-directory-mode-map): Bind RET.
75648         (pages-buffer, pages-pos-list): Define as buffer-local.
75649         (pages-directory-map): Define as alias *before* the defvar.
75650         Mark as obsolete.
75651         (pages-buffer-original-position, pages-buffer-original-page):
75652         Move declaration to before the first use.
75653         (pages-directory): Remove unused var `linenum`.
75654         (pages-directory-goto): Add optional `event` arg and make it work when
75655         bound to mouse events.
75656         (pages-directory-goto-with-mouse): Make it an obsolete alias.
75658 2017-09-26  Mark Oteiza  <mvoteiza@udel.edu>
75660         Add MIME apps spec utilities
75662         Facilitates finding associations between MIME types and desktop files
75663         that report an association with that type.  Combined with mailcap.el's
75664         MIME facilities, it should be easy to use desktop files.
75665         * lisp/xdg.el (xdg-mime-table): New variable.
75666         (xdg-mime-apps-files, xdg-mime-collect-associations, xdg-mime-apps):
75667         New functions.
75668         * test/data/xdg/mimeapps.list: New file.
75669         * test/data/xdg/mimeinfo.cache: New file.
75670         * test/lisp/xdg-tests.el (xdg-mime-associations): New test.
75672 2017-09-26  John Wiegley  <johnw@newartisans.com>
75674         lisp/simple.el: Indicate when a list of pairs is meant in a docstring
75676 2017-09-26  Philipp Stephani  <phst@google.com>
75678         Revert "Don't attempt to disable double buffering in newer GTK+ versions"
75680         This reverts commit c0af83b6ccf2dab9a515dd7f52eb9d4500275ae3.
75682 2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
75684         bug#28609: simple.el
75686         Correct grammar; also, call a pair a pair.
75688 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
75690         * etc/NEWS.26: Copy from emacs-26/etc/NEWS.
75692 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
75694         Merge from origin/emacs-26
75696         49cd561dc6 * test/lisp/tramp-tests.el (tramp-test21-file-links): Spec...
75697         b719f6b20b Loosen strict parsing requirement for desktop files
75698         c7a0c13777 * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
75699         dc6b3560e5 Fix documentation of `make-frame' and related variables an...
75700         3d3778d82a Accept new `always' value for option `buffer-offer-save'
75701         638f64c40a Improve new NS scrolling variable names
75702         d93301242f Document 'replace-buffer-contents' in the manual.
75703         00e4e3e9d2 Fix undecorated frame resizing issues on NS (bug#28512)
75704         820739bbb5 ; * doc/emacs/display.texi (Display Custom): Fix wording.
75705         f2b2201594 ; Spelling and URL fixes
75706         0e143b1fc5 Documentation improvements for 'display-line-numbers'
75707         f656ccdb43 ; Fix typo
75708         d64da52d57 Fix last change in bat-mode.el
75709         908af46abd Fix restoring in GUI sessions desktop saved in TTY sessions
75710         51cbd85454 Improve syntax highlighting in bat-mode
75711         0273916618 Document the 'list-FOO' convention
75712         d24ec58540 Expose viewing conditions in CAM02-UCS metric
75713         a81d5a3d3f Revert "Set frame size to actual requested size (bug#18215)"
75714         0bf066d4b2 Add tests for Edebug
75715         68baca3ee1 Catch more messages in ert-with-message-capture
75716         28e0c410c9 ; * lisp/mouse.el (secondary-selection-exist-p): Doc fix.
75717         31e1d9ef2f Support setting region from secondary selection and vice v...
75718         047f02f00f Fix new copy-directory bug with empty dirs
75719         fbd15836af * doc/lispref/strings.texi (Formatting Strings): Improve i...
75720         f16a8d5dbd Fix 2 testsuite tests for MS-Windows
75721         965cffd89c Rename timer-list to list-timers
75722         a5fec62b51 Provide native touchpad scrolling on macOS
75723         7b3d1c6beb Fix MinGW64 build broken by recent MinGW64 import libraries
75724         c83d0c5fdf Fix crashes in 'move-point-visually' in minibuffer windows
75725         7f3d5f929d * src/emacs.c (usage_message): Don't mention 'find-file'.
75726         6845282200 Fix a minor inaccuracy in the Emacs manual
75727         74d7bb9498 Fix errors in flyspell-post-command-hook
75728         40fdbb01d0 Work on Tramp's file-truename
75729         1a01423b3c Fix bug with make-directory on MS-Windows root
75730         066efb8666 Fix log-view-diff-common when point is after last entry
75731         3f006b56cd Adapt fileio-tests--symlink-failure to Cygwin
75732         ee512e9a82 Ignore buffers whose name begins with a space in save-some...
75733         9e1b5bd92c Improve tramp-interrupt-process robustness
75734         8d4223e61b Minor Tramp doc update
75735         331d0e520f Fix gensym
75736         466df76f7d Cleanup in files-tests.el
75737         6359fe630a Remove old cl-assert calls in 'newline'
75738         059184e645 Avoid crash with C-g C-g in GC
75739         541006c536 Fix format-time-string %Z bug with negative tz
75740         679e05eeb9 message-citation-line-format %Z is now tz name
75741         4e8888d438 Use doc-view or pdf-tools on any window-system
75742         5f28f0db73 Fix bug with min and max and NaNs
75743         37b5e661d2 Fix recently-introduced copy-directory bug
75744         6bbbc38b34 Merge from Gnulib
75745         57249fb297 Fix compatibility problem in Tramp
75746         411bec82c4 Avoid GCC 7 compilation warning in eval.c
75747         34a6774daa ; Partially revert c3445aed5194
75749 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
75751         Merge from origin/emacs-26
75753         48d39c39e8 Search for Syntax section when viewing MDN
75754         9d101376b4 Allow smerge-keep-current to work for empty hunks
75755         13aba24add Call vc-setup-buffer in vc-git-log-{in,out}going
75756         1d599df5e0 Fix last change to textmodes/page-ext.el
75757         a726e09a9a * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcm...
75759 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
75761         Merge from origin/emacs-26
75763         96aaeaaffa ; * src/lcms.c: Minor stylistic changes in comments.
75764         c3df816585 Fix compilation warning in etags.c
75765         5490ccc5eb Add lisp variable lcms-d65-xyz
75766         dee96f4a17 * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (b...
75767         12e864eb30 Avoid MinGW64 compiler warnings in unexw32.c
75768         625cee5316 Start emacs-26 release branch
75770         # Conflicts:
75771         #       README
75772         #       configure.ac
75773         #       msdos/sed2v2.inp
75774         #       nt/README.W32
75776 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
75778         emacs-25 → emacs-26
75780         * admin/gitmerge.el (gitmerge-default-branch): Now emacs-26.
75782 2017-09-24  Mark Oteiza  <mvoteiza@udel.edu>
75784         Expand recognized time intervals for MPC seeking
75786         Now accepts [+-]H:M:S and subsets.  Also accepts some odd variations of
75787         it since the regexp is not strict.  One unpleasant caveat is that
75788         string-to-number simply returns zero on failure instead of signaling an
75789         error.  At the moment, there are cases where instead of getting
75790         a user-error, the seek may simply not go where one expects it.
75791         * lisp/mpc.el (mpc-read-seek): New function.
75792         (mpc-seek-current): Use it.
75794 2017-09-24  Philipp Stephani  <phst@google.com>
75796         Add configuration for clang-format.
75798         This allows developers to auto-format the C code with clang-format.
75799         It’s not 100% accurate, but works pretty well for most of the C code.
75801 2017-09-24  Philipp Stephani  <phst@google.com>
75803         Make FILENAME argument of 'file-name-base' mandatory
75805         * lisp/files.el (file-name-base): Make FILENAME argument mandatory.
75807         * lisp/autoinsert.el (auto-insert-alist):
75808         * lisp/progmodes/cperl-mode.el (cperl-electric-pod):
75809         * lisp/progmodes/idlwave.el (idlwave-parse-definition):
75810         * lisp/textmodes/reftex-ref.el (reftex-replace-prefix-escapes): Fix
75811         all callers.
75813 2017-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
75815         * lisp/newcomment.el (comment-search-backward): Obey the docstring (bug#28428)
75817 2017-09-23  Philipp Stephani  <phst@google.com>
75819         Don't attempt to disable double buffering in newer GTK+ versions
75821         * src/gtkutil.c (xg_create_frame_widgets): Stop calling deprecated
75822         function gtk_widget_set_double_buffered.
75824 2017-09-23  Philipp Stephani  <phst@google.com>
75826         GTK+: Stop querying for background colors.
75828         * src/gtkutil.c (xg_check_special_colors): Don't call deprecated
75829         function gtk_style_context_get_background_color in newer versions of
75830         GTK+.
75832 2017-09-23  Philipp Stephani  <phst@google.com>
75834         GTK+: stop calling 'gtk_window_set_wmclass' in new versions
75836         * src/gtkutil.c (xg_create_frame_widgets): Stop calling deprecated
75837         function 'gtk_window_set_wmclass' in GTK+ 3.22.
75839 2017-09-23  Philipp Stephani  <phst@google.com>
75841         GTK+: Use a style provider instead of deprecated function
75843         * src/gtkutil.c (xg_set_widget_bg): Use a CSS style provider instead
75844         of the deprecated gtk_widget_override_background_color.
75846 2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>
75848         Teach Emacs to set XTerm window titles
75850         * lisp/term/xterm.el (terminal-init-xterm): Add initialization.
75851         (xterm--init-frame-title, xterm-set-window-title-flag):
75852         (xterm-unset-window-title-flag, xterm-set-window-title): New functions.
75853         (xterm-window-title-flag): New variable.
75854         (xterm-set-window-title): New custom variable.
75855         * etc/NEWS: Mention it.
75857 2017-09-19  Philipp Stephani  <phst@google.com>
75859         Don't call deprecated GTK function gtk_adjustment_changed
75861         * src/gtkutil.c (xg_set_toolkit_scroll_bar_thumb)
75862         (xg_set_toolkit_horizontal_scroll_bar_thumb): Remove calls to
75863         deprecated function gtk_adjustment_changed.  This function has been
75864         deprecated since GTK+ 3.18.
75866 2017-09-18  Sam Steingold  <sds@gnu.org>
75868         Fix bug#28435: "all" score file is ignored
75870         (gnus-score-find-bnews): Fix removing the empty suffix.
75872 2017-09-18  Sam Steingold  <sds@gnu.org>
75874         Add define-thing-chars and use it for filename.
75876         (define-thing-chars): New defmacro.
75877         (filename): Define this thing using `define-thing-chars'.
75879 2017-09-18  Philipp Stephani  <phst@google.com>
75881         Revert "Implement native JSON support using Jansson"
75883         This reverts commit cb99cf5a99680af7dc2c49fdf5b840d1ff4dd928.
75885 2017-09-18  Philipp Stephani  <phst@google.com>
75887         Implement native JSON support using Jansson
75889         * configure.ac: New option --with-json.
75891         * src/json.c (Fjson_serialize, Fjson_insert, Fjson_parse_string)
75892         (Fjson_parse_buffer): New defuns.
75893         (json_out_of_memory, json_parse_error, json_release_object)
75894         (check_string_without_embedded_nulls, json_check, lisp_to_json)
75895         (json_insert, json_insert_callback, json_to_lisp)
75896         (json_read_buffer_callback, Fjson_parse_buffer, define_error): New
75897         helper function.
75898         (syms_of_json): New file.
75900         * src/lisp.h: Declaration for syms_of_json.
75902         * src/emacs.c (main): Enable JSON functions.
75904         * src/Makefile.in (JSON_LIBS, JSON_CFLAGS, JSON_OBJ, EMACS_CFLAGS)
75905         (base_obj, LIBES): Compile json.c if --with-json is enabled.
75907         * test/src/json-tests.el (json-serialize/roundtrip)
75908         (json-serialize/object, json-parse-string/object): New unit tests.
75910 2017-09-18  Alan Mackenzie  <acm@muc.de>
75912         Fix irregularities with CC Mode fontification, particularly with "known types"
75914         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
75915         optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
75916         type.
75917         (c-font-lock-single-decl): New variable template-class, set to non-nil when we
75918         have a construct like the above.  Pass this as argument to
75919         c-font-lock-declarators.
75920         (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
75921         being processed starts before the function's starting position.
75922         (c-complex-decl-matchers): Remove the redundant clause which fontified "types
75923         preceded by, e.g., "struct"".
75925         * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
75926         (c-template-typename-key): New lang defconsts and defvar.
75928 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
75930         * lisp/net/trampver.el (customize-package-emacs-version-alist):
75932         Add Tramp version integrated in Emacs 26.1.
75934 2017-09-16  Glenn Morris  <rgm@gnu.org>
75936         * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
75938 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
75940         Increment Emacs version to 27.0.50
75942         * README:
75943         * configure.ac:
75944         * nt/README.W32:
75945         * src/msdos.c (internal_terminal_init):
75946         * msdos/sed2v2.inp:
75947         * etc/refcards/ru-refcard.tex: Increment Emacs version to 27.0.50.
75948         * etc/NEWS: New file with sections for Emacs 27.1.
75949         * etc/NEWS.26: Renamed from etc/NEWS.
75951 2019-08-29  Nicolas Petton  <nicolas@petton.fr>
75953         * etc/AUTHORS: Update.
75955 2019-08-29  Nicolas Petton  <nicolas@petton.fr>
75957         * etc/NEWS: Delete temporary markup.
75959 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
75961         Fix process filter documentation (Bug#13400)
75963         * doc/lispref/processes.texi (Asynchronous Processes): Note that input
75964         may read when sending data as well.
75965         (Output from Processes): Note that functions which send data may also
75966         trigger reading from processes.
75967         (Input to Processes, Filter Functions): Note that filter functions may
75968         be called recursively.
75970 2019-08-29  Tino Calancha  <tino.calancha@gmail.com>
75972         Fix query-replace-regexp undo feature
75974         Ensure that non-regexp strings used with `looking-at' are quoted.
75975         * lisp/replace.el (perform-replace): Quote regexp (Bug#37073).
75976         * test/lisp/replace-tests.el (replace-tests-perform-replace-regexp-flag):
75977         New variable.
75978         (replace-tests-with-undo): Use it.
75979         (query-replace-undo-bug37073): Add tests.
75981 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
75983         Support the new Japanese era name
75985         * admin/unidata/NormalizationTest.txt:
75986         * admin/unidata/UnicodeData.txt: Add U+32FF SQUARE ERA NAME REIWA.
75987         Do not merge to master.
75989         * test/lisp/international/ucs-normalize-tests.el
75990         (ucs-normalize-tests--failing-lines-part1)
75991         (ucs-normalize-tests--failing-lines-part2): Update.  Do not
75992         merge to master.
75994         * etc/NEWS: Mention the change.
75996 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
75998         Fix a typo in char-width-table
76000         * lisp/international/characters.el (char-width-table): Fix a
76001         typo in zero-width characters.
76003 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76005         Minor update in admin/notes/unicode
76007         * admin/notes/unicode: Mention changes to be done in
76008         setup-default-fontset in fontset.el.  (Bug#14461)
76010 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
76012         Fix lisp indent infloop on unfinished strings (Bug#37045)
76014         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-calc-next): Stop trying to
76015         skip over strings if we've hit the end of buffer.
76016         * test/lisp/emacs-lisp/lisp-mode-tests.el
76017         (lisp-indent-unfinished-string): New test.
76019 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76021         Improve commentary in composite.el
76023         * lisp/composite.el (compose-gstring-for-graphic)
76024         (compose-gstring-for-terminal): Add comments that explain
76025         Unicode General Category mnemonics in human-readable terms.
76026         (Bug#14461)
76028 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76030         Fix markup in dired-x.texi
76032         * doc/misc/dired-x.texi (Omitting Variables)
76033         (Local Variables, Shell Command Guessing)
76034         (Advanced Cleaning Variables, Special Marking Function): Fix
76035         markup and indexing.  (Bug#14212)
76037 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76039         * src/callproc.c (Fcall_process): Doc fix.
76041 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76043         Improve documentation of features that use the fringes
76045         * doc/emacs/display.texi (Fringes): Add cross-reference to
76046         where indicate-empty-lines is described.
76047         (Useless Whitespace): Add an @anchor for a more accurate
76048         cross-reference in "Fringes".
76050 2019-08-29  Mauro Aranda  <maurooaranda@gmail.com>
76052         Fix docstrings in pong
76054         * lisp/play/pong.el (pong-move-left pong-move-right): Refer to the
76055         right bats and directions of movement.  (Bug#36959)
76057 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76059         Improve doc strings of 'append-to-buffer' and friends
76061         * lisp/simple.el (append-to-buffer, prepend-to-buffer)
76062         (copy-to-buffer): Doc fixes.
76064 2019-08-29  Mauro Aranda  <maurooaranda@gmail.com>
76066         Fix octave-mode ElDoc support
76068         * lisp/progmodes/octave.el (octave-eldoc-function-signatures): Fix the
76069         regexp used, so no match happens when there is no defined function FN.
76070         Also, tweak the regexp to support GNU Octave 4.2.x and newer.  (Bug#36459)
76072 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76074         Avoid Groff hanging on MS-Windows when invoked by "M-x man"
76076         * lisp/man.el (Man-build-man-command): On MS-Windows, redirect
76077         stdin of 'man' to the null device, to make sure Groff exits
76078         immediately after formatting the man page.
76080 2019-08-29  Philipp Stephani  <p.stephani2@gmail.com>
76082         Ignore pending_signals when checking for quits.
76084         pending_signals is often set if no quit is pending.  This results in
76085         bugs in module code if the module returns but no quit is actually
76086         pending.
76088         * src/emacs-module.c (module_should_quit): Use QUITP macro to check
76089         whether the caller should quit.
76091         * src/eval.c: Remove obsolete comment.
76093 2019-08-29  Basil L. Contovounesios  <contovob@tcd.ie>
76095         Fix nnmail-expiry-wait docs and custom :types
76097         * doc/misc/gnus.texi (Group Parameters, Expiring Mail):
76098         * lisp/gnus/gnus-cus.el (gnus-group-parameters): Clarify
76099         descriptions of nnmail-expiry, nnmail-expiry-wait, and
76100         nnmail-expiry-wait-function.
76101         * lisp/gnus/nnmail.el (nnmail-expiry-wait)
76102         (nnmail-expiry-wait-function): Clarify docstrings and fix custom
76103         :types (bug#36850).
76105 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76107         * lisp/simple.el (kill-do-not-save-duplicates): Doc fix.  (Bug#36827)
76109 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76111         Improve documentation of debugging Lisp syntax error
76113         * doc/lispref/debugging.texi (Syntax Errors, Excess Open)
76114         (Excess Close): Name the commands invoked by the key
76115         sequences.  Add cross-references to appropriate sections of
76116         the Emacs manual.  (Bug#21385)
76118         (cherry picked from commit faafd467a374c9398ee4668cdc173611d35693ed)
76120 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
76122         Add index for "\( in strings" (Bug#25195)
76124         * doc/emacs/programs.texi (Left Margin Paren): Add index for "\( in
76125         strings".
76126         * doc/lispref/positions.texi (List Motion): Add index, and cross
76127         reference.
76129 2019-08-29  Martin Rudalics  <rudalics@gmx.at>
76131         Fix doc-string of 'fit-window-to-buffer' (Bug#36848)
76133         * lisp/window.el (fit-window-to-buffer): Fix doc-string.
76135         Suggested by Drew Adams <drew.adams@oracle.com>
76137 2019-08-29  Tino Calancha  <tino.calancha@gmail.com>
76139         Update view-mode docstring
76141         Not all the kill commands save the text in the kill ring
76142         by default (e.g. `kill-rectangle').
76143         It is more precise to just say that the kill commands save
76144         the text and do not change the buffer (Bug#36741).
76145         * lisp/view.el (view-mode): Update docstring.
76147 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
76149         Fix subproc listening when setting filter to non-t (Bug#36591)
76151         * src/process.c (Fset_process_filter): Call add_process_read_fd
76152         according to the state of process filter before it's updated.  This
76153         restores the correct functioning as it was before 2016-02-16 "Allow
76154         setting the filter masks later".  Inline the set_process_filter_masks
76155         call instead of fixing it that function, because it is also called
76156         from connect_network_socket, and we don't want to change the behavior
76157         of that function so close to release.
76158         * test/src/process-tests.el (set-process-filter-t): New test.
76160 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
76162         * etc/NEWS.25: Belatedly announce rcirc-reconnect-delay.
76164 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
76166         Mention term.el's \032 dir tracking in commentary (Bug#19524)
76168         * lisp/term.el: Mention both forms of directory tracking in
76169         commentary.  Remove obsolete ChangeLog comments.  Move more relevant
76170         summary comments to the top.
76172 2019-08-29  Stefan Kangas  <stefankangas@gmail.com>
76174         Remove upload functionality of package-x from the elisp manual
76176         Suggested by Stefan Monnier.
76177         Ref: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19537#8
76179         * doc/lispref/package.texi (Package Archives): Don't document
76180         package-x upload functions in the elisp manual, since they are not
76181         very commonly used.  (Bug#19537)
76182         * lisp/emacs-lisp/package-x.el (package-archive-upload-base)
76183         (package-upload-buffer, package-upload-file): Add to the doc strings
76184         any details removed from the elisp manual that would otherwise be
76185         missing.
76187 2019-08-29  Nicolas Petton  <nicolas@petton.fr>
76189         * etc/AUTHORS: Update.
76191 2019-08-29  Basil L. Contovounesios  <contovob@tcd.ie>
76193         Clarify Gravatar docs
76195         For discussion, see the following thread:
76196         https://lists.gnu.org/archive/html/emacs-devel/2019-07/msg00528.html
76197         * doc/misc/gnus.texi (X-Face): Fix cross-reference.
76198         (Gravatars):
76199         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-too-ugly):
76200         * lisp/image/gravatar.el (gravatar-cache-ttl, gravatar-rating)
76201         (gravatar-size): Clarify user option descriptions.
76202         (gravatar-retrieve, gravatar-retrieve-synchronously): Document
76203         return value.
76205 2019-08-29  Alan Mackenzie  <acm@muc.de>
76207         * doc/lispref/display.texi (Defining Faces): Say a face can't be undefined.
76209 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
76211         Handle completely undecoded input in term (Bug#29918)
76213         * lisp/term.el (term-emulate-terminal): Avoid errors if the whole
76214         decoded string is eight-bit characters.  Don't attempt to save the
76215         string for next iteration in that case.
76216         * test/lisp/term-tests.el (term-decode-partial)
76217         (term-undecodable-input): New tests.
76219 2019-08-29  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)
76221         * doc/misc/forms.texi (Control File Format): Fix a doc error.
76223         (Bug#36693)
76225 2019-08-29  Basil L. Contovounesios  <contovob@tcd.ie>
76227         Fix typo in package-alist docstring
76229         Pointed out by Michael Heerdegen <michael_heerdegen@web.de>.
76230         * lisp/emacs-lisp/package.el (package-alist): Fix docstring
76231         grammar (bug#17403).
76233 2019-08-29  Markus Triska  <triska@metalevel.at>
76235         * doc/lispref/text.texi (Mode-Specific Indent): Fix a typo (bug#36646).
76237 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76239         Improve doc string of 'bidi-display-reordering'
76241         * src/buffer.c (syms_of_buffer) <bidi-display-reordering>:
76242         Further doc fix.
76244 2019-08-29  Stefan Kangas  <stefankangas@gmail.com>
76246         Add warning to bidi-display-reordering doc string
76248         This explanation was given by Eli Zaretskii on emacs-devel.
76249         For discussion, see:
76250         https://lists.gnu.org/archive/html/emacs-devel/2019-07/msg00294.html
76252         * src/buffer.c (syms_of_buffer): Add warning to doc string of
76253         bidi-display-reordering to explain that it should only be used for
76254         debugging.
76256 2019-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
76258         Raise required librsvg version so as to match the current use
76260         * configure.ac: Set RSVG_REQUIRED to 2.14.0 as rsvg_handle_get_dimensions
76261         needs it.
76263 2019-08-29  Michael Albinus  <michael.albinus@gmx.de>
76265         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size): Set nil on w32.
76267 2019-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
76269         * lisp/progmodes/verilog-mode.el: One more ELPA Version:
76271 2019-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
76273         * lisp/svg.el, lisp/progmodes/ada-mode.el: Fix bug#36360.
76275         Tell package.el their version number, for better behavior w.r.t the
76276         versions available in GNU ELPA
76278 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76280         Minor copyedit of "Font Lock" in user manual
76282         * doc/emacs/display.texi (Font Lock): Make the wording about
76283         "enabling Font Lock" crystal clear.  (Bug#36529)
76285 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76287         Improve description of image descriptors
76289         * doc/lispref/display.texi (Image Descriptors): More accurate
76290         description of where image files are looked up.  (Bug#36523)
76292 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76294         Improve documentation of secondary selections
76296         * doc/emacs/killing.texi (Secondary Selection): Improve
76297         wording.  Mention that 'M-mouse-1' can be used to cancel
76298         secondary selections.  (Bug#36365)
76300 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76302         * src/fns.c (Fmapconcat): Doc fix.  (Bug#36418)
76304 2019-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
76306         Avoid crash inside CFCharacterSetIsLongCharacterMember (Bug#36507)
76308         * src/macfont.m (macfont_supports_charset_and_languages_p)
76309         (macfont_has_char): Don't pass integers outside the Unicode codespace to
76310         CFCharacterSetIsLongCharacterMember.  Do not merge to master.
76312 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
76314         Fix python.el docstring (Bug#36458)
76316         * lisp/progmodes/python.el (python-shell--prompt-calculated-output-regexp):
76317         python-shell-set-prompt-regexp doesn't exist, presumably
76318         python-shell-prompt-set-calculated-regexps was meant.
76320 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76322         * lisp/hi-lock.el (hi-lock-line-face-buffer): Doc fix.  (Bug36448)
76324 2019-08-29  Stefan Kangas  <stefankangas@gmail.com>
76326         Fix typo in doc string of file-exists-p (bug#36408)
76328         * src/fileio.c (Ffile_exists_p): Fix typo in doc string.
76330 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
76332         * test/lisp/url/url-file-tests.el (url-file): Fix for POSIX filenames.
76334 2019-08-29  Stefan Kangas  <stefankangas@gmail.com>
76336         Fix typo in windows.texi
76338         * doc/lispref/windows.texi (Window History): Fix typo.  (Bug#36412)
76340 2019-08-29  Basil L. Contovounesios  <contovob@tcd.ie>
76342         Clarify & update (elisp) Writing Emacs Primitives
76344         * doc/lispref/internals.texi (Writing Emacs Primitives): Update some
76345         of the sample code listings, fixing argument lists and parentheses.
76346         Replace ... with @dots{}.  Describe UNEVALLED special forms as
76347         taking a single argument. (bug#36392)
76349 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76351         Clarify a subtle issue in the Internals chapter of lispref
76353         * doc/lispref/internals.texi (Writing Emacs Primitives):
76354         Clarify the issue with relocation of buffer or string text as
76355         side effect of Lisp evaluation.  (Bug#36392)
76357 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
76359         Fix sgml-mode handling of quotes within parens (Bug#36347)
76361         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize): Use
76362         syntax-ppss-table if set.  This is only needed on the release branch,
76363         on master the caller (syntax-propertize) already does this.
76364         (sgml-mode): Set syntax-ppss-table to sgml-tag-syntax-table.  This
76365         correctly classifies parens as punctuation, so they won't confuse the
76366         parser.
76367         * test/lisp/textmodes/sgml-mode-tests.el (sgml-tests--quotes-syntax):
76368         New test copied from master, with two cases added for this bug.
76370 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
76372         Rename 'make-symbolic-link' argument NEWNAME to LINKNAME
76374         * src/fileio.c (Fmake_symbolic_link): Fix docstring.
76375         * doc/lispref/files.texi (Changing Files): Doc fix.
76377 2019-08-29  Robert Pluim  <rpluim@gmail.com>
76379         Check that length of data returned by sysctl is non-zero
76381         The length of the data returned by sysctl can be zero, which was not
76382         checked for.  This could cause crashes, e.g. when querying
76383         non-existent processes.  (Bug#36279)
76385         * src/sysdep.c (list_system_processes) [DARWIN_OS || __FreeBSD__]:
76386         (system_process_attributes) [__FreeBSD__]:
76387         (system_process_attributes) [DARWIN_OS]:
76388         * src/filelock.c (get_boot_time) [CTL_KERN && KERN_BOOTTIME]: Check
76389           for zero length data returned by sysctl.
76391 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
76393         * test/lisp/progmodes/python-tests.el (python-virt-bin): Doc fix.
76395 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
76397         Fix Python tests depending on system-type
76399         * test/lisp/progmodes/python-tests.el (python-virt-bin): New function.
76400         (python-shell-calculate-exec-path-2)
76401         (python-shell-calculate-exec-path-3)
76402         (python-shell-calculate-exec-path-4)
76403         (python-shell-with-environment-1, python-shell-with-environment-2):
76404         Use it.
76406 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
76408         Fix problem with wdired test when symlinks cannot be created.
76410         * test/lisp/wdired-tests.el (wdired-test-symlink-name):
76411         Skip test if 'make-symbolic-link' fails for whatever reason;
76412         that's not what's being tested.
76414 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76416         Improve wording of documentation of click events
76418         * doc/lispref/commands.texi (Click Events, Accessing Mouse):
76419         Improve and clarify wording.  (Bug#36232)
76421 2019-08-29  Mattias Engdegård  <mattiase@acm.org>
76423         Backport: Fix typo in regexp-opt example code
76425         * doc/lispref/searching.texi (Regexp Functions):
76426         Fix typo in example code (Bug#34596).
76428 2019-08-29  Stefan Kangas  <stefankangas@gmail.com>
76430         Remove outdated comment in winner.el (Bug#36185)
76432         * lisp/winner.el: Remove outdated comment.
76434 2019-08-29  Michael Albinus  <michael.albinus@gmx.de>
76436         Fix accidental change in tramp-tests; do not merge with master
76438         * lisp/net/trampver.el: Change version to "2.3.5.26.3".
76439         (customize-package-emacs-version-alist): Add Tramp version
76440         integrated in Emacs 26.3.
76442         * test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
76443         Add skip for w32.
76445 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
76447         tramp-test42-auto-load: Add expected-result.
76449         * test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
76450         Expect a failed result if remote file access is not enabled,
76451         as it happens while doing the test on Windows.
76453 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
76455         * test/lisp/url/url-file-tests.el (url-file): Use file:///, not file://.
76457 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
76459         Fix doc of srecompile-compile-split-code (Bug#36200)
76461         * lisp/cedet/srecode/compile.el (srecode-compile-split-code):
76462         Remove leftover text from docstring.
76464 2019-08-29  Eric Abrahamsen  <eric@ericabrahamsen.net>
76466         Make sure Gnus imap group names are decoded before searching
76468         do not merge (fix unnecessary in Emacs 27)
76470         * lisp/gnus/nnir.el (nnir-run-imap): Ensure that non-ascii group names
76471           have been fully decoded before passing them to imap search.
76473 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
76475         Remove failing test erroneously added in backport
76477         * test/src/thread-tests.el (threads-test-bug33073): Remove
76478         test which cannot work on the emacs-26 branch.  Do not merge
76479         to master.  Reported by Juanma Barranquero <lekktu@gmail.com>.
76481 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
76483         * lisp/net/sieve-manage.el (sieve-manage-parse-capability): Doc fix.
76485 2019-08-29  Nicolas Petton  <nicolas@petton.fr>
76487         Bump Emacs version to 26.2.90
76489         * README:
76490         * configure.ac:
76491         * msdos/sed2v2.inp:
76492         * nt/README.W32: Bump Emacs version.
76494 2019-08-29  Nicolas Petton  <nicolas@petton.fr>
76496         * etc/AUTHORS: Update.
76498 2019-08-29  Martin Rudalics  <rudalics@gmx.at>
76499 2019-06-15  Martin Rudalics  <rudalics@gmx.at>
76501         Fix description of 'display-buffer-in-previous-window' again (Bug#36161)
76503         * lisp/window.el (display-buffer-in-previous-window): Make
76504         doc-string more explicit (Bug#36161).
76505         * doc/lispref/windows.texi (Buffer Display Action Functions):
76506         Make description of 'display-buffer-in-previous-window' more
76507         explicit.
76508         (Buffer Display Action Alists): Mention
76509         'display-buffer-in-previous-window' in description of
76510         'reusable-frames' entry.
76512 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
76514         Consistently use @minus{} for negative arguments
76516         * doc/emacs/mark.texi (Marking Objects):
76517         * doc/misc/gnus.texi (Selecting a Group):
76518         * doc/emacs/programs.texi (Comment Commands):
76519         * doc/emacs/killing.texi (Deletion):
76520         * doc/emacs/display.texi (Recentering):
76521         * doc/lispref/display.texi (Face Attributes):
76522         * doc/lispref/searching.texi (String Search, Regexp Search):
76523         Make the markup of "-N" use @minus{} uniformly.  (Bug#35885)
76525 2019-06-15  Martin Rudalics  <rudalics@gmx.at>
76527         Fix doc of 'display-buffer-in-previous-window' (Bug#36161)
76529         * doc/lispref/windows.texi (Buffer Display Action Functions):
76530         * lisp/window.el (display-buffer-in-previous-window): Tell
76531         that 'display-buffer-in-previous-window' prefers
76532         non-selected windows (Bug#36161).
76534 2019-06-15  Juanma Barranquero  <lekktu@gmail.com>
76536         lisp/*.el: Minor docstring fixes
76538         * lisp/subr.el (definition-prefixes): Reflow docstring.
76540         * lisp/svg.el (svg-create): Doc fix to allow arg highlighting.
76541         (svg-gradient, svg-rectangle): Improve docstring formatting.
76543 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
76545         Avoid assertion violation when comparing with main-thread
76547         * src/thread.c (unmark_main_thread): New function.
76548         * src/lisp.h (unmark_main_thread): Prototype it.
76549         * src/alloc.c (garbage_collect_1): Call it after sweeping.
76550         (Bug#33073)
76552         * test/src/thread-tests.el (threads-test-bug33073): New test.
76554 2019-06-15  Andreas Schwab  <schwab@linux-m68k.org>
76556         Revert "Don't mark main_thread (Bug#36155)"
76558         This reverts commit 1877b7b4d79b3434379fd5a4abd85906c25df00c.
76560 2019-06-15  Andreas Schwab  <schwab@linux-m68k.org>
76562         Don't mark main_thread (Bug#36155)
76564         * src/thread.c (mark_threads_callback): Don't mark main_thread.
76566 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
76568         More quotation fixes (Bug#35885)
76570         * doc/emacs/text.texi (Quotation Marks): Fix a typo.
76571         * doc/emacs/modes.texi (Minor Modes): Fix another case of
76572         showing quotations.
76574 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
76576         Minor copyedits in efaq-w32
76578         * doc/misc/efaq-w32.texi (Grep, Recursive grep): More accurate
76579         description of using 'findstr' as a poor-man's replacement for
76580         'grep'.  Reported by 范凯 <m_pupil@163.com>
76582 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
76584         Tiny improvement of documentation of major mode conventions
76586         * doc/lispref/modes.texi (Major Mode Conventions): More
76587         accurate advice regarding customization of 'C-M-a' by major
76588         modes.
76590 2019-06-15  Juanma Barranquero  <lekktu@gmail.com>
76592         * nt/addpm.c (main): Fix buffer overflow
76594 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
76596         Resurrect display-line-number-mode in client frames
76598         * lisp/linum.el (linum-on): Mention bug#35726 in a comment.
76599         * lisp/display-line-numbers.el
76600         (display-line-numbers--turn-on): Don't check for daemon.
76601         (Bug#35726)
76603 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
76605         * src/fns.c (Fmapconcat): Doc fix.  (Bug#35710)
76607 2019-06-15  Phillip Lord  <phillip.lord@russet.org.uk>
76609         Fix typo
76611         * nt/README.W32:
76613 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
76615         * lisp/term/w32-win.el ([noname]): Bind to 'ignore'.  (Bug#36083)
76617 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
76619         Fix styling of Unicode codepoints in manuals
76621         * doc/lispref/nonascii.texi (Character Properties):
76622         * doc/lispref/display.texi (Glyphless Chars)
76623         (Bidirectional Display):
76624         * doc/emacs/search.texi (Lax Search):
76625         * doc/emacs/text.texi (Quotation Marks):
76626         * doc/emacs/basic.texi (Inserting Text): Canonicalize the
76627         style of "U+NNNN CHARACTER NAME".  (Bug#35885)
76629 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
76631         Fix a few uses of quotes in user manual
76633         * doc/emacs/text.texi (Quotation Marks):
76634         * doc/emacs/display.texi (Text Display):
76635         * doc/emacs/basic.texi (Inserting Text): Fix some more
76636         quotes.  (Bug#35885)
76638 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
76640         More minor copyedits in the Emacs manual
76642         * doc/emacs/basic.texi (Arguments):
76643         * doc/emacs/display.texi (Recentering, Text Display):
76644         * doc/emacs/regs.texi (Text Registers, Rectangle Registers):
76645         * doc/emacs/mark.texi (Disabled Transient Mark): Fix
76646         inaccuracies and typos.  (Bug#35885)
76648 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
76650         Fix minor issues in the Emacs manual
76652         * doc/emacs/search.texi (Regexp Replace, Regexps):
76653         * doc/emacs/kmacro.texi (Keyboard Macro Query)
76654         (Save Keyboard Macro): Fix inaccuracies and typos.
76655         (Bug#35885)
76657 2019-06-15  Martin Rudalics  <rudalics@gmx.at>
76659         Try to improve text on atomic windows in Elisp manual
76661         * doc/lispref/windows.texi (Deleting Windows): Mention how
76662         'delete-window' and 'delete-other-windows' handle atomic
76663         windows.  Minor rewrite.
76664         (Quitting Windows): Mention how 'quit-restore-window' handles
76665         atomic windows and that it tries to avoid raising an error.
76666         (Atomic Windows): Tell how to dissolve atomic windows.
76668 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
76670         Don't recommend insert-before-markers in process filters
76672         See <https://lists.gnu.org/r/emacs-devel/2019-05/msg00062.html> and
76673         Bug#35334.
76674         * doc/lispref/processes.texi (Filter Functions): Go back to using
76675         plain insert in the example filter.  Add note about updating window
76676         point.
76678 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
76680         Disable byte-compile-cond-use-jump-table (Bug#35770)
76682         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table): Set
76683         to nil by default.
76685         Don't merge to master, the bug is already fixed there.
76687 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
76689         Allow macros autoloaded as functions during bytecomp (Bug#36022)
76691         * lisp/emacs-lisp/bytecomp.el (byte-compile-callargs-warn): Don't pass
76692         symbols which don't have a known definition to
76693         byte-compile--function-signature, it fails to compile code which
76694         previously compiled successfully (for example, gnus.el until
76695         2019-06-01 "* lisp/gnus/gnus.el: Mark autoloaded macros as such" which
76696         autoloads some macros as if they were functions).
76698 2019-06-15  Glenn Morris  <rgm@gnu.org>
76700         * lisp/gnus/gnus.el: Mark autoloaded macros as such.
76702         This avoids a build failure.
76704 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
76706         Speed up redisplay of HELLO
76708         * etc/HELLO: Set 'inhibit-compacting-font-caches' non-nil
76709         locally.  (Bug#36032)
76711         * lisp/files.el: Add 'inhibit-compacting-font-caches' to the
76712         list of built-in variables for which we set up
76713         'safe-local-variable' properties.
76715 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
76717         Improve documentation of 'safe-local-variable' property
76719         * doc/lispref/variables.texi (File Local Variables): Document
76720         how to define 'safe-local-variable' properties for built-in
76721         variables.
76723 2019-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
76725         * lisp/emacs-lisp/package.el: Obey buffer-file-coding-system (bug#35739)
76727         `url-insert-file-contents` saves in buffer-file-coding-system
76728         the coding-system used to decode the contents.  Preserve this
76729         as the contents is moved from buffer to string to buffer, and use
76730         it when saving the contents to file, so as to try and better preserve
76731         the original byte sequence.
76733         (package--buffer-string, package--cs): New functions.
76734         (package--check-signature): Encode `string` if a coding-system
76735         was specified in buffer-file-coding-system.
76736         (package--download-one-archive, package-install-from-archive):
76737         Obey and preserve the buffer-file-coding-system if specified.
76739         Do not merge.
76741 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
76743         Warn about wrong number of args for subrs (Bug#35767)
76745         * lisp/emacs-lisp/bytecomp.el (byte-compile-callargs-warn): Don't
76746         assume byte-compile-fdefinition will return non-nil.
76747         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-warn-wrong-args)
76748         (bytecomp-warn-wrong-args-subr): New tests.
76750 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
76752         Use plain symbols for eieio type descriptors (Bug#29220)
76754         Since Emacs 26, eieio objects use a class record (with circular
76755         references) as the type descriptor of the object record.  This causes
76756         problems when reading back an object from a string, because the class
76757         record is not `eq' to the canonical one (which means that read objects
76758         don't satisfy the foo-p predicate).
76759         * lisp/emacs-lisp/eieio.el (make-instance): As a (partial) fix, set
76760         the record's type descriptor to a plain symbol for the type descriptor
76761         when eieio-backward-compatibility is non-nil (the default).
76762         * lisp/emacs-lisp/eieio-core.el (eieio--object-class): Call
76763         eieio--class-object on the type tag when eieio-backward-compatibility
76764         is non-nil.
76765         (eieio-object-p): Use eieio--object-class instead of
76766         eieio--object-class-tag.
76767         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
76768         (eieio-test-persist-hash-and-vector)
76769         (eieio-test-persist-interior-lists): Make into functions.
76770         (eieio-persist-hash-and-vector-backward-compatibility)
76771         (eieio-persist-hash-and-vector-no-backward-compatibility)
76772         (eieio-test-persist-interior-lists-backward-compatibility)
76773         (eieio-test-persist-interior-lists-no-backward-compatibility): New
76774         tests which call them, eieio-backward-compatibility let-bound.
76776 2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>
76778         Pacify GCC 9 -Wredundant-decls
76780         * src/gmalloc.c (_fraghead) [!HYBRID_MALLOC]:
76781         Make it static in this case, too.  This avoids having both
76782         ‘extern struct list _fraghead[];’ and
76783         ‘static struct list _fraghead[BLOCKLOG];’, which
76784         GCC 9 complains about.
76786 2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>
76788         Pacify librsvg 2.45.1 and later
76790         * src/image.c (svg_load_image): Pacify librsvg 2.45.1 and later,
76791         and add a FIXME comment about the deprecated librsvg functions.
76792         Backport from master.
76794 2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>
76796         Simplify xd_signature to pacify GCC 9
76798         * src/dbusbind.c (xd_signature): Use simpler way to set up
76799         the subsignature.  This also pacifies GCC 9 on Fedora 30 x86-64.
76800         Backport from master.
76802 2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>
76804         Pacify GCC when compiling unexelf.c on Fedora 30
76806         * src/unexelf.c (unexec): Pacify GCC 9.
76808 2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>
76810         Suppress GCC 9 “no longer supported” messages
76812         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wchkp.
76813         This suppresses a boatload of warnings of the form
76814         “gcc: warning: switch ‘-Wchkp’ is no longer supported”.
76815         when using GCC 9.  Do not merge to master.
76817 2019-06-15  Stefan Kangas  <stefankangas@gmail.com>
76819         Fix docstring of bookmark-get-bookmark
76821         * lisp/bookmark.el (bookmark-get-bookmark): Document optional
76822         argument NOERROR. (bug#20148)
76824 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
76826         Avoid infloop in read-multiple-choice (Bug#32257)
76828         * lisp/emacs-lisp/rmc.el (read-multiple-choice): When `read-char'
76829         signals an error "Non-character input-event", call `read-event' to
76830         take the non-character event out of the queue.  Don't merge to master,
76831         we just use `read-event' directly there, rather than this solution
76832         which relies a particular error message.
76834 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
76836         Improve documentation of decoding into a unibyte buffer
76838         * doc/lispref/nonascii.texi (Explicit Encoding): Document what
76839         happens when DESTINATION of decoding is a unibyte buffer.
76841         * src/coding.c (Fdecode_coding_region)
76842         (Fdecode_coding_string): Document what happens if DESTINATION
76843         is a unibyte buffer.
76845 2019-06-15  Mauro Aranda  <maurooaranda@gmail.com>
76847         Remove redundants "See" before @xref or @pxref (Bug#35793)
76849         * doc/lispref/control.texi (Control Structures):
76850         * doc/lispref/modes.texi (Search-based Fontification):
76851         * doc/misc/cc-mode.texi (Filling and Line Breaking Commands)
76852         (Auto-newline Insertion, Other Special Indentations):
76853         * doc/misc/dbus.texi (Errors and Events):
76854         * doc/misc/dired-x.texi (Find File At Point):
76855         * doc/misc/eudc.texi (Display of Query Results, Inline Query Expansion):
76856         * doc/misc/gnus-faq.texi (FAQ 3-11):
76857         * doc/misc/gnus.texi (Group Parameters, Posting Styles)
76858         (Spam Package Introduction):
76859         * doc/misc/org.texi (LaTeX fragments, Previewing LaTeX fragments):
76860         * doc/misc/reftex.texi (Commands):
76861         Remove redundant "See" before cross references.
76862         * doc/lispref/functions.texi (Function Safety): Redundant "see" is in
76863         ignored text, but remove it anyway.
76864         * doc/lispref/positions.texi (Skipping Characters): Remove redundant
76865         "See" before cross references.  Change @xref to @pxref, which is
76866         more suitable when at the end of a sentence.
76868         Most of the redundants "See" found by Noam Postavsky.
76870 2019-06-15  Dario Gjorgjevski  <dario.gjorgjevski@gmail.com>
76872         Fix customization type of recentf-max-saved-items
76874         Change the customization type of recentf-max-saved-items to include
76875         nil, as it is an allowed value (Bug#35771).
76876         * lisp/recentf.el (recentf-max-saved-items): Change the customization
76877         type in the defcustom.
76879 2019-06-15  Tom Levy  <tomlevy93@gmail.com>  (tiny change)
76881         Fix a typo in ELisp manual
76883         * doc/lispref/sequences.texi (Sequence Functions): Fix a typo.
76884         (Bug#35817)
76886 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
76888         Add option to disable help completion autoloading (Bug#28607)
76890         * lisp/help-fns.el (help-enable-completion-auto-load): New option.
76891         (help--symbol-completion-table): Consult it.
76892         * doc/emacs/building.texi (Lisp Libraries): Document it.
76893         * etc/NEWS: Announce it.
76894         * doc/lispref/loading.texi (Autoload by Prefix): New section.
76895         (Autoload): Reference it.
76897 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
76899         Don't segfault on force-window-update of deleted window
76901         * src/window.c (Fforce_window_update): Do nothing for deleted
76902         windows (Bug#35784).
76904 2019-06-15  Mauro Aranda  <maurooaranda@gmail.com>
76906         Fix typo in ELisp manual
76908         * doc/lispref/variables.texi (Directory Local Variables): Fix typo in
76909         dir-locals-set-class-variables description.  (Bug#35799)
76911 2019-06-15  Mauro Aranda  <maurooaranda@gmail.com>
76913         Remove repeated function call in picture.el
76915         * lisp/textmodes/picture.el (picture-mode-map):  Remove repeated
76916         define-key call.  (Bug#35772)
76918 2019-06-15  Basil L. Contovounesios  <contovob@tcd.ie>
76920         Fix Hideshow key binding typo in Emacs manual
76922         * doc/emacs/programs.texi (Hideshow): Add missing function and key
76923         index entries.  Fix hs-toggle-hiding binding typo. (bug#35798)
76925 2019-06-15  Eric Abrahamsen  <eric@ericabrahamsen.net>
76927         Backport: Fix name of gnus-summary-sort-by-mark(s)
76929         * lisp/gnus/gnus-sum.el (gnus-summary-sort-by-marks): Needs the
76930           "s", according to docs and keymap both. (bug#35765)
76932         (cherry picked from commit 13248f7444630508cfc3b78a07e8d96613af11c8)
76934 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
76936         Remove from docs references to obsolete MULE variables
76938         * src/search.c (search_buffer): Remove obsolete text from a
76939         comment.
76940         * src/fns.c (Fstring_make_unibyte): Remove obsolete text from
76941         a doc string.
76943 2019-06-15  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
76945         Do potentially destructive operations in prepare-commit-msg
76947         * build-aux/git-hooks/prepare-commit-msg: If someone occasionally puts
76948         Signed-off line, it will likely get there through -s option of git.
76949         Exploit this fact to abort before a user got a chance to type commit
76950         message.  (Bug#35368)
76952 2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>
76954         Backport: fix broken build on m68k
76956         The GCC + valgrind fix caused the m68k build to fail (Bug#35711).
76957         Simplify string allocation a bit to make similar problems less
76958         likely in the future.
76959         * src/alloc.c (sdata, SDATA_NBYTES, SDATA_DATA) [GC_CHECK_STRING_BYTES]:
76960         Use the same implementation as with !GC_CHECK_STRING_BYTES,
76961         as the special case is no longer needed.
76962         (SDATA_ALIGN): New constant.
76963         (SDATA_SIZE): Remove this macro, replacing with ...
76964         (sdata_size): ... this new function.  All uses changed.
76965         Properly account for sizes and alignments even in the m68k case,
76966         and even if GC_CHECK_STRING_BYTES is not defined.
76968 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
76970         Handle GNUTLS_E_AGAIN in emacs_gnutls_read (Bug#34341)
76972         Don't merge to master, this has already been fixed there by 2019-01-15
76973         "Fix unlikely races with GnuTLS, datagrams".
76974         * src/gnutls.c (emacs_gnutls_read): Similar to emacs_gnutls_write,
76975         when gnutls_record_recv returns GNUTLS_E_AGAIN set errno to EGAIN.
76977 2019-06-15  Neil Roberts  <bpeeluk@yahoo.co.uk>
76979         Let dir locals for more specific modes override those from less
76981         The list of dir local variables to apply is now sorted by the number
76982         of parent modes of the mode used as the key in the association list.
76983         That way when the variables are applied in order the variables from
76984         more specific modes will override those from less specific modes.
76986         If there are directory entries in the list then they are sorted in
76987         order of name length.  The list of modes for that dir is then
76988         recursively sorted with the same mechanism.  That way variables tied
76989         to a particular subdirectory override those in a parent directory.
76991         Previously the behavior didn’t seem to be well defined anyway and was
76992         dependent on the order they appeared in the file.  However this order
76993         was changed in version 26.1 and it probably also depended on the
76994         number of dir-local files that are merged.
76996         Bug#33400
76998         * lisp/files.el (dir-locals-get-sort-score, dir-locals-sort-variables)
76999         (dir-locals-read-from-dir): Sort the dir locals so that more precise
77000         modes and directory-specific entries have override lesser ones.
77001         * doc/emacs/custom.texi (Directory Variables): Document the priority.
77003 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
77005         Improve documentation of Hexl mode
77007         * doc/emacs/misc.texi (Editing Binary Files): Clarify
77008         "insertion".  Improve wording.  Add a few Hexl commands.
77009         (Bug#35580)
77011 2019-06-15  Alan Mackenzie  <acm@muc.de>
77013         Fix description of (move-to-column <n> t) when column <n> is inside a tab
77015         This fixes bug #35647.  State that when indent-tabs-mode is non-nil, spaces
77016         are inserted before the tab rather than the tab being replaced by spaces.
77018         * doc/lispref/text.texi (columns)
77019         * src/indent.c (move-to-column): Make the above documentation amendment.
77021 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
77023         Recognize single quote attribute values in nxml and sgml (Bug#35381)
77025         * lisp/textmodes/sgml-mode.el (sgml-specials): Add single quote.
77026         (sgml-syntax-propertize-rules): Handle single quote.
77027         * test/lisp/nxml/nxml-mode-tests.el (nxml-mode-font-lock-quotes): New
77028         test.
77029         * test/lisp/textmodes/sgml-mode-tests.el
77030         (sgml-delete-tag-bug-8203-should-not-delete-apostrophe): Now passes.
77032 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
77034         Disable extra display of &#10; in nxml-mode (Bug#32897)
77036         * lisp/nxml/nxml-mode.el (nxml-char-ref-display-extra): Don't put
77037         display for the newline, it makes the indentation look wrong.
77039 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
77041         Fix nxml-get-inside (Bug#32003)
77043         The change from 2016-01-16 "lisp/nxml: Use syntax-tables for comments"
77044         made nxml-get-inside return non-nil for any string or comment,
77045         including attribute strings.  This caused incorrect and therefore
77046         indentation.
77047         * lisp/nxml/nxml-rap.el: Update commentary to reflect changes to
77048         nxml-mode parsing.
77049         (nxml-get-inside): Only return non-nil when inside comments and
77050         generic strings, not normal quote-delimited strings.
77051         * test/lisp/nxml/nxml-mode-tests.el: New tests.
77053 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
77055         Fix positioning client buffer as instructed by emacsclient
77057         * lisp/server.el (server-switch-buffer): Let-bind
77058         switch-to-buffer-preserve-window-point to nil when switching
77059         to the client buffer, when the client requested a specific
77060         position.  (Bug#35602)
77062 2019-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
77064         * etc/package-keyring.gpg: Add the 2019 key (backport)
77066 2019-06-15  Vitalie Spinu  <spinuvit@gmail.com>
77068         Fix incorrect cloning of eieio-instance-inheritor objects (Bug#34840)
77070         * lisp/emacs-lisp/eieio-base.el (clone): Unbound slots of
77071           eieio-instance-inheritor objects as documented in the docs string
77072           and implemented in the original eieio implementation.
77074 2019-06-15  Vitalie Spinu  <spinuvit@gmail.com>
77076         Fix cloning of eieio-named objects (Bug#22840)
77078         * lisp/emacs-lisp/eieio-base.el (clone): Correctly set the name of the
77079           cloned objects from eieio-named instances.
77081 2019-06-15  Basil L. Contovounesios  <contovob@tcd.ie>
77083         Fix ibuffer-unmark-backward synopsis (bug#35572)
77085         * lisp/ibuffer.el (ibuffer-mode): Fix synopsis of
77086         ibuffer-unmark-backward along with other minor copy-edits.
77088 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
77090         Clarify handling of long options (Bug#24949)
77092         * doc/emacs/cmdargs.texi (Emacs Invocation): Note that space can be
77093         used instead of "=" only if an option requires an argument.
77095 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
77097         Improve documentation of the daemon and emacsclient
77099         * doc/emacs/misc.texi (emacsclient Options):
77100         * doc/emacs/cmdargs.texi (Initial Options): Document that
77101         using --daemon=NAME will need to specify the same NAME when
77102         invoking 'emacscilent'.  (Bug#35547)
77104 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
77106         * etc/NEWS.24: Belatedly announce delete-consecutive-dups.
77108 2019-06-15  Glenn Morris  <rgm@gnu.org>
77110         * admin/update_autogen: Handle git worktree.
77112 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
77114         Update process filter example (Bug#35044)
77116         * doc/lispref/processes.texi (Filter Functions): Use
77117         insert-before-markers in the "ordinary" filter example, like
77118         internal-default-process-filter does.
77120 2019-06-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
77122         * src/macfont.m (macfont_shape): Use convenient LGLYPH_NEW.
77124 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
77126         Recommend using font-lock-face over face (Bug#35044)
77128         * doc/lispref/modes.texi (Precalculated Fontification): Explain
77129         advantages of using font-lock-face over face.
77131 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
77133         Check if mouse_face_overlay was deleted (Bug#35273)
77135         * src/xdisp.c (note_mouse_highlight): Check if the mouse_face_overlay
77136         actually points to a buffer, before calling
77137         mouse_face_overlay_overlaps on it.
77139 2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>
77141         Port to platforms where tputs is in libtinfow
77143         * configure.ac (tputs_library): Also try tinfow, ncursesw (Bug#33977).
77145         (cherry picked from commit a3d52b3057c98bce581bc94912ef3ced6fad6f14)
77147 2019-06-15  Glenn Morris  <rgm@gnu.org>
77149         * admin/admin.el (set-version): Check for increase in version length,
77150         rather than a .50 version.
77152 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
77154         Be more careful about indent-sexp going over eol (Bug#35286)
77156         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Only go over multiple
77157         sexps if the end of line is within a sexp.
77158         * test/lisp/emacs-lisp/lisp-mode-tests.el
77159         (indent-sexp-stop-before-eol-comment)
77160         (indent-sexp-stop-before-eol-non-lisp): New tests.
77162 2019-06-15  Basil L. Contovounesios  <contovob@tcd.ie>
77164         Backport: Improve pure and side-effect-free docs
77166         For discussion, see thread starting at:
77167         https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg00316.html
77168         * doc/lispref/customize.texi (Composite Types): Do not overspecify
77169         :match-alternatives predicates.
77170         * doc/lispref/eval.texi (Intro Eval): Anchor definition of "side
77171         effect" for cross-referencing...
77172         * doc/lispref/functions.texi (What Is a Function): ...from here.
77173         Define what a pure function is.
77174         * doc/lispref/internals.texi (Writing Emacs Primitives): Describe
77175         currently preferred approach to marking primitives as pure and
77176         side-effect-free.
77177         * doc/lispref/symbols.texi (Standard Properties): Expand description
77178         of pure and side-effect-free properties.
77180         (cherry picked from commit 4430a9b54fca266e48d0eb8b72d83706910f10b8)
77182 2019-06-15  Basil L. Contovounesios  <contovob@tcd.ie>
77184         Backport: Avoid using obsolete indent-relative-maybe
77186         * lisp/electric.el (electric-indent-functions-without-reindent):
77187         * lisp/indent.el (indent-according-to-mode): Check for
77188         indent-relative-first-indent-point in addition to its obsolete alias
77189         indent-relative-maybe.
77190         * lisp/obsolete/vi.el (vi-com-map): Use
77191         indent-relative-first-indent-point in place of its obsolete alias
77192         indent-relative-maybe.
77194         (cherry picked from commit 0e468a620458fecd003c396050aa6deb722982c1)
77196 2019-06-15  Mauro Aranda  <maurooaranda@gmail.com>
77198         Avoid false positives and false negatives of Info-quoted face
77200         * lisp/info.el (Info-mode-font-lock-keywords): Modify the regexp, for
77201         matching single quotes of opening single quote and closing single
77202         quote, and avoid matching text followed by a curly quote when it is
77203         not quoting. (Bug#35202)
77205 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
77207         Fix markup related to quoting in Info
77209         * doc/misc/sc.texi (Citations): Fix markup of '>'.
77210         * doc/misc/mh-e.texi (Speedbar): Fix markup in a @table.
77211         * doc/misc/calc.texi (Yacas Language Mode): Fix a typo.
77212         * doc/emacs/mark.texi (Setting Mark): Remove duplicate
77213         quoting.  (Bug#35202)
77215 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
77217         Use pkg-config to find lcms2 CFLAGS and LIBS (Bug#30346)
77219         * configure.ac: Use EMACS_CHECK_MODULES fors LCMS2 rather than
77220         AC_SEARCH_LIBS.
77221         * src/Makefile.in: Get LCMS2_LIBS and LCMS2_CFLAGS from configure,
77222         instead of just LIBLCMS2.
77224         (cherry picked from commit cb3863370cbe574810f796726faa39ba0de0a429)
77226 2019-06-15  Glenn Morris  <rgm@gnu.org>
77228         Add a package: line to c-submit-bug-report.
77230         * lisp/progmodes/cc-mode.el (c-submit-bug-report):
77231         Add a Package: line for mail clients that do not support X- headers.
77233 2019-06-15  Glenn Morris  <rgm@gnu.org>
77235         * admin/admin.el (set-version): Add NEWS headers for a .50 version.
77237 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
77239         Backport doc improvement in ELisp manual
77241         * doc/lispref/processes.texi (Accepting Output): Backport:
77242         document how do avoid race conditions while waiting for all of
77243         the process's output to arrive.
77245 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
77247         Document insert-image-file's return value (Bug#32978)
77249         * lisp/image-file.el (insert-image-file): Document return value.
77251 2019-06-15  Braun Gábor  <braungb88@gmail.com>  (tiny change)
77253         Autoload cua-toggle-rectangle-mark (Bug#34947)
77255         * lisp/emulation/cua-base.el (cua-toggle-rectangle-mark): Autoload it.
77256         Library cua-base.el binds cua-toggle-rectangle-mark to a key in the
77257         :set function in (defcustom cua-rectangle-mark-key ...), so it should
77258         ensure that the command is defined.
77260 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
77262         Tell xclip not to expect job-control under eshell (Bug#35257)
77264         * lisp/eshell/esh-proc.el (eshell-needs-pipe): Add "xclip" and other
77265         programs that xclip.el (in GNU ELPA) calls with
77266         `process-connection-type' bound to nil.
77268 2019-06-15  Basil L. Contovounesios  <contovob@tcd.ie>
77270         Fix off-by-one-link error in image--set-property
77272         * lisp/image.el (image--set-property): Ensure new value is set even
77273         in the unlikely case that the plist is empty.  Fix off-by-one-link
77274         error when deleting a property. (bug#35285)
77275         * test/lisp/image-tests.el: New file.
77276         (image--set-property): New test.
77278 2019-06-15  Glenn Morris  <rgm@gnu.org>
77280         * admin/admin.el (make-manuals-dist--1):
77281         Update for incompatible copy-file change re "directories".
77283 2019-06-15  Robert Pluim  <rpluim@gmail.com>
77285         Document some compilation-mode faces
77287         * doc/emacs/building.texi (Compilation Mode): Describe faces
77288         available to affect appearance of compilation-mode buffers.
77290 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
77292         Mention the assignment form in "Copyright Assignment"
77294         * doc/emacs/trouble.texi (Copyright Assignment): Mention the
77295         copyright assignment form explicitly.  Suggested by Konstantin
77296         Kharlamov <hi-angel@yandex.ru>.
77298 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
77300         Fix confusing wording in the user manual
77302         * doc/emacs/maintaining.texi (VC Undo): Remove a potentially
77303         inaccurate, outdated, and/or confusing sentence.  (Bug#35290)
77305 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
77307         Fix the MSDOS build when running under CWSDPMI
77309         * src/msdos.c (the_only_tty_output): Define.
77310         * src/msdos.h (the_only_tty_output): Declare.
77311         * src/frame.c (make_terminal_frame) [MSDOS]:
77312         * src/dispnew.c (init_display) [MSDOS]: Set up
77313         f->output_data.tty pointer using the_only_tty_output, before
77314         dereferencing the pointer.  This prevents crashes with DPMI
77315         servers that provide NULL pointer protection.
77317 2019-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
77319         * lisp/progmodes/python.el: Be more careful about temp file removal
77321         (python-shell-prompt-detect): Use unwind-protect to try and not leave
77322         file behind in case of error.
77324 2019-06-15  Alexander Gramiak  <agrambot@gmail.com>
77326         Backport: Plug memory leak in GTK x-display-monitor-attributes-list
77328         * src/frame.c (free_monitors) [USE_GTK]: Define in the GTK case as
77329         well.
77331         * src/xfns.c (x-display-monitor-attributes-list) [USE_GTK]: Plug
77332         memory leak. Use dupstring over xstrdup as gdk_monitor_get_model may
77333         return NULL.
77335 2019-06-15  Alexander Gramiak  <agrambot@gmail.com>
77337         Backport: * lisp/frame.el (frame--size-history): Fix infloop. (Bug#35272)
77339 2019-06-15  Robert Pluim  <rpluim@gmail.com>
77341         Downcase charset
77343         RFC 2046 specifies that the charset parameter is case-insensitive.
77345         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-with-decoded-handle):
77346         Downcase charset.  Suggested by Christophe TROESTLER
77347         <Christophe.TROESTLER@umons.ac.be>.  (Bug#35265).
77349 2019-06-15  Phillip Lord  <phillip.lord@russet.org.uk>
77351         Update for Emacs-26
77353         * nt/README.W32: Update details about packaging which changed for
77354           Emacs-26.
77356 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
77358         * doc/lispref/display.texi (Showing Images): Fix a typo.  (Bug#35240
77360 2019-06-15  Nicolas Petton  <nicolas@petton.fr>
77362         Bump Emacs version to 26.2
77364         * README:
77365         * configure.ac:
77366         * msdos/sed2v2.inp:
77367         * nt/README.W32: Bump Emacs version to 26.2.
77369 2019-06-15  Nicolas Petton  <nicolas@petton.fr>
77371         * etc/HISTORY: Update for Emacs 26.2 release.
77373         * etc/AUTHORS: Update.
77374 2019-05-25  Eric S. Raymond <esr@thyrsus.com>
77376         Implement and document XDG-style startup files under ~/.config.
77378         * lisp/startup.el (command-line): Allow XDG-style as well as old
77379         style paths.
77380         * doc/emacs/custom.texi: Document the above change.
77382 2019-04-11  Eli Zaretskii  <eliz@gnu.org>
77384         Improve documentation of 'read-command'
77386         * src/minibuf.c (Fread_command): Document the return value
77387         when DEFAULT-VALUE is nil and the user enters nothing.
77388         * doc/lispref/minibuf.texi (High-Level Completion): Document
77389         the printed representation of a symbol whose name is empty.
77390         (Bug#3522)
77392 2019-04-11  Eli Zaretskii  <eliz@gnu.org>
77394         Fix an outdated URL in a comment
77396         * src/emacs.c: Fix reference to Cocoa CoreFoundation Release
77397         Notes.  (Bug#35225)
77399 2019-04-11  Basil L. Contovounesios  <contovob@tcd.ie>
77401         Backport: Fix comment-empty-lines docstring (bug#35152)
77403         * lisp/newcomment.el (comment-empty-lines): Consistently use US
77404         commas in docstring.  Fix indentation of and typo in custom :type.
77406         (cherry picked from commit 690c678fb6c1fb5b2f828f9bb90782bd0b01c399)
77408 2019-04-11  Alex Branham  <alex.branham@gmail.com>
77410         Backport: Update documentation for indent-relative functions
77412         * lisp/indent.el (indent-relative): Document what happens when there
77413           is no previous nonblank line.
77414         * doc/lispref/text.texi (Relative Indent): Document
77415           indent-relative-first-indent-point instead of obsolete
77416           indent-relative-maybe. Fix documentation of which argument from
77417           'indent-relative' is used.
77419         Bug#34858
77421         (cherry picked from commit 10cd65878c741d2a22a1f2c36c54fcad4e516f72)
77423 2019-04-11  Noam Postavsky  <npostavs@gmail.com>
77425         Update nxml-mode.texi: completion now gives xmlns="-!-"
77427         * doc/misc/nxml-mode.texi (Completion): As of 2016-01-16 "* lisp/nxml:
77428         Use standard completion; it also works for company-mode", completing
77429         an attribute when there is only one candidate inserts both quotes.
77430         Update the example accordingly.
77432 2019-04-10  Eric Abrahamsen  <eric@ericabrahamsen.net>
77434         Note that choose-completion-string-functions funcs take four args
77436         * lisp/simple.el (choose-completion-string-functions): Functions in
77437           this list actually need to accept four arguments, though the fourth
77438           should be ignored.
77440 2019-04-10  Gemini Lasswell  <gazally@runbox.com>
77442         Address name conflicts in EIEIO documentation (bug#31660)
77444         * doc/misc/eieio.texi (Quick Start): Rename the class used in the
77445         example from 'record' to 'person'.
77446         (Building Classes): Advise user to check for name conflicts before
77447         naming a class.  Add a missing apostrophe.
77448         (Making New Objects): Correct grammar.  Rename the class used in the
77449         example from 'record' to 'my-class'.
77451 2019-04-09  Mattias Engdegård  <mattiase@acm.org>
77453         Clarify the TESTFN argument to `alist-get'
77455         * lisp/subr.el (alist-get):
77456         Rephrase the initial text to clarify the meaning of the TESTFN argument.
77457         It's an equality predicate, not a look-up function (Bug#35206).
77459         (cherry picked from commit c81465580fe262f28ce47502c00f4afcbe3b8f8d)
77461 2019-04-08  Eli Zaretskii  <eliz@gnu.org>
77463         * src/editfns.c (Fnarrow_to_region): Doc fix.  (Bug#35163)
77465 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
77467         Fix doc strings of 'vc-version-diff' and 'vc-version-ediff'
77469         * lisp/vc/vc.el (vc-version-diff, vc-version-ediff): Describe
77470         arguments in the doc strings.  (Bug#35019)
77472 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
77474         Improve documentation of set-window-start
77476         * doc/lispref/windows.texi (Window Start and End):
77477         * src/window.c (Fset_window_start): Document that reliable
77478         setting of a window start position requires to adjust point to
77479         be visible.  (Bug#34038)
77481 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
77483         Improve documentation of window parameters
77485         * doc/lispref/windows.texi (Cyclic Window Ordering): Describe
77486         the effect of the 'other-window' window parameter.
77487         (Window Parameters): Improve the descriptions of window
77488         parameters.  Move the detailed description of the
77489         'quit-restore' window parameter from here...
77490         (Quitting Windows): ...to here.  (Bug#35063)
77492 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
77494         Improve commentary in frame.el
77496         * lisp/frame.el: Improve commentary for display-* functions.
77497         (Bug#35058)
77499 2019-04-06  Mauro Aranda  <maurooaranda@gmail.com>
77501         Fix typo in a doc string
77503         * lisp/autorevert.el (global-auto-revert-mode): Fix a typo.
77504         (Bug#35165)
77506 2019-03-20  Paul Eggert  <eggert@cs.ucla.edu>
77508         Say which regexp ranges should be avoided
77510         * doc/lispref/searching.texi (Regexp Special): Say that
77511         regular expressions like "[a-m-z]" and "[[:alpha:]-~]" should
77512         be avoided, for the same reason that regular expressions like
77513         "+" and "*" should be avoided: POSIX says their behavior is
77514         undefined, and they are confusing anyway.  Also, explain
77515         better what happens when the bound of a range is a raw 8-bit
77516         byte; the old explanation appears to have been obsolete
77517         anyway.  Finally, say that ranges like "[\u00FF-\xFF]" that
77518         mix non-ASCII characters and raw 8-bit bytes should be
77519         avoided, since it’s not clear what they should mean.
77521 2019-03-20  Nicolas Petton  <nicolas@petton.fr>
77523         * etc/AUTHORS: Update.
77525         * ; ChangeLog.3 update
77527 2019-03-20  Eli Zaretskii  <eliz@gnu.org>
77529         Improve indexing of the user manual
77531         * doc/emacs/search.texi (Word Search): Improve indexing of
77532         "M-s M-w".
77534 2019-03-19  Basil L. Contovounesios  <contovob@tcd.ie>
77536         Fix url-copy-file arglist
77538         * lisp/url/url-handlers.el: Silence byte-compiler.
77539         (url-copy-file): Add 6th argument following change to copy-file in
77540         2012-12-16T19:22:27+01:00!romain@orebokech.com. (bug#4410)
77542 2019-03-19  Eli Zaretskii  <eliz@gnu.org>
77544         Fix downloading updates for packages with non-ASCII descriptions
77546         * lisp/emacs-lisp/package.el (package--download-one-archive):
77547         Make sure archive contents are written using UTF-8 encoding.
77548         (Bug#34909)
77549         (list-packages): Set buffer's encoding to UTF-8.
77551 2019-03-18  Nicolas Petton  <nicolas@petton.fr>
77553         * etc/NEWS: Remove temporary markers.
77555 2019-03-15  Alan Mackenzie  <acm@muc.de>
77557         * doc/misc/cc-mode.texi (Config Basics): in @itemize, @asis -> @w{}
77559 2019-03-15  Eli Zaretskii  <eliz@gnu.org>
77561         Don't clobber 'comint-input-autoexpand' in 'read-shell-command'
77563         * lisp/shell.el (shell-completion-vars): Set only the
77564         buffer-local value of 'comint-input-autoexpand'.  (Bug#34815)
77566 2019-03-13  Martin Rudalics  <rudalics@gmx.at>
77568         Document restrictions when setting window margins, fringes or scroll bars
77570         * src/window.c (Fset_window_margins, Fset_window_fringes)
77571         (Fset_window_scroll_bars): In doc-strings tell that a window
77572         must be large enough to accommodate fringes, sroll bars and
77573         margins of the desired size.
77574         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
77575         (Display Margins): Tell that windows must be large enough to
77576         accommodate fringes, sroll bars and margins of the desired
77577         size.
77579 2019-03-10  Eli Zaretskii  <eliz@gnu.org>
77581         More improvements for 'read-buffer's doc string
77583         * src/minibuf.c (Fread_buffer): Further improve the doc
77584         string.  (Bug#347694)
77586 2019-03-10  Alan Mackenzie  <acm@muc.de>
77588         * lisp/progmodes/cc-defs.el: Update c-version to 5.33.2 for Emacs 26.2
77590 2019-03-09  Eli Zaretskii  <eliz@gnu.org>
77592         * src/minibuf.c (Fread_buffer): Minor doc fixes.  (Bug#34749)
77594 2019-03-09  Eli Zaretskii  <eliz@gnu.org>
77596         Fix markup of fake keys in the ELisp manual
77598         * doc/lispref/keymaps.texi (Menu Bar, Tool Bar): Fix markup of
77599         fake keys.  (Bug#34785)
77601 2019-03-09  Eli Zaretskii  <eliz@gnu.org>
77603         Avoid errors in Auto Revert mode
77605         * lisp/autorevert.el (auto-revert-buffers): Cancel
77606         auto-revert-timer only if it is non-nil.  This avoids errors
77607         on first invocation of Auto-Revert mode.
77609 2019-03-09  Michael Albinus  <michael.albinus@gmx.de>
77611         Mention empty strings in file name expansion, emacs lisp reference
77613         * doc/lispref/files.texi (Files, File Name Expansion):
77614         Mention also empty strings.
77616 2019-03-08  Alan Mackenzie  <acm@muc.de>
77618         cc-mode.texi: Work around makeinfo alignment bug.  Fix problem with ss index
77620         * doc/misc/cc-mode.texi (top level): Using txicommandconditionals to
77621         differentiate between the C and perl versions of Texinfo, create an "ss
77622         index" unless we are both using the C Texinfo and are building the .dvi output
77623         format.
77624         (Config Basics): Work around a perl Texinfo alignment bug by writing a
77625         separate version of an item list structure for this version, simplifying it
77626         considerably.
77628 2019-03-08  Martin Rudalics  <rudalics@gmx.at>
77630         Warn against recursive invocations of 'buffer-list-update-hook' (Bug#34765)
77632         * src/buffer.c (Vbuffer_list_update_hook):
77633         * doc/lispref/buffers.texi (Buffer List): Warn against
77634         recursive invocations of 'buffer-list-update-hook' (Bug#34765).
77636 2019-03-08  Martin Rudalics  <rudalics@gmx.at>
77638         Provide more details in doc-string of 'delete-windows-on' (Bug#34749)
77640         * lisp/window.el (delete-windows-on): Provide more details in
77641         doc-string (Bug#34749).
77643 2019-03-08  Eli Zaretskii  <eliz@gnu.org>
77645         Improve documentation of 'delete-windows-on'
77647         * doc/emacs/windows.texi (Change Window): Document
77648         'delete-windows-on'.
77650         * lisp/window.el (delete-windows-on): Doc fix.  (Bug#34749)
77652 2019-03-08  Eli Zaretskii  <eliz@gnu.org>
77654         * lisp/frame.el (make-frame-command): Doc fix.  (Bug#34715)
77656 2019-03-07  Eli Zaretskii  <eliz@gnu.org>
77658         Avoid undefined behavior in gdb-mi.el
77660         * lisp/progmodes/gdb-mi.el (gdb-send): Don't call match-string
77661         if this is not a control command.  (Bug#34769)
77663 2019-03-06  Martin Rudalics  <rudalics@gmx.at>
77665         * lisp/window.el (fit-frame-to-buffer): Make doc-string more accurate.
77667 2019-03-05  Basil L. Contovounesios  <contovob@tcd.ie>
77669         Minor spelling and grammar fixes (bug#34756)
77671         doc/misc/cc-mode.texi (Style Variables, Customizing Indentation):
77672         doc/misc/ede.texi (Extending EDE, ede-project-placeholder)
77673         (ede-target, ede-proj-target, ede-compilation-program, ede-compiler)
77674         (ede-linker): Remove apostrophe from possessive "it's".
77675         doc/lispintro/emacs-lisp-intro.texi (Find a File):
77676         doc/misc/gnus-faq.texi (FAQ 2-2): Write "an other" as a single word.
77677         doc/misc/gnus.texi (Article Buttons):
77678         lisp/gnus/gnus-art.el (gnus-button-mid-or-mail-heuristic-alist)
77679         (gnus-button-mid-or-mail-heuristic): Write singular number of
77680         Message-IDs, rather than plural.
77681         lisp/gnus/message.el (message-user-fqdn): Capitalize initialism.
77683 2019-03-04  Eli Zaretskii  <eliz@gnu.org>
77685         Minor improvement of documentation of '(when CONDITION . SPEC)'
77687         * doc/lispref/display.texi (Other Display Specs): Add a caveat
77688         to using the '(when CONDITION . SPEC)' display specs.
77690 2019-03-02  Eli Zaretskii  <eliz@gnu.org>
77692         Improve documentation of 'auto-coding-functions'
77694         * doc/lispref/nonascii.texi (Default Coding Systems): Clarify
77695         that the functions in 'auto-coding-functions' are called both
77696         for decoding and for encoding.
77698         * lisp/international/mule.el (auto-coding-functions): Doc fix.
77700 2019-03-02  Eli Zaretskii  <eliz@gnu.org>
77702         Fix visiting XML files with non-Unix EOL format
77704         * lisp/international/mule.el (sgml-xml-auto-coding-function)
77705         (sgml-html-meta-auto-coding-function): Don't use
77706         'buffer-file-coding-system' if the buffer is unibyte.
77707         (Bug#34704)
77709 2019-03-02  Basil L. Contovounesios  <contovob@tcd.ie>
77711         Update example major mode code in Elisp manual
77713         * doc/lispref/modes.texi (Example Major Modes): Update code examples
77714         to reflect current state of lisp/textmodes/text-mode.el and
77715         lisp/emacs-lisp/lisp-mode.el. (bug#34671)
77717 2019-03-01  Eli Zaretskii  <eliz@gnu.org>
77719         Fix a typo in the Calc manual
77721         * doc/misc/calc.texi (Algebraic Tutorial): Fix parentheses in
77722         @example.  (Bug#34689)
77724 2019-03-01  Eli Zaretskii  <eliz@gnu.org>
77726         Minor improvement in cross-references of the ELisp manual
77728         * doc/lispref/modes.texi (Minor Mode Conventions): Add
77729         cross-references to related major-mode descriptions.  (Bug#34678)
77731 2019-03-01  Tobias Bading  <tbading@web.de>  (tiny change)
77733         Fix last change on 'compilation-parse-errors'
77735         * lisp/progmodes/compile.el (compilation-parse-errors): Fix
77736         previous change in this function.  (Bug#34479)
77738 2019-02-25  Dmitry Gutov  <dgutov@yandex.ru>
77740         Backport: js--re-search-backward-inner: Fix infloop
77742         Fix JS indentation infloop reported in
77743         https://github.com/mooz/js2-mode/issues/513.
77745         * lisp/progmodes/js.el (js--re-search-backward-inner): Account for
77746         multiline string literals.
77747         * test/manual/indent/js.js: New test example.
77749         (cherry picked from commit b01a4295c2f9bb58858880e4e28b05cc8396791c)
77751 2019-02-23  Eli Zaretskii  <eliz@gnu.org>
77753         Minor improvement for docs of completion
77755         * doc/lispref/minibuf.texi (Completion Commands)
77756         (Completion in Buffers, Programmed Completion): Add to text
77757         that references completion tables a cross-reference to where
77758         "completion table" is described.
77759         (Programmed Completion): Fix the description of
77760         'completion-table-dynamic'.  Add more cross-references.
77762 2019-02-22  Ken Brown  <kbrown@cornell.edu>
77764         Disable the timerfd interface on Cygwin
77766         * configure.ac (emacs_cv_have_timerfd): Set to "no" on Cygwin.
77768 2019-02-22  Eli Zaretskii  <eliz@gnu.org>
77770         Fix a typo in the doc string of 'regex-opt'
77772         * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix example in
77773         the doc string.  (Bug#34596)
77775 2019-02-21  Michael Albinus  <michael.albinus@gmx.de>
77777         Document bash 5.0.0 misbehavior in tramp.texi (Bug#34192)
77779         * doc/misc/tramp.texi (Frequently Asked Questions): Warn about
77780         bash 5.0.0 and HISTSIZE=0.  (Bug#34192)
77782 2019-02-20  Nicolas Petton  <nicolas@petton.fr>
77784         Bump Emacs version to 26.1.92
77786         * README:
77787         * configure.ac:
77788         * msdos/sed2v2.inp:
77789         * nt/README.W32: Bump Emacs version to 26.1.92.
77791 2019-02-20  Nicolas Petton  <nicolas@petton.fr>
77793         * ; ChangeLog.3 update
77795         * etc/AUTHORS: Update.
77797 2019-02-20  Glenn Morris  <rgm@gnu.org>
77799         Remove .art from the default list of ImageMagick extensions
77801         It seems that .art files can be non-image files that
77802         ImageMagick mistakenly treats as extremely large images.
77803         Real .art images seem rare.
77804         * lisp/image.el (imagemagick-enabled-types): Remove ART.  (Bug#22289)
77806 2019-02-19  Eli Zaretskii  <eliz@gnu.org>
77808         Fix input after setting x-wait-for-event-timeout nil
77810         * src/w32term.c (x_make_frame_visible): Call unblock_input
77811         before returning early.  (Bug#34575)
77813 2019-02-19  Martin Rudalics  <rudalics@gmx.at>
77815         Fix two warnings in eshell.texi
77817         * doc/misc/eshell.texi (Built-ins, Globbing): Fix `.' or `,'
77818         must follow @xref, not `f' warnings.
77820 2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
77822         * lisp/minibuffer.el (completion-table-dynamic): Improve docstring
77824 2019-02-18  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)
77826         * lisp/emacs-lisp/debug.el (debug-on-variable-change): Doc fix.  (Bug#34518)
77828 2019-02-17  Eli Zaretskii  <eliz@gnu.org>
77830         Fix a typo in ELisp manual
77832         * doc/lispref/abbrevs.texi (Abbrev Table Properties): Fix a
77833         typo.  (Bug#34508)
77835 2019-02-16  Paul Eggert  <eggert@cs.ucla.edu>
77837         Update citations of Internet RFCs
77839         For example, RFC 822 has been obsoleted by RFC 2822, which in
77840         turn has been obsoleted by RFC 5322.
77841         * doc/emacs/ack.texi, doc/lispref/os.texi:
77842         * doc/misc/emacs-mime.texi, doc/misc/gnus-coding.texi:
77843         * doc/misc/gnus.texi, doc/misc/sc.texi:
77844         * lisp/calendar/parse-time.el, lisp/gnus/gnus-cite.el:
77845         * lisp/gnus/gnus-util.el, lisp/gnus/message.el:
77846         * lisp/gnus/mm-bodies.el, lisp/gnus/nnrss.el:
77847         * lisp/mail/feedmail.el, lisp/mail/ietf-drums.el:
77848         * lisp/mail/mail-extr.el, lisp/mail/mail-utils.el:
77849         * lisp/mail/mailclient.el, lisp/mail/mailheader.el:
77850         * lisp/mail/rfc2047.el, lisp/mail/rfc822.el, lisp/mail/rmail.el:
77851         * lisp/mail/sendmail.el, lisp/mail/smtpmail.el:
77852         * lisp/mail/supercite.el, lisp/mh-e/mh-e.el:
77853         * lisp/mh-e/mh-utils.el, lisp/net/imap.el:
77854         * lisp/net/newst-backend.el, lisp/org/org-id.el:
77855         * lisp/ps-samp.el, lisp/simple.el, lisp/url/url-util.el:
77856         Update RFC citations.
77858 2019-02-16  Eli Zaretskii  <eliz@gnu.org>
77860         Fix handling of manpage references divided by hyphenation
77862         * lisp/man.el (Man-reference-regexp): Accept a newline as part
77863         of a manpage name only if it's preceded by a hyphen.  (Bug#34286)
77864         (Man-translate-references): Adapt to change in
77865         'Man-reference-regexp'.
77866         (Man-default-man-entry): Support references divided between
77867         two lines by an ASCII hyphen.  This is a left-over from fixing
77868         bug#6289.
77870 2019-02-16  Gregor Zattler  <telegraph@gmx.net>  (tiny change)
77872         * doc/misc/eshell.texi: Fix some @ref's.
77874 2019-02-16  Eli Zaretskii  <eliz@gnu.org>
77876         Fix a typo in lispref/syntax.texi
77878         * doc/lispref/syntax.texi (Syntax Table Internals): Fix a
77879         typo.  (Bug#34495)
77881 2019-02-15  Victor J. Orlikowski  <vjo@duke.edu>  (tiny change)
77883         Avoid errors in erc-dcc.el when erc-dcc-verbose is non-nil
77885         * lisp/erc/erc-dcc.el (erc-dcc-get-filter): Don't assume STR
77886         is always a string.  Use 'buffer-name' to get the DCC file
77887         name, as buffer-file-name is not set in the process buffer.
77889 2019-02-15  Daniel Lopez  <daniel.lopez999@gmail.com>  (tiny change)
77891         Fix faces in compilation messages
77893         * lisp/progmodes/compile.el (compilation-parse-errors): Don't
77894         clobber the value of TYPE inside the loop.  (Bug#34479)
77896 2019-02-15  Gregor Zattler  <telegraph@gmx.net>
77898         * doc/misc/eshell.texi (Built-ins): Fix alias description
77900         Dear eamcs developers, eshells current documentation first states
77901         that alias definitions are not saved to an alias file, later that
77902         they are saved to an alias file.  I tested it and the latter is
77903         correct.
77905         Please find attached a patch which fixes this.
77907         Thanks for working on emacs which is really great, Gregor
77909         >From 1fe51cc769ab7a30d0896fb3d6105c0561243fa7 Mon Sep 17 00:00:00 2001
77910         From: Gregor Zattler <telegraph@gmx.net>
77911         Date: Wed, 13 Feb 2019 20:19:38 +0100
77912         Subject: * doc/misc/eshell.texi (Built-ins): Fix alias description.
77914         Bring description of built-in 'alias' in line with (info "(eshell) Aliases"),
77915         which describes the actual behaviur.
77917         (cherry picked from commit a48099ce7ff63cda416a870766fe61f5b8ac7c2c)
77919 2019-02-14  Katsumi Yamaoka  <yamaoka@jpl.org>
77921         Work for empty MIME attachments (related to bug#34387)
77923         * lisp/gnus/mm-view.el (mm-inline-text):
77924         Make undisplayer do nothing if the part is empty.
77926         * lisp/gnus/mm-decode.el (mm-copy-to-buffer): Work for empty MIME part.
77927         * lisp/gnus/mml.el (mime-to-mml): Ditto.
77929 2019-02-14  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
77931         Backport: js-indent-align-list-continuation: Make variable safe
77933         * lisp/progmodes/js.el (js-indent-align-list-continuation): Indicate
77934         variable is safe as a file-local variable.  This fixes the
77935         js-indent-align-list-continuation-nil test when run with make.
77937         (cherry picked from commit dd319f2711f895eec87c1017b82cd9d88d9ecd0a)
77939 2019-02-13  Eli Zaretskii  <eliz@gnu.org>
77941         Avoid crashes upon C-g in nested invocations of 'read_char'
77943         * src/keyboard.c (read_char, read_event_from_main_queue):
77944         Ensure the global value of getcjmp is restored when the stack
77945         is unwound by the likes of 'throw', by calling
77946         record_unwind_protect_ptr instead of restoring the value
77947         manually.  (Bug#34394)
77948         (restore_getcjmp): Argument is now 'void *', to match the
77949         signature of record_unwind_protect_ptr.
77951         (cherry picked from commit 10527fca66e39d7067986904161fa33741abcd26)
77953 2019-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
77955         * src/data.c (Fmake_local_variable): Fix bug#34318
77957         Revert part of ed962f2b8a.
77959         * test/src/data-tests.el (data-tests-make-local-forwarded-var):
77960         Add corresponding test.
77962 2019-02-12  Eli Zaretskii  <eliz@gnu.org>
77964         Minor fixes in ELisp manual wrt syntax-table properties
77966         * doc/lispref/syntax.texi (Syntax Properties): Fix reference
77967         to syntax-table properties.  (Bug#34455)
77968         (Control Parsing): Remove redundant @vindex entry.
77970 2019-02-12  Michael Albinus  <michael.albinus@gmx.de>
77972         * admin/notes/emba: New file.
77974 2019-02-11  Eli Zaretskii  <eliz@gnu.org>
77976         Fix Hunspell invocation for discovering its dictionaries
77978         * lisp/textmodes/ispell.el
77979         (ispell-find-hunspell-dictionaries): Invoke Hunspell with the
77980         -a switch, to prevent it from initializing its curses UI.
77981         (Bug#34272)
77983 2019-02-08  Eli Zaretskii  <eliz@gnu.org>
77985         Minor improvements to do strings in callproc.c
77987         * src/callproc.c (Fcall_process, Fcall_process_region): Minor
77988         fixes to doc strings.  Suggested by Nicholas Drozd
77989         <nicholasdrozd@gmail.com>.  (Bug#34274)
77991 2019-02-08  Eli Zaretskii  <eliz@gnu.org>
77993         Improve documentation of 'date-to-time' and 'parse-time-string'
77995         * doc/lispref/os.texi (Time Parsing): Document
77996         'parse-time-string', and refer to it for the description of
77997         the argument of 'date-to-time'.
77999         * lisp/calendar/time-date.el (date-to-time): Refer in the doc
78000         string to 'parse-time-string' for more information about the
78001         format of the DATE argument.  (Bug#34303)
78003 2019-02-08  Nick Drozd  <nicholasdrozd@gmail.com>
78005         Fix downloading of URLs that end in a slash
78007         * lisp/net/eww.el (eww-download-callback): Fix download URL
78008         file name.  Previously this wasn't handling download URLs
78009         correctly, resulting in all downloaded pages being named
78010         "!", "!(1)", etc.  (Bug#34291)
78012 2019-02-08  Nick Drozd  <nicholasdrozd@gmail.com>
78014         * doc/misc/eww.texi (Basics): Fix eww keybindings.  (Bug#34291)
78016 2019-02-08  Robert Pluim  <rpluim@gmail.com>
78018         Fix process-thread docstring
78020         * src/process.c (Fprocess_thread): Correct docstring.
78022 2019-02-08  Eli Zaretskii  <eliz@gnu.org>
78024         Fix failures of vc-find-revision with non-ASCII file names
78026         * lisp/vc/vc.el (vc-find-revision): Instead of binding
78027         coding-system-for-write, make the buffer-file-coding-system of
78028         the temporary buffer be no-conversion.  This avoids the
78029         unwanted side effect of not encoding the command-line
78030         arguments of the VCS commands invoked by the backend.
78031         (Bug#34350)
78033 2019-02-07  Eli Zaretskii  <eliz@gnu.org>
78035         * doc/lispref/tips.texi (Documentation Tips): Fix quotes.  (Bug#34372)
78037 2019-02-05  Alex Branham  <alex.branham@gmail.com>
78039         Add documentation for tabulated-list functions in the elisp manual
78041         * doc/lispref/modes.texi: Add documentation for
78042           'tabulated-list-delete-entry', 'tabulated-list-get-id',
78043           'tabulated-list-get-entry', 'tabulated-list-header-overlay-p',
78044           'tabulated-list-put-tag', and 'tabulated-list-set-col'.
78046         Bug#21074
78048 2019-02-03  Jean-Christophe Helary  <brandelune@gmail.com>
78050         Fix URL in ucs-normalize.el
78052         * lisp/international/ucs-normalize.el: Fix URL of the HFS
78053         normalization reference.  (Bug#34300)
78055 2019-02-03  Alan Mackenzie  <acm@muc.de>
78057         * etc/PROBLEMS: Amend entry for profiler bug #34235 to mention kernel 4.14.97
78059 2019-02-02  Glenn Morris  <rgm@gnu.org>
78061         * make-dist: Remove references to src/stamp-h.in.
78063         This file was removed two years ago in 2f89350.
78064         No need to merge to master.
78066 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
78068         * etc/PROBLEMS: Mention profiler-report bug (Bug#34235).
78070 2019-02-01  Eli Zaretskii  <eliz@gnu.org>
78072         Correct the docs of inserting kmacro counter
78074         * doc/emacs/kmacro.texi (Keyboard Macro Counter): Correct the
78075         description of the affect "C-u" has on inserting the macro
78076         counter.  Define "previous counter value".
78078         * lisp/kmacro.el (kmacro-insert-counter)
78079         (kmacro-start-macro-or-insert-counter): Fix the doc strings
78080         regarding the effect of "C-u".  (Bug#34263)
78082 2019-02-01  Nicholas Drozd  <nicholasdrozd@gmail.com>
78084         * doc/misc/calc.texi (Algebraic Tutorial): Fix a typo.  (Bug#34273)
78086 2019-02-01  Eli Zaretskii  <eliz@gnu.org>
78088         Avoid errors in 'rmail-get-new-mail'
78090         * lisp/mail/rmail.el (rmail-insert-inbox-text): Don't assume
78091         the Rmail protocol is always a string when calling
78092         'rmail-remote-proto-p'.  (Bug#34252)
78094 2019-01-31  Paul Eggert  <eggert@cs.ucla.edu>
78096         Fix process-contact bug with TCP connections
78098         This fixes a regression from Emacs 25.3 (Bug#34134).
78099         * src/process.c (server_accept_connection):
78100         Set host correctly, fixing a bug introduced in
78101         2017-09-16T21:29:18Z!eggert@cs.ucla.edu
78102         when working around a GCC bug.
78104 2019-01-29  Eli Zaretskii  <eliz@gnu.org>
78106         Minor copyedits in last manual change
78108         * doc/emacs/custom.texi (Authentication): Improve markup,
78109         indexing, and wording.
78111 2019-01-29  Eli Zaretskii  <eliz@gnu.org>
78113         Improve documentation of face numbers
78115         * doc/lispref/display.texi (Face Functions): Mention where the
78116         face number is used and that it depends on the 'face' property
78117         of the face symbol.  Improve indexing.
78119 2019-01-27  Michael Albinus  <michael.albinus@gmx.de>
78121         * doc/emacs/custom.texi (Authentication): Refer to the "Help for users" node.
78123 2019-01-26  Michael Albinus  <michael.albinus@gmx.de>
78125         New node Authentication in the Emacs manual
78127         * doc/emacs/custom.texi (Customization):
78128         * doc/emacs/emacs.texi (Top): Add node Authentication.
78130 2019-01-25  Alan Mackenzie  <acm@muc.de>
78132         Fix a loop in c-fl-decl-start.  This fixes bug #34186.
78134         * lisp/progmodes/cc-mode.el (c-fl-decl-start) In the pair of operations
78135         c-syntactic-skip-backward and c-forward-syntactic-ws, ensure the latter
78136         doesn't come back to the position before the former, and break out of the
78137         enclosing loop if it does.
78139 2019-01-25  Eli Zaretskii  <eliz@gnu.org>
78141         Fix LaTeX output of month and day from cal-tex.el
78143         * lisp/calendar/cal-tex.el (cal-tex-cursor-week-iso)
78144         (cal-tex-week-hours): Escape a lone blank, to make it through
78145         LaTeX.  (Bug#34148)
78147 2019-01-25  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>  (tiny change)
78149         Avoid elisp crash for OpenPGP User IDs with no e-mail address
78151         * lisp/gnus/mml-sec.el (mml-secure-check-user-id): Verify that
78152         there is an e-mail address in the current User ID before trying
78153         to downcase it.  (Bug#34121)
78155 2019-01-25  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>
78157         image-mode: Do not use default scaling (bug#33990)
78159         * lisp/image-mode.el (image-toggle-display-image): Set :scale == 1 so
78160         that create-image does not apply additional scaling.
78162 2019-01-25  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>
78164         create-image: Expand documentation (bug#33990)
78166         * lisp/image.el (create-image): Discuss default for :scale in the doc
78167         string.
78169 2019-01-21  Eli Zaretskii  <eliz@gnu.org>
78171         Improve documentation of 'isearch-filter-predicate'
78173         * lisp/isearch.el (isearch-filter-predicate)
78174         (isearch-filter-visible): Doc fixes.  (Bug#34150)
78176 2019-01-19  Trevor Spiteri  <tspiteri@ieee.org>  (tiny change)
78178         Fix cursor column positioning on Grep hits
78180         * lisp/progmodes/grep.el (grep-match-face): Move before first
78181         use, to avoid byte-compilation warning.
78182         (grep-regexp-alist): Don't quote grep-match-face.  (Bug#34068)
78184 2019-01-18  Eli Zaretskii  <eliz@gnu.org>
78186         Fix a typo in ELisp manual
78188         * doc/lispref/nonascii.texi (Converting Representations): Fix
78189         inconsistency between @defun and the argument description of
78190         'byte-to-string'.  (Bug#34119)
78192 2019-01-15  Alan Third  <alan@idiocy.org>
78194         Prevent redrawing if frame is garbaged
78196         * src/nsterm.m ([EmacsView viewWillDraw]): Cancel drawing if the frame
78197         has been garbaged.
78198         * src/xdisp.c (expose_window_tree, expose_frame): Remove NS only
78199         exceptions.
78201 2019-01-14  Eli Zaretskii  <eliz@gnu.org>
78203         Attempt to fix hangs on MS-Windows due to C-g
78205         * src/w32uniscribe.c (uniscribe_otf_capability): Set
78206         inhibit-quit around calls to otf_features, because the latter
78207         cons Lisp data structures while we are in a critical section.
78208         * src/xdisp.c (ALLOCATE_HDC) [HAVE_NTGUI]: Set inhibit-quit.
78209         (RELEASE_HDC) [HAVE_NTGUI]: Restore inhibit-quit.
78210         (OPTIONAL_HDC, DECLARE_HDC): Remove macros, their job is now
78211         done by ALLOCATE_HDC and by a single #ifdef.
78212         (draw_glyphs): Adapt to the above changes in macros.
78213         (Bug#34059)
78215 2019-01-13  Eli Zaretskii  <eliz@gnu.org>
78217         Fix Calc graph output on MS-Windows
78219         The previous code relied on "pgnuplot" executable, which is
78220         no longer provided with Gnuplot 5.x.
78221         * lisp/calc/calc.el (calc-gnuplot-name): Set to "pgnuplot" on
78222         MS-Windows only if such an executable exists.
78223         * lisp/calc/calc-graph.el (calc-graph-w32-p): New defsubst.
78224         (calc-graph-plot, calc-graph-command, calc-gnuplot-command)
78225         (calc-graph-init): Call calc-graph-w32-p wherever we need to
78226         do something special for invoking gnuplot on MS-Windows,
78227         instead of comparing against calc-gnuplot-name.
78228         (calc-graph-plot): Set the terminal to "qt" on MS-Windows when
78229         pgnuplot.exe is not available.
78230         (calc-graph-kill): Delete the temporary files only after
78231         killing the gnuplot process, otherwise the deletion might fail
78232         on MS-Windows because the files are still in use.
78234 2019-01-13  Eli Zaretskii  <eliz@gnu.org>
78236         Fix a minor mistake in ELisp manual
78238         * doc/lispref/buffers.texi (Modification Time): Fix
78239         documentation of 'visited-file-modtime'.  (Bug#34055)
78241 2019-01-12  Stephen Berman  <stephen.berman@gmx.net>
78243         * etc/tutorials/TUTORIAL: Fix typo (bug#34049)
78245 2019-01-12  Devon Sean McCullough  <Emacs-Hacker2018@jovi.net>
78247         Fix UI of Buffer-menu
78249         * lisp/buff-menu.el (Buffer-menu-execute): Don't remove
78250         entries of buffers whose killing the user didn't confirm.
78251         (Bug#33669)
78253 2019-01-12  Philip K  <philip@warpmail.net>  (tiny change)
78255         Reinitialize ispell-really-enchant when changing the speller
78257         * lisp/textmodes/ispell.el (ispell-check-version): Reset also
78258         ispell-really-enchant.  (Bug#34019)
78260 2019-01-07  Leo Liu  <sdl.web@gmail.com>
78262         Speed up loading css-mode
78264         lisp/textmodes/css-mode.el: Remove (require 'eww) which is redundant
78265         and slow.  (Bug#33939)
78267 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
78269         Adapt filenotify-tests for emba
78271         * .gitlab-ci.yml (test): Add EMACS_EMBA_CI variable.
78273         * test/lisp/filenotify-tests.el (file-notify-test03-events)
78274         (file-notify-test05-file-validity)
78275         (file-notify-test06-dir-validity)
78276         (file-notify-test07-many-events)
78277         (file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.
78279 2019-01-07  Nicolas Petton  <nicolas@petton.fr>
78281         Bump Emacs version to 26.1.91
78283         * README:
78284         * configure.ac:
78285         * msdos/sed2v2.inp:
78286         * nt/README.W32: Bump Emacs version to 26.1.91.
78288 2019-01-07  Nicolas Petton  <nicolas@petton.fr>
78290         * etc/AUTHORS: Update.
78292 2019-01-07  Leo Liu  <sdl.web@gmail.com>
78294         * lisp/textmodes/mhtml-mode.el: Avoid loading flyspell.  (Bug#33939)
78296 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
78298         Improve GC+Cairo workaround
78300         Suggested by Eli Zaretskii (Bug#20890#31).
78301         * src/font.h (font_data_structures_may_be_ill_formed): New function.
78302         * src/ftfont.c (ftfont_close):
78303         * src/ftcrfont.c (ftcrfont_close): Use it.
78305         (cherry picked from commit d02fd482fbeaf6ed551e78223b538495cb0c3541)
78307 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
78309         Work around GC+Cairo bug
78311         Workaround suggested by Robert Pluim (Bug#20890#13).
78312         * src/ftfont.c (ftfont_close) [USE_CAIRO]:
78313         Do nothing if GC is in progress.
78315 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78317         Improve commentary in font.h
78319         * src/font.h (struct font, struct font_driver): Fix typos and
78320         wording in comments.  Document all driver methods.
78322 2019-01-07  Martin Rudalics  <rudalics@gmx.at>
78324         Fix definition of Qwindow_point_insertion_type (Bug#33871)
78326         * src/window.c (Qwindow_point_insertion_type): Fix definition
78327         (Bug#33871).
78329 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78331         Improve documentation of 'server-name'
78333         * doc/emacs/misc.texi (Emacs Server, TCP Emacs server)
78334         (emacsclient Options):
78335         * lisp/server.el (server-name):  Document the usage of
78336         'server-name' to specify the server file as an absolute file
78337         name.  Do not merge to master.  (Bug#33934)
78339 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78341         Update Unicode copyright notice
78343         * admin/unidata/copyright.html: Updated version from the
78344         Unicode Consortium's site.
78346 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
78348         Handle quoted file names in filenotify.el
78350         * lisp/filenotify.el (file-notify-add-watch): Do not save
78351         quoted file names in `file-notify-descriptors'.
78353         * test/lisp/files-tests.el
78354         (files-file-name-non-special-notify-handlers): Do not expect
78355         to fail.
78357 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
78359         Fix copyright years by hand
78361         These are dates that admin/update-copyright did not update, or
78362         updated incorrectly.
78364 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
78366         Update copyright year to 2019
78368         Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
78370 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78372         * doc/man/emacs.1.in: Fix value of default frame height.  (Bug#33921)
78374 2019-01-07  Martin Rudalics  <rudalics@gmx.at>
78376         In user manual fix value of default frame height (Bug#33921)
78378         * doc/emacs/cmdargs.texi (Window Size X): Fix value of default
78379         frame height (Bug#33921).
78381 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78383         Improve documentation of 'file-local-name' and related APIs
78385         * doc/lispref/files.texi (Unique File Names)
78386         (Magic File Names, File Name Expansion): Improve documentation
78387         of the "local part" of a remote file name.
78388         * doc/lispref/processes.texi (Synchronous Processes)
78389         (Asynchronous Processes): State explicitly that program and
78390         file names passed to functions that start remote processes
78391         need to be relative or obtained by 'file-local-name'.
78393         * lisp/files.el (file-local-name):
78394         * lisp/simple.el (start-file-process, process-file): Improve
78395         the documentation of the "local part" of a remote file name,
78396         and its use in APIs that start remote processes.
78398 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
78400         Fix Bug#31704.  Do not merge
78402         * lisp/net/tramp.el (tramp-eshell-directory-change):
78403         Use `path-separator' as it does eshell.  (Bug#31704)
78405 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
78407         Fix Bug#31704.  Do not merge
78409         * lisp/eshell/esh-proc.el (eshell-gather-process-output): Do not
78410         let `expand-file-name' prefix remote file names with MS Windows
78411         volume letter.
78413         * lisp/net/tramp.el (tramp-eshell-directory-change):
78414         Use `path-separator' as it does eshell.  (Bug#31704)
78416 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78418         * lisp/files.el (cd): Fix last change.  (Bug#33791)
78420 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78422         Fix remote directories in Eshell on MS-Windows
78424         * lisp/files.el (cd): Support remote directory names on
78425         MS-Windows.  (Bug#33791)
78427 2019-01-07  Drew Adams  <drew.adams@oracle.com>
78429         Fix :type 'group' in defcustom
78431         * lisp/wid-edit.el (group): Fix the :format spec.  (Bug#33566)
78433 2019-01-07  Alan Third  <alan@idiocy.org>
78435         Fix NS fringe bitmap drawing bug (bug#33864)
78437         * src/nsterm.m (ns_draw_fringe_bitmap): Check the rectangle to clear
78438         correctly.
78440 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78442         Fix commentary in dispnew.c
78444         * src/dispnew.c (buffer_posn_from_coords): Fix inaccuracies in
78445         the commentary.
78447 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
78449         Improve accept-process-process doc
78451         * doc/lispref/processes.texi (Accepting Output):
78452         * src/process.c (Faccept_process_output):
78453         Document that (accept-process-output P) can return non-nil
78454         even after P has exited, and that it can return nil even if P
78455         is still running (Bug#33839).
78457 2019-01-07  Stephen Leake  <stephen_leake@stephe-leake.org>
78459         Fix a simple bug in display-buffer-use-some-frame
78461         * lisp/window.el (display-buffer-use-some-frame): Simplify the
78462         predicate, fix TYPE arg to window--display-buffer.
78464 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
78466         Clarify thread switching while waiting for process output
78468         * doc/lispref/threads.texi (Threads): Clarify, that thread
78469         switching happens when waiting for process output from
78470         asynchronous processes.
78472 2019-01-07  Charles A. Roelli  <charles@aurox.ch>
78474         Improve process doc. with respect to handling of large input (Bug#33191)
78476         * src/process.c (Fprocess_send_region, Fprocess_send_string):
78477         Document that process input longer than the process input
78478         buffer may be split into bunches.  Remove an outdated
78479         reference to a 500 character split boundary.
78480         * doc/lispref/processes.texi (Asynchronous Processes): Remove
78481         mention of "stray character injections" in PTY processes.  See
78482         also the comment about ICANON in src/sysdep.c, function
78483         child_setup_tty.
78485 2019-01-07  Terrence Brannon  <metaperl@gmail.com>
78487         Minor copyedits in landmark.el
78489         * lisp/obsolete/landmark.el: Fix author's email and commentary.
78491 2019-01-07  Alan Mackenzie  <acm@muc.de>
78493         Check result from c-backward-token-2 to avoid infinite loop
78495         This fixes bug #33784.
78497         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): While moving back
78498         over enclosing parentheses, check that c-backward-token-2 actually moves.
78500 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
78502         cl-make-random-state was not copying its arg
78504         Problem reported by Xu Chunyang (Bug#33731).
78505         * lisp/emacs-lisp/cl-extra.el (cl-make-random-state):
78506         Use copy-sequence, not copy-tree, so that the record is copied.
78507         * test/lisp/emacs-lisp/cl-extra-tests.el:
78508         (cl-extra-test-cl-make-random-state): New test.
78510 2019-01-07  Glenn Morris  <rgm@gnu.org>
78512         Skip a vc-bzr test if run as root
78514         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-faulty-bzr-autoloads):
78515         Skip this test when run as root.  This works around a race
78516         condition in root-specific code in vc-mode-line when deleting a file.
78518 2019-01-07  Chris Feng  <chris.w.feng@gmail.com>
78520         Backport: Handle unread-command-events consistently (bug#23980)
78522         * src/keyboard.c (read_char): Events put into `unread-command-events'
78523         with the form (t . EVENT) should always have the t stripped when read
78524         out.
78525         * test/src/keyboard-tests.el: New tests for `unread-command-events'.
78527         (cherry picked from commit 1f3f4b1296613b8cdc0632a68fde86e86ddad866)
78529 2019-01-07  Glenn Morris  <rgm@gnu.org>
78531         Restrict downcasing in elisp xref tests (bug#25534)
78533         The tests happen to not fail at the moment because find-library-name
78534         now has an extra feature, find-library--from-load-history, which
78535         happens to do a case-insensitive regexp match; but still it seems
78536         better not to rely on this.
78538         * test/lisp/progmodes/elisp-mode-tests.el (xref--case-insensitive):
78539         New variable.
78540         (xref-elisp-test-run, emacs-test-dir): Only downcase if the
78541         filesystem seems to be case-insensitive.
78543 2019-01-07  Rob Browning  <rlb@defaultvalue.org>
78545         Avoid test failures if directory name looks like a regexp
78547         Taken from <https://sources.debian.org/patches/emacs/1:26.1+1-1>
78548         * test/lisp/ibuffer-tests.el (ibuffer-filter-inclusion-3):
78549         * test/lisp/net/tramp-tests.el (tramp-test42-remote-load-path):
78550         Regexp-quote file names to avoid failures with directory names
78551         of the form "build/emacs-i87jK3/emacs-26.1+1/...".
78553 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
78555         Fix Bug#33524
78557         * lisp/progmodes/flymake-proc.el
78558         (flymake-proc-create-temp-with-folder-structure):
78559         Unquote file-name.  (Bug#33524)
78561 2019-01-07  Glenn Morris  <rgm@gnu.org>
78563         * doc/lispintro/emacs-lisp-intro.texi (Finding More): Fix xref.
78565 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
78567         More porting to GCC 8 of --enable-gcc-warnings
78569         Backport from master.
78570         I ran into this when building Emacs 26 with GCC 8 on Fedora 29 x86.
78571         * lwlib/lwlib-Xaw.h (xaw_update_one_value, xaw_popup_menu):
78572         * lwlib/lwlib-Xlw.h (xlw_update_one_value, xlw_pop_instance):
78573         * lwlib/lwlib.h (lw_allow_resizing, lw_set_main_areas) [!USE_MOTIF]:
78574         No longer const.
78575         * src/emacs-module.c: Ignore -Wcast-function-type.
78577 2019-01-07  Glenn Morris  <rgm@gnu.org>
78579         Fix an epg test for recent GnuPG versions (bug#33439)
78581         * test/lisp/epg-tests.el (epg-decrypt-1):
78582         Tell recent GnuPG (e.g. 2.2.11) not to worry about missing MDC.
78584 2019-01-07  Robert Pluim  <rpluim@gmail.com>
78586         Document font structure layout constraints
78588         This has to be the same as in src/ftcrfont.c and src/ftfont.c
78590         * src/xftfont.c (struct xftfont_info): Document layout constraints.
78592 2019-01-07  Robert Pluim  <rpluim@gmail.com>
78594         Document font structure layout constraints
78596         The layout of the initial members of ftcrfont_info must match
78597         ftfont_info
78599         * src/ftcrfont.c (struct ftcrfont_info): Likewise.
78601         * src/ftfont.c (struct ftfont_info): Document layout constraints.
78603 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78605         Fix display of line numbers in empty lines beyond EOB
78607         * src/xdisp.c (maybe_produce_line_number): When the current
78608         line is at EOB, use the 'line-number-current-line' face only
78609         on that single line, but not on the rest of empty lines beyond
78610         EOB.  (Bug#33732)
78612 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78614         Fix redisplay when a window's scroll bar or fringes are changed
78616         * src/window.c (set_window_fringes, set_window_scroll_bars):
78617         Set windows_or_buffers_changed flag to cause immediate
78618         thorough redisplay of a window when scroll bars or fringes are
78619         changed.  (Bug#33694)
78621 2019-01-07  Martin Rudalics  <rudalics@gmx.at>
78623         Tiny markup fix in Elisp manual
78625         * doc/lispref/lists.texi (Building Lists): Use '@var' instead
78626         of '@code' for argument.
78628 2019-01-07  Alan Mackenzie  <acm@muc.de>
78630         CC Mode: stop extra parens on expression causing false fontification as type
78632         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): recognize
78633         arithmetic operator followed by several open parentheses, not just one, as not
78634         being an argument list.
78636 2019-01-07  Ari Roponen  <ari.roponen@gmail.com>
78638         Fix cairo scrolling for side-by-side windows
78640         Backport: Fixes Bug#33442.
78642         * src/xterm.c (x_scroll_run) [USE_CAIRO]: Fix scrolling for
78643         side-by-side split windows.  (Bug#31288)
78645         (cherry picked from commit 6e362a32bc9d21f73a0f29ca6f45481edeea6f29)
78647 2019-01-07  Alan Mackenzie  <acm@muc.de>
78649         CC Mode: stop wrongly recognizing "func(a * 9)" as "pointer to type a"
78651         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): When testing for an
78652         identifier after "a *", on failure additionally check for a digit, setting a
78653         new flag variable got-number if one is found.  In the test for CASE 18, check
78654         this flag.
78656 2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>
78658         * lisp/emacs-lisp/cursor-sensor.el: Add motivation
78660 2019-01-07  Raimon Grau  <raimonster@gmail.com>
78662         Guard occur against an undefined orig-line
78664         * lisp/replace.el (occur-engine): Avoid inserting the current line if
78665         orig-line is nil.  This happens, for example, when reverting an occur
78666         buffer with `list-matching-lines-jump-to-current-line' set to t.
78667         (Bug#33476)
78669 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78671         Indexing followup to recent changes
78673         * doc/lispref/text.texi (Special Properties): Index
78674         'cursor-sensor-inhibit'.  (Bug#33664)
78676 2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>
78678         Improve documentation of cursor-sensor.el (bug#33664)
78680         * doc/lispref/text.texi (Special Properties): Mention cursor-sensor-inhibit.
78681         * lisp/emacs-lisp/cursor-sensor.el (Commentary): Add cursor-sensor-mode.
78682         (cursor-sensor-inhibit): Add docstring.
78684 2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>
78686         * doc/lispref/commands.texi (Adjusting Point): Bug#33662
78688         Tweak text to clarify intangibility.
78690 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
78692         Tramp multi-hop methods must be inline
78694         * doc/misc/tramp.texi (Ad-hoc multi-hops): Involved methods must
78695         be inline methods.
78697 2019-01-07  Ari Roponen  <ari.roponen@gmail.com>
78699         Fix scaling problem in Cairo builds
78701         * src/xterm.c (x_begin_cr_clip) [USE_GTK]:
78702         (x_update_begin) [USE_CAIRO && USE_GTK]: Support scaling.
78703         (Bug#33442)
78705 2019-01-07  Juri Linkov  <juri@linkov.net>
78707         * lisp/simple.el (next-line-or-history-element): Use current-column
78709         in all position calculations.
78710         (previous-line-or-history-element): Idem.  (Bug#33640)
78712 2019-01-07  Martin Rudalics  <rudalics@gmx.at>
78714         A few further fixes of window internals description
78716         * doc/lispref/internals.texi (Window Internals): Add a few
78717         more items and clarify description of some others.
78719 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78721         Revert "Revert "Fix infloop in GC mark_kboards""
78723         This reverts commit c418c85617babbe7b63730fefb71e2c87a0141af.
78724         This reinstates the original fix, as it had nothing to do
78725         with the behavior reported in bug#33571, which seems to be
78726         the expected behavior.
78728 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78730         Revert "Fix infloop in GC mark_kboards"
78732         This reverts commit af914fc26db273d8788e7efa57c569f0f778d037,
78733         since it caused unintended adverse effects on echoing of keys.
78734         (Bug#33571)
78736 2019-01-07  Glenn Morris  <rgm@gnu.org>
78738         * lisp/emacs-lisp/subr-x.el (if-let, when-let): Doc fix: active voice.
78740 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
78742         Fix infloop in GC mark_kboards
78744         Do not merge to master, as I have a more systematic fix there.
78745         * src/keyboard.c (mark_kboards): Fix infloop (Bug#33547).
78747 2019-01-07  Alan Third  <alan@idiocy.org>
78749         Fix macOS run-time feature check
78751         * src/nsterm.m (x_set_parent_frame) [NS_IMPL_COCOA]: Fix run-time
78752         feature check.
78754 2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>
78756         * etc/NEWS-*: Fix capitalization of "Emacs"
78758 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78760         Fix "M-x man" when there's no 'man' program on PATH
78762         * lisp/man.el (Man-bgproc-sentinel): Make sure the process
78763         buffer is not read-only when inserting a message into it.
78764         (Bug#33510)
78766 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
78768         Fix core dump in dbus-message-internal
78770         Backport from master.
78771         * src/dbusbind.c (Fdbus_message_internal):
78772         Don’t go past array end (Bug#33530).
78774 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
78776         * doc/misc/dbus.texi (Type Conversion): Fix typo.  (Bug#33551)
78778 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78780         Improve documentation of gdb-mi.el
78782         * lisp/progmodes/gdb-mi.el (gdb-show-changed-values)
78783         (gdb-max-children): Doc fixes.
78785         * doc/emacs/building.texi (Source Buffers, Stack Buffer)
78786         (GDB User Interface Layout): Mention some additional
78787         customizable variables.  (Bug#33548)
78789 2019-01-07  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
78791         LDAP: Set process-connection-type to t on Darwin
78793         * lisp/net/ldap.el (ldap-search-internal): Set
78794         process-connection-type to t on Darwin.  Do not merge to
78795         master.  (Bug#33050)
78797 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78799         Fix a typo in a doc string
78801         * lisp/emacs-lisp/map-ynp.el (read-answer-short): Fix typo.
78802         (Bug#33528)
78804 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78806         Minor markup fix in frames.texi
78808         * doc/lispref/frames.texi (Frame Layout): Fix markup of @table
78809         entries.  (Bug#33531)
78811 2019-01-07  Glenn Morris  <rgm@gnu.org>
78813         * lisp/net/trampver.el (customize-package-emacs-version-alist):
78814         Add 2.3.3.
78816         * lisp/mh-e/mh-e.el (customize-package-emacs-version-alist): Additions.
78818 2019-01-07  Glenn Morris  <rgm@gnu.org>
78820         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Pass format to message.
78822 2019-01-07  Robert Pluim  <rpluim@gmail.com>
78824         Don't call xwidget functions until GTK has been initialized
78826         Follow up fix to Bug#33294.
78828         * src/gtkutil.c: Define xg_gtk_initialized.
78829         (xg_initialize): Set it when GTK has finished initializing.
78831         * src/gtkutil.h: Declare xg_gtk_initialized.
78833         * src/xwidget.c (Fmake_xwidget): Error out if GTK has not been
78834         initialized.
78835         (xwidget_init_view): Likewise.
78837 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78839         Improve documentation of Ediff wordwise commands
78841         * lisp/vc/ediff.el (ediff-windows-wordwise)
78842         (ediff-windows-linewise, ediff-regions-wordwise): Update and
78843         clarify the doc strings.
78845         * doc/misc/ediff.texi (Major Entry Points): Update and clarify
78846         the documentation of 'ediff-windows-wordwise' and
78847         'ediff-regions-wordwise'.  See the discussion starting at
78848         https://lists.gnu.org/archive/html/help-gnu-emacs/2018-11/msg00197.html
78849         for the details.
78851 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78853         Support Hunspell 1.7.0 in ispell.el
78855         * lisp/textmodes/ispell.el
78856         (ispell-find-hunspell-dictionaries): Invoke Hunspell with an
78857         additional command-line argument, to work around a misfeature
78858         in Hunspell 1.7.0 that prevents it from reporting the loaded
78859         dictionary.  (Bug#33493)
78861 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78863         Avoid clearing echo-area message by auto-save-visited-file-name
78865         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Record the
78866         previous echo-area message, if any, and restore it before
78867         exiting.  (Bug#33490)
78869 2019-01-07  Alan Third  <alan@idiocy.org>
78871         Set tooltip text color (bug#33452)
78874         * src/nsmenu.m: ([EmacsTooltip init]): Set text color to black.
78876 2019-01-07  Alan Third  <alan@idiocy.org>
78878         Fix more drawing bugs in NS port (bug#32932)
78880         * src/nsterm.m (ns_row_rect): New function.
78881         (ns_clip_to_row): Remove function.
78882         (ns_copy_bits): Fix mistake.
78883         (ns_shift_glyphs_for_insert): Mark the frame as dirty instead of
78884         directly copying.
78885         (ns_draw_fringe_bitmap): Stop using ns_clip_to_row.
78886         (ns_draw_window_cursor): Stop using ns_clip_to_row and perform a
78887         display when not in redisplay.
78888         (ns_update_window_begin): Remove redundant code that never executes.
78889         ([EmacsView drawRect:]): Show the rectangle being exposed in NSTRACE.
78890         * src/xdisp.c (expose_window_tree) [HAVE_NS]:
78891         (expose_frame) [HAVE_NS]: Redraw even if the frame is garbaged.
78893 2019-01-07  Alan Mackenzie  <acm@muc.de>
78895         Fix bug #33416, where typing a ) in a comment at EOB caused a loop (CC Mode).
78897         * lisp/progmodes/cc-mode.el (c-fl-decl-start): A c-forward-syntactic-ws leaves
78898         point inside whitespace when moving over a comment at EOB which has no
78899         terminating LF.  Check this possibility and correct for it.
78901 2019-01-07  Ulrich Müller  <ulm@gentoo.org>
78903         Update the calc units table
78905         On 2018-11-16, the 26th meeting of the General Conference on Weights
78906         and Measures (CGPM) has redefined the International System of Units by
78907         adopting fixed values for the Planck constant, the elementary charge,
78908         the Boltzmann constant, and the Avogadro constant:
78909         https://www.bipm.org/utils/en/pdf/CGPM/Draft-Resolution-A-EN.pdf
78911         * lisp/calc/calc-units.el (math-standard-units): Update according
78912         to redefinition of the SI in 2018.  (Bug#33412)
78914 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78916         Improve indexing in the ELisp manual
78918         * doc/lispref/control.texi (Control Structures, Sequencing)
78919         (Conditionals, Iteration, Catch and Throw, Handling Errors)
78920         (Cleanups):
78921         * doc/lispref/eval.texi (Self-Evaluating Forms)
78922         (Symbol Forms, Function Forms, Macro Forms, Special Forms)
78923         (Quoting, Backquote): Add index entries that begin with
78924         "forms".  (Bug#33440)
78926 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78928         More Symbola-related extensions for default fontset
78930         * lisp/international/fontset.el (setup-default-fontset): Add
78931         few more blocks of symbols and punctuation supported by latest
78932         Symbola.
78934 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78936         Better support for display of U+1F900..U+1F9FF block
78938         * lisp/international/fontset.el (setup-default-fontset): Add
78939         the [#x1F900..#x1F9FF] block to those supported by Symbola.
78941 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78943         Improve documentation of 'edit-abbrevs-mode'
78945         * lisp/abbrev.el (edit-abbrevs-mode): Refer to 'edit-abbrevs'
78946         for more detailed usage information.  (Bug#33443)
78947         (edit-abbrevs): Doc fix.
78949 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78951         Improve documentation of 'dired-do-compress'
78953         * lisp/dired-aux.el (dired-do-compress): Describe in the doc
78954         string the effect on directories and on compressed archive.
78955         (Bug#33450)
78957 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78959         Improve doc string and display of 'describe-character'
78961         * lisp/descr-text.el (describe-char): Explain how does the
78962         function obtain the various data about the character.  Don't
78963         display "preferred" before "charset": it tends to confuse
78964         people.
78966 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78968         * etc/NEWS: Clarify what 'Z' does in Dired.  (Bug#33450)
78970 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78972         Update the docs of object internals
78974         * doc/lispref/internals.texi (Buffer Internals)
78975         (Window Internals, Process Internals): Update the descriptions
78976         of Lisp objects.
78978 2019-01-07  Stephen Berman  <stephen.berman@gmx.net>
78980         Fix two Edebug defcustoms (bug#33428)
78982         * lisp/emacs-lisp/edebug.el (edebug-print-length)
78983         (edebug-print-level): Fix customization type to allow setting
78984         the documented valid value nil via the Customize interface.
78986 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
78988         Fix Bug#33141
78990         * lisp/net/tramp.el (tramp-make-tramp-file-name): Avoid check for
78991         empty method with simplified `tramp-syntax'.  (Bug#33141)
78993 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
78995         Improve documentation of the window tree
78997         * doc/lispref/windows.texi (Windows and Frames): More accurate
78998         wording regarding the relation of a mini-window to its frame's
78999         window tree.
79001         * src/window.h (struct window): Improve commentary to some
79002         fields.
79004 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
79006         Fix window scrolling on TTY frames when there's no mode line
79008         * src/window.c (window_internal_height): Remove tests for
79009         next, prev, and parent pointers, as they are unrelated to
79010         whether a window has a mode line.  (Bug#33363)
79012 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
79014         Fix decoding XML files encoded in ISO-8859
79016         * lisp/international/mule.el (sgml-xml-auto-coding-function):
79017         Avoid signaling an error from coding-system-equal when the XML
79018         encoding tag specifies an encoding whose type is 'charset'.
79019         (Bug#33429)
79021 2019-01-07  Nicolas Petton  <nicolas@petton.fr>
79023         * etc/AUTHORS: Update.
79025 2018-11-18  Martin Rudalics  <rudalics@gmx.at>
79027         Fix description of some window hooks
79029         * doc/lispref/windows.texi (Window Hooks): Remove text that
79030         warns against using 'save-window-excursion' while running
79031         'window-size-change-functions', it's no more relevant.
79032         Clarify description of 'window-configuration-change-hook'.
79034 2018-11-18  Gary Fredericks  <fredericksgary@gmail.com>  (tiny change)
79036         Run 'window--adjust-process-windows' when frame size changes (Bug#32720)
79038         * lisp/window.el (window-size-change-functions): Run
79039         'window--adjust-process-windows' from
79040         'window-size-change-functions' too (Bug#32720, "another issue"
79041         in Bug#33230).
79043 2018-11-16  Eli Zaretskii  <eliz@gnu.org>
79045         Avoid errors in zone.el when there's overlay at EOB
79047         * lisp/play/zone.el (zone): Make sure the window-end position
79048         is calculated accurately, to avoid errors from
79049         buffer-substring.  (Bug#33384)
79051 2018-11-16  Eli Zaretskii  <eliz@gnu.org>
79053         Document Emacs 26 behavior of Dired's 'Z' on directories
79055         * doc/emacs/dired.texi (Operating on Files): Document behavior
79056         of 'Z' on directories.
79058         * etc/NEWS: Belatedly announce the new behavior of Dired's 'Z'
79059         on directory names and on .tar.gz archives.
79061 2018-11-15  Eli Zaretskii  <eliz@gnu.org>
79063         Fix a typo in the Emacs manual
79065         * doc/emacs/rmail.texi (Rmail Deletion): Fix a typo.
79066         Reported by Jorge P. de Morais Neto <jorge+list@disroot.org>
79067         in emacs-manual-bugs@gnu.org
79069 2018-11-15  Paul Eggert  <eggert@cs.ucla.edu>
79071         Fix tempfile creation when byte compiling
79073         This improves on the recent fix for master failing to build
79074         on FreeBSD.  Suggested by Stefan Monnier in:
79075         https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
79076         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
79077         Put tempfile next to the target file, as was the original intent.
79079         (cherry picked from commit 64c846738617d1d037eac0cefb6586c04317b0a1)
79081 2018-11-14  Markus Triska  <triska@metalevel.at>
79083         Small documentation correction.
79085         * doc/lispref/windows.texi (Textual Scrolling): In the description of
79086         scroll-up-aggressively, refer to scroll-down-aggressively instead of
79087         a recursive reference to scroll-up-aggressively.  (Bug#33369)
79089 2018-11-14  Eli Zaretskii  <eliz@gnu.org>
79091         * src/coding.c (Fcheck_coding_systems_region): Doc fix.  (Bug#33372)
79093 2018-11-14  Michael Albinus  <michael.albinus@gmx.de>
79095         Fix Bug#33364
79097         * lisp/net/tramp.el (tramp-parse-sconfig-group): Support also
79098         "Host host1 host2 ..." syntax.  (Bug#33364)
79100 2018-11-13  Michael Albinus  <michael.albinus@gmx.de>
79102         * test/README: Explain $REMOTE_TEMPORARY_FILE_DIRECTORY.
79104 2018-11-12  Glenn Morris  <rgm@gnu.org>
79106         Avoid kill-emacs-hook errors hanging batch mode
79108         * src/emacs.c (Fkill_emacs): Prevent errors from kill-emacs-hook
79109         hanging Emacs in batch mode.  (Bug#29955)
79111         (cherry picked from commit 109da684c5124e22505917fe0255ca66f2a6bfc9)
79113 2018-11-12  Nicolas Petton  <nicolas@petton.fr>
79115         Bump Emacs version to 26.1.90
79117         * README:
79118         * configure.ac:
79119         * msdos/sed2v2.inp:
79120         * nt/README.W32: Bump Emacs version to 26.1.90.
79122 2018-11-12  Nicolas Petton  <nicolas@petton.fr>
79124         * etc/AUTHORS: Update.
79126 2018-11-12  Paul Eggert  <eggert@cs.ucla.edu>
79128         Work around dumping bug on GNU/Linux ppc64le
79130         Problem reported by Thomas Fitzsimmons (Bug#33174).
79131         Do not merge to master, as we have a better fix there.
79132         * src/Makefile.in (emacs$(EXEEXT)):
79133         (bootstrap-emacs$(EXEEXT)):
79134         Unset EMACS_HEAP_EXEC before invoking temacs.
79136 2018-11-11  Eli Zaretskii  <eliz@gnu.org>
79138         * lisp/files.el (write-file): Clarify the doc string.  (Bug#33339)
79140 2018-11-11  Simen Heggestøyl  <simenheg@gmail.com>
79142         Fix typos in midnight.el
79144         * lisp/midnight.el (clean-buffer-list-delay-general)
79145         (clean-buffer-list-kill-regexps)
79146         (clean-buffer-list-kill-buffer-names): Fix docstring typos.
79148 2018-11-10  Eli Zaretskii  <eliz@gnu.org>
79150         Improve documentation of 'move-file-to-trash'
79152         * doc/emacs/files.texi (Misc File Ops): Index
79153         move-file-to-trash.  State that the way to restore trashed
79154         files is system-dependent.
79156 2018-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
79158         * src/data.c (Ftype_of): xwidget objects are possible! (bug#33294)
79160         (syms_of_data): Define Qwidget here.
79161         * src/xwidget.c (syms_of_xwidget): Instead of here.
79163 2018-11-09  Eli Zaretskii  <eliz@gnu.org>
79165         Improve documentation of Diff mode
79167         * doc/emacs/files.texi (Diff Mode): Document the effect of
79168         prefix argument on the Diff mode's commands.  Document
79169         'diff-jump-to-old-file'.
79171 2018-11-09  Noam Postavsky  <npostavs@gmail.com>
79173         Note that lex bound lambda forms are not self-quoting (Bug#33199)
79175         * doc/lispref/functions.texi (Anonymous Functions):
79176         * lisp/subr.el (lambda): Note that under lexical binding a lambda form
79177         yields a closure object (Bug#33199).
79179 2018-11-08  Martin Rudalics  <rudalics@gmx.at>
79181         Rewrite buffer display related doc-strings and doc
79183         * lisp/window.el (display-buffer-overriding-action)
79184         (display-buffer-alist, display-buffer-base-action)
79185         (display-buffer-fallback-action, display-buffer-assq-regexp)
79186         (display-buffer): Rewrite doc-strings using suggestions by
79187         Alan Mackenzie <acm@muc.de>.
79188         (display-buffer-use-some-frame): Adjust doc-string and
79189         reformat code.
79190         * doc/lispref/windows.texi (Buffer Display Action Alists):
79191         Make docs on 'window-height', 'window-width' and
79192         'preserve-size' entries more accurate.
79194 2018-11-06  Eli Zaretskii  <eliz@gnu.org>
79196         Fix call to GlobalMemoryStatusEx in w32.c
79198         * src/w32.c (system_process_attributes): Initialize the size
79199         of the data structure passed to GlobalMemoryStatusEx,
79200         otherwise it fails.
79202 2018-11-04  Eli Zaretskii  <eliz@gnu.org>
79204         Improve recent changes in documentation of window handling
79206         * doc/lispref/windows.texi (Displaying Buffers)
79207         (Choosing Window, Buffer Display Action Functions)
79208         (Buffer Display Action Alists, Choosing Window Options)
79209         (Precedence of Action Functions, The Zen of Buffer Display):
79210         Fix wording, punctuation, and markup.  Remove redundant
79211         cross-references.
79213         * doc/emacs/windows.texi (Window Choice, Temporary Displays):
79214         Fix wording and punctuation.
79216 2018-11-04  Martin Rudalics  <rudalics@gmx.at>
79218         Rewrite documentation of buffer display
79220         * doc/emacs/windows.texi (Window Choice): Rewrite, replacing
79221         references to older buffer display options with references to
79222         and examples of buffer display actions.
79223         (Temporary Displays): Rewrite display of *Completions*
79224         example.
79226         * doc/lispref/elisp.texi (Top): New Windows section
79227         'Displaying Buffers'.
79228         * doc/lispref/frames.texi (Child Frames): Adjust cross
79229         reference.
79230         * doc/lispref/windows.texi (Windows): New section 'Displaying
79231         Buffers'.  Move sections 'Choosing Window', 'Display Action
79232         Functions' and 'Choosing Window Options' there and adjust
79233         namings.  Preferably write 'Buffer Display Action' instead of
79234         'Display Action'.  More consistently use @w{} to make key
79235         binding specifications unsplittable.
79236         (Displaying Buffers): New section.
79237         (Choosing Window): Make it a subsection of 'Displaying
79238         Buffers'.  More explicitly describe how 'display-buffer'
79239         compiles its list of action functions and the action alist.
79240         (Buffer Display Action Functions): Rename from 'Display Action
79241         Functions', make it a subsection of 'Displaying Buffers' and
79242         rewrite it.  Elide more detailed descriptions of action alist
79243         entries; these are now in the new section 'Buffer Display
79244         Action Functions'.  Remove example.
79245         (Buffer Display Action Alists): New subsection of 'Displaying
79246         Buffers' giving a comprehensive description of recognized
79247         action alist entries with appropriate indexing.  Contents were
79248         partially moved here from the old 'Display Action Functions'
79249         section.
79250         (Choosing Window Options): Make it a subsection of 'Displaying
79251         Buffers'.  Add examples of how to rewrite old buffer display
79252         options with the help of buffer display actions.
79253         (Precedence of Action Functions): New subsection of
79254         'Displaying Buffers' explaining the execution order of action
79255         functions with the help of a detailed example.
79256         (The Zen of Buffer Display): New subsection of 'Displaying
79257         Buffers' supplying guidelines on how to write and use buffer
79258         display actions with examples.
79259         (Side Windows, Displaying Buffers in Side Windows)
79260         (Frame Layouts with Side Windows, Atomic Windows): Update
79261         references to the 'Displaying Buffers' subsections.
79263 2018-11-03  Eli Zaretskii  <eliz@gnu.org>
79265         Improve documentation of destructuring-binding macros
79267         * lisp/emacs-lisp/pcase.el (pcase-dolist, pcase-let)
79268         (pcase-let*): Improve the doc strings.
79270         * doc/lispref/sequences.texi (Sequence Functions): Improve
79271         wording and rename arguments of seq-let to be more
79272         descriptive.  Add a cross-reference to "Destructuring with
79273         pcase Patterns".
79274         * doc/lispref/control.texi (Pattern-Matching Conditional):
79275         Improve wording and the menu.
79276         (pcase Macro): Incorporate patch suggested by Paul Eggert
79277         <eggert@cs.ucla.edu>.  Reformat text.
79278         (Destructuring with pcase Patterns): Rename from
79279         "Destructuring patterns", and improve wording and indexing.
79281 2018-11-03  Eli Zaretskii  <eliz@gnu.org>
79283         Avoid byte compilation warning in rcirc.el
79285         * lisp/net/rcirc.el (rcirc-prompt-start-marker): Move
79286         definition before 1st use to avoild byte-compiler warning.
79288 2018-11-03  Basil L. Contovounesios  <contovob@tcd.ie>
79290         Avoid race in rcirc process filter (bug#33145)
79292         * lisp/net/rcirc.el (rcirc-filter): Clear rcirc-process-output
79293         before processing its constituent lines.  Otherwise, if rcirc-filter
79294         runs again before the last rcirc-process-server-response is
79295         finished, the contents of rcirc-process-output could be duplicated.
79297 2018-11-03  Jordan Wilson  <jordan.t.wilson@gmx.com>  (tiny change)
79299         Avoid file-name errors when viewing PDF from Gnus
79301         * lisp/doc-view.el (doc-view-mode): Run the output file name
79302         through 'convert-standard-filename', to avoid problems with
79303         characters that are not allowed in file names on some
79304         systems.  (Bug#32989)
79306 2018-11-02  Eli Zaretskii  <eliz@gnu.org>
79308         Avoid crashes with remapped default face in Org mode
79310         * src/xfaces.c (face_at_buffer_position): Look up BASE_FACE_ID
79311         anew if it is not in the frame's face cache.  This avoids
79312         crashes when Org mode sets up for a new major mode in embedded
79313         code fragment, and the default face is remapped.  (Bug#33222)
79315 2018-11-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
79317         Doc fix for checkdoc-continue
79319         * lisp/emacs-lisp/checkdoc.el (checkdoc-continue): There is no second
79320           optional argument, and the function always starts from point.
79322 2018-11-01  Eli Zaretskii  <eliz@gnu.org>
79324         Fix a typo in autoload.el
79326         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
79327         Remove stray backslashes.  (Bug#33231)
79329 2018-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
79331         * doc/lispref/control.texi (Destructuring patterns): New subsection.
79333 2018-10-31  Gemini Lasswell  <gazally@runbox.com>
79335         Add regression test for Bug#33014
79337         Backport from master.
79338         * test/src/eval-tests.el:
79339         (eval-tests-byte-code-being-evaluated-is-protected-from-gc): New test.
79340         (eval-tests-33014-var): New variable.
79341         (eval-tests-33014-func, eval-tests-33014-redefine): New functions.
79343 2018-10-31  Paul Eggert  <eggert@cs.ucla.edu>
79345         Refer to bytecode constant vectors (Bug#33014)
79347         Backport from master.
79348         * src/bytecode.c (exec_byte_code): Save VECTOR into stack slot
79349         so that it survives GC.  The stack slot was otherwise unused,
79350         so this doesn’t cost us memory, only a store insn.
79352 2018-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
79354         * lisp/emacs-lisp/pcase.el: Improve docstrings.
79356 2018-10-30  Eli Zaretskii  <eliz@gnu.org>
79358         * lisp/emacs-lisp/rx.el (rx): Fix typo in doc string.  (Bug#33205)
79360 2018-10-30  Eli Zaretskii  <eliz@gnu.org>
79362         Improve doc string of 'call-process'
79364         * src/callproc.c (Fcall_process): Clarify DESTINATION in the
79365         doc string.
79367 2018-10-30  Eli Zaretskii  <eliz@gnu.org>
79369         Document that generic functions cannot be commands
79371         * doc/lispref/commands.texi (Defining Commands):
79372         * doc/lispref/functions.texi (Generic Functions): Document
79373         that generic functions cannot be turned into commands.
79374         (Bug#33170)
79376 2018-10-28  Charles A. Roelli  <charles@aurox.ch>
79378         * lisp/mail/rmailsum.el (rmail-summary-output): Add lost word to doc.
79380 2018-10-28  Charles A. Roelli  <charles@aurox.ch>
79382         Add index entries for more isearch commands/bindings (Bug#32990)
79384         * doc/emacs/search.texi (Basic Isearch): Index isearch-exit,
79385         isearch-abort, isearch-cancel, isearch-repeat-forward,
79386         isearch-repeat-backward and their bindings.
79387         (Repeat Isearch): Index isearch-ring-advance,
79388         isearch-ring-retreat and isearch-edit-string.
79389         (Special Isearch): Index isearch-quote-char,
79390         isearch-char-by-name and their bindings.  Index
79391         isearch-query-replace and isearch-query-replace-regexp, and
79392         the latter's binding.  Explain what
79393         isearch-query-replace-regexp does.  Index isearch-complete.
79394         (Word Search): Index isearch-toggle-word.
79396 2018-10-27  Noam Postavsky  <npostavs@gmail.com>
79398         * lisp/simple.el (filter-buffer-substring): Clarify doc (Bug#33179).
79400 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
79402         Fix recent change in lispref/processes.texi.
79404         * doc/lispref/processes.texi (Asynchronous Processes): Clarify
79405         wording.  Suggested by Thomas Fitzsimmons <fitzsim@fitzsim.org>.
79406         (Bug#33050)
79408 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
79410         * lisp/simple.el (region-extract-function): Doc fix.  (Bug#33167)
79412         * lisp/simple.el (region-bounds): Doc fix.  (Bug#33168)
79414 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
79416         Improve documentation of 'process-connection-type'
79418         * doc/lispref/processes.texi (Asynchronous Processes): Clarify
79419         better when it is advisable to use pipes for communicating
79420         with subprocesses.  (Bug#33050)
79422 2018-10-27  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
79424         Unify prompt for gnupg passphrase between GNU/Linux and MS-Windows.
79426         * lisp/epg.el (epg--start): Use 'raw-text' for coding system instead
79427         of 'binary', in order to avoid spurious carriage return on Microsoft
79428         Windows and MS-DOS when prompting for a password.  (Bug#33040)
79430 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
79432         Doc fix of 'gnus-fetch-old-headers'
79434         * lisp/gnus/gnus-sum.el (gnus-fetch-old-headers): Avoid
79435         treating 'some' and 'invisible' as symbols that need to be
79436         hyperlinked.  Reported by Robert Pluim <rpluim@gmail.com>.
79437         (Bug#33090)
79439 2018-10-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
79441         Deactivate incorrect hyperlinking in gnus-build-sparse-threads doc
79443         * lisp/gnus/gnus-sum.el (gnus-build-sparse-threads): Add the word
79444         "symbol" so it doesn't link to the `some' function.  (Bug#33090)
79446 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
79448         Minor copyedits in cmdargs.texi
79450         * doc/emacs/cmdargs.texi (Initial Options): Document '-nsl'.
79451         Add a cross-reference to "Writing Dynamic Modules".
79453 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
79455         Improve documentation of X resource loading
79457         * doc/emacs/cmdargs.texi (Initial Options):
79458         * doc/emacs/frames.texi (Frame Parameters):
79459         * doc/emacs/xresources.texi (Resources): Document the
79460         '--no-x-resources' command-line option and the fact that X
79461         resources override .emacs settings of frame parameters.
79462         (Bug#32975)
79464 2018-10-27  Michael Albinus  <michael.albinus@gmx.de>
79466         * lisp/net/tramp-sh.el (tramp-inline-compress-commands):
79468         Suppress warnings about obsolete environment variable GZIP.
79470 2018-10-25  Noam Postavsky  <npostavs@gmail.com>
79472         Don't error when indenting malformed Lisp (Bug#30891)
79474         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-calc-next): If we run out
79475         of indent stack, reset the parse state.
79477 2018-10-25  Charles A. Roelli  <charles@aurox.ch>
79479         Improve 'isearch-delete-char' documentation (Bug#32990)
79481         * doc/emacs/search.texi (Basic Isearch): Index
79482         'isearch-delete-char', its keybinding and the isearch "input
79483         item" concept, and define the latter.
79484         (Error in Isearch): Clarify the different uses of DEL and
79485         C-M-w during isearch.
79487         * lisp/isearch.el (isearch-delete-char): Correct its
79488         documentation and link to the Info node '(emacs)Basic Isearch'
79489         which explains less technically how this function works in
79490         everyday usage.
79492 2018-10-25  Alan Third  <alan@idiocy.org>
79494         Improve XPM load failure message (bug#33126)
79496         * src/image.c (xpm_load_image): Only XPM3 is supported, so make that
79497         explicit.
79499 2018-10-25  Eli Zaretskii  <eliz@gnu.org>
79501         Avoid infloop in CPerl mode fontification
79503         * lisp/progmodes/cperl-mode.el
79504         (cperl-font-lock-fontify-region-function): Stop the loop at
79505         EOB, to avoid inflooping there.  (Bug#33114)
79507 2018-10-25  Andreas Schwab  <schwab@suse.de>
79509         Fix minibuffer-help-form for lexical binding
79511         * lisp/simple.el (set-variable): Substitute var into
79512         minibuffer-help-form.
79513         * lisp/cus-edit.el (custom-prompt-variable): Likewise.
79515 2018-10-24  Alan Third  <alan@idiocy.org>
79517         Fix some NS drawing issues (bug#32932)
79519         * src/nsterm.m (ns_clip_to_rect):
79520         (ns_reset_clipping): Remove gsaved variable and associated code.
79521         (ns_flush_display): Remove function.
79522         (ns_copy_bits): use translateRectsNeedingDisplayInRect:by: to copy any
79523         pending drawing actions along with the image.
79524         ([EmacsView windowWillResize:toSize:]): Remove unneeded call.
79525         ([EmacsView drawRect:]): Remove redundant call to ns_clear_frame_area,
79526         and optimize the exposed rectangles.
79527         (ns_draw_window_cursor): Remove unneeded disabling of screen updates.
79529 2018-10-24  Katsumi Yamaoka  <yamaoka@jpl.org>
79531         * lisp/gnus/mm-util.el (mm-decompress-buffer): Fix split-string args.
79533 2018-10-24  Noam Postavsky  <npostavs@gmail.com>
79535         * doc/misc/calc.texi (Summary): The +/- key is 'p', not 'P'.
79537 2018-10-23  Robert Pluim  <rpluim@gmail.com>
79539         Correct typo in GNU ELPA url
79541         * doc/misc/efaq.texi (Packages that do not come with Emacs):
79542         Correct typo in GNU ELPA url (Bug#33072).  Change other url
79543         references to use https scheme.
79545 2018-10-22  Eli Zaretskii  <eliz@gnu.org>
79547         * doc/misc/dired-x.texi (Omitting Variables): Fix wording. (Bug#33112)
79549 2018-10-20  Michael Heerdegen  <michael_heerdegen@web.de>
79551         Fix help-form binding in dired-create-files
79553         This fixes Bug#32630: since "dired-aux" moved to lexical binding mode,
79554         the free variable TO in the constructed HELP-FORM got out of scope of
79555         the surrounding 'let'.
79557         * lisp/dired-aux.el (dired-create-files): Make the binding of
79558         HELP-FORM a string.
79560 2018-10-20  Eli Zaretskii  <eliz@gnu.org>
79562         Fix a pasto in a Gnus doc string
79564         * lisp/gnus/gnus-art.el (gnus-article-treat-fold-newsgroups):
79565         Doc string fix.  (Bug#33081)
79567 2018-10-19  Mauro Aranda  <maurooaranda@gmail.com>  (tiny change)
79569         Update revert-buffer documentation
79571         * doc/emacs/files.texi (Reverting): Document that revert-buffer
79572         does keep undo history.  (Bug#33084)
79574 2018-10-18  Juri Linkov  <juri@linkov.net>
79576         * lisp/mail/smtpmail.el (smtpmail-send-queued-mail): Load file with .el suffix.
79578         For the case when load-prefer-newer is t, ensure loading the right file
79579         by explicitly adding the .el suffix.  Use the same variable names
79580         as in the function smtpmail-send-it.  (Bug#33055)
79582 2018-10-16  Glenn Morris  <rgm@gnu.org>
79584         Tweak Makefile emacs-module.h handling
79586         * Makefile.in (install-arch-indep, uninstall): Respect DESTDIR.
79587         Handle whitespace.  Remove non-portable mkdir argument.
79589         (cherry picked from commit c1d0dbd6ca92cb221024382b19654e4fbf1d1ed3)
79591 2018-10-16  Philipp Stephani  <phst@google.com>
79593         Install emacs-module.h (Bug#31929)
79595         * Makefile.in (includedir): New variable.
79596         (install-arch-indep): Install emacs-module.h.
79597         (uninstall): Uninstall emacs-module.h.
79599         (cherry picked from commit 00ea749f2af44bff6ea8c1259477fbf0ead8a306)
79601 2018-10-15  Alan Mackenzie  <acm@muc.de>
79603         Clarify documentation of fractional vertical scrolling and some doc strings
79605         * doc/lispref/windows.texi (vertical scrolling): Clarify the meaning of
79606         vertical scrolling by referring to tall screen lines, images, and the display
79607         action.  Clarify an ambiguous English tense.
79609         * src/window.c (window-vscroll, set-window-vscroll): Amend doc strings to
79610         refer to display.
79612 2018-10-15  Charles A. Roelli  <charles@aurox.ch>
79614         * lisp/isearch.el (isearch-cmds): Recall absent isearch--state slot.
79616 2018-10-14  Alan Mackenzie  <acm@muc.de>
79618         doc/lispref/edebug.texi (Specification List) Remove obstrusive blank line
79620 2018-10-14  Eli Zaretskii  <eliz@gnu.org>
79622         Fix wording in module API documentation
79624         * doc/lispref/internals.texi (Module Functions): Fix confusing
79625         wording.  Reported by Basil L. Contovounesios <contovob@tcd.ie>.
79627 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
79629         Fix redisplay of glyphless characters
79631         * src/conf_post.h (bool_bf): Use 'unsigned int' in the MinGW
79632         builds.  Suggested by Tom Tromey <tom@tromey.com>.  (Bug#33017)
79633         * src/dispnew.c (scrolling_window): Update commentary
79634         regarding xwidget builds.
79636 2018-10-13  Robert Pluim  <rpluim@gmail.com>
79638         Update --without-toolkit-scroll-bars doc
79640         * configure.ac (--without-toolkit-scroll-bars): Update list of
79641         affected toolkits.
79643 2018-10-13  Robert Pluim  <rpluim@gmail.com>
79645         Call GTK functions only on GTK scrollbars
79647         * src/gtkutil.c (xg_set_background_color) [USE_TOOLKIT_SCROLL_BARS]:
79648         Don't call GTK functions on non-GTK scrollbars (Bug#32975).
79650 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
79652         Update the description of startup in ELisp manual
79654         * doc/lispref/os.texi (Startup Summary): Remove stale
79655         reference to window-system-initialization-alist.  Reported by
79656         Zhang Haijun <ccsmile2008@outlook.com>.
79658 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
79660         Use the 'line-number' face for line-number fields past EOB
79662         * src/xdisp.c (get_phys_cursor_geometry): Treat rows at and
79663         beyond ZV specially.  Don't let the cursor exceed the
79664         vertical dimensions of the row.
79665         (maybe_produce_line_number): Use the 'line-number' face
79666         instead of 'default' for blank fields beyond ZV.  Don't update
79667         the IT metrics when displaying blank line-number fields beyond
79668         ZV.  (Bug#32337)
79670 2018-10-12  Alan Third  <alan@idiocy.org>
79672         Ensure NS frame is redrawn correctly  after scroll
79674         * src/nsterm.m (ns_copy_bits): Set needsDisplay so the previous cursor
79675         position is redrawn.
79677 2018-10-12  Alex Branham  <alex.branham@gmail.com>
79679         Avoid byte-compiler warning in em-rebind.el
79681         * lisp/eshell/em-rebind.el (eshell-delete-backward-char): Use
79682         'delete-char' instead of delete-backward-char.  (Bug#32945)
79684 2018-10-12  Eli Zaretskii  <eliz@gnu.org>
79686         Improve indexing of 'C-SPC C-SPC'
79688         * doc/emacs/mark.texi (Disabled Transient Mark): Fix
79689         indexing.  (Bug#32959)
79691 2018-10-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
79693         Fix bug with precious entries in Gnus registry
79695         * lisp/registry.el (registry-collect-prune-candidates): This `cdr' was
79696           an error: it meant that the last key in the precious list, would be
79697           considered a nil. Since the precious list only contains the symbol
79698           'mark by default, marks were never considered precious.
79699         * doc/misc/gnus.texi (Store arbitrary data): Fix typo: "marks" should
79700           be "mark".
79702 2018-10-11  Eli Zaretskii  <eliz@gnu.org>
79704         Document in the ELisp manual how to write loadable modules
79706         * doc/lispref/internals.texi (Writing Dynamic Modules)
79707         (Module Initialization, Module Functions, Module Values)
79708         (Module Misc, Module Nonlocal): New nodes.
79709         * doc/lispref/loading.texi (Dynamic Modules): Add
79710         cross-reference to the new node.
79711         * doc/lispref/internals.texi (GNU Emacs Internals):
79712         * doc/lispref/elisp.texi (Top): Update menus for the new nodes.
79714 2018-10-11  Tino Calancha  <tino.calancha@gmail.com>
79716         dired-do-shell-command: Notify users after abort the command
79718         * lisp/dired-aux.el (dired-do-shell-command):  Notify users that
79719         the command have aborted when they answer 'n' to the prompt (Bug#32969).
79721 2018-10-11  Michael Albinus  <michael.albinus@gmx.de>
79723         Adapt Tramp version.  Do not merge with master
79725         * lisp/net/trampver.el: Change version to "2.3.5.26.2".
79726         (customize-package-emacs-version-alist): Add Tramp version
79727         integrated in Emacs 26.2.
79729 2018-10-10  Alan Third  <alan@idiocy.org>
79731         Fix Apple Script permissions error
79733         * nextstep/templates/Info.plist.in: Add NSAppleEventsUsageDescription
79734         message to enable AppleEvents usage.
79736 2018-10-10  Mauro Aranda  <maurooaranda@gmail.com>  (tiny change)
79738         Fix typo in 'timerp' documentation
79740         * doc/lispref/os.texi (Timers): Fix typo in 'timerp' documentation.
79741         (Bug#32999)
79743 2018-10-08  Charles A. Roelli  <charles@aurox.ch>
79745         * doc/emacs/mark.texi (Mark): Index "(de)activating the mark".
79747         (Bug#32956)
79749 2018-10-08  Scott Corley  <scott@scorley.com>  (tiny change)
79751         Fix overflow lockup with frames > 255 lines
79753         Backport from master.
79754         * src/scroll.c (struct matrix_elt): Change unsigned char fields to
79755         int to handle frames with more than 255 lines (Bug#32951).
79757 2018-10-07  Eli Zaretskii  <eliz@gnu.org>
79759         Avoid assertion violations in nonsensical calls to 'signal'
79761         * src/eval.c (Fsignal): If both arguments are nil, replace the
79762         first one with 'error', to avoid assertion violations further
79763         down the line.  (Bug#32961)
79765 2018-10-06  Charles A. Roelli  <charles@aurox.ch>
79767         * lisp/simple.el (transient-mark-mode): Correct documentation.  (Bug#32956)
79769 2018-10-06  Eli Zaretskii  <eliz@gnu.org>
79771         Update the locale and language database
79773         * lisp/international/mule-cmds.el (locale-language-names):
79774         Update the list of supported locales.  Use existing language
79775         names where available.
79777 2018-10-05  Eli Zaretskii  <eliz@gnu.org>
79779         Fix a typo in a doc string.
79781         * lisp/window.el (display-buffer-alist): Fix a typo in a doc string.
79782         Reported by Michael Heerdegen <michael_heerdegen@web.de>.
79784 2018-10-05  Katsumi Yamaoka  <yamaoka@jpl.org>
79786         Make nneething allow CRLF-encoded files (bug#32940)
79788         * lisp/gnus/nneething.el (nneething-request-article):
79789         Bind coding system to raw-text instead of binary when reading a file,
79790         that may be CRLF-encoded (bug#32940).
79792 2018-10-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
79794         Further fix to eieio-persistent
79796         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
79797           Make handling of hash tables and vectors recursive. This is
79798           necessary because the write process, in `eieio-override-prin1' is
79799           also recursive. With any luck, this will be the last fix of its
79800           kind. If that's true, cherry-pick to Emacs 26.2 later on.
79802 2018-10-04  Eli Zaretskii  <eliz@gnu.org>
79804         Avoid ridiculously high stack limit requests on macOS
79806         * src/emacs.c (main): Avoid wraparound in subtraction of
79807         rlim_t values, in case rlim_t is an unsigned type.  (Bug#32338)
79809 2018-10-03  Charles A. Roelli  <charles@aurox.ch>
79811         Improve documentation of 'read-hide-char'
79813         * src/minibuf.c (syms_of_minibuf) <Vread_hide_char>: Clarify
79814         documentation and mention where else the variable is used.
79815         * doc/lispref/minibuf.texi (Reading a Password): Add an index
79816         entry for 'read-hide-char'.
79818 2018-10-03  Alan Mackenzie  <acm@muc.de>
79820         In follow mode, prevent the cursor resting on a partially displayed line
79822         Don't merge to master.  This fixes bug #32848
79824         * lisp/follow.el (follow-adjust-window): If point ends up in a partially
79825         displayed line in a left hand or middle window, move it one line
79826         forward, to
79827         prevent unwanted scrolling should make-cursor-line-fully-visible be
79828         non-nil.
79830 2018-10-03  Alan Mackenzie  <acm@muc.de>
79832         Revert "Temporary workaround for bug #32848 for branch emacs-26"
79834         This reverts commit 6650751ce73413d05599df07a9c5bc70744260f3.
79836 2018-10-03  Alan Mackenzie  <acm@muc.de>
79838         Revert "* etc/NEWS: Note setting make-cursor-line-fully-visible to nil in follow-mode"
79840         This reverts commit f3c8f4bde2de2b9d42c44f5e44f34c427bebdc58.
79842 2018-10-03  Alan Mackenzie  <acm@muc.de>
79844         * etc/NEWS: Note setting make-cursor-line-fully-visible to nil in follow-mode
79846         Also re-insert the "temporary note" explaining --- and +++.
79848 2018-10-03  Noam Postavsky  <npostavs@gmail.com>
79850         Fix note about interactive advice (Bug#32905)
79852         * doc/lispref/functions.texi (Core Advising Primitives): Add missing
79853         ':', and finish the sentence fragment.
79855 2018-10-01  Michael Albinus  <michael.albinus@gmx.de>
79857         Comple fix for Bug#32550
79859         * lisp/net/tramp.el (tramp-rfn-eshadow-update-overlay):
79860         Use `save-excursion'.  This completes the fix of Bug#32550.
79862 2018-10-01  Eli Zaretskii  <eliz@gnu.org>
79864         * lisp/savehist.el (savehist-mode): Doc fix.  (Bug#32889)
79866 2018-09-30  Nicolas Goaziou  <mail@nicolasgoaziou.fr>
79868         Org manual: Rewrite the Org Mobile section
79870         * doc/misc/org.texi (Org Mobile): Rewritten from "MobileOrg" section.
79871         Remove all references to non-free software.
79872         Moved into "Miscellaneous", much like Org Crypt library. No longer an
79873         appendix.
79874         (Footnotes): Remove a reference to "MobileOrg".
79875         (Bug#32722)
79877 2018-09-30  Alan Mackenzie  <acm@muc.de>
79879         Temporary workaround for bug #32848 for branch emacs-26
79881         Do not merge with master.
79883         * lisp/follow.el (follow-mode): Set make-cursor-line-fully-visible to nil
79884         buffer locally whilst follow-mode is active.
79886 2018-09-29  Tino Calancha  <tino.calancha@gmail.com>
79888         Improve cl-do, cl-do* docstrings
79890         * lisp/emacs-lisp/cl-macs.el(cl-do, cl-do*):
79891         Improve docstring (Bug#32803).
79893 2018-09-29  Eli Zaretskii  <eliz@gnu.org>
79895         Avoid returning early in 'while-no-input' due to subprocesses
79897         * src/keyboard.c (kbd_buffer_store_buffered_event): Support
79898         also the internal buffer-switch events.
79899         (syms_of_keyboard) <Qbuffer_switch>: New DEFSYM.
79901         * lisp/subr.el (while-no-input-ignore-events): Ignore
79902         'buffer-switch' events.  Reported by Michael Heerdegen
79903         <michael_heerdegen@web.de>.
79905         * etc/NEWS: Mention the change in behavior of 'while-no-input'
79907 2018-09-29  John Shahid  <jvshahid@gmail.com>
79909         Cleanup when opening a new terminal fails. (Bug#32794)
79911         * src/term.c (init_tty): Call delete_terminal_internal if emacs_open
79912         fail.
79913         * src/terminal.c (delete_terminal): Move some code into
79914         delete_terminal_internal and call it.
79915         (delete_terminal_internal): New function.
79916         * src/termhooks.h: Prototype for delete_terminal_internal.
79918 2018-09-28  Alan Third  <alan@idiocy.org>
79920         Fix deprecation warning
79922         * src/nsterm.m (ns_term_init): Use writeToFile or writeToURL as
79923         required.
79925 2018-09-28  Alan Third  <alan@idiocy.org>
79927         Make all NS drawing be done from drawRect
79929         See bug#31904 and bug#32812.
79931         * src/nsterm.m (ns_update_begin): Don't lock focus, only clip if there
79932         is already a view focused.
79933         (ns_update_end): Don't mess with view focusing any more.
79934         (ns_focus): Only clip drawing if there is already a focused view,
79935         otherwise mark area dirty for later drawing.  Renamed ns_clip_to_rect.
79936         All callers changed.
79937         (ns_unfocus): Don't unfocus the view any more.  Renamed
79938         ns_reset_clipping. All callers changed.
79939         (ns_clip_to_row): Update to match ns_clip_to_rect.
79940         (ns_clear_frame):
79941         (ns_clear_frame_area):
79942         (ns_draw_fringe_bitmap):
79943         (ns_draw_window_cursor):
79944         (ns_draw_vertical_window_border):
79945         (ns_draw_window_divider):
79946         (ns_dumpglyphs_stretch):
79947         (ns_draw_glyph_string): Only draw if ns_focus or ns_clip_to_row
79948         return YES.
79949         (ns_copy_bits): Remove superfluous calls to ns_(un)focus.
79950         (ns_flush_display): New function.
79952 2018-09-28  Michael Albinus  <michael.albinus@gmx.de>
79954         Fix Bug#32828
79956         * lisp/net/dbus.el (dbus-init-bus): Return number of connections,
79957         as promised by the docstring.  (Bug#32828)
79959 2018-09-28  Noam Postavsky  <npostavs@gmail.com>
79961         * lisp/net/shr.el (shr-copy-url): Fix docstring.
79963 2018-09-27  Eli Zaretskii  <eliz@gnu.org>
79965         Fix typos in documentation
79967         * doc/misc/vhdl-mode.texi (Custom Indentation Functions):
79968         * doc/misc/url.texi (Customization):
79969         * doc/misc/tramp.texi (Overview):
79970         * doc/misc/srecode.texi (Developing Template Functions):
79971         * doc/misc/sieve.texi (Sieve Mode):
79972         * doc/misc/reftex.texi (Options - Creating Citations):
79973         * doc/misc/org.texi (Cooperation, Conflicts):
79974         * doc/misc/gnus.texi (Misc Group Stuff):
79975         * doc/misc/eshell.texi (Bugs and ideas):
79976         * doc/misc/calc.texi (Summary):
79977         * doc/man/emacsclient.1:
79978         * doc/lispref/os.texi (Security Considerations):
79979         * doc/lispref/control.texi (pcase Macro):
79980         * CONTRIBUTE: Fix typos.  Reported by Mak Kolybabi
79981         <mak@kolybabi.com>  (Bug#32853)
79983 2018-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
79985         * doc/emacs/kmacro.texi (Basic Keyboard Macro): Mention old bindings
79987         According to Apple gospel, function keys are partly going the way of the dodo
79988         so F3/F4 can, like in the good old days, be hard to reach for some users.
79990 2018-09-24  Eli Zaretskii  <eliz@gnu.org>
79992         Improve docs of functions/variables related to 'display-buffer'
79994         * lisp/window.el (display-buffer, pop-to-buffer-same-window)
79995         (display-buffer-same-window, display-buffer-in-side-window)
79996         (same-window-p, display-buffer-overriding-action)
79997         (display-buffer-base-action)
79998         (display-buffer--same-window-action)
79999         (display-buffer--other-frame-action)
80000         (with-current-buffer-window, with-displayed-buffer-window)
80001         (display-buffer-alist, display-buffer-assq-regexp)
80002         (display-buffer-other-frame): Clarify and improve the doc
80003         strings.  (Bug#32798)
80005 2018-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
80007         * lisp/mouse.el (tear-off-window): Fix non-mouse use (bug#32799)
80009 2018-09-22  Eli Zaretskii  <eliz@gnu.org>
80011         Improve documentation of directory-local variables
80013         * lisp/files.el (hack-local-variables, normal-mode)
80014         (after-find-file, find-file-hook): Mention directory-local
80015         variables in the doc strings.  Suggested by Marcin Borkowski
80016         <mbork@mbork.pl>.
80018         * doc/emacs/custom.texi (File Variables, Directory Variables):
80019         Clarify that directory-local variables are overridden by
80020         file-local ones.
80022 2018-09-22  Eli Zaretskii  <eliz@gnu.org>
80024         Don't use obsolete variable 'save-place' in documentation
80026         * doc/lispref/customize.texi (Variable Definitions): Replace
80027         example of saveplace defcustom with a fictitious one, which
80028         will not bit-rot with time.  (Bug#32741)
80030 2018-09-22  Mark A. Hershberger  <mah@everybody.org>
80032         Use save-place-mode instead of save-place
80034         * lisp/menu-bar.el (menu-bar-options-save, menu-bar-options-menu):
80035         * lisp/saveplace.el (save-place-to-alist, save-places-to-alist)
80036         (save-place-find-file-hook, save-place-dired-hook): Use
80037         save-place-mode instead of the obsolete save-place.
80039 2018-09-20  Eli Zaretskii  <eliz@gnu.org>
80041         More accurate docs for 'text-char-description'
80043         * src/keymap.c (Ftext_char_description):
80044         * doc/lispref/help.texi (Describing Characters): More accurate
80045         description of 'text-char-description'.  Remove incorrect
80046         examples from the ELisp manual.  (Bug#32743)
80048 2018-09-20  Noam Postavsky  <npostavs@gmail.com>
80050         Document synchronous behavior of eshell/make (Bug#32513)
80052         * doc/misc/eshell.texi (Built-ins):
80053         * lisp/eshell/em-unix.el (eshell/make): Mention that it falls back to
80054         the external 'make' command when called synchronously.
80056 2018-09-20  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
80058         Fix bs-show with wide characters (Bug#17822)
80060         * lisp/bs.el (bs--insert-one-entry, bs-show-in-buffer): Use
80061         string-width instead of length.
80063 2018-09-19  Eli Zaretskii  <eliz@gnu.org>
80065         Improve Custom menu labels for 2 options
80067         * lisp/dired.el (dired-use-ls-dired):
80068         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Improve
80069         the doc string and the defcustom menu/tags text.  (Bug#32756)
80071 2018-09-19  Eli Zaretskii  <eliz@gnu.org>
80073         Improve wording of last change in dired-x.texi
80075         * doc/misc/dired-x.texi (Shell Command Guessing): Clarify
80076         wording in description of 'dired-guess-shell-alist-user'.
80077         Avoid passive tense.  (Bug#32733)
80079 2018-09-18  Eli Zaretskii  <eliz@gnu.org>
80081         Fix GnuTLS test suite with GnuTLS versions 3.4.x
80083         * src/gnutls.c (gnutls_cipher_get_tag_size): Make it return
80084         zero only for versions of GnuTLS < 3.2.2, where
80085         gnutls_cipher_get_tag_size was introduced.  This fixes the
80086         GnuTLS test suite, which assumes that any cipher whose tag
80087         size is non-zero is AEAD-capable, and doesn't test such ciphers
80088         if AEAD is not available, i.e. for GnuTLS < 3.5.1.  (Bug#32446)
80090 2018-09-17  Noam Postavsky  <npostavs@gmail.com>
80092         Fix build with gnutls versions 3.0 to 3.2 (Bug#32446)
80094         We previously used functions available only in 3.2+ for all 3.x
80095         versions.
80096         * src/gnutls.c [GNUTLS_VERSION_NUMBER < 0x030501]: Replace calls to
80097         gnutls_cipher_get_tag_size with 0.
80098         [GNUTLS_VERSION_NUMBER < 0x030200]: Alias gnutls_cipher_get_iv_size
80099         to gnutls_cipher_get_block_size, gnutls_digest_list to
80100         gnutls_mac_list, and gnutls_digest_get_name to gnutls_mac_get_name.
80101         [WINDOWSNT]: Adjust DLL function definitions and declarations
80102         accordingly.
80104 2018-09-17  Eli Zaretskii  <eliz@gnu.org>
80106         Fix the Bubbles game on TTY frames
80108         * lisp/play/bubbles.el (bubbles--col-offset)
80109         (bubbles--row-offset): Doc fixes.
80110         (bubbles--compute-offsets): Conflate the GUI and TTY code into
80111         a single common version.  Set the offsets to simple numbers,
80112         not to lists.
80113         (bubbles--initialize, bubbles--show-scores): Wrap offset
80114         values in a list, so that they are interpreted as pixel
80115         values, not as units of character width.  This fixes the game
80116         on TTY frames.  (Bug#32744)
80118 2018-09-17  Allen Li  <darkfeline@felesatra.moe>
80120         Add choice to reshow certificate information (Bug#31877)
80122         In various situations, the window displaying the certificate
80123         information can be hidden (such as if the user accidentally presses ?,
80124         which causes the read-multiple-choice help window to replace it).
80125         Instead of leaving the user to make a choice blindly, add a choice to
80126         reshow the certification information.
80128         * lisp/net/nsm.el (nsm-query-user): Add reshow choice.
80130 2018-09-16  Glenn Morris  <rgm@gnu.org>
80132         * src/alloc.c (Fbool_vector, Flist, Fvector): Doc tweak.
80134         Use a simpler, consistent form.
80136 2018-09-15  Alan Mackenzie  <acm@muc.de>
80138         * src/alloc.c (vector): Fix grammatical error in doc string: "are" -> "is".
80140 2018-09-15  Eli Zaretskii  <eliz@gnu.org>
80142         Avoid adverse side effects of fixing bug#21824
80144         * test/src/buffer-tests.el
80145         (overlay-modification-hooks-deleted-overlay): New test.
80147         * src/buffer.c (report_overlay_modification): Don't bypass all
80148         the overlay-modification hooks; instead, invoke each function
80149         only if the buffer associated with the overlay is the current
80150         buffer.  (Bug#30823)
80152 2018-09-15  Eli Zaretskii  <eliz@gnu.org>
80154         Document changes called out in NEWS
80156         * doc/lispref/lists.texi (Association Lists): Document
80157         'assoc-delete-all'.
80158         * doc/lispref/minibuf.texi (Minibuffers): Adapt menu.
80159         (Multiple Queries): Document 'read-answer'.
80161         * etc/NEWS: Reflect the above documentation in the respective
80162         entries.
80164 2018-09-14  Glenn Morris  <rgm@gnu.org>
80166         Tiny doc updates re yum/dnf etc
80168         * INSTALL: Mention dnf and Debian unversioned emacs package.
80169         * doc/misc/efaq.texi (Installing Emacs): Mention dnf.
80171 2018-09-14  Leo Liu  <sdl.web@gmail.com>
80173         Remove unused variable
80175         * lisp/progmodes/prolog.el (prolog-hungry-delete-key-flag): Remove.
80177 2018-09-14  Leo Liu  <sdl.web@gmail.com>
80179         Fix (thing-at-point 'list) regression (Bug#31772)
80181         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point): Revert
80182           to pre 26.1 behavior.  Return whole sexp at point if no enclosing
80183           list.
80184           (list-at-point): New optional arg to ignore comments and strings.
80186         * test/lisp/thingatpt-tests.el
80187           (thing-at-point-bounds-of-list-at-point): Fix and augment tests.
80189 2018-09-14  Robert Pluim  <rpluim@gmail.com>
80191         Clarify meaning of '*'
80193         * doc/misc/dired-x.texi (Shell Command Guessing): Clarify meaning
80194         of '*'. (Bug#32733)
80196 2018-09-12  Paul Eggert  <eggert@cs.ucla.edu>
80198         * etc/PROBLEMS: Document Ubuntu 16.04 issue.
80200 2018-09-12  Alex Branham  <alex.branham@gmail.com>  (tiny change)
80202         Increase default value for imenu-auto-rescan-maxout
80204         * lisp/imenu.el (imenu-auto-rescan-maxout): Increase default value to
80205           600000.  (Bug#18426)
80206         * doc/emacs/programs.texi (imenu-auto-rescan-maxout): Add
80207           documentation for imenu-auto-rescan-maxout.
80209 2018-09-11  Eli Zaretskii  <eliz@gnu.org>
80211         Improve recent change to ELisp manual
80213         * doc/lispref/commands.texi (Keyboard Events): Add index entry
80214         for "character event".  (Bug#32562)
80216 2018-09-11  Eli Zaretskii  <eliz@gnu.org>
80218         * doc/lispref/display.texi (SVG Images): Improve wording.
80220         * doc/lispref/display.texi (SVG Images): Fix a typo.  (Bug#32690)
80222 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
80224         Clarify completion text in the ELisp manual
80226         * doc/lispref/minibuf.texi (Programmed Completion): Clarify
80227         text.  Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.
80229 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
80231         Fix handling of abbreviated control command in gdb-mi.el
80233         * lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp):
80234         Support unambiguous abbreviations of commands.  (Bug#32576)
80236 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
80238         Clarify documentation of functions reading character events
80240         * doc/lispref/help.texi (Describing Characters):
80241         * doc/lispref/commands.texi (Keyboard Events)
80242         (Reading One Event, Classifying Events): Make the distinction
80243         between characters and character events more explicit.
80245         * src/keymap.c (Ftext_char_description)
80246         (Fsingle_key_description):
80247         * src/lread.c (Fread_char, Fread_char_exclusive): Doc fixes,
80248         to make a clear distinction between a character input event
80249         and a character code.  (Bug#32562)
80251 2018-09-07  Eli Zaretskii  <eliz@gnu.org>
80253         Record :version for built-in variables while dumping
80255         * lisp/cus-start.el (standard): Record the ':version; of the
80256         symbols when dumping, so that 'describe-variable' could tell
80257         which built-in variables were added/changed in recent
80258         versions.
80260 2018-09-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
80262         * src/process.c (connect_network_socket): Fix memory leak.  (Bug#32604)
80264 2018-09-05  Glenn Morris  <rgm@gnu.org>
80266         * Makefile.in (appdatadir): Use the non-obsolete location "metainfo".
80268 2018-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
80270         Better fix for bug#32550
80272         * lisp/rfn-eshadow.el (rfn-eshadow-overlay): Give it a global default.
80274         * lisp/net/tramp.el (rfn-eshadow-overlay): Declare it as dynamically scoped.
80275         (tramp-rfn-eshadow-update-overlay): Revert the corresponding part of
80276         last change.
80278 2018-09-04  Michael Albinus  <michael.albinus@gmx.de>
80280         Fix Bug#32550
80282         * lisp/net/tramp.el (tramp-rfn-eshadow-setup-minibuffer): Do not
80283         use `symbol-value'.
80284         (tramp-rfn-eshadow-update-overlay): Do not use `symbol-value'.  Do
80285         not let-bind `rfn-eshadow-overlay', assign it directly (due to
80286         lexical binding).  (Bug#32550)
80288 2018-09-04  Martin Rudalics  <rudalics@gmx.at>
80290         Don't call XGetGeometry for frames without outer X window (Bug#32615)
80292         * src/xfns.c (frame_geometry): Don't call XGetGeometry when
80293         FRAME has no outer X window; return nil instead.  (Bug#32615)
80295 2018-09-03  Paul Eggert  <eggert@cs.ucla.edu>
80297         * lisp/calculator.el: Fix doc typo.
80299 2018-09-03  Glenn Morris  <rgm@gnu.org>
80301         Standardize calc bug reporting instructions
80303         * doc/misc/calc.texi (Reporting Bugs): Use standard commands.
80304         * lisp/calc/calc-misc.el (report-calc-bug, calc-report-bug):
80305         * lisp/calc/calc.el (calc-bug-address): Change to be
80306         obsolete aliases for standard Emacs bug reporting items.
80308 2018-08-31  Michael Albinus  <michael.albinus@gmx.de>
80310         Rename thread-alive-p to thread-live-p
80312         * doc/lispref/threads.texi (Basic Thread Functions): Use thread-live-p.
80314         * etc/NEWS: 'thread-alive-p' has been renamed to 'thread-live-p'.
80316         * src/thread.c (thread_live_p): Rename from thread_alive_p.  Adapt
80317         all callees.
80318         (Fthread_live_p): Rename from Fthread_alive_p.
80319         (syms_of_threads): Make thread-alive-p an alias of thread-live-p.
80321         * test/src/thread-tests.el (all): Replace `thread-alive-p' by
80322         `thread-live-p'.
80323         (threads-live): Rename from `threads-alive'.
80325 2018-08-30  Miciah Masters  <miciah.masters@gmail.com>  (tiny change)
80327         rcirc: Document /reconnect as a built-in command (Bug#29656)
80329         The change "New command rcirc-cmd-reconnect" from 2014-04-09 (shipped
80330         in Emacs 25.1) added a /reconnect command to rcirc but did not
80331         document it and did not delete the example /reconnect command
80332         definition in the manual.
80333         * doc/misc/rcirc.texi (rcirc commands): Document the built-in /reconnect
80334         command.
80335         (Hacking and Tweaking): Delete example reconnect command.
80337 2018-08-30  Noam Postavsky  <npostavs@gmail.com>
80339         * test/lisp/calc/calc-tests.el (calc-imaginary-i): New test.
80341 2018-08-28  Glenn Morris  <rgm@gnu.org>
80343         admin.el: respect environment settings for makeinfo etc
80345         * admin/admin.el (manual-makeinfo, manual-texi2pdf, manual-texi2dvi):
80346         New variables.
80347         (manual-html-mono, manual-html-node, manual-pdf, manual-ps): Use them.
80349 2018-08-28  Glenn Morris  <rgm@gnu.org>
80351         * etc/PROBLEMS: New entry about GTK+ 3 crash with some X servers.
80353 2018-08-28  Noam Postavsky  <npostavs@gmail.com>
80355         Index profiler commands in elisp manual
80357         * doc/lispref/debugging.texi (Profiling): Add index entries for
80358         profiler-start, profiler-report, profiler-stop.
80360 2018-08-28  Noam Postavsky  <npostavs@gmail.com>
80362         Fix math-imaginary-i check
80364         Reported by Bastian Erdnüß at
80365         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00300.html>.
80366         * lisp/calc/calc-cplx.el (math-imaginary-i): Check for a value
80367         of (polar 1 <quarter-circle>).
80369 2018-08-28  Eli Zaretskii  <eliz@gnu.org>
80371         Avoid infinite hscrolling loops when line numbers are displayed
80373         * src/xdisp.c (maybe_produce_line_number): Don't produce line
80374         numbers if we don't have enough screen estate.  (Bug#32351)
80376 2018-08-28  Eli Zaretskii  <eliz@gnu.org>
80378         Avoid crashes in malformed defvar
80380         * src/eval.c (Fdefvar): Don't call XSYMBOL on something that
80381         might not be a symbol.  This avoids crashes due to malformed
80382         'defvar' forms.  (Bug#32552)
80384 2018-08-28  Glenn Morris  <rgm@gnu.org>
80386         * configure.ac (emacs_config_features): Add GLIB, XDBE, XIM.
80388         * configure.ac: Doc fixes related to --with-xim.
80390 2018-08-28  Glenn Morris  <rgm@gnu.org>
80392         Small checkdoc quoting fix (bug#32546)
80394         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
80395         Fix quoting thinko.
80397 2018-08-26  Sergey Vinokurov  <serg.foo@gmail.com>
80399         Fix detection of freed emacs_values (Bug#32479)
80401         * src/emacs-module.c (module_free_global_ref): Compare a value to be
80402         freed with all entries of the list.
80404         * test/data/emacs-module/mod-test.c (Fmod_test_globref_free): New
80405         function.
80406         (emacs_module_init): Make it accessible from Lisp.
80407         * test/src/emacs-module-tests.el (mod-test-globref-free-test): New
80408         test which uses it.
80410 2018-08-25  Eli Zaretskii  <eliz@gnu.org>
80412         Avoid crashes with very wide TTY frames on MS-Windows
80414         * src/w32console.c <glyph_base>: Reduce the number of elements
80415         to 80.
80416         <glyphs, glyphs_len>: New static variables.
80417         (w32con_clear_end_of_line): If the line is wider than the
80418         current size of the "empty row" in 'glyphs', reallocate
80419         'glyphs' to support the full width of the frame.  This
80420         avoids segfaults when the frame is wider than 256 columns.
80421         (Bug#32445)
80423 2018-08-25  Wenjamin Petrenko  <wenjamin.petrenko@yandex.ru>  (tiny change)
80425         Prevent `modify-file-local-variable-prop-line' from adding extra ';'
80427         * lisp/files-x.el (modify-file-local-variable-prop-line): Handle
80428         whitespace when checking if there's already a ';' before the
80429         variable (Bug#23294).
80431 2018-08-24  Glenn Morris  <rgm@gnu.org>
80433         Update GNOME bugtracker URLs
80435         * configure.ac, admin/notes/multi-tty, etc/PROBLEMS:
80436         * src/emacs.c (main):
80437         * src/xterm.c (x_connection_closed): Update GNOME bugtracker URLs.
80439 2018-08-23  Eli Zaretskii  <eliz@gnu.org>
80441         Clarify in the Emacs manual that ChangeLog files are not used
80443         * doc/emacs/trouble.texi (Sending Patches): Use "commit log"
80444         instead of "change log", to avoid the interpretation that we
80445         are talking about literal ChangeLog files.  (Bug#32359)
80447 2018-08-21  Eli Zaretskii  <eliz@gnu.org>
80449         Recognize codepage 65001 as a valid encoding
80451         * lisp/international/mule-conf.el (cp65001): Define it as an
80452         alias for UTF-8.
80454 2018-08-18  Eli Zaretskii  <eliz@gnu.org>
80456         Avoid compilation warning in nt/addpm.c
80458         * nt/addpm.c [!MINGW_W64]: Undefine _WIN32_IE before
80459         redefining it, to avoid compilation warnings.
80461 2018-08-17  Basil L. Contovounesios  <contovob@tcd.ie>
80463         Fix duplicate custom group names in bibtex.el
80465         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
80466         Change :group from BibTeX to bibtex.  (bug#32436)
80468 2018-08-17  Eli Zaretskii  <eliz@gnu.org>
80470         Fix outdated text in the Calc manual
80472         * doc/misc/calc.texi (Internals): Don't advertise
80473         'calc-extensions' which no longer exists.  Reported by Francis
80474         Wright <francis.j.wright@gmail.com>.
80476 2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>
80478         Port better to x86 -fexcess-precision=fast
80480         Problem reported by Eli Zaretskii in:
80481         https://lists.gnu.org/r/emacs-devel/2018-08/msg00380.html
80482         * src/data.c (arithcompare): Work around incompatibility
80483         between gcc -fexcess-precision=fast and the C standard on x86,
80484         by capturing the results of floating-point comparisons before
80485         the excess precision spontaneously decays.  Although this fix
80486         might not work in general, it does work here and is probably
80487         good enough for the platforms we care about.
80489         (cherry picked from commit a84cef90957f2379cc0df6bd908317fc441971ce)
80491 2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>
80493         Add comment about floating point test
80495         * test/src/data-tests.el (data-tests--float-greater-than-fixnums):
80496         New constant.
80497         (data-tests-=, data-tests-<, data-tests->, data-tests-<=)
80498         (data-tests->=, data-tests-min): Use it.
80500 2018-08-13  Tino Calancha  <tino.calancha@gmail.com>
80502         Ibuffer: Add toggle ibuffer-do-toggle-lock
80504         Toggle the locked status in marked buffers or the buffer
80505         at point (Bug#32421).
80506         * lisp/ibuffer.el (ibuffer-do-toggle-lock): New command.
80507         (ibuffer-mode-map): Bind it to 'L'.
80508         (ibuffer-mode-operate-map): Add entries for
80509         `ibuffer-do-toggle-read-only' and `ibuffer-do-toggle-lock'.
80510         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.2):
80511         Announce the change.
80513 2018-08-13  Tino Calancha  <tino.calancha@gmail.com>
80515         Ibuffer: Detect correctly the buffers running a process
80517         * lisp/ibuffer.el (filename-and-process): Store the process buffer
80518         as a text property; check for such property to detect a buffer
80519         with a process (Bug#32420).
80521 2018-08-12  Michael Albinus  <michael.albinus@gmx.de>
80523         Backport fix for Bug#32226
80525         * test/lisp/shadowfile-tests.el: Set Tramp variables for hydra.
80526         (shadow-test06-literal-groups, shadow-test07-regexp-groups)
80527         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
80528         Use `set-visited-file-name' instead of setting the value in
80529         `buffer-file-name' directly.
80530         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
80531         Test for writable temporary directory.  Suppress errors in
80532         cleanup.  (Bug#32226)
80534 2018-08-12  Yuri D'Elia  <wavexx@thregr.org>
80536         Do not consider external packages to be removable (Bug#27822)
80538         Packages which are not directly user-installed shouldn't be autoremoved,
80539         since they can be setup through a different path (via
80540         `package-directory-list') where we have no authority over.
80541         * lisp/emacs-lisp/package.el (package--user-installed-p): New
80542         function.
80543         (package--removable-packages): Use it.
80545 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
80547         * src/alloc.c: Remove obsolete comments.
80549 2018-08-11  Eli Zaretskii  <eliz@gnu.org>
80551         Better support utf-8-with-signature and utf-8-hfs in HTML
80553         * lisp/international/mule.el (sgml-html-meta-auto-coding-function):
80554         Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
80555         obey the buffer's encoding if it is one of these variants, instead
80556         of re-encoding in UTF-8 proper.  (Bug#20623)
80558 2018-08-11  Eli Zaretskii  <eliz@gnu.org>
80560         Don't use -Wabi compiler option
80562         * configure.ac: Add -Wabi to the list of disabled warning
80563         options.  For the details, see
80564         http://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00123.html.
80566 2018-08-10  Filipp Gunbin  <fgunbin@fastmail.fm>
80568         Fix bugs in `auth-source-netrc-parse-one'.
80570         * lisp/auth-source.el (auth-source-netrc-parse-one): Ensure that match
80571           data is not overwritten in `auth-source-netrc-parse-next-interesting'.
80572           Ensure that blanks are skipped before and after going over comments
80573           and eols.
80574         * test/lisp/auth-source-tests.el (auth-source-test-netrc-parse-one): New test.
80576         (cherry picked from commit 60ff8101449eea3a5ca4961299501efd83d011bd)
80578 2018-08-09  Eli Zaretskii  <eliz@gnu.org>
80580         Fix copying text properties by 'format'
80582         * src/editfns.c (styled_format): Add the spec beginning index
80583         to the info recorded for each format spec, and use it to
80584         detect the case that a format spec and its text property end
80585         where the next spec with another property begins.  (Bug#32404)
80587         * test/src/editfns-tests.el (format-properties): Add tests for
80588         bug#32404.
80590 2018-08-09  Alexander Gramiak  <agrambot@gmail.com>
80592         Improve error messages regarding initial-buffer-choice (Bug#29098)
80594         * lisp/startup.el (command-line-1) <initial-buffer-choice>: Make the
80595         messages conform to Emacs conventions, and show the invalid return
80596         value in the message.
80598 2018-08-09  Glenn Morris  <rgm@gnu.org>
80600         * test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01): Fix typo.
80602 2018-08-09  Lars Ingebrigtsen  <larsi@gnus.org>
80604         Make async :family 'local failures fail correctly again
80606         * src/fileio.c (get_file_errno_data): Refactor out into its own
80607         function so that we can reuse the error handling from an async
80608         context (bug#31901).
80610         * src/process.c (connect_network_socket): When an async :family
80611         'local client fails (with a file error, for instance), mark the
80612         process as failed.
80614         (cherry picked from commit 92ba34d89ac4f5b5bbb818e1c39a3cc12a405790)
80616 2018-08-09  Noam Postavsky  <npostavs@gmail.com>
80618         Fix emacsclient check for term.el buffer (Bug#21041)
80620         * lib-src/emacsclient.c (find_tty): Check for any TERM value with
80621         prefix of "eterm", not just "eterm" itself.  Also check for ",term:"
80622         in INSIDE_EMACS value.
80624 2018-08-08  Eli Zaretskii  <eliz@gnu.org>
80626         Improve documentation of 'set-fontset-font'
80628         * doc/lispref/display.texi (Fontsets): Fix description of
80629         'set-fontset-font'.
80630         * src/fontset.c (Fset_fontset_font): Doc fix.  (Bug#32401)
80632 2018-08-07  Eli Zaretskii  <eliz@gnu.org>
80634         Improve documentation of M-?
80636         * doc/emacs/maintaining.texi (Identifier Search):
80637         * lisp/progmodes/xref.el (xref-find-references): Improve
80638         documentation of xref-find-references and
80639         xref-prompt-for-identifier.  (Bug#32389)
80641 2018-08-07  Ivan Shmakov  <ivan@siamics.net>
80643         Reinterpret Esperanto characters in iso-transl as iso-8859-3.
80645         * lisp/international/iso-transl.el (iso-transl-language-alist):
80646         Reinterpret Esperanto characters as iso-8859-3 (were: iso-8859-1).
80647         (Bug#32371)
80649 2018-08-07  Eli Zaretskii  <eliz@gnu.org>
80651         Fix Flyspell mode when several languages are mixed in a buffer
80653         * lisp/textmodes/flyspell.el (flyspell-external-point-words):
80654         Handle "misspelled" words that actually belong to a language
80655         unsupported by the current dictionary.  (Bug#32280)  Fix the test
80656         for Ispell the program.
80658 2018-08-04  Juri Linkov  <juri@linkov.net>
80660         New function read-answer (Bug#31782)
80662         * lisp/emacs-lisp/map-ynp.el (read-answer-short): New defcustom.
80663         (read-answer): New function.
80664         * lisp/subr.el (assoc-delete-all): New function.
80665         * etc/NEWS: Announce them.
80667         * lisp/dired.el (dired-delete-file): Use read-answer.
80668         (dired--yes-no-all-quit-help): Remove function.
80669         (dired-delete-help): Remove defconst.
80671         (backported from master, "New function read-answer (bug#30073)" and
80672         "Respect non-saved value of `read-short-answer' (Bug#31782)")
80674 2018-08-02  Eli Zaretskii  <eliz@gnu.org>
80676         Avoid assertion violations in maybe_produce_line_number
80678         * src/xdisp.c (redisplay_window): Make sure desired_matrix is
80679         cleared before calling try_window.  This is important when
80680         display-line-numbers is non-nil, because line-number display code
80681         assumes each glyph row is completely cleared when it is called to
80682         produce a line number.  (Bug#32358)
80684 2018-08-02  Eli Zaretskii  <eliz@gnu.org>
80686         Avoid assertion violations in set_text_properties_1
80688         * src/textprop.c (set_text_properties): If the call to
80689         modify_text_properties modifies the interval tree as side effect,
80690         recalculate the correct interval for START and END.  (Bug#32265)
80692 2018-07-31  Stephen Berman  <stephen.berman@gmx.net>
80694         Fix wdired test failure when byte compiled (bug#32318)
80696         * test/lisp/wdired-tests.el: Require wdired.  Defvar dired-query
80697         to silence byte-compiler.
80699 2018-07-30  Stephen Berman  <stephen.berman@gmx.net>
80701         * test/lisp/wdired-tests.el (wdired-test-symlink-name): New test.
80703 2018-07-29  Raimon Grau  <raimonster@gmail.com>
80705         Fix url's thing-at-point beginning-op (Bug#32028)
80707         * lisp/thingatpt.el (url): Fix beginning-op making.
80709 2018-07-29  Eli Zaretskii  <eliz@gnu.org>
80711         Fix last change in 'char_width'
80713         * src/character.c (char_width): Make sure variable C is always
80714         initialized.  (Bug#32276)
80716 2018-07-29  Stephen Berman  <stephen.berman@gmx.net>
80718         Add initial tests for wdired.el
80720         * test/lisp/wdired-tests.el: New file.
80722 2018-07-28  Stephen Berman  <stephen.berman@gmx.net>
80724         Fix use of non-nil wdired-use-interactive-rename
80726         This is a fairly minimal fix for the release branch; a more
80727         comprehensive fix is on master, so do not merge this to master.
80729         * lisp/wdired.el (wdired-search-and-rename): Remove dired-filename
80730         text property in order to find new filename when it only partially
80731         replaces old filename (bug#32173).  If user quits before renaming
80732         succeeds, restore the dired-filename text property.
80734 2018-07-28  Eli Zaretskii  <eliz@gnu.org>
80736         Fix compilation with mingw.org's MinGW 5.x headers
80738 2018-07-28  Eli Zaretskii  <eliz@gnu.org>
80740         Update the list of special forms in the ELisp manual
80742         * doc/lispref/eval.texi (Special Forms):
80743         * doc/lispref/frames.texi (Mouse Tracking): 'track-mouse' is
80744         nowadays a macro.  (Bug#32284)
80746 2018-07-28  Noam Postavsky  <npostavs@gmail.com>
80748         Don't fail to indent-sexp before a full sexp (Bug#31984)
80750         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Only signal error if the
80751         initial forward-sexp fails.  Suppress scan-error forn any of the
80752         forward-sexp calls after that.
80753         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-cant-go): New
80754         test.
80756 2018-07-27  Eli Zaretskii  <eliz@gnu.org>
80758         Fix calls to modifications hooks in replace-buffer-contents
80760         * src/editfns.c (Freplace_buffer_contents): Call the modification
80761         hooks on the entire region where replacements could have taken
80762         place.  The previous attempts of being more accurate just
80763         introduced bugs.  (Bug#32278)
80765 2018-07-27  Eli Zaretskii  <eliz@gnu.org>
80767         * src/character.c (char_width): Support glyphs with faces.  (Bug#32276)
80769 2018-07-27  Eli Zaretskii  <eliz@gnu.org>
80771         Display raw bytes as belonging to 'eight-bit' charset
80773         * lisp/descr-text.el (describe-char):
80774         * lisp/simple.el (what-cursor-position): Display characters in the
80775         range #x3FFF80..#x3FFF9F as belonging to charset 'eight-bit', not
80776         'tis620-2533'.
80777         * lisp/international/mule-diag.el (describe-character-set):
80778         Improve description of :supplementary-p.
80780 2018-07-26  Eli Zaretskii  <eliz@gnu.org>
80782         Fix inaccurate text in the user manual
80784         * doc/emacs/mule.texi (International Chars): Correct inaccurate
80785         description of raw bytes display by "C-x =".
80787 2018-07-26  Michael Albinus  <michael.albinus@gmx.de>
80789         Copyedits in tramp.texi, improved example with bash's readline
80791         * doc/misc/tramp.texi (all): Unify some wordings.
80792         (Frequently Asked Questions): Update example with bash's readline.
80794 2018-07-25  Michael Albinus  <michael.albinus@gmx.de>
80796         Minor Tramp doc update
80798         * doc/misc/tramp.texi (Frequently Asked Questions): Disable bash's
80799         INPUTRC.
80801 2018-07-25  Michael Albinus  <michael.albinus@gmx.de>
80803         File Shadowing is not available on MS Windows
80805         * doc/emacs/files.texi (File Shadowing): File Shadowing is not
80806         available on MS Windows.
80808         * test/lisp/shadowfile-tests.el (shadow-test00-clusters)
80809         (shadow-test01-sites, shadow-test02-files)
80810         (shadow-test03-expand-cluster-in-file-name)
80811         (shadow-test04-contract-file-name, shadow-test05-file-match)
80812         (shadow-test06-literal-groups, shadow-test07-regexp-groups)
80813         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
80814         Skip under MS Windows.
80816 2018-07-24  Noam Postavsky  <npostavs@gmail.com>
80818         Let bookmark-jump override window-point (Bug#31751)
80820         * lisp/bookmark.el (bookmark-jump): Use pop-to-buffer-same-window
80821         instead of switch-to-buffer, the latter obeys
80822         switch-to-buffer-preserve-window-point and so loses the bookmark's
80823         point.
80825 2018-07-23  Noam Postavsky  <npostavs@gmail.com>
80827         Omit keymap from subword-mode docstring (Bug#32212)
80829         * lisp/progmodes/subword.el (subword-mode): Remove listing of
80830         subword-mode-map bindings, since it is empty as of 2014-03-23 "Merge
80831         capitalized-words-mode and subword-mode".
80833 2018-07-23  Tino Calancha  <tino.calancha@gmail.com>
80834             Noam Postavsky  <npostavs@gmail.com>
80836         Prevent line-mode term from showing user passwords
80838         For buffers whose mode derive from comint-mode, the user password is
80839         read from the minibuffer and it's hidden.  A buffer in term-mode and
80840         line submode, instead shows the passwords.  Make buffers in line
80841         term-mode to hide passwords too (Bug#30190).
80843         * lisp/term.el (term-send-invisible): Prefer the more robust
80844         `read-passwd' instead of `term-read-noecho'.
80845         (term-watch-for-password-prompt): New function.
80846         (term-emulate-terminal): Call it each time we receive non-escape
80847         sequence output.
80849 2018-07-22  Jonathan Kyle Mitchell  <kyle@jonathanmitchell.org>
80851         Check for special filenames in eshell (Bug#30724)
80853         * lisp/eshell/esh-cmd.el (eshell-lisp-command): Check for "~"
80854         in lisp commands with the eshell-filename-arguments property
80855         (Bug#30724).
80857         * lisp/eshell/em-dirs.el (eshell/cd, eshell/pushd, eshell/popd):
80858         * lisp/eshell/em-ls.el (eshell/ls):
80859         * lisp/eshell/em-unix.el (eshell/rm, eshell/mkdir, eshell/rmdir)
80860         (eshell/mv, eshell/cp, eshell/ln, eshell/cat, eshell/du, eshell/diff):
80861         * lisp/eshell/esh-ext.el (eshell/addpath): Add
80862         eshell-filename-arguments to symbol plist.
80864 2018-07-22  Noam Postavsky  <npostavs@gmail.com>
80866         Fix indent-sexp of #s(...) (Bug#31984)
80868         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Look for a sexp that
80869         ends after the current line.
80870         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-go): New test.
80872 2018-07-22  Noam Postavsky  <npostavs@gmail.com>
80874         Add save-match-data to abbreviate-file-name (Bug#32201)
80876         * lisp/files.el (abbreviate-file-name): Save match-data around
80877         expand-file-name; it is not guaranteed to preserve match-data, and may
80878         well do so depending on what file handlers and hooks are in effect.
80880 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
80882         Fix last change in editfns.c
80884         * src/editfns.c (Freplace_buffer_contents): Fix last change: always
80885         call buffer modification hooks, even if nothing was deleted/inserted.
80886         (bug#32237)
80888 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
80890         Fix calls to buffer modification hooks from replace-buffer-contents
80892         * src/editfns.c (Freplace_buffer_contents): Don't call buffer
80893         modification hooks if nothing was deleted/inserted.  (Bug#32237)
80895 2018-07-21  Michael Albinus  <michael.albinus@gmx.de>
80897         Fix Bug#32226
80899         * lisp/shadowfile.el (shadow-site-name, shadow-name-site):
80900         Use "[-.[:word:]]+" as hostname regexp.  (Bug#32226)
80902         * test/lisp/shadowfile-tests.el (shadow-test06-literal-groups)
80903         (shadow-test07-regexp-groups, shadow-test08-shadow-todo)
80904         (shadow-test09-shadow-copy-files): Skip if needed.
80906 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
80908         Improve doc strings of several variables in keyboard.c
80910         * src/keyboard.c (syms_of_keyboard) <debug-on-event>
80911         <attempt-stack-overflow-recovery>
80912         <attempt-orderly-shutdown-on-fatal-signal>: Make sure the first
80913         sentence of the doc string fits on a single line.
80915 2018-07-20  Michael Albinus  <michael.albinus@gmx.de>
80917         Fix (Bug#32218).  Do not merge with master
80919         * doc/misc/trampver.texi:
80920         * lisp/net/trampver.el: Change version to "2.3.4.26.2".
80921         (customize-package-emacs-version-alist): Add Tramp version
80922         integrated in Emacs 26.2.
80924         * lisp/net/tramp.el (tramp-handle-file-truename):
80925         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
80926         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename): Fix problem
80927         with trailing slash.  (Bug#32218)
80929         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
80930         Remove `tramp--test-emacs27-p' check.
80932 2018-07-20  Eli Zaretskii  <eliz@gnu.org>
80934         Improve documentation of 'pcase-defmacro rx'
80936         * lisp/emacs-lisp/rx.el (rx): Clarify and improve the doc string.
80937         For the details, see the discussion starting at
80938         http://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00399.html.
80940 2018-07-19  Eli Zaretskii  <eliz@gnu.org>
80942         Fix TTY colors breakage by 'clear-face-cache'
80944         Without examining the right frame, 'tty-color-24bit' was erroneously
80945         treating a GUI frame as a 24-bit TTY frame.
80946         * lisp/term/tty-colors.el (tty-color-24bit): Accept optional
80947         argument DISPLAY and pass it to display-color-cells.  Doc fix.
80948         (tty-color-define, tty-color-desc): Pass the FRAME argument to
80949         tty-color-24bit.  (Bug#32072)
80951 2018-07-18  Michael Albinus  <michael.albinus@gmx.de>
80953         * admin/MAINTAINERS: Add files maintained by me (Michael Albinus).
80955 2018-07-18  Michael Albinus  <michael.albinus@gmx.de>
80957         Adapt shadowfile.el for Tramp  (Bug#4526, Bug#4846)
80959         * etc/NEWS: Mention changes in shadowfile.el.
80961         * lisp/shadowfile.el (top): Require 'tramp instead of 'ange-ftp.
80962         (shadow-cluster): New defstruct.
80963         (shadow-make-cluster, shadow-cluster-name, shadow-cluster-primary)
80964         (shadow-cluster-regexp, shadow-get-user)
80965         (shadow-parse-fullname): Remove.
80966         (shadow-info-file, shadow-todo-file, shadow-system-name)
80967         (shadow-homedir, shadow-regexp-superquote, shadow-suffix)
80968         (shadow-set-cluster, shadow-get-cluster, shadow-site-name)
80969         (shadow-name-site, shadow-site-primary, shadow-site-cluster)
80970         (shadow-read-site, shadow-parse-name, shadow-make-fullname)
80971         (shadow-replace-name-component, shadow-local-file)
80972         (shadow-expand-cluster-in-file-name, shadow-contract-file-name)
80973         (shadow-same-site, shadow-file-match, shadow-define-cluster)
80974         (shadow-define-literal-group, shadow-define-regexp-group)
80975         (shadow-make-group, shadow-shadows-of-1, shadow-read-files)
80976         (shadow-write-info-file, shadow-write-todo-file)
80977         (shadow-initialize): Adapt variables and functions.
80979         * test/lisp/shadowfile-tests.el: New file.
80981 2018-07-18  Noam Postavsky  <npostavs@gmail.com>
80983         Fix auth-source-delete (Bug#26184)
80985         * lisp/auth-source.el (auth-source-delete): Fix `auth-source-search'
80986         call.
80987         * test/lisp/auth-source-tests.el (auth-source-delete): New test.
80989 2018-07-17  Eli Zaretskii  <eliz@gnu.org>
80991         Avoid assertion violations in gnutls.c
80993         * src/gnutls.c (Fgnutls_hash_digest, gnutls_symmetric)
80994         (Fgnutls_hash_mac): Check CONSP before invoking XCDR.  (Bug#32187)
80995         Report values of invalid arguments when signaling an error.
80997 2018-07-14  Eli Zaretskii  <eliz@gnu.org>
80999         Don't use a literal "C-u" in ispell.el  help message text
81001         * lisp/textmodes/ispell.el (ispell-command-loop): Use
81002         "\\[universal-argument]" instead of a literal "C-u".  (Bug#32142)
81004 2018-07-14  Eli Zaretskii  <eliz@gnu.org>
81006         Improve documentation of 'seqp'
81008         * doc/lispref/sequences.texi (Sequence Functions): Add text to
81009         explain the relation between 'seqp' and 'sequencep'.  (Bug#32125)
81011 2018-07-14  Eli Zaretskii  <eliz@gnu.org>
81013         Clarify usage and dependencies between several Flyspell features
81015         * lisp/textmodes/flyspell.el (flyspell-region)
81016         (flyspell-small-region, flyspell-persistent-highlight):
81017         Documentation improvements.  (Bug#32142)
81019 2018-07-13  Michael Albinus  <michael.albinus@gmx.de>
81021         Use consistent function names in thread-tests.el
81023         * test/src/thread-tests.el (threads-call-error, threads-custom)
81024         (threads-errors, threads-sticky-point, threads-signal-early):
81025         Rename, using naming convention to prefix with "threads-".
81027 2018-07-13  Michael Albinus  <michael.albinus@gmx.de>
81029         Fix format error in Faccept_process_output
81031         * src/process.c (Faccept_process_output): Do not use format spec
81032         "%p", it isn't valid for error().
81034 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
81036         Lessen stack consumption in recursive read1
81038         * src/lread.c (read1): Shrink local buffer size from
81039         MAX_ALLOCA to 128 (Bug#31995).
81041 2018-07-13  Noam Postavsky  <npostavs@gmail.com>
81043         Match w32 paths in grep sans --null hits (Bug#32051)
81045         * lisp/progmodes/grep.el (grep-regexp-alist): Add an optional part to
81046         match paths starting with C: (other drive letters).
81047         * test/lisp/progmodes/compile-tests.el
81048         (compile-tests--grep-regexp-testcases)
81049         (compile-tests--grep-regexp-tricky-testcases)
81050         (compile-test-grep-regexps): New tests.
81051         (compile--test-error-line): Return `compilation-message'.
81053 2018-07-13  Noam Postavsky  <npostavs@gmail.com>
81055         Fix previous make-network-process change
81057         * src/process.c (Fmake_network_process): On 2018-07-09 "Explicitly
81058         reject :server and :nowait (Bug#31903)", the sense of the SERVER check
81059         was accidentally reversed so that we ended up looking for the wrong
81060         ADDRESS.  Reported by T.V Raman in
81061         <https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00437.html>.
81063 2018-07-12  Eli Zaretskii  <eliz@gnu.org>
81065         Another documentation improvement in flyspell.el
81067         * lisp/textmodes/flyspell.el (flyspell-persistent-highlight): Doc
81068         fix.
81070 2018-07-12  Eli Zaretskii  <eliz@gnu.org>
81072         Improve documentation of Flyspell
81074         For the background, see
81075         http://lists.gnu.org/archive/html/help-gnu-emacs/2018-07/msg00099.html.
81077         * doc/emacs/fixit.texi (Spelling): Add a couple of caveats.
81078         * lisp/textmodes/flyspell.el: Update commentary.
81080 2018-07-12  Michael Albinus  <michael.albinus@gmx.de>
81082         Provide feature 'threads
81084         * src/thread.c (syms_of_threads): Provide feature "threads".
81086         * test/src/thread-tests.el (top): Declare the functions.
81087         (all): Use (featurep 'threads) check.
81089 2018-07-11  Miciah Masters  <miciah.masters@gmail.com>  (tiny change)
81091         Save the server alias on reconnect (Bug#29657)
81093         rcirc does not retain the server alias on reconnect.  As a result, rcirc
81094         fails to re-use server and channel buffers when an alias is used.  Further
81095         problems may ensue when aliases are used to differentiate multiple
81096         connections to the same host, for example when using a single IRC bouncer
81097         or proxy to connect to multiple IRC networks.
81099         Save the server alias when connecting to a server so that reconnect will
81100         retain the alias.
81101         * lisp/net/rcirc.el (rcirc-connect): Include server-alias when setting
81102         rcirc-connection-info.
81104 2018-07-11  Basil L. Contovounesios  <contovob@tcd.ie>
81106         Refer to "proper lists" instead of "true lists"
81108         * doc/lispref/lists.texi (Cons Cells, Building Lists):
81109         * doc/lispref/sequences.texi (Vector Functions): Use the more
81110         popular term "proper", rather than "true", to qualify nil-terminated
81111         lists.
81113         For discussion, see the following emacs-devel subthreads:
81114         https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00112.html
81115         https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00138.html
81117 2018-07-10  John Shahid  <jvshahid@gmail.com>
81119         Avoid turning on the global-minor-mode recursively
81121         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Clear
81122         the buffer-list inside MODE-enable-in-buffers to avoid enabling the
81123         mode recursively.  (Bug#31793)
81125 2018-07-10  Michael Albinus  <michael.albinus@gmx.de>
81127         Fix Bug#32085
81129         * doc/misc/tramp.texi (GVFS based methods): `dav' and `davs' do
81130         not support paths in the volume name.  (Bug#32085)
81132 2018-07-10  Noam Postavsky  <npostavs@gmail.com>
81134         Stop using indent-line-to in lisp-indent-line (Bug#32014)
81136         This is partial revert of "Remove ignored argument from
81137         lisp-indent-line", because `indent-line-to' doesn't respect field
81138         boundaries.
81139         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Use delete-region
81140         and indent-to instead of `indent-line-to'.
81141         * test/lisp/emacs-lisp/lisp-mode-tests.el
81142         (lisp-indent-with-read-only-field): Expect to pass.
81144         Don't merge to master, we will fix indent-line-to there instead.
81146 2018-07-10  Noam Postavsky  <npostavs@gmail.com>
81148         Explicitly reject :server and :nowait (Bug#31903)
81150         * src/process.c (Fmake_network_process): Explicitly check for and
81151         signal an error when passed both :server and :nowait non-nil.  In
81152         Emacs 25, :nowait would be ignored in this case, but as of Emacs 26.1
81153         this gives an error, albeit an unclear one.  Also remove obsolete
81154         comment regarding configurations lacking non-blocking mode, the
81155         corresponding code was removed in 2012-11-17 "Assume POSIX 1003.1-1988
81156         or later for fcntl.h."
81158 2018-07-09  Michael Albinus  <michael.albinus@gmx.de>
81160         Fix Bug#32090
81162         * lisp/files-x.el (connection-local-normalize-criteria): Do not
81163         use PROPERTIES anymore.
81164         (connection-local-get-profiles): Rewrite, in order to accept any
81165         property as optional.  (Bug#32090)
81166         (connection-local-set-profiles):
81167         Adapt ´connection-local-normalize-criteria' call.
81169         * test/lisp/files-x-tests.el
81170         (files-x-test-connection-local-set-profiles)
81171         (files-x-test-hack-connection-local-variables-apply): Extend tests.
81173 2018-07-08  Paul Eggert  <eggert@cs.ucla.edu>
81175         Fix floating point exceptions on Alpha (Bug#32086)
81177         Backport from master.
81178         * admin/merge-gnulib (GNULIB_MODULES): Add fpieee.
81179         * m4/fpieee.m4: New file, copied from Gnulib.
81180         * m4/gnulib-comp.m4: Regenerate.
81182 2018-07-08  Paul Eggert  <eggert@cs.ucla.edu>
81184         Fix bootstrap infloop in GNU/Linux alpha
81186         * src/emacs.c (main): Do not re-exec if EMACS_HEAP_EXEC
81187         is already set (Bug#32083).
81189 2018-07-08  Eli Zaretskii  <eliz@gnu.org>
81191         Minor fix of a recent documentation change
81193         * lisp/net/gnutls.el (gnutls-algorithm-priority): Clarify the doc
81194         string.
81196 2018-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
81198         Mention the NSM in the gnutls variable doc strings
81200         * lisp/net/gnutls.el (gnutls-algorithm-priority): Mention the Network
81201         Security Manager here since this variable is an obvious place
81202         for people concerned about network security to look.
81203         (gnutls-verify-error): Ditto.
81204         (gnutls-min-prime-bits): Ditto.
81206 2018-07-08  Michael Albinus  <michael.albinus@gmx.de>
81208         Remove test code from last commit
81210 2018-07-08  Michael Albinus  <michael.albinus@gmx.de>
81212         Fix Bug#32084
81214         * test/lisp/net/dbus-tests.el (dbus-test02-register-service-own-bus):
81215         Unset $DISPLAY when calling dbus-launch, in order to avoid
81216         possible X11 authentication errors.  (Bug#32084)
81218 2018-07-07  Basil L. Contovounesios  <contovob@tcd.ie>
81220         Fix (length NON-SEQUENCE) documentation
81222         Suggested by Eli Zaretskii <eliz@gnu.org> in the following threads:
81223         https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00171.html
81224         https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00206.html
81226         * doc/lispref/sequences.texi (Sequence Functions): Mention that
81227         'length' signals a 'wrong-type-argument' also when given a
81228         non-sequencep argument.
81230 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
81232         Fix bug #11732
81234         * src/w32fns.c (w32_wnd_proc): Fix handling of Windows input
81235         methods.  (Bug#11732)
81237 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
81239         Improve documentation of 'emacs-lock-mode'
81241         * lisp/emacs-lock.el (emacs-lock-mode): Mention in the doc string
81242         the special handling of some major modes due to
81243         'emacs-lock-unlockable-modes'.
81245 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
81247         * lisp/imenu.el (imenu-generic-expression): Doc fix.  (Bug#32016)
81249 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
81251         Improve indexing of 'eval-defun' in ELisp manual
81253         * doc/lispref/display.texi (Defining Faces):
81254         * doc/lispref/debugging.texi (Explicit Debug):
81255         * doc/lispref/customize.texi (Variable Definitions):
81256         * doc/lispref/variables.texi (Defining Variables): Add index
81257         entries for 'eval-defun'.  (Bug#32066)
81259 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
81261         Fix (length CIRCULAR) documentation
81263         * doc/lispref/sequences.texi (Sequence Functions):
81264         Correct documentation of what (length X) does when
81265         X is a circular list.
81267 2018-07-06  Michael Albinus  <michael.albinus@gmx.de>
81269         Tramp editorials
81271         * doc/misc/tramp.texi (Android shell setup): Mention Termux.
81273         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
81274         Use proper spelling "Tramp" in docstring.
81276 2018-07-06  Eli Zaretskii  <eliz@gnu.org>
81278         Clarify and improve doc strings of 'eval-last-sexp' and friends
81280         * lisp/simple.el (eval-expression, eval-expression-print-format):
81281         * lisp/progmodes/elisp-mode.el (eval-last-sexp): Doc fixes.
81282         (Bug#32064)
81284 2018-07-06  Glenn Morris  <rgm@gnu.org>
81286         Automate upload of Emacs manuals to gnu.org
81288         * admin/make-manuals, admin/upload-manuals: New scripts.
81289         * admin/admin.el (make-manuals, make-manuals-dist): Handle batch mode.
81290         * admin/make-tarball.txt: Update web-page details.
81292 2018-07-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
81294         Fix MH-E mail composition with GNU Mailutils (SF#485)
81296         * lisp/mh-e/mh-comp.el (mh-bare-components): Recursively delete
81297         the temporary folder.
81299 2018-07-03  Eli Zaretskii  <eliz@gnu.org>
81301         Speed up 'replace-buffer-contents' some more
81303         * src/editfns.c (EXTRA_CONTEXT_FIELDS): New members beg_a and beg_b.
81304         (Freplace_buffer_contents): Set up ctx.beg_a and ctx.beg_b.
81305         (buffer_chars_equal): Use ctx->beg_a and ctx->beg_b instead of
81306         calling BUF_BEGV, which is expensive.  This speeds up the recipe
81307         in bug#31888 by 30%.
81309 2018-07-03  Glenn Morris  <rgm@gnu.org>
81311         * doc/emacs/docstyle.texi: Avoid messing up the html output.
81313         Previously the @hyphenation commands somehow caused the <head>
81314         section to go missing, with makeinfo 4.13 at least.
81316 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81318         * etc/HISTORY: Cite Brinkhoff on early history.
81320 2018-07-01  Martin Rudalics  <rudalics@gmx.at>
81322         Document internal use of 'above-suspended' z-group frame parameter
81324         * src/w32fns.c (w32_dialog_in_progress, x_set_z_group):
81325         * src/xterm.c (x_set_z_group): Clarify the internal use of
81326         'above-suspended' when setting a frame's 'z-group' parameter.
81328 2018-06-30  Gemini Lasswell  <gazally@runbox.com>
81330         Increase max-lisp-eval-depth adjustment while in debugger (bug#31919)
81332         * src/eval.c (call_debugger): Increase the amount of extra Lisp
81333         evaluation depth given to the debugger to allow it to call cl-print.
81334         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Add a comment
81335         to suggest updating call_debugger when changing print-level.
81337 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
81339         Improve on last change in replace-buffer-contents
81341         * src/editfns.c (Freplace_buffer_contents): Call modification
81342         hooks only for the actual region where changes are made.
81343         (Bug#31888)
81345 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
81347         Fix a factual error in Introduction to Emacs Lisp
81349         * doc/lispintro/emacs-lisp-intro.texi (Buffer Names): Update the
81350         key that exits the splash screen.  (Bug#32019)
81352 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
81354         Minor improvements in documentation of imenu.el
81356         * lisp/imenu.el (imenu-generic-skip-comments-and-strings)
81357         (imenu--generic-function): Doc fixes.  (Bug#31962)
81359 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
81361         Avoid errors with recentering in 'skeleton-insert'
81363         * lisp/skeleton.el (skeleton-insert): Don't recenter if we are
81364         running in a buffer other than the one displayed in the selected
81365         window.  (Bug#31950)
81367 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
81369         * src/lisp.h: Omit obsolete comment re bytecode stack.
81371 2018-06-29  Eli Zaretskii  <eliz@gnu.org>
81373         Speed up replace-buffer-contents
81375         * src/editfns.c (EXTRA_CONTEXT_FIELDS): Add a_unibyte and
81376         b_unibyte members.
81377         (rbc_quitcounter): New static variable.
81378         (Freplace_buffer_contents): Initialize a_unibyte, b_unibyte, and
81379         rbc_quitcounter.  Inhibit modification hooks if they were not
81380         already inhibited.  Use rarely_quit to allow user to quit, to
81381         avoid calling maybe_quit too frequently (which hurts performance).
81382         Remove redundant assertions (which hurt performance too much).
81383         Call signal_after_change and update_compositions after all the
81384         changes are done.
81385         (buffer_chars_equal): Remove redundant assertions (which hurt
81386         performance).  Avoid using BUF_FETCH_CHAR_AS_MULTIBYTE, which
81387         hurts performance by referencing Lisp symbols; instead, use
81388         lower-level macros with explicit tests to select which macro to
81389         use.  (Bug#31888)
81391 2018-06-27  Dmitry Gutov  <dgutov@yandex.ru>
81393         Remove extra process call from vc-git-find-file-hook
81395         * lisp/vc/vc-git.el (vc-git-find-file-hook): Resolve FIXMEs.
81397 2018-06-27  Dmitry Gutov  <dgutov@yandex.ru>
81399         Speed up vc-git-dir-status-files
81401         * lisp/vc/vc-git.el (vc-git-dir-status-goto-stage): Call 'git
81402         ls-files -u' for the ls-files-conflict stage
81403         (https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00885.html).
81405 2018-06-27  Eli Zaretskii  <eliz@gnu.org>
81407         Avoid compiler warning using coding.h
81409         * src/coding.h: Add INLINE_HEADER_BEGIN..INLINE_HEADER_END, since
81410         this header now has an extern INLINE function.
81412 2018-06-27  Michael Albinus  <michael.albinus@gmx.de>
81414         Sync with Tramp 2.3.4.  Do not merge with master
81416         * doc/misc/trampver.texi:
81417         * lisp/net/trampver.el: Change version to "2.3.4".
81419         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
81420         Check, that the directory has been removed indeed.
81422         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Adapt test.
81423         (tramp--test-emacs25-p): New defun.
81424         (tramp-test34-vc-registered): Use it.
81426 2018-06-27  Martin Rudalics  <rudalics@gmx.at>
81428         * src/xdisp.c (Vmouse_autoselect_window): Clarify doc-string (Bug#31975)
81430 2018-06-26  Noam Postavsky  <npostavs@gmail.com>
81432         Detect a non-list package archive content properly (Bug#22311)
81434         * lisp/emacs-lisp/package.el (package--download-one-archive): Use
81435         `read' instead of `read-from-string'; the latter always returns a
81436         cons, so the `listp' check on its return value doesn't make sense.  It
81437         was changed from `read' to `read-from-string' in 2015-04-01 "*
81438         emacs-lisp/package.el: Implement asynchronous refreshing", but that
81439         change was not needed because `read' works fine on strings as well as
81440         buffers.
81442 2018-06-25  Christophe Junke  <junke.christophe@gmail.com>  (tiny change)
81444         Add ido-fallback special variable (Bug#31707)
81446         Before ido.el switch to lexical-binding, it was possible for other
81447         packages to modify the 'fallback' variables declared inside
81448         'ido-file-internal' and 'ido-buffer-internal'.
81449         * lisp/ido.el (ido-fallback): New variable.
81450         (ido-buffer-internal, ido-file-internal): Reset ido-fallback to nil
81451         before prompting user.  Use ido-fallback when ido-exit is 'fallback'.
81452         (ido-fallback-command): Add optional FALLBACK-COMMAND argument.
81454 2018-06-25  Karl Fogel  <kfogel@red-bean.com>
81456         Tighten a cross-reference in documentation
81458         * doc/lispref/internals.texi (Writing Emacs Primitives): Switch to
81459           a simple parenthetical cross-reference, following up to my
81460           commit 9a53b6d426 of 2018-06-24.
81462         See discussion:
81464           https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00826.html
81465           From: Eli Zaretskii
81466           Subject: Re: [Emacs-diffs] \
81467                    emacs-26 9a53b6d: Say how to override a primitive interactive spec
81468           To: Karl Fogel
81469           CC: Stefan Monnier, Emacs Devel
81470           Date: Mon, 25 Jun 2018 17:41:53 +0300
81471           Message-Id: <83r2kvrkr2.fsf@gnu.org>
81473 2018-06-25  Michael Albinus  <michael.albinus@gmx.de>
81475         Fix last change in tramp-sh.el
81477         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly):
81478         Use "-R" rather than "-r" for recursive copy of directories.
81480 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
81482         Revert previous patch; comment was OK after all.
81484 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
81486         Fix lead comment for count_trailing_zero_bits
81488         * src/data.c (count_trailing_zero_bits): Fix comment to match code.
81490 2018-06-24  Noam Postavsky  <npostavs@gmail.com>
81492         * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix docstring quotes.
81494 2018-06-24  Simen Heggestøyl  <simenheg@gmail.com>
81496         Make a minor update to the CSS mode docstring
81498         * lisp/textmodes/css-mode.el (css-mode): Mention 'fill-paragraph'.
81500 2018-06-24  Karl Fogel  <kfogel@red-bean.com>
81502         Say how to override a primitive interactive spec
81504         * doc/lispref/internals.texi (Writing Emacs Primitives): Mention that
81505           the `interactive-form' property can be used to override a primitive
81506           interactive specification, and refer to the detailed documentation
81507           for setting that property.
81509         From this thread on Emacs Devel:
81511           https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00923.html
81512           From: Eli Zaretskii
81513           To: Karl Fogel
81514           CC: Juri Linkov, Emacs Devel
81515           Subject: Re: [Emacs-diffs] \
81516                    master b88e7c8: Make transpose-regions interactive (Bug#30343)
81517           Date: Thu, 29 Mar 2018 14:38:15 +0300
81518           Message-Id: <834lkzdsd4.fsf@gnu.org>
81520 2018-06-24  Michael Albinus  <michael.albinus@gmx.de>
81522         Fix Bug#31941
81524         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): In case of
81525         FILENAME being a directory, check whether `copy-directory' could
81526         be avoided.  Suggested by Stephen Nutt <stnutt@gmail.com>.  (Bug#31941)
81527         (tramp-do-copy-or-rename-file-directly): Call "cp" with "-r".
81529 2018-06-23  Leo Liu  <sdl.web@gmail.com>
81531         Fix previous change in minibuffer-default-add-dired-shell-commands
81533         The mailcap minibuffer completion used dynamic binding.  Locally set
81534         a dynamic variable.
81535         * lisp/dired-aux.el (minibuffer-default-add-dired-shell-commands):
81536         Store list of files in 'minibuffer-completion-table'.  (Bug#31794)
81538 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
81540         * src/editfns.c (Fformat): Make %x easier to spot in doc string.  (Bug#31945)
81542 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
81544         Improve responsiveness while in 'replace-buffer-contents'
81546         * src/editfns.c (buffer_chars_equal): Avoid calling
81547         buf_charpos_to_bytepos when the buffer is plain-ASCII.
81548         Suggested by Milan Stanojević <mstanojevic@janestreet.com>.
81549         Call maybe_quit to improve responsiveness.
81550         (Freplace_buffer_contents): Call maybe_quit.  Warn in the doc
81551         string that the function could be slow.  (Bug#31888)
81553 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
81555         Improve documentation of 'server-start' and friends
81557         * lisp/server.el (server-start, server-running-p): Document how to
81558         reliably check that the current Emacs process started the server.
81559         (Bug#31859)
81561 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
81563         Clarify wording about functions' argument lists
81565         * doc/lispref/functions.texi (Argument List): Clarify the
81566         wording.  (Bug#31872)
81568 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
81570         * lisp/doc-view.el: Fix typos in the commentary.  (Bug#31937)
81572 2018-06-22  Eli Zaretskii  <eliz@gnu.org>
81574         Fix a typo in emacs-lisp-intro.texi
81576         * doc/lispintro/emacs-lisp-intro.texi (kill-ring-yank-pointer):
81577         Add a missing quote.  Reported by Jean-Christophe Helary
81578         <brandelune@gmail.com> in emacs-devel.
81580 2018-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81582         Fix doc typo: missing double-quote
81584 2018-06-22  Eli Zaretskii  <eliz@gnu.org>
81586         Avoid segfaults in replace-buffer-contents with large buffers
81588         * src/editfns.c (Freplace_buffer_contents): Don't release
81589         malloc'ed memory as long as we are using it.  (Bug#31888)
81591 2018-06-22  Robert Pluim  <rpluim@gmail.com>
81593         Adjust for scaling for mode-line popup menus (Bug#31880)
81595         * src/xmenu.c (menu_position_func) [HAVE_GTK3]: Take scaling
81596         into account when calculating screen size.
81598 2018-06-21  Simen Heggestøyl  <simenheg@gmail.com>
81600         Change name of `seqp' argument (Bug#26411)
81602         * lisp/emacs-lisp/seq.el (seqp): Change argument name.
81604         * doc/lispref/sequences.texi: Update the documentation for seqp.
81606 2018-06-20  Noam Postavsky  <npostavs@gmail.com>
81608         Change index of ";" to better reflect it's usage (Bug#31623)
81610         * doc/lispref/objects.texi (Comments): "; for commenting" fits better
81611         with the following text about how a semicolon begins a comment.  Also
81612         mention that only unescaped semicolons start a comment.
81614 2018-06-20  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
81616         Fix bug of 'mouse-drag-and-drop-region' to detect edges of region (Bug#31905)
81618         * lisp/mouse.el (mouse-drag-and-drop-region): Detect both the
81619         beginning and the end of character of region during dragging
81620         text.
81622 2018-06-19  Noam Postavsky  <npostavs@gmail.com>
81624         Fix #'fun handling inside `labels' (Bug#31792)
81626         * lisp/emacs-lisp/cl.el (labels): Apply the equivalent of the
81627         cl-labels change from 2015-01-16 "* lisp/emacs-lisp/cl-macs.el: Fix
81628         last change".
81629         * test/lisp/emacs-lisp/cl-tests.el (labels-function-quoting): New
81630         test.
81631         * lisp/emacs-lisp/cl-macs.el (cl-flet, cl-labels): Improve docstring,
81632         link to relevant manual page.
81633         * doc/misc/cl.texi (Function Bindings): Don't imply that function
81634         cells of symbols are modified by cl-flet.  Don't claim that cl-flet or
81635         cl-labels affect references of the form (quote FUNC).
81637 2018-06-18  Eli Zaretskii  <eliz@gnu.org>
81639         Fix vertical-motion with 'visual' line-number display
81641         * src/indent.c (Fvertical_motion): Don't exempt 'visual' sty;e of
81642         line-number display from X coordinate adjustments.  (Bug#31875)
81644 2018-06-17  Alan Third  <alan@idiocy.org>
81646         Handle NSAttributedString inputs (bug#29837)
81649         * src/nsterm.m (EmacsView::insertText): Handle NSAttributedString.
81651 2018-06-17  Philipp Stephani  <phst@google.com>
81653         Allow inserting non-BMP characters
81655         * src/coding.h (UTF_16_HIGH_SURROGATE_P, UTF_16_LOW_SURROGATE_P): Move
81656         from coding.c and document.
81657         (surrogates_to_codepoint): New function.
81659         * src/nsterm.m (insertText:): Properly handle surrogate pairs.
81661         (cherry picked from commit 703ac3ea1c1ce381f385469a0e88bc29d3fe83c2)
81663 2018-06-17  Aaron Jensen  <aaronjensen@gmail.com>
81665         Prevent errant scroll on mouse click (Bug#31546)
81667         * src/nsterm.m (ns_mouse_position): Use correct frame when determining
81668           mouse position.
81669         * lisp/mouse.el (mouse-drag-track): Only account for mode-line height
81670           if `mode-line-format' is non-nil.
81672 2018-06-17  Eli Zaretskii  <eliz@gnu.org>
81674         Minor documentation fix
81676         * doc/lispref/windows.texi (Window Start and End): Improve
81677         documentation and indexing of window-end.
81679 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
81681         * lisp/window.el (window-toggle-side-windows): Doc fix.  (Bug#31858)
81683 2018-06-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
81685         Fix byte compilation of (eq foo 'default)
81687         Backport from master.
81688         Do not use the symbol ‘default’ as a special marker.
81689         Instead, use a value that cannot appear in the program,
81690         improving on a patch proposed by Robert Cochran (Bug#31718#14).
81691         * lisp/emacs-lisp/bytecomp.el (byte-compile--default-val):
81692         New constant.
81693         (byte-compile-cond-jump-table-info)
81694         (byte-compile-cond-jump-table): Use it instead of 'default.
81695         * test/lisp/emacs-lisp/bytecomp-tests.el:
81696         (byte-opt-testsuite-arith-data): Add a test for the bug.
81698 2018-06-16  Michael Albinus  <michael.albinus@gmx.de>
81700         Fix Bug#31846.  Do not merge with master
81702         * lisp/net/secrets.el (secrets-search-items)
81703         (secrets-create-item): Fix format of :dict-entry values.  (Bug#31846)
81705 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
81707         Fix documentation of ':propertize' in mode-line-format
81709         * doc/lispref/modes.texi (Mode Line Data): Make the description of
81710         ':propertize' more accurate.  (Bug#26291)
81712 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
81714         Reject invalid 5-byte sequences when detecting UTF-8 encoding
81716         * src/coding.c (detect_coding_utf_8): Reject multibyte sequences
81717         whose leading byte is greater than MAX_MULTIBYTE_LEADING_CODE.
81718         (Bug#31829)
81719         * src/character.h (MAX_MULTIBYTE_LEADING_CODE): Add commentary
81720         about the connection between the value of this macro and MAX_CHAR.
81722 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
81724         Fix 'replace-buffer-contents' in multibyte buffers
81726         * src/editfns.c (buffer_chars_equal): Pass a byte position to
81727         BUF_FETCH_CHAR_AS_MULTIBYTE, not a character position.
81728         (Bug#31837)
81730         * test/src/editfns-tests.el (replace-buffer-contents-bug31837):
81731         New test.
81733 2018-06-15  Robert Pluim  <rpluim@gmail.com>
81735         Update etc/NEWS for mail-source-movemail-program change
81737         * etc/NEWS: Describe change in how we search for
81738         mail-source-movemail-program.
81740 2018-06-15  Robert Pluim  <rpluim@gmail.com>
81742         Improve movemail default
81744         * lisp/gnus/mail-source.el (mail-source-movemail-program):
81745         Change default to "movemail".
81746         (mail-source-movemail): Pass just mail-source-movemail-program to
81747         call-process instead of fully specifying it relative to
81748         exec-directory.  Ensures that we will find Mailutils movemail if
81749         it is installed.  (Bug#31737)
81751 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
81753         Delete description of deleted Customize functions
81755         * doc/lispref/customize.texi (Variable Definitions): Remove the
81756         description of 'custom-initialize-safe-set' and
81757         'custom-initialize-safe-default', which were deleted in Emacs
81758         23.2, and replace with the description of
81759         'custom-initialize-delay'.
81761 2018-06-14  Noam Postavsky  <npostavs@gmail.com>
81763         Keep vc-print-log from putting point at buffer end (Bug#31764)
81765         * lisp/vc/vc.el (vc-print-log-internal): Use `save-excursion' around
81766         `vc-print-log-setup-buttons'.
81768 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
81770         Don’t set EMACS=t if Bash is 4.4 or newer
81772         (Backport from master.)
81773         (Thanks to Stefan Monnier for improvements to this patch.)
81774         * lisp/term.el (term--bash-needs-EMACS-status): New var.
81775         (term--bash-needs-EMACSp): New function.
81776         (term-exec-1): Use it instead of always setting EMACS.
81778 2018-06-14  Eli Zaretskii  <eliz@gnu.org>
81780         Improve commentary in info.el
81782         * lisp/info.el: Explain in commentary why some commands start with
81783         "info-" and others with "Info-".  See also
81784         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00482.html.
81786 2018-06-13  Michael Albinus  <michael.albinus@gmx.de>
81788         Fix wording in tramp.texi
81790         * doc/misc/tramp.texi (Frequently Asked Questions):
81791         Fix wording for abbreviations.
81793 2018-06-13  Michael Albinus  <michael.albinus@gmx.de>
81795         * doc/misc/tramp.texi (Remote shell setup): Fix typo.
81797 2018-06-12  Sam Steingold  <sds@gnu.org>
81799         Finish the Bug#11728 work: hg & git
81801         * lisp/vc/vc-git.el (vc-git--pushpull): Make `extra-args' a list.
81802         Do not set `compilation-error-regexp-alist', this is done in
81803         `vc-compilation-mode'.
81804         (vc-git-error-regexp-alist): Tweak the regexp.
81805         * lisp/vc/vc-hg.el (vc-hg-error-regexp-alist): Make non-trivial.
81806         (vc-hg--pushpull): Accept `post-processing' argument.
81807         Call them after the `command'.
81808         (vc-hg-pull): Pass the `post-processing' commands that show which
81809         are to be modified by the `update', and then run `update'.
81811 2018-06-12  Sam Steingold  <sds@gnu.org>
81813         Fix Bug#11728: show files updated by git
81815         * lisp/vc/vc-git.el (vc-git--pushpull): Accept extra-args and set
81816         `compilation-error-regexp-alist' to `vc-git-error-regexp-alist'.
81817         (vc-git-pull): Pass "--stat" as `extra-args' to `vc-git--pushpull'.
81818         (vc-git-push): Pass "" as `extra-args' to `vc-git--pushpull'.
81820 2018-06-12  Noam Postavsky  <npostavs@gmail.com>
81822         Make 'tags' targets respect --with-silent-rules (Bug#31744)
81824         * lwlib/Makefile.in (TAGS):
81825         * lisp/Makefile.in (TAGS):
81826         * src/Makefile.in (TAGS): Use AM_V_GEN and AM_V_at.
81827         * src/Makefile.in: Note that TAGS are generated in build dir.
81829 2018-06-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
81830             Noam Postavsky  <npostavs@gmail.com>
81832         soap-client: Add byte-code compatibility function (Bug#31742)
81834         * lisp/net/soap-client.el: Bump version to 3.1.4.
81835         (soap-type-of): New function.
81836         (soap-resolve-references, soap-decode-type)
81837         (soap-encode-attributes, soap-encode-value): Replace aref
81838         calls with calls to soap-type-of.
81840         * lisp/net/soap-inspect.el (soap-sample-value, soap-inspect):
81841         Replace aref calls with calls to soap-type-of.
81844         Backport: (cherry picked from commit
81845         1feb2e221349f26ec26bc684e0cce2acecbed3ca)
81847 2018-06-11  Eli Zaretskii  <eliz@gnu.org>
81849         * doc/lispref/files.texi (Unique File Names): Fix a typo.  (Bug#31784)
81851 2018-06-10  Noam Postavsky  <npostavs@gmail.com>
81853         Fix term.el cursor movement at bottom margin (Bug#31690)
81855         * lisp/term.el (term-handle-ansi-escape) <\E[B cud>: Allow moving the
81856         cursor to the bottom margin line, rather than stopping one line
81857         before.
81859 2018-06-10  Reuben Thomas  <rrt@sc3d.org>
81861         Call enchant-lsmod correctly when Enchant is installed with a suffix
81863         * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Cope with a
81864         version suffix on the binary name, so enchant-2 is converted to
81865         enchant-lsmod-2, not enchant-2-lsmod.  (Bug#31761)
81867         (cherry picked from commit a402d9aacbecf4bf0b9afde592a3b90c71f96832)
81869 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
81871         Enlarge DUMPED_HEAP_SIZE for 64-bit Windows builds
81873         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 23MB.  Reported by
81874         Andy Moreton <andrewjmoreton@gmail.com>.
81876 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
81878         Update Unicode data files to version 11.0.0 of Unicode
81880         * admin/unidata/UnicodeData.txt:
81881         * admin/unidata/SpecialCasing.txt:
81882         * admin/unidata/NormalizationTest.txt:
81883         * admin/unidata/copyright.html:
81884         * admin/unidata/BidiMirroring.txt:
81885         * admin/unidata/BidiBrackets.txt: Import from Unicode 11.0.
81886         * admin/notes/unicode: Update the URL for OTF script tags.
81888         * lisp/international/mule-cmds.el (ucs-names): Update unused ranges.
81889         * lisp/international/fontset.el (script-representative-chars): Add
81890         hanifi-rohingya, old-sogdian, sogdian, dogra, gunjala-gondi,
81891         makasar, and medefaidrin.
81892         (otf-script-alist): Add old-hungarian.
81893         * lisp/international/characters.el (tbl): Add syntax entries for
81894         Supplemental Mathematical Operators, Miscellaneous Symbols and
81895         Arrows, and Supplemental Punctuation.
81896         Update the list of wide characters.
81898         * test/lisp/international/ucs-normalize-tests.el
81899         (ucs-normalize-tests--failing-lines-part2): Update to match
81900         admin/unidata/NormalizationTest.txt.
81902         * doc/lispref/nonascii.texi (Character Properties): Update the
81903         reference to the Unicode Standard.
81904         * doc/misc/efaq.texi (New in Emacs 26):
81905         * etc/NEWS: Mention compatibility with Unicode 11.0.
81907 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
81909         * etc/NEWS: Belatedly call out vc-hg changes in v26.1.  (Bug#31759)
81911 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
81913         Clarify the documentation of 'dired-recursive-deletes'
81915         * doc/emacs/dired.texi (Dired Deletion): Clarify text regarding
81916         recursive deletion of non-empty directories.  (Bug#31529)
81918 2018-06-08  Eli Zaretskii  <eliz@gnu.org>
81920         Clarify doc string of 'update-glyphless-char-display'
81922         * lisp/international/characters.el
81923         (update-glyphless-char-display): Doc fix.  (Bug#31730)
81925 2018-06-08  Eli Zaretskii  <eliz@gnu.org>
81927         Clarify subtle issues with 'eq' in byte-compiled code
81929         * doc/lispref/objects.texi (Equality Predicates): Explain why
81930         byte-compiled code might compare literal objects with identical
81931         contents as 'eq'.  (Bug#31688)
81933 2018-06-07  Gemini Lasswell  <gazally@runbox.com>
81935         Make cl-print respect print-quoted (bug#31649)
81937         * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Observe
81938         print-quoted when printing quote and its relatives.  Add printing of
81939         'function' as #'.
81941 2018-06-07  Martin Rudalics  <rudalics@gmx.at>
81943         Fix unexpected jumps of window-point in 'set-window-configuration' (Bug#31695)
81945         * src/window.c (Fset_window_configuration): Prevent that the
81946         fix for Bug#12208 affects restoration of window points when
81947         using separate minibuffer frames (Bug#31695).
81949 2018-06-06  Nicolas Petton  <nicolas@petton.fr>
81951         * etc/emacs.appdata.xml: Update Emacs screenshot.
81953 2018-06-06  Eli Zaretskii  <eliz@gnu.org>
81955         Fix cursor movement by 'next-logical-line' after 'next-line'
81957         * src/indent.c (Fvertical_motion): Adjust TO_X when line-numbers
81958         are being displayed.  Remove unneeded "correction" of TO_X at the
81959         goal line.
81961         * lisp/simple.el (last--line-number-width): Remove unneeded
81962         variable.
81963         (line-move-visual): Account for line-number display width by
81964         adjusting the pixel X coordinate that gets converted into
81965         canonical columns passed to vertical-motion, instead of adjusting
81966         temporary-goal-column (which then affects next commands, including
81967         next-logical-line).  (Bug#31723)
81969 2018-06-05  Allen Li  <darkfeline@felesatra.moe>
81971         Fix prompt in bookmark.el (Bug#24726)
81973         * lisp/bookmark.el (bookmark-set-internal): Conform to the standard
81974         default prompt format (per `minibuffer-electric-default-mode') which
81975         does not use a colon.
81977 2018-06-05  Basil L. Contovounesios  <contovob@tcd.ie>
81979         Improve documentation of 'empty' whitespace-style
81981         * doc/emacs/display.texi (Useless Whitespace): Clarify that the
81982         'empty' whitespace-style option highlights empty lines only at
81983         BOB/EOB, as per the docstring of whitespace-style. (bug#31713)
81985 2018-06-05  Paul Eggert  <eggert@cs.ucla.edu>
81987         Port FC_COLOR change to older fontconfig
81989         Problem reported by John ff in:
81990         https://lists.gnu.org/r/emacs-devel/2018-04/msg00058.html
81991         * src/ftfont.c (ftfont_spec_pattern) [!FC_COLOR]:
81992         Don’t use FC_COLOR on older fontconfigs that don’t have it.
81994 2018-06-05  Robert Pluim  <rpluim@gmail.com>
81996         Ignore color fonts when using Xft
81998         * src/font.c (syms_of_font): New configuration variable
81999         xft-ignore-color-fonts, default t.
82000         * src/ftfont.c (ftfont_spec_pattern): Tell fontconfig to ignore
82001         color fonts if xft-ignore-color-fonts is t.  (Bug#30874, Bug#30045)
82002         * etc/NEWS: Document xft-ignore-color-fonts.
82004 2018-06-04  Noam Postavsky  <npostavs@gmail.com>
82006         Fix comint-get-old-input-default for output field case (Bug#25028)
82008         * lisp/comint.el (comint-get-old-input-default): Don't return whole
82009         field when point was on an output field.
82011 2018-06-04  Eli Zaretskii  <eliz@gnu.org>
82013         Prevent infloop in 'delete-trailing-whitespace'
82015         * lisp/simple.el (delete-trailing-whitespace): Avoid inflooping
82016         when some region of trailing whitespace is unmodifiable.
82017         (Bug#31557)
82019 2018-06-04  Gemini Lasswell  <gazally@runbox.com>
82021         Make cl-print respect print-level and print-length (bug#31559)
82023         * lisp/emacs-lisp/cl-print.el (cl-print--depth): New variable.
82024         (cl-print-object) <cons>: Print ellipsis if printing depth greater
82025         than 'print-level' or length of list greater than 'print-length'.
82026         (cl-print-object) <vector>: Truncate printing with ellipsis if
82027         vector is longer than 'print-length'.
82028         (cl-print-object) <cl-structure-object>: Truncate printing with
82029         ellipsis if structure has more slots than 'print-length'.
82030         (cl-print-object) <:around>: Bind 'cl-print--depth'.
82031         * test/lisp/emacs-lisp/cl-print-tests.el
82032         (cl-print-tests-3, cl-print-tests-4): New tests.
82034         (cherry picked from commit 0f48d18fd2a30f29cc3592a835d2a2254c9b0afb)
82036 2018-06-03  Phil Sainty  <psainty@orcon.net.nz>
82038         Fix remote-host directory tracking for shells in `term' buffers
82040         * lisp/term.el (term-handle-ansi-terminal-messages): Use an explicit
82041         tramp method when constructing the tramp path for a non-local host,
82042         as this is now mandatory.  "-" is a pseudo-method for the user's
82043         `tramp-default-method'.  (Bug#31355)
82045         Specify the remote username explicitly in all cases, as
82046         `tramp-default-user' and `tramp-default-user-alist' could cause the
82047         previous logic to fail.
82049         Minor related improvements to the commentary.
82051 2018-06-03  Eli Zaretskii  <eliz@gnu.org>
82053         Update doc string of 'rx'
82055         * lisp/emacs-lisp/rx.el (rx): Update the description of some
82056         character classes.
82058 2018-06-03  Stefan Monnier  <monnier@iro.umontreal.ca>
82060         Fix bug#30846, along with misc cleanups found along the way
82062         * test/src/data-tests.el (data-tests-kill-all-local-variables): New test.
82064         * src/buffer.c (swap_out_buffer_local_variables): Remove.
82065         Fuse the body of its loop into that of reset_buffer_local_variables.
82066         (Fkill_buffer, Fkill_all_local_variables): Don't call it any more.
82067         (reset_buffer_local_variables): Make sure the buffer's local binding
82068         is swapped out before removing it from the alist (bug#30846).
82069         Call watchers before actually killing the var.
82071         * src/data.c (Fmake_local_variable): Simplify.
82072         Use swap_in_global_binding to swap out any local binding, instead of
82073         a mix of find_symbol_value followed by messing with where&found.
82074         Don't call swap_in_symval_forwarding since the currently swapped
82075         binding is never one we've modified.
82076         (Fkill_local_variable): Use swap_in_global_binding rather than messing
82077         with where&found to try and trick find_symbol_value into doing the same.
82079         * src/alloc.c (mark_localized_symbol): 'where' can't be a frame any more.
82081         (cherry picked from commit 3ddff080341580eb6fc18d907181e9cc2301f62d)
82083 2018-06-03  Jay Kamat  <jaygkamat@gmail.com>
82085         esh-opt.el: Fix improper parsing of first argument (Bug#28323)
82087         Examples of broken behavior:
82089             sudo -u root whoami
82090             Outputs: -u
82091             ls -I '*.txt' /dev/null
82092             Errors with: *.txt: No such file or directory
82094         * lisp/eshell/esh-opt.el (eshell--process-args): Refactor usage of
82095         args to eshell--args, as we rely on modifications from
82096         eshell--process-option and vice versa.  These modifications were not
82097         being propagated in the (if (= ai 0)) case, since popping the first
82098         element of a list doesn't destructively modify the underlying list
82099         object.
82101         (cherry picked from commit 92a8230e49a65be48442ee95cf50c90514e48f99)
82103 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
82105         * lisp/epa.el (epa-decrypt-file): Apply epa-pinentry-mode (Bug#30363).
82107         (cherry picked from commit 217202c084232f36d4fa0fead0f3aca21396d074)
82109 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
82111         Fix cl-print for circular sublists (Bug#31146)
82113         * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Push each
82114         element of list being printed onto cl-print--currently-printing.
82115         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle-2): New
82116         test.
82118         (cherry picked from commit b8aa7ecf54c9b164a59f1b0e9f9fe90531dadd20)
82120 2018-06-03  Lars Ingebrigtsen  <larsi@gnus.org>
82122         Revert "Make mail-extract-address-components return the user name more"
82124         This reverts commit 8b50ae8b2284b5652c2843a9d0d076f4f657be28.
82126         According to tests in bug#27656 by OGAWA Hirofumi, this patch
82127         led to wrong results when binding
82129         (dolist (addr '("Rasmus <rasmus@gmx.us>" "Rasmus <mbox@gmx.us>"))
82130           (dolist (ignore-single '(t nil))
82131             (dolist (ignore-same '(t nil))
82132               (let ((mail-extr-ignore-single-names ignore-single)
82133                     (mail-extr-ignore-realname-equals-mailbox-name ignore-same))
82134                 (message "%s" (mail-extract-address-components addr))))))
82136         in combination.
82138         (cherry picked from commit a3a9d5434d56f8736cc47e379a1d011d4c779b7c)
82140 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
82142         Centralize Bug#30931 fix
82144         * src/marker.c (detach_marker): New function.
82145         * src/editfns.c (save_restriction_restore):
82146         * src/insdel.c (signal_before_change): Use it.
82148         (cherry picked from commit 6f66a43d7ad6cada2b7dbb6d07efe36be1dc7ecb)
82150 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
82152         Fix another case of freed markers in the undo-list (Bug#30931)
82154         * src/alloc.c (free_marker): Remove.
82155         * src/editfns.c (save_restriction_restore):
82156         * src/insdel.c (signal_before_change): Detach the markers from the
82157         buffer when we're done with them instead of calling free_marker on
82158         them.
82159         * test/src/editfns-tests.el (delete-region-undo-markers-1)
82160         (delete-region-undo-markers-2): New tests.
82162         (cherry picked from commit 96b8747d5c5d747af13fd84d8fe0308ef2a0ea7a)
82164 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
82166         Fix CHECK_ALLOCATED_AND_LIVE abort during GC
82168         * src/editfns.c (save_restriction_restore):
82169         Wait for the GC to free the temporary markers (Bug#30931).
82171         (cherry picked from commit 670f2ffae718046c0fb37313965a51c040ed096f)
82173 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
82175         Don't wait for visible frames to become visible
82177         For discussion, see thread starting at
82178         https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00807.html.
82179         * src/xterm.c (x_make_frame_visible): Check FRAME_VISIBLE_P before
82180         calling x_wait_for_event.
82182         (cherry picked from commits 2a192e21cf3b04b7f830b4971c1508c611e13a3c
82183         and 00c1f771f2a51ffa675ec5a07ea330f2605cd302)
82185 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
82187         query-replace undo: Handle when user edits the replacement string
82189         * lisp/replace.el (perform-replace): Update the replacement string
82190         after the user edit it (Fix Bug#31538).
82192         * test/lisp/replace-tests.el (query-replace-undo-bug31538): New test.
82194         Backport: (cherry picked from commits
82195         ea133e04f49afa7928e49a3ac4a85b47f6f13f01
82196         and
82197         7dcfdf5b14325ae7996f272f14c72810d7c84944)
82199 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
82201         Backport: Fix corner case in query-replace-regexp undo
82203         This commit fixes Bug#31492.
82204         * lisp/replace.el (replace-match-maybe-edit): Preserve match data.
82206         * test/lisp/replace-tests.el (query-replace-undo-bug31492): Add test.
82208         (cherry picked from commit bab73230d1be1fe394b7269c1365ef6fb1a5d9b3)
82210 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
82212         Backport: Preserve case in query-replace undo
82214         If the user query and replaces 'foo' with 'BAR', then
82215         undo must comeback to 'foo', not to 'FOO' (Bug#31073).
82216         * lisp/replace.el (perform-replace): Bind nocasify to non-nil
82217         value during undo/undo-all actions.
82218         * test/lisp/replace-tests.el (query-replace-undo-bug31073): Add test.
82220         (cherry picked from commit 32dc0cb1b5ae895d237c7118ccaeb084715934fd)
82222 2018-06-02  Alan Third  <alan@idiocy.org>
82224         Set accessibility subroles for child frame (bug#31324)
82227         * src/nsterm.m (x_set_parent_frame): Set subrole depending on whether
82228         frame is a child or not.
82230 2018-06-02  Alan Third  <alan@idiocy.org>
82232         Fix redefinition of child frames on NS
82234         * src/nsterm.m (x_set_parent_frame): If the NSWindow has an existing
82235         parent frame, remove it.
82237 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82239         Improve ELisp documentation of 'clone-indirect-buffer'
82241         * doc/lispref/buffers.texi (Indirect Buffers): Be more explicit
82242         about the value of DISPLAY-FLAG in interactive usage.  (Bug#31648)
82244 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82246         Improve documentation of 'inhibit-message'
82248         * src/xdisp.c (syms_of_xdisp) <inhibit-message>: Warn against
82249         setting it non-nil globally.  (Bug#31627)
82251 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82253         Improve documentation of comment styles
82255         * doc/lispref/syntax.texi (Syntax Flags): Define the "a" style.
82256         (Bug#31624)
82258 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82260         Documentation improvements in newcomment.el
82262         * lisp/newcomment.el (uncomment-region)
82263         (uncomment-region-default): Doc fixes.  (Bug#31615)
82265 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82267         Imp[rove documentation of 'with-silent-modifications'
82269         * doc/lispref/buffers.texi (Buffer Modification): Document
82270         'with-silent-modifications'.  (Bug#31613)
82271         * doc/lispref/text.texi (Changing Properties): Add a
82272         cross-reference to "Buffer Modification".  Improve wording.
82274 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82276         Fix decoding of directories when "~" includes non-ASCII chars
82278         * src/fileio.c (Fexpand_file_name): Don't build multibyte strings
82279         from unibyte non-ASCII strings when NAME and DEFAULT_DIRECTORY
82280         have different multibyteness, as this adds bytes to the byte
82281         sequence, and in some situations, e.g., when the home directory
82282         includes non-ASCII characters, can fail file APIs.  (Bug#30755)
82284         * lisp/startup.el (normal-top-level): Make sure default-directory
82285         is set to a multibyte string when decoded on MS-Windows.
82287         (cherry picked from commit 3aab8626ba5080bb04d0fdae52d99c850a842a52)
82289 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82291         Don't remove highlight of misspelled word on pdict save
82293         * lisp/textmodes/ispell.el (ispell-pdict-save): Don't restart
82294         flyspell-mode, as bug#11963, which this was supposed to fix, is
82295         fixed better by ispell-command-loop, when the user types 'i' or
82296         'a'.  Restarting Flyspell mode when the personal dictionary is
82297         saved caused bug#31372 as side effect.
82298         (ispell-command-loop): Test 'flyspell-mode', not whether
82299         flyspell-unhighlight-at is fboundp, to determine whether Flyspell
82300         mode is turned on in the current buffer.
82301         (flyspell-unhighlight-at): Add declare-function form for it.
82303         (cherry picked from commit 91e582a31ada28fab5ae55bdbf959a9d30796587)
82305 2018-06-02  Ari Roponen  <ari.roponen@gmail.com>
82307         Fix some problems in the Cairo build
82309         * src/xterm.c (x_begin_cr_clip): Create image surface.
82310         (x_update_end) [USE_CAIRO]: Remove GTK3-specific code.
82311         (x_scroll_run) [USE_CAIRO]: Implement scrolling.
82312         * src/image.c (lookup_rgb_color) [USE_CAIRO]: Support Cairo.
82313         (jpeg_load_body) [USE_CAIRO]: Support Cairo.  Use USE_CAIRO
82314         instead of CAIRO for #ifdef's.
82315         (imagemagick_load_image) [USE_CAIRO]: Support Cairo.
82316         (Bug#31288)
82318         (cherry picked from commit 2d0eff42b8f1122e00f948759ed01a3be1a8c3fc)
82320 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82322         Avoid infloops in font_open_entity
82324         * src/font.c (font_open_entity): Fail after 15 iterations through
82325         the loop that looks for a font whose average_width and height are
82326         both positive.  This avoids infinite loops for fonts that, e.g.,
82327         report average_width of zero for any possible size we try.
82328         (Bug#31316)
82330         (cherry picked from commit e2879c1f837059335af89022b2a9ac9bc861e96d)
82332 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82334         Fix encoding of characters when using GB18030 fonts
82336         * lisp/international/fontset.el (font-encoding-alist): Fix the
82337         GB18030 entry to encode characters correctly when passing them to
82338         the xfont back-end.  (Bug#31315)  See also
82339         http://lists.gnu.org/archive/html/emacs-devel/2008-01/msg00754.html.
82341         (cherry picked from commit bbe2cadc544e63e9378350621887f8fb9bbcc236)
82343 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82345         Fix C-p and C-n when wrap-prefix is too wide
82347         * src/xdisp.c (move_it_in_display_line_to): Avoid looping in
82348         previous/next-line when wrap-prefix is set to a too-wide
82349         stretch of whitespace.  (Bug#30432)
82351         (cherry picked from commit 842b3d7412eaed6b2c9f90c3361abb4932ec0b1d)
82353 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82355         Avoid redisplay problems with too wide wrap-prefix
82357         * src/xdisp.c (display_line): Avoid looping in redisplay when
82358         wrap-prefix is set to a too-wide stretch of whitespace.
82359         (Bug#30432)
82361         (cherry picked from commit 2a1fe08307402d6217d073f8ab7737750d253dd4)
82363 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82365         Fix 'posn-at-point' when line numbers are displayed
82367         * src/xdisp.c (pos_visible_p): For the leftmost glyph, adjust the X
82368         coordinate due to line-number display.  (Bug#30834)
82370         (cherry picked from commit 4a20174d7949028f66b18a92a75d6b74194242a8)
82372 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82374         Another followup to fixing 'window-text-pixel-width'
82376         * src/xdisp.c (Fwindow_text_pixel_size): Adjust the return value
82377         when we stop one buffer position short of TO.  (Bug#30746)
82379         (cherry picked from commit 33cba5405c724566673cf023513bfb1faa963bea)
82381 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82383         Fix mouse-set-point when line numbers are displayed
82385         * src/xdisp.c (move_it_to): Initialize the line_number_produced_p
82386         flag before iterating on a new line.  (Bug#30818)
82388         (cherry picked from commit 5c585b8b994aad4e6844f8eed80bdfbb396e91bf)
82390 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82392         * src/xdisp.c (Fwindow_text_pixel_size): Fix last change.
82394         (cherry picked from commit 06911714ef66ea81380b1eda75a9f7cfbc9e0b65)
82396 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82398         Fix 'window-text-pixel-size' when display properties are around
82400         * src/xdisp.c (Fwindow_text_pixel_size): Correct the result when
82401         there's a display property at the  TO position, and the call to
82402         move_it_to overshoots.  (Bug#30746)
82404         (cherry picked from commit 50e2c0fb5180a757d8d533518f68837ffe5909be)
82406 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82408         Fix display of TABs in hscrolled windows with line numbers
82410         * src/dispextern.h (struct it): New members tab_offset and
82411         line_number_produced_p.
82412         * src/xdisp.c (display_line): Don't set row->x to a negative value
82413         if line numbers are being displayed.  (Bug#30582)
82414         Reset the line_number_produced_p flag before laying out the glyph
82415         row.
82416         (x_produce_glyphs): Use the line_number_produced_p flag to decide
82417         whether to offset the X coordinate due to line-number display.
82418         Use the tab_offset member to restore the original TAB width for
82419         alignment purposes.
82420         (move_it_in_display_line_to): Don't produce line numbers when moving
82421         in hscrolled window to the left of first_visible_x.
82422         (maybe_produce_line_number): Set the line_number_produced_p flag.
82423         (Bug#30584)
82424         * src/term.c (produce_glyphs): Correct TAB width only when
82425         line_number_produced_p flag is set.
82427         (cherry picked from commit 1ac190553886ff20817d3dd218464e2fc6f9e42a)
82429 2018-06-02  Matthias Dahl  <matthias.dahl@binary-island.eu>
82431         Fix wait_reading_process_output wait_proc hang
82433         * src/process.c (read_process_output): Track bytes read from
82434         a process.
82435         (wait_reading_process_output): If called recursively through
82436         timers and/or process filters via accept-process-output, it is
82437         possible that the output of wait_proc has already been read by
82438         one of those recursive calls, leaving the original call hanging
82439         forever if no further output arrives through that fd and no
82440         timeout has been set.  Fix that by using the process read
82441         accounting to keep track of how many bytes have been read and
82442         use that as a condition to break out of the infinite loop and
82443         return to the caller as well as to calculate the proper return
82444         value (if a wait_proc is given that is).
82446         * src/process.h (struct Lisp_Process): Add nbytes_read to track
82447         bytes read from a process.
82449         (cherry picked from commit 4ba32858d61eee16f17b51aca01c15211a0912f8)
82451 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
82453         Fix posn-at-point in Flycheck buffers
82455         * src/dispnew.c (buffer_posn_from_coords): Improve commentary.
82457         * src/xdisp.c (move_it_in_display_line_to): Don't exit the loop
82458         under truncate-lines if the glyph at TO_CHARPOS was not yet
82459         produced.  This avoids bailing out too early when we are at
82460         TO_CHARPOS, but didn't yet produce glyphs for that buffer
82461         position, because the last call to PRODUCE_GLYPHS at this position
82462         was for an object other than the buffer.  For further details, see
82463         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00537.html.
82465         (cherry picked from commit c0154ac7c3423f68d8f3a2e85a756c9759219039)
82467 2018-06-02  Martin Rudalics  <rudalics@gmx.at>
82469         * etc/PROBLEMS: Document stickyness problem with FVWM (Bug#31650)
82471 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
82473         Update Emacs Lisp Intro to match current behavior
82475         * doc/lispintro/emacs-lisp-intro.texi (Wrong Type of Argument)
82476         (debug, debug-on-entry, Void Function, Void Variable): Update the
82477         *Backtrace* buffer display to current Emacs.  (Bug#31654)
82479 2018-06-01  Robert Pluim  <rpluim@gmail.com>
82481         Fix previous commit
82483         * doc/emacs/files.texi (Interlocking): Two spaces at end of sentence
82485 2018-06-01  Ville Skyttä  <ville.skytta@iki.fi>  (tiny change)
82487         Fix typos in several manuals (Bug#31610)
82489 2018-06-01  Robert Pluim  <rpluim@gmail.com>
82491         Add detailed documentation about lock files
82493         * doc/emacs/files.texi (Interlocking): Point user at detailed
82494         file locking description in lisp reference manual.  Add index
82495         entry for '.#' to improve disoverability of information about locking.
82497         * doc/lispref/files.texi (File Locks): Describe in detail what
82498         the form of the lock file is.  Add index entry for '.#' to
82499         improve disoverability of information about locking.
82501         * src/filelock.c (create-lockfiles): Add cross reference to
82502         file locking in user manual and to 'lock-buffer'.  Add string
82503         '.#' to help users find the doc string.
82505 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
82507         Add commentary for subtle aspect of frame.el
82509         * lisp/frame.el: Explain why we use symbol-function when adding
82510         watchers for certain variables that need to trigger redisplay.
82512 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
82514         Improve documentation of 'directory-files-and-attributes'
82516         * doc/lispref/files.texi (Contents of Directories): Fix inaccurate
82517         description of the return value of directory-files-and-attributes.
82519         * src/dired.c (Fdirectory_files_and_attributes): Describe the
82520         function's value in more detail.
82522 2018-05-30  Katsumi Yamaoka  <yamaoka@jpl.org>
82524         * lisp/gnus/message.el (message-remove-header): Don't remove things
82525         not looking like header (bug#31651).
82527 2018-05-30  Eli Zaretskii  <eliz@gnu.org>
82529         Adapt hexl-mode to native line-number display
82531         * lisp/hexl.el (hexl-mode-ruler): When display-line-numbers is in
82532         effect, adjust offsets and columns to account for the line-number
82533         display.  (Bug#31595)
82535 2018-05-30  Michael Albinus  <michael.albinus@gmx.de>
82537         Fix example in Tramp manual
82539         * doc/misc/tramp.texi (Frequently Asked Questions): Fix wording
82540         for the zsh example.
82542 2018-05-29  Robert Pluim  <rpluim@gmail.com>
82544         Handle case where Xft is found but not XRender
82546         * configure.ac (XFT_LIBS): Ensure that HAVE_XFT is no if
82547         XRender is not found.  (Bug#31634)
82549 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
82551         * doc/misc/tramp.texi (Frequently Asked Questions): Adapt zsh example.
82553 2018-05-29  Damien Cassou  <damien@cassou.me>
82555         Improve read-multiple-choice docstring (Bug#31628)
82557         * lisp/emacs-lisp/rmc.el (read-multiple-choice): Improve docstring.
82559 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
82561         * doc/misc/tramp.texi (All): Use @code instead of @option for user options.
82563 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
82565         Fix Bug#31605
82567         * doc/misc/tramp.texi (All): Add @vindex entries for
82568         environment variables.
82569         (Remote shell setup): New items `tramp-terminal-type' and
82570         "Determining a Tramp session".
82571         (Frequently Asked Questions): Adapt zsh example.  (Bug#31605)
82573 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
82575         Sync with Tramp 2.3.4-pre
82577         * doc/misc/trampver.texi: Change version to "2.3.4-pre
82579         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
82580         (tramp-backup-directory-alist, tramp-auto-save-directory)
82581         (tramp-encoding-shell, tramp-encoding-command-switch)
82582         (tramp-encoding-command-interactive, tramp-default-method)
82583         (tramp-default-method-alist, tramp-default-user)
82584         (tramp-default-user-alist, tramp-default-host)
82585         (tramp-default-host-alist, tramp-default-proxies-alist)
82586         (tramp-save-ad-hoc-proxies, tramp-restricted-shell-hosts-alist)
82587         (tramp-local-end-of-line, tramp-rsh-end-of-line)
82588         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
82589         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
82590         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
82591         (tramp-terminal-prompt-regexp)
82592         (tramp-operation-not-permitted-regexp, tramp-copy-failed-regexp)
82593         (tramp-process-alive-regexp, tramp-chunksize)
82594         (tramp-process-connection-type, tramp-connection-timeout)
82595         (tramp-connection-min-time-diff)
82596         (tramp-completion-reread-directory-timeout):
82597         * lisp/net/tramp-adb.el (tramp-adb-program)
82598         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
82599         * lisp/net/tramp-cache.el (tramp-connection-properties)
82600         (tramp-persistency-file-name):
82601         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
82602         (tramp-gvfs-zeroconf-domain, tramp-bluez-discover-devices-timeout):
82603         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
82604         (tramp-copy-size-limit, tramp-terminal-type)
82605         (tramp-histfile-override, tramp-use-ssh-controlmaster-options)
82606         (tramp-remote-path, tramp-remote-process-environment)
82607         (tramp-sh-extra-args):
82608         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
82609         (tramp-smb-conf, tramp-smb-winexe-program)
82610         (tramp-smb-winexe-shell-command)
82611         (tramp-smb-winexe-shell-command-switch):
82612         Don't require 'tramp.  (Bug#31558)
82614         * lisp/net/tramp.el (tramp-accept-process-output):
82615         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
82616         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
82617         (tramp-sh-handle-start-file-process):
82618         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
82619         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
82620         (tramp-smb-handle-set-file-acl)
82621         (tramp-smb-handle-start-file-process): Suppress timers.
82623         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
82624         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
82625         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
82626         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
82627         Write proper message.
82629         * lisp/net/tramp-cmds.el (tramp-change-syntax):
82630         Use `customize-set-variable'.
82632         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
82633         Ensure proper EOL handling for Darwin.
82634         (tramp-find-inline-compress): Improve command quoting for w32.
82635         Reported by Chris Zheng <chriszheng99@gmail.com>.
82636         (tramp-open-connection-setup-interactive-shell): Wrap both echo
82637         calls in parentheses, in order to avoid double prompt.
82639         * lisp/net/tramp-smb.el (tramp-smb-errors):
82640         Add "NT_STATUS_RESOURCE_NAME_NOT_FOUND".
82642         * lisp/net/tramp.el (tramp-default-user-alist)
82643         (tramp-default-host-alist): Fix docstring.
82644         (tramp-dissect-file-name): Adapt docstring.  (Bug#30904)
82645         (tramp-make-tramp-file-name): Check, that method is
82646         not empty.  (Bug#30038)
82647         (tramp-message-show-message): Change default.
82649         * lisp/net/trampver.el: Change version to "2.3.4-pre".
82651         * test/lisp/net/tramp-tests.el (ert-x): Require it.
82652         (tramp-test10-write-region): Extend test.
82653         (tramp--test-emacs27-p, tramp--test-windows-nt): New defuns.
82654         (tramp-test11-copy-file, tramp-test12-rename-file)
82655         (tramp-test21-file-links, tramp-test24-file-acl)
82656         (tramp-test25-file-selinux, tramp--test-check-files): Use them.
82657         (tramp-test21-file-links): Do not call `make-symbolic-link' on w32.
82658         Fix file name quoting test.
82659         (tramp-test32-environment-variables-and-port-numbers):
82660         Adapt check for systems which do not support "echo -n".  (Bug#29712)
82661         (tramp-test36-find-backup-file-name): Call also
82662         `convert-standard-filename' due to w32.
82663         (tramp-test41-asynchronous-requests):
82664         Use $REMOTE_PARALLEL_PROCESSES.  Flush cache prior file operations.
82665         (tramp-test42-auto-load, tramp-test42-delay-load)
82666         (tramp-test42-recursive-load, tramp-test42-remote-load-path):
82667         Quote command due to w32.
82669 2018-05-28  Eli Zaretskii  <eliz@gnu.org>
82671         Bump Emacs version to 26.1.50
82673         * msdos/sed2v2.inp:
82674         * nt/README.W32:
82675         * configure.ac:
82676         * README: Bump Emacs version to 26.1.50.
82678 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
82680         Mention pcase as a fifth conditional form
82682         * doc/lispref/control.texi (Conditionals): ...here,
82683         in first para, w/ xref to "Pattern-Matching Conditional".
82685 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
82687         Overhaul pcase documentation
82689         Suggested by Drew Adams (Bug#31311).
82691         * doc/lispref/control.texi (Control Structures):
82692         Add "Pattern-Matching Conditional" to menu, before "Iteration".
82693         (Conditionals): Delete menu.
82694         (Pattern matching case statement): Delete node/subsection,
82695         by actually moving, renaming, and overhauling it to...
82696         (Pattern-Matching Conditional): ...new node/section.
82697         (pcase Macro): New node/subsection.
82698         (Extending pcase): Likewise.
82699         (Backquote Patterns): Likewise.
82700         * doc/lispref/elisp.texi (Top) In @detailmenu, add
82701         "Pattern-Matching Conditional" under "Control Structures"
82702         section and delete "Conditionals" section.
82703         * lisp/emacs-lisp/pcase.el (pcase): Rewrite docstring.
82704         (pcase-defmacro \` (qpat) ...): Likewise.
82706 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
82708         Use EXPVAL in docstrings of patterns defined using pcase-defmacro
82710         Suggested by Drew Adams (Bug#31311).
82712         * lisp/emacs-lisp/cl-macs.el (cl-struct): ...here.
82713         * lisp/emacs-lisp/eieio.el (eieio): Likewise.
82714         * lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Likewise.
82715         * lisp/emacs-lisp/rx.el (rx): Likewise.
82717 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
82719         Introduce EXPVAL for pcase, pcase-defmacro docstrings
82721         Suggested by Drew Adams (Bug#31311).
82723         * lisp/emacs-lisp/pcase.el (pcase): Use EXPVAL in
82724         docstring to stand for the result of evaluating EXP.
82725         (pcase-defmacro): Add (fn ...) form in docstring
82726         that includes [DOC], and the EXPVAL convention.
82728 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
82730         Ensure pcase doc shows `QPAT first among extensions
82732         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
82733         Split extensions display into two phases, collection
82734         and display, separated by a reordering step that
82735         ensures backquote is the first.
82737 2018-05-25  Nicolas Petton  <nicolas@petton.fr>
82739         * etc/HISTORY: Update for Emacs 26.1 release.
82741         * etc/AUTHORS: Update.
82743 2018-05-25  Noam Postavsky  <npostavs@gmail.com>
82745         Note caveat for backward regexp searching in docstring (Bug#31584)
82747         * src/search.c (Fre_search_backward): Emphasize that backwards
82748         searches may give shorter than expected matches.
82749         * doc/lispref/searching.texi (Regexp Search): Add an anchor for
82750         re-search-backward to reference.
82752 2018-05-25  Eli Zaretskii  <eliz@gnu.org>
82754         Update backtrace in Emacs Lisp Intro
82756         * doc/lispintro/emacs-lisp-intro.texi (Making Errors): Update the
82757         backtrace to match Emacs 26.  (Bug#31589)
82759 2018-05-24  Roland Winkler  <winkler@gnu.org>
82761         Move window-point in bibtex-search-entry
82763         * lisp/textmodes/bibtex.el (bibtex-search-entry): Move window-point
82764         to record found.
82766 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
82768         More fixes of Intro to Emacs Lisp
82770         * doc/lispintro/emacs-lisp-intro.texi (Finding More): Tell the
82771         reader how to invoke 'M-.' without a tags table.  Add a
82772         cross-reference to the Emacs manual for when a tags table does
82773         need to be created.
82774         (append save-excursion): Rephrase a confusing sentence.
82775         (Bug#31578)
82777 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
82779         Add a footnote to Emacs Lisp Intro
82781         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Describe
82782         the detailed output of integer value evaluation in a footnote, to
82783         prevent confusion.  (Bug#31579)
82785 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
82787         * lisp/help.el (with-help-window): Doc fix.  (Bug#31574)
82789 2018-05-23  Eli Zaretskii  <eliz@gnu.org>
82791         Fix some cross-references in emacs-lisp-intro.texi
82793         * doc/lispintro/emacs-lisp-intro.texi (List Processing)
82794         (Determining the Element, graph-body-print): Fix cross-references
82795         to subsections that don't exist in the printed version of the
82796         manual.  (Bug#31567)
82798 2018-05-23  Eli Zaretskii  <eliz@gnu.org>
82800         Minor copyedits in Emacs manual in macos.texi
82802         * doc/emacs/macos.texi (Mac / GNUstep Basics)
82803         (Mac / GNUstep Events): Fix markup and capitalization.
82804         (Bug#31568)
82806 2018-05-23  Noam Postavsky  <npostavs@gmail.com>
82808         Clarify when to use advice-add vs add-function
82810         * lisp/emacs-lisp/nadvice.el (add-function): Note in docstring that
82811         advice-add should be used for named functions.
82813 2018-05-22  Eli Zaretskii  <eliz@gnu.org>
82815         Minor formatting tweak in the Emacs manual
82817         * doc/emacs/custom.texi (Directory Variables): Don't have 2
82818         footnotes back to back, it looks bad in HTML.  (Bug#31555)
82820 2018-05-22  Eli Zaretskii  <eliz@gnu.org>
82822         Update comments in Intro to Emacs Lisp
82824         * doc/lispintro/emacs-lisp-intro.texi: Explain in the comments
82825         what are roman page numbers in Preface about.  (Bug#31541)
82827 2018-05-21  Noam Postavsky  <npostavs@gmail.com>
82829         * etc/NEWS: Mention change in `edebug-prin1-to-string'.
82831 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
82833         Another attempt to fix sql.el
82835         * lisp/progmodes/sql.el (sql-product-interactive): Fix calculation
82836         of the SQL buffer name.  (Bug#31446)
82838 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
82840         Update binding of 'M-.' in Intro to Emacs Lisp
82842         * doc/lispintro/emacs-lisp-intro.texi (On Reading this Text)
82843         (Finding More, Buffer Related Review, Buffer Exercises)
82844         (Find a File, Conclusion): 'M-.' is now bound to
82845         'xref-find-definitions'.  (Bug#31542)
82847 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
82849         Fix a typo in last change in sql.el
82851         * lisp/progmodes/sql.el (sql-product-interactive): Use 'null',
82852         not 'zerop'.  (Bug#31446)
82854 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
82856         Fix capitalization of mail headers
82858         * doc/emacs/sending.texi (Mail Format, Mail Headers)
82859         (Mail Aliases, Header Editing): Use consistent capitalization of
82860         CC, BCC, and FCC.  (Bug#31532)
82862 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
82864         Fix buffer names in sql.el
82866         * lisp/progmodes/sql.el (sql-product-interactive): Fix the way the
82867         buffer name is determined by prefix arg.  (Bug#31446)
82869 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
82871         Minor fixes in the Emacs manual
82873         * doc/emacs/misc.texi (Gnus Group Buffer): Fix a typo.  (Bug#31534)
82874         (Single Shell): Rephrase an unclear sentence.  (Bug#31535)
82875         (Remote Host): Use @command where appropriate.  (Bug#31536)
82877 2018-05-19  Eli Zaretskii  <eliz@gnu.org>
82879         Fix a typo in rmail.texi
82881         * doc/emacs/rmail.texi (Rmail Summary Edit): Add markup to 'nil'.
82882         (Bug#31533)
82884 2018-05-18  Paul Eggert  <eggert@cs.ucla.edu>
82886         * etc/PROBLEMS: Document Bug#31305.
82888 2018-05-18  Lars Ingebrigtsen  <larsi@gnus.org>
82890         (gnus-blocked-images): Clarify privacy implications
82892         * lisp/gnus/gnus-art.el (gnus-blocked-images): Clarify the privacy
82893         implication of altering the value of this variable.
82895         (cherry picked from commit f4d9fd3dd45f767eca33fbf1beee40da790fa74e)
82897 2018-05-18  Eli Zaretskii  <eliz@gnu.org>
82899         Fix a typo in describing input methods
82901         * lisp/help-mode.el (help-make-xrefs): Fix a typo.  (Bug#31448)
82903 2018-05-14  Eli Zaretskii  <eliz@gnu.org>
82905         Clarify the mode-line indicators in CC Mode
82907         * doc/emacs/programs.texi (Electric C): Explain '*' and '/' in the
82908         CC Mode mode-line.  (Bug31445)
82910 2018-05-12  João Távora  <joaotavora@gmail.com>
82912         Fix filesystem littering by Flymake's legacy backend
82914         The Flymake legacy "proc" backend, which is active by default will try
82915         to syntax-check foo.c/foo.cpp and many other types of files, but on
82916         failing to find a suitable Makefile target, will fail.  There's
82917         nothing wrong with that except that it used to leave behind the
82918         foo_flymake.c and foo_flymake.cpp auxiliary files behind, littering
82919         the filesystem.
82921         * lisp/progmodes/flymake-proc.el (flymake-proc-legacy-flymake):
82922         Call init-function inside of the unwind-protect.
82924 2018-05-12  Paul Eggert  <eggert@cs.ucla.edu>
82926         * doc/emacs/help.texi: Fix paren typo.
82928 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
82930         More minor changes in shell-related nodes of Emacs manual
82932         * doc/emacs/misc.texi (Interactive Shell): Clarify how the window
82933         that displays "*shell*" is selected.
82934         (Shell Prompts): Fix a typo.  Reported by Jorge
82935         <jorge+list@disroot.org> in emacs-manual-bugs.
82937 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
82939         Fix inaccuracies in "Shell Ring" node of Emacs manual
82941         * doc/emacs/misc.texi (Shell Ring): Don't mention 'M-s' and don't
82942         insist on Shell history commands being "just like" similar
82943         commands that operate on minibuffer history.  Reported by Jorge
82944         <jorge+list@disroot.org> in emacs-manual-bugs.
82946 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
82948         Improve documentation of kmacro commands and variables.
82950         * lisp/kmacro.el (kmacro-start-macro-or-insert-counter)
82951         (kmacro-counter, kmacro-set-format, kmacro-set-counter)
82952         (kmacro-add-counter, kmacro-counter-format)
82953         (kmacro-insert-counter): Clarify and improve the doc strings.
82954         (Bug#31243)
82956 2018-05-11  Noam Postavsky  <npostavs@gmail.com>
82958         * doc/man/emacs.1.in: Document --fg-daemon and --bg-daemon.
82960 2018-05-08  Noam Postavsky  <npostavs@gmail.com>
82962         Don't check non-X frames for z order (Bug#31373)
82964         * src/xfns.c (x_frame_list_z_order): Only use frames with
82965         `output_method' set to `output_x_window'.
82967 2018-05-07  Alan Third  <alan@idiocy.org>
82969         Check NSWindow is actually a frame
82971         * src/nsfns.m (Fns_frame_list_z_order): Check NSWindow is an instance
82972         of EmacsView before treating it as one.
82974 2018-05-06  Xu Chunyang  <mail@xuchunyang.me>
82976         Fix gud-statement for pdb
82978         * lisp/progmodes/gud.el (pdb): Fix the gud-print implementation.
82979         (Bug#31363)
82981 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
82983         Document 'custom-group'
82985         * doc/lispref/customize.texi (Group Definitions): Document the
82986         'custom-group' property.
82988 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
82990         A minor addition to etc/DEBUG
82992         * etc/DEBUG: Add a note for macOS users who get error messages
82993         when trying to run GDB.
82995 2018-05-04  Daniel Pittman  <slippycheeze@google.com>  (tiny change)
82997         Avoid errors in ispell.el when Enchant returns empty extra chars
82999         * lisp/textmodes/ispell.el (ispell--get-extra-word-characters):
83000         Handle the case of empty extra characters returned by the
83001         Enchant '-lsmod' command. (Bug#31344)
83003 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
83005         Make 'ispell-initialize-spellchecker-hook' work again
83007         * lisp/textmodes/ispell.el (ispell-base-dicts-override-alist):
83008         Defvar it to allow dynamic binding.  (Bug#31341)
83010 2018-05-04  Noam Postavsky  <npostavs@gmail.com>
83012         Handle selected_window change in prepare_menu_bars (Bug#31312)
83014         * src/xdisp.c (redisplay_internal): Check selected_window after
83015         calling prepare_menu_bars, since it can call lisp hooks.
83017 2018-05-03  Eli Zaretskii  <eliz@gnu.org>
83019         Fix report-emacs-bug via mailclient on MS-Windows
83021         * lisp/net/browse-url.el (browse-url-default-windows-browser):
83022         On MS-Windows, call url-unhex-string only for file:// URLs.
83023         (Bug#31351)
83025 2018-05-02  Paul Eggert  <eggert@cs.ucla.edu>
83027         Port collation tests to glibc 2.27
83029         * test/src/fns-tests.el (fns-tests-collate-strings)
83030         (fns-tests-collate-sort): Don’t make unportable assumptions
83031         about how en_US.UTF-8 collation works.  These assumptions
83032         are not true on Fedora 28, which ships with glibc 2.27.
83034 2018-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83036         Port --enable-gcc-warnings to GCC 8
83038         Backport from master.
83039         * lib-src/emacsclient.c (fail):
83040         Do not dereference a null pointer.
83041         * src/frame.c (delete_frame):
83042         Add a decl with UNINIT to work around GCC bug 85563.
83043         * src/menu.h (finish_menu_items):
83044         Do not use attribute const.
83045         * src/regex.c (analyze_first): Use FALLTHROUGH, not a comment.
83047 2018-04-30  Paul Eggert  <eggert@cs.ucla.edu>
83049         Advise CFLAGS= operand, not in environment, when configuring
83051         Backport from master.
83053 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
83055         Update the Emacs FAQ
83057         * doc/misc/efaq.texi (Latest version of Emacs): Update versions.
83058         (New in Emacs 26): New node.
83060         * admin/release-process: Mention the FAQ update as part of the
83061         release.
83063 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
83065         * etc/DEBUG: Minor copyedits.
83067 2018-04-26  Alan Third  <alan@idiocy.org>
83069         Clarify wording of NS drag n drop documentation
83071         * doc/emacs/macos.texi (Mac / GNUstep Events): Clarify wording of
83072         ns-drag-n-drop description.
83074 2018-04-25  Basil L. Contovounesios  <contovob@tcd.ie>
83076         Improve kill-related documentation (bug#31209)
83078         * doc/lispref/text.texi (Low-Level Kill Ring): Fix typo under
83079         current-kill.  Mention interprogram-paste-function under kill-new
83080         and kill-append.
83081         * lisp/simple.el (save-interprogram-paste-before-kill, kill-new)
83082         (kill-append-merge-undo, kill-append): Touch-up docstrings.
83084 2018-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
83086         * lisp/simple.el (region-extract-function): Don't hide the 'nil' case.
83088 2018-04-22  Karl Otness  <karl@karlotness.com>  (tiny change)
83090         Fix pre- and post-command-hook errors in term.el
83092         Before this patch, after the terminal process dies the command
83093         hooks added in term-mode's char mode would produce errors.
83094         This fix removes these hooks when the process dies.
83095         * lisp/term.el (term-handle-exit): Remove pre-command-hook and
83096         post-command-hook because the process is dead.  (Bug#31236)
83098 2018-04-22  Charles A. Roelli  <charles@aurox.ch>
83100         * doc/lispref/display.texi (Glyphless Chars): Fix grammar.
83102 2018-04-21  Alan Third  <alan@idiocy.org>
83104         Fix macOS drag n drop event documentation
83106         * doc/emacs/macos.texi (Mac / GNUstep Customization): Remove
83107         references to color panel.
83108         (Mac / GNUstep Events): Remove ns-drag-file, and add ns-drag-n-drop.
83110 2018-04-20  Eli Zaretskii  <eliz@gnu.org>
83112         Update the documentation of 'perform-replace'
83114         * doc/lispref/searching.texi (Search and Replace): Update the
83115         documentation of 'perform-replace'.
83117 2018-04-20  Martin Rudalics  <rudalics@gmx.at>
83119         * etc/NEWS: Another fix for the last change (noted by Juri Linkov)
83121 2018-04-19  Eli Zaretskii  <eliz@gnu.org>
83123         Fix use of @key in Texinfo manuals
83125         * doc/misc/efaq-w32.texi (Location of init file):
83126         * doc/misc/org.texi (Editing source code, Export settings)
83127         (Closing items, Drawers, Structure editing):
83128         * doc/misc/gnus.texi (Spam and Ham Processors, Terminology):
83129         * doc/misc/calc.texi (Keypad Functions Menu, Keypad Binary Menu)
83130         (Keypad Vectors Menu, Keypad Main Menu, Basic Arithmetic)
83131         (Symbolic Mode):
83132         * doc/misc/sc.texi (Electric References):
83133         * doc/misc/info.texi (Help-^L):
83134         * doc/misc/reftex.texi (Reference Styles):
83135         * doc/misc/idlwave.texi (Troubleshooting, Examining Variables)
83136         (Lesson III---User Catalog, Using the Shell):
83137         * doc/misc/eshell.texi (Bugs and ideas):
83138         * doc/misc/ada-mode.texi (Automatic Casing):
83139         * doc/misc/ediff.texi (Selective Browsing):
83140         * doc/misc/vip.texi (Customizing Constants):
83141         * doc/misc/pcl-cvs.texi (Selected files):
83142         * doc/misc/efaq.texi (Replying to the sender of a message)
83143         (Basic keys, No Meta key, Matching parentheses)
83144         (Origin of the term Emacs, Installing Texinfo documentation)
83145         (Learning how to do something, Emacs manual, Extended commands):
83146         * doc/misc/viper.texi (Rudimentary Changes):
83147         * doc/misc/tramp.texi (Frequently Asked Questions):
83148         * doc/emacs/kmacro.texi (Basic Keyboard Macro):
83149         * doc/emacs/frames.texi (Frame Commands):
83150         * doc/emacs/msdos.texi (Windows Keyboard):
83151         * doc/emacs/search.texi (Query Replace):
83152         * doc/lispintro/emacs-lisp-intro.texi (Keybindings)
83153         (Note for Novices):
83154         * doc/lispref/tips.texi (Key Binding Conventions): Fix use of
83155         @key.  For the details, see
83156         http://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00390.html.
83158 2018-04-19  Eli Zaretskii  <eliz@gnu.org>
83160         Improve documentation of actual arglist
83162         * doc/lispref/functions.texi (Function Documentation): Advise
83163         against using '(fn ARGLIST)' method of advertising a calling
83164         convention when the old calling convention is deprecated.
83165         (Bug#31191)
83167 2018-04-18  Noam Postavsky  <npostavs@gmail.com>
83169         Don't assume term-current-row cache is valid (Bug#31193)
83171         * lisp/term.el (term-down): Call `term-current-row' instead of
83172         directly accessing the variable `term-current-row.  Following a resize
83173         of the terminal's window, `term-current-row' is reset to nil, so it is
83174         not safe to assume it is a number.
83176 2018-04-17  Eli Zaretskii  <eliz@gnu.org>
83178         Fix flyspell-auto-correct-previous-word broken by recent change
83180         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Keep
83181         flyspell-auto-correct-region also when repeatedly invoking
83182         flyspell-auto-correct-previous-word.  (Bug#31188)
83184 2018-04-17  Eli Zaretskii  <eliz@gnu.org>
83186         * test/src/lread-tests.el (lread-test-bug-31186): New test.
83188 2018-04-17  Andreas Schwab  <schwab@suse.de>
83190         Fix undefined behavior while looking for lexical-binding file
83191         variable (bug 31186).
83193         * src/lread.c (lisp_file_lexically_bound_p): Reset
83194         beg_end_state before reading variable or value.
83196 2018-04-15  Eli Zaretskii  <eliz@gnu.org>
83198         Minor wording improvement in "Bookmarks"
83200         * doc/emacs/regs.texi (Bookmarks): Improve wording.  Suggested by
83201         "Siraphob (Ben) Phipathananunth" <siraben@disroot.org>.
83203 2018-04-14  Eli Zaretskii  <eliz@gnu.org>
83205         Fix building etc/DOC in the MSDOS port
83207         * msdos/sed1v2.inp (lisp.mk): Fix escaping in Sed commands.
83209 2018-04-14  Eli Zaretskii  <eliz@gnu.org>
83211         * lisp/select.el (gui-get-selection): Doc fix.
83213 2018-04-13  Alan Mackenzie  <acm@muc.de>
83215         Complete documentation of syntax flags by adding `c'
83217         * doc/lispref/syntax.texi ("Syntax Table Internals"): Add entry for `c'
83218         as `(1 lsh 23)'.
83220 2018-04-13  Eli Zaretskii  <eliz@gnu.org>
83222         Fix typos and minor wording issues in ELisp manual
83224         * doc/lispref/internals.texi (Writing Emacs Primitives):
83225         * doc/lispref/display.texi (Temporary Displays): Fix typos.
83226         * doc/lispref/text.texi (Filling, Changing Properties)
83227         (Transposition): Clarify and fix typos.
83228         * doc/lispref/positions.texi (Screen Lines): Improve wording.
83229         * doc/lispref/modes.texi (Minor Mode Conventions)
83230         (Font Lock Multiline): Fix typos.
83231         * doc/lispref/variables.texi (Dynamic Binding Tips): Fix a
83232         cross-reference.  Fix a typo.
83233         * doc/lispref/sequences.texi (Sequence Functions): Fix typos.
83234         (Bug#31143)
83236 2018-04-13  Eli Zaretskii  <eliz@gnu.org>
83238         Avoid segfault in processes of type 'pipe'
83240         * src/process.c (Fmake_pipe_process): Set up the decoding and
83241         encoding buffers.  For the details, see
83242         http://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00295.html.
83244 2018-04-13  Robert Pluim  <rpluim@gmail.com>
83246         Remove repetitions in documentation strings
83248         * lisp/bindings.el (right-word): Remove repetition
83249         (left-word): Likewise.
83251         * lisp/image-mode.el (image-mode-as-hex): Likewise.
83253         * lisp/cedet/semantic/tag-ls.el (semantic-tag-similar-p): Likewise.
83255         * lisp/textmodes/reftex-vars.el (reftex-view-crossref-extra): Likewise
83257 2018-04-12  Eli Zaretskii  <eliz@gnu.org>
83259         * lisp/image.el (image-load-path): Doc fix.
83261 2018-04-09  Nicolas Petton  <nicolas@petton.fr>
83263         * etc/AUTHORS: Regenerate.
83265 2018-04-09  Charles A. Roelli  <charles@aurox.ch>
83267         * lisp/files.el (kept-new-versions): Improve documentation string.
83269 2018-04-09  Eli Zaretskii  <eliz@gnu.org>
83271         Fix a minor mistake in the ELisp manual
83273         * doc/lispref/files.texi (Reading from Files): Fix copy/paste
83274         mistake.  (Bug#31107)
83276 2018-04-06  Eli Zaretskii  <eliz@gnu.org>
83278         * lisp/files.el (find-file-literally): Doc fix.
83280 2018-04-05  Eli Zaretskii  <eliz@gnu.org>
83282         Fix typos in doc strings
83284         * lisp/simple.el (undo-auto--boundary-timer)
83285         (undo-auto--boundary-ensure-timer): Fix typos in doc strings.
83287 2018-04-05  Nicolas Petton  <nicolas@petton.fr>
83289         Bump Emacs version to 26.1
83291         * README:
83292         * configure.ac:
83293         * msdos/sed2v2.inp:
83294         * nt/README.W32: Bump Emacs version to 26.1.
83296 2018-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>
83298         * lisp/emacs-lisp/inline.el: Clarify apparent typos
83300 2018-04-04  Ted Zlatanov  <tzz@lifelogs.com>
83302         Allow sexp customization type in auth-sources
83304         * lisp/auth-source.el (auth-sources): Allow sexp customization type.
83305         Update the :version tag.
83307         (cherry picked from commit 447da5b0d49b7aa14fa5d6969015770fdf9b9f92)
83309 2018-04-03  Nicolas Petton  <nicolas@petton.fr>
83311         * etc/NEWS: Remove temporary markup.
83313         * etc/AUTHORS: Update.
83315         * ChangeLog.3: Update.
83317 2018-04-03  Michael Albinus  <michael.albinus@gmx.de>
83319         Fix Bug#31022
83321         * lisp/cus-start.el (temporary-file-directory): Suppress file name
83322         handlers when calling `shell-command-to-string'.  (Bug#31022)
83324 2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>
83326         Update "Calendrical Calculations" cites
83328         * lisp/calendar/calendar.el: Update citations to the book
83329         "Calendrical Calculations" and its predecessors.
83331 2018-04-02  Noam Postavsky  <npostavs@gmail.com>
83333         Fix term.el rendering following a window resize (Bug#30544)
83335         * lisp/term.el (term-reset-size): Reset cached row and column values
83336         before changing point.
83338 2018-04-02  Philipp Stephani  <phst@google.com>
83340         * lisp/files.el (auto-save-visited-mode): Don't prompt for filenames.
83342 2018-04-01  Philipp Stephani  <phst@google.com>
83344         Quote a few backticks in docstrings.
83346         * lisp/emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*)
83347         (macroexp-if): Quote backtick in docstrings.
83349 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
83351         Minor copyedits of completion-at-point-functions documentation
83353         * lisp/minibuffer.el (completion-at-point-functions):
83354         * doc/lispref/minibuf.texi (Completion in Buffers): Fix wording
83355         and filling.
83357         (cherry picked from commit a8ddd05d7d32946b892b9faaba6c9736ed2ad847)
83359 2018-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
83361         (completion-at-point-functions): Improve doc
83363         (cherry picked from commit b56c56f203f8b066dd71e6ae6a254121b3ac3f08)
83365 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
83367         * lisp/net/shr.el (shr-browse-url): Doc fix.  (Bug#30957)
83369 2018-03-31  Hong Xu  <hong@topbug.net>
83371         Mention `key-description' as inverse of `kbd' (Bug#30942)
83373         * lisp/subr.el (kbd): Add `key-description' as inverse of `kbd' in the
83374         doc.
83376 2018-03-31  Noam Postavsky  <npostavs@gmail.com>
83378         Document return value of pcase (Bug#30425)
83380         * doc/lispref/control.texi (Pattern matching case statement):
83381         * lisp/emacs-lisp/pcase.el (pcase): State that pcase returns nil if no
83382         patterns match.
83383         (pcase-exhaustive): State that an error is signaled if no patterns
83384         match.
83386 2018-03-31  Paul Eggert  <eggert@cs.ucla.edu>
83388         * doc/emacs/macos.texi: Tweak grammar and capitalization.
83390 2018-03-31  Richard Stallman  <rms@gnu.org>
83392         Distinguish free from non-free OSes
83394 2018-03-28  Glenn Morris  <rgm@gnu.org>
83396         * doc/emacs/misc.texi (Amusements): Avoid non-printing character.
83398 2018-03-28  Glenn Morris  <rgm@gnu.org>
83400         Fix xrefs in pdf Emacs manual
83402         * doc/emacs/fortran-xtra.texi (ForIndent Cont, ForIndent Num)
83403         (Fortran Columns):
83404         * doc/emacs/picture-xtra.texi (Rectangles in Picture):
83405         Fix recent changes that neglected the splitting of the pdf manuals.
83407 2018-03-28  Michael Albinus  <michael.albinus@gmx.de>
83409         * doc/misc/org.texi (Installation): Fix clone commands.
83411 2018-03-27  Rasmus  <rasmus@gmx.us>
83413         Update Org to v9.1.9
83415         Please note this is a bugfix release. See etc/ORG-NEWS for details.
83417 2018-03-27  Michael Heerdegen  <michael_heerdegen@web.de>
83419         De-obsolete `if-let' and `when-let'
83421         For the following release it is planned to make `if-let*' and
83422         `when-let*' aliases for `if-let' and `when-let'.  For now we revert
83423         declaring `if-let' and `when-let' obsolete and tweak the docstrings.
83425         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): Make docstrings
83426         refer to those of `if-let' and `when-let'.
83427         (if-let, when-let): De-obsolete.  Rewrite documentation.
83429 2018-03-26  Glenn Morris  <rgm@gnu.org>
83431         * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.
83433 2018-03-26  Eli Zaretskii  <eliz@gnu.org>
83435         * doc/lispref/functions.texi (Defining Functions): Improve indexing.
83437 2018-03-25  Aaron Jensen  <aaronjensen@gmail.com>
83439         Fix crash after frame is freed on macOS (bug#30800)
83441         * src/nsterm.m (x_free_frame_resources): Clear represented_frame.
83442         (bug#30800)
83444 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
83446         More manual editing
83448         * doc/emacs/basic.texi:
83449         * doc/emacs/calendar.texi:
83450         * doc/emacs/display.texi:
83451         * doc/emacs/mini.texi:
83452         * doc/emacs/misc.texi:
83453         * doc/emacs/picture-xtra.texi:
83454         * doc/misc/info.texi: Prefer <PageDown> and <PageUp> over
83455         <next> and <prior>.  Add missing @kindex entries.
83457         * doc/emacs/custom.texi (Function Keys): Fix and add missing
83458         key symbols.
83460 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
83462         Minor manual changes changes
83464         * doc/emacs/misc.texi (FFAP): Complete commands.
83465         (Amusements): Add some @cindex entries.  Add "M-x butterfly".
83467 2018-03-24  Glenn Morris  <rgm@gnu.org>
83469         * lisp/calculator.el (calculator-paste-decimals): Add version.
83471 2018-03-23  Eli Zaretskii  <eliz@gnu.org>
83473         More proofreading of the Emacs manual
83475         * doc/emacs/trouble.texi (DEL Does Not Delete): Improve wording.
83476         (Screen Garbled): Mention the command name.
83477         (Bug Criteria): Mention that problems in packages should first be
83478         reported to the respective maintainers.
83479         (Checklist): Fix wording.
83480         (Contributing, Copyright Assignment): Minor copyedits.
83481         * doc/emacs/misc.texi (Amusements): Remove Landmark.
83482         * doc/emacs/picture-xtra.texi (Tabs in Picture): Improve wording.
83483         (Rectangles in Picture): Add a cross-reference to "Registers".
83484         * doc/emacs/misc.texi (Gnus Group Buffer, Gnus Summary Buffer):
83485         Mention command names in parentheses.
83486         (Gnus Summary Buffer): Document "M-r".
83487         (Network Security): Document that current NSM works with TLS
83488         encryption.  Fix markup.
83489         (Document View): Improve wording and fix a typo.
83490         (DocView Conversion): Rephrase description of
83491         doc-view-cache-directory.
83492         (Single Shell): Mention variables that control when shell output
83493         appears in the echo area.
83494         (Shell Mode): Improve wording.
83495         (Shell Prompts): Fix a typo.
83496         (Shell Ring, Term Mode): Mention command names.
83497         (History References): Add a cross-reference to "Rebinding".
83498         (Remote Host): Mention SSH.
83499         (TCP Emacs server): Improve wording.
83500         (emacsclient Options): Minor improvements.
83501         (PostScript): Fix wording.
83502         (PostScript Variables): Mention that ps-font-size could be a cons.
83503         (Sorting): Minor improvements.  Suggested by Michael Albinus
83504         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org
83506 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
83508         * src/lisp.h (struct Lisp_Buffer_Local_Value): Update commentary.
83510         * doc/emacs/trouble.texi: Fix location of `emacs-version' index.
83512 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
83514         Explain more about (defvar foo) form (Bug#18059)
83516         * doc/lispref/variables.texi (Defining Variables)
83517         (Using Lexical Binding):
83518         * doc/lispref/compile.texi (Compiler Errors): Emphasize that omitting
83519         VALUE for `defvar' marks the variable special only locally.
83520         * doc/lispref/variables.texi (Using Lexical Binding): Add example of
83521         using `defvar' without VALUE.
83523 2018-03-22  Charles A. Roelli  <charles@aurox.ch>
83525         * doc/lispref/buffers.texi (Buffer List): Fix grammar.
83527         * doc/lispref/anti.texi (Antinews): Fix grammar.
83529 2018-03-22  Glenn Morris  <rgm@gnu.org>
83531         * lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.
83533         Avoids type mismatch when relevant library is not present/loaded.
83535 2018-03-22  Glenn Morris  <rgm@gnu.org>
83537         sql.el defcustom fixes
83539         * lisp/progmodes/sql.el (sql-login-params): Update.
83540         Avoids type mismatch with postgres and sqlite login params.
83541         (sql-postgres-login-params): Bump version.
83543 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
83545         Document DEFUN attributes
83547         * doc/lispref/internals.texi (Writing Emacs Primitives): Document
83548         specification of function attributes in DEFUN.
83550 2018-03-22  Nicolas Petton  <nicolas@petton.fr>
83552         * etc/NEWS: Add an entry for auth-source-pass.
83554 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
83556         Fix the MSDOS build
83558         * msdos/sed2v2.inp (HAVE_SBRK): Define to 1.
83560 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
83562         Improve warning and error messages
83564         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read,
83565           (eieio-persistent-validate/fix-slot-value): Indicate exactly what
83566           went wrong.
83568 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
83570         Adjust eieio persistence tests for expected failure
83572         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
83573          (eieio-test-persist-hash-and-vector,
83574           eieio-test-persist-interior-lists): Persistence does not currently
83575          handle deeply-nested objects. Expect current failures, and mark for
83576          future fixes.
83578 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
83580         Let eieio-persistent-read read what object-write has written
83582         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
83583           `object-write' may quote lists inside hash tables and vectors, so
83584           unquote those lists here.
83586         This patch allows the eieio-persistent write/restore process to
83587         perform a clean round trip. It only handles a very specific and
83588         limited range of object structures, but at least the write and read
83589         procedures match.
83591 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
83593         Handle possible classtype values in eieio-persistent-read
83595         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
83596           The function `eieio-persistent-slot-type-is-class-p' could return
83597           either a single class, or a list of classes.
83599 2018-03-22  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
83601         Add new tests for eieio persistence
83603         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el:
83604           (hash-equal): New comparison test for hash-tables.
83605           (persist-test-save-and-compare): Use test for hash-tables.
83606           (eieio-test-persist-hash-and-vector,
83607           eieio-test-persist-interior-lists): New tests.
83609 2018-03-22  Glenn Morris  <rgm@gnu.org>
83611         * lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc & type.
83613         * lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix type.
83615 2018-03-21  Glenn Morris  <rgm@gnu.org>
83617         * doc/lispref/windows.texi (Selecting Windows): Fix a typo.
83619 2018-03-21  Charles A. Roelli  <charles@aurox.ch>
83621         * doc/lispref/internals.texi (Writing Emacs Primitives): Fix grammar.
83623 2018-03-21  Alan Mackenzie  <acm@muc.de>
83625         Firm up documentation of generalized variables
83627         * doc/lispref/variables.texi (Generalized Variables)
83628         (Setting Generalized Variables): Define a generalized variable as something
83629         setf can write to.  Remove the insinuation that hackers have poor memories.
83630         State explicitly that the list of GVs given is complete.  Remove the
83631         suggestion that `setf' has superseded, or is in the process of superseding,
83632         `setq'.  Make minor corrections to the English.
83634 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
83636         Improve documentation of Auto-Revert mode
83638         * doc/emacs/files.texi (Reverting): Mention that Aut-Revert
83639         applies to Dired buffers as well.  Suggested by Michael Albinus
83640         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
83642 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
83644         Improvements in dired.texi
83646         * doc/emacs/dired.texi (Dired): Mention that Dired works with
83647         remote directories.
83648         (Dired Enter): ls-lisp is used on some remote systems as well.
83649         (Dired Navigation): Mention and index the command names.
83650         (Dired Deletion): Document the 'always' value of
83651         dired-recursive-deletes.  Mention the alternative deletion method.
83652         (Marks vs Flags): Fix spelling of Auto-Revert mode.  Document what
83653         marking does on a subdirectory header line.
83654         (Operating on Files): Document that 'Z' uses gzip or compress.
83655         (Comparison in Dired): Mention ediff-files.
83656         (Misc Dired Features): Fix a typo.  Suggested by Michael Albinus
83657         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
83659 2018-03-21  Noam Postavsky  <npostavs@gmail.com>
83661         Revert "Support all perl variable declarators and prefixes"
83663         It highlights normal variable names in perl programs (Bug#30812).
83664         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
83665         (perl-font-lock-keywords-2): Restore values prior to Bug#27613 fix.
83667         Don't merge to master, we will fix Bug#27613 properly there (it's too
83668         close to release to do that on emacs-26).
83670 2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>
83672         Port to 32-bit sparc64
83674         Backport from master.
83675         Problem reported by Ulrich Mueller; fix suggested by Eli Zaretskii
83676         and Andreas Schwab (Bug#30855).
83677         * src/alloc.c (mark_memory): Call mark_maybe_object only on
83678         pointers that are properly aligned for Lisp_Object.
83680 2018-03-20  Robert Pluim  <rpluim@gmail.com>
83682         Correct Info link markup
83684         * lisp/gnus/gnus-agent.el (gnus-agent-auto-agentize-methods):
83685         Correct markup for Info link.
83686         * src/minibuf.c (Fcompleting_read): Likewise.
83688 2018-03-20  Nick Helm  <nick@tenpoint.co.nz>
83690         Improve documentation of 'with-help-window'
83692         * doc/lispref/help.texi (Help Functions): Change variable name
83693         to 'buffer-or-name'.
83695         * lisp/help.el (with-help-window): Change variable name to
83696         'buffer-or-name' and rewrite the doc string, adding reference
83697         to 'help-window-setup'.  (Bug#30792)
83699 2018-03-20  Eli Zaretskii  <eliz@gnu.org>
83701         Minor improvements in building.texi
83703         * doc/emacs/building.texi (Compilation Shell): Mention that this
83704         section is for local compilation buffers.
83705         (Compilation, Compilation Mode): Mention that 'g' is bound to
83706         'recompile' in compilation buffers.
83707         (Grep Searching): Add a cross-reference to "Compilation Mode".
83708         Suggested by Michael Albinus <michael.albinus@gmx.de> in
83709         emacs-manual-bugs@gnu.org.
83711 2018-03-20  Alex Branham  <branham@utexas.edu>
83713         * lisp/textmodes/bibtex.el (bibtex-mark-entry): activate mark
83715 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
83717         * doc/emacs/building.texi (Starting GUD): Mention 'guiler'.
83719 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
83721         Yet more proofreading of the Emacs manual
83723         * doc/emacs/building.texi (Compilation, Grep Searching)
83724         (Debuggers, GUD Customization, Source Buffers)
83725         (Breakpoints Buffer, Threads Buffer): Minor fixes and updates.
83726         Suggested by Michael Albinus <michael.albinus@gmx.de> in
83727         emacs-manual-bugs@gnu.org.
83729 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
83731         * doc/emacs/rmail.texi: Fix broken link.
83733 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
83735         Fix recently-added POP doc glitch
83737         * doc/emacs/rmail.texi (Remote Mailboxes):
83738         POP3 → POP, when talking about POP in general.
83740 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
83742         More proofreading of the Emacs manual
83744         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix typos.  Improve
83745         indexing.
83746         (Mac / GNUstep Basics, Mac / GNUstep Customization)
83747         (Mac / GNUstep Events): Improve indexing.
83749         * doc/emacs/rmail.texi (Rmail): Mention Gnus.
83750         (Rmail Basics, Rmail Scrolling): Improve cross-references and
83751         indexing.
83752         (Rmail Motion): Minor improvements.
83753         (Rmail Inbox): Remove outdated text about Babyl format.
83754         (Rmail Files): Formatting changes.  Comment out
83755         set-rmail-inbox-list in the table of commands, as it is commented
83756         out in the text that follows.
83757         (Rmail Output, Rmail Labels, Rmail Reply, Rmail Make Summary):
83758         Minor copyedits.
83759         (Rmail Summary Edit): Document
83760         rmail-summary-scroll-between-messages.
83761         (Rmail Editing): Improve indexing.
83762         (Movemail): Fix typos.
83763         (Remote Mailboxes): Use "POP3" rather than "POP".
83765 2018-03-19  Simen Heggestøyl  <simenheg@gmail.com>
83767         Fix typo in the Emacs manual's VC chapter
83769         * doc/emacs/maintaining.texi (VC Directory Buffer): Fix a typo.
83771 2018-03-19  Basil L. Contovounesios  <contovob@tcd.ie>
83773         Pass json-readtable-error data as a list (bug#30489)
83775         * lisp/json.el (json-readtable-dispatch): Fix error data.
83776         * test/lisp/json-tests.el (test-json-read): Check error data is a
83777         list.
83779 2018-03-17  Noam Postavsky  <npostavs@gmail.com>
83781         Improve word motion docs (Bug#30815)
83783         * doc/lispref/positions.texi (Word Motion): Fix reference to
83784         `char-script-table'.
83785         * lisp/simple.el (backward-word):
83786         * src/syntax.c (forward-word): Mention `char-script-table' and add
83787         link to the 'Word Motion' manual section.
83789 2018-03-15  Michael Albinus  <michael.albinus@gmx.de>
83791         Replace "carriage-return" by "carriage return" in manuals
83793         * doc/emacs/msdos.texi:
83794         * doc/emacs/mule.texi:
83795         * doc/emacs/screen.texi:
83796         * doc/lispref/nonascii.texi:
83797         * doc/misc/calc.texi: Replace "carriage-return" by "carriage
83798         return".  Suggested by Richard Stallman <rms@gnu.org> in
83799         emacs-manual-bugs@gnu.org.
83801 2018-03-15  Eli Zaretskii  <eliz@gnu.org>
83803         Minor copyedits in mule.texi
83805         * doc/emacs/mule.texi (Recognize Coding, Fontsets): Minor changes
83806         in wording.  Suggested by Richard Stallman <rms@gnu.org> in
83807         emacs-manual-bugs@gnu.org.
83809 2018-03-14  Eli Zaretskii  <eliz@gnu.org>
83811         Fix problems caused by fontconfig-2.13.0
83813         * src/xterm.c (x_term_init): Call fixup_locale after
83814         xg_initialize, to countermand the call to setlocale in some
83815         versions of fontconfig.  (Bug#30788)
83817 2018-03-13  Glenn Morris  <rgm@gnu.org>
83819         Fix some allout.el aliases
83821         * lisp/allout.el (allout-passphrase-verifier-string)
83822         (allout-passphrase-hint-string): Fix alias.
83824 2018-03-13  Glenn Morris  <rgm@gnu.org>
83826         * lisp/progmodes/ada-mode.el (ada-clean-buffer-before-saving): Doc fix.
83828 2018-03-13  Glenn Morris  <rgm@gnu.org>
83830         Doc fixes re obsolete items
83832         * doc/emacs/mini.texi (Completion Commands): Small update re mouse.
83833         * doc/misc/htmlfontify.texi (Customization): Replace obsolete alias.
83835 2018-03-13  Glenn Morris  <rgm@gnu.org>
83837         Replace an obsolete alias in tpu-mapper
83839         * lisp/obsolete/tpu-mapper.el (tpu-map-key, tpu-mapper):
83840         Replace obsolete alias.
83842 2018-03-13  Glenn Morris  <rgm@gnu.org>
83844         Doc fixes re obsolete items
83846         * doc/emacs/maintaining.texi (VC Undo):
83847         * doc/misc/efaq-w32.texi (Font names): Replace obsolete aliases.
83848         * doc/misc/url.texi (Customization):
83849         Don't mention url-temporary-directory, it essentially does nothing.
83850         * lisp/hilit-chg.el
83851         (highlight-changes-global-changes-existing-buffers): Doc fix.
83853 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
83855         Minor changes in mule.texi
83857         * doc/emacs/mule.texi (International, Coding Systems)
83858         (Bidirectional Editing): Minor wording changes and typo fixes.
83859         Suggested by Michael Albinus <michael.albinus@gmx.de> in
83860         emacs-manual-bugs@gnu.org.
83862 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
83864         Avoid assertion violation under visual-order-cursor-movement
83866         * src/xdisp.c (Fmove_point_visually): Don't let point exceed the
83867         BEGV..ZV range.  Signal Beginning of buffer error when there's a
83868         before-string at BEGV.  (Bug#30787)
83870 2018-03-13  Glenn Morris  <rgm@gnu.org>
83872         Stop mentioning options.el in doc
83874         * doc/misc/calc.texi (Customizing Embedded Mode):
83875         Remove mentions of the obsolete (since 22.1) options.el.
83876         * lisp/progmodes/meta-mode.el: Comment fix.
83878 2018-03-12  Charles A. Roelli  <charles@aurox.ch>
83880         * lisp/vc/vc-dir.el (vc-dir-unmark): Fix documentation.
83882 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
83884         * lisp/minibuffer.el (completion-cycle-threshold): Doc fix.
83886 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
83888         Fix last change in Xref documentation
83890         * doc/emacs/maintaining.texi (Looking Up Identifiers): More
83891         accurate wording for the description of xref-etags-mode.
83893 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
83895         More changes in the Emacs manual
83897         * doc/emacs/text.texi (Words, Foldout, Table Conversion): Clarify
83898         text.  Reported by Gijs Hillenius <gijs@hillenius.net> in
83899         emacs-manual-bugs@gnu.org.
83901         * doc/emacs/msdos.texi (Windows Keyboard):
83902         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
83903         * doc/emacs/macos.texi (Mac / GNUstep Basics):
83904         * doc/emacs/glossary.texi (Glossary):
83905         * doc/emacs/custom.texi (Function Keys, Init Syntax):
83906         * doc/emacs/commands.texi (User Input):
83907         * doc/emacs/basic.texi (Arguments): Fix capitalization of "Meta".
83908         * doc/emacs/msdos.texi (Windows Keyboard):
83909         * doc/emacs/dired.texi (Dired Updating):
83910         * doc/emacs/custom.texi (Init Rebinding): Fix misuses of @key.
83911         Suggested by Richard Stallman <rms@gnu.org>.
83913 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
83915         Improve documentation of Xref
83917         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
83918         xref-etags-mode.
83920 2018-03-11  Paul Eggert  <eggert@cs.ucla.edu>
83922         Fix create_process bug breaking eudc-expand-inline
83924         Problem reported by Thomas Fitzsimmons (Bug#30762).
83925         * src/process.c (create_process) [HAVE_PTYS]:
83926         Call setsid even if !PTY_FLAG.
83928 2018-03-10  Noam Postavsky  <npostavs@gmail.com>
83930         Clarify that nil doesn't match itself as a cl-case clause (Bug#30749)
83932         * lisp/emacs-lisp/cl-macs.el (cl-case): Mention that the ATOM
83933         => (ATOM) short form is only for non-nil ATOMs.
83935 2018-03-10  Charles A. Roelli  <charles@aurox.ch>
83937         Improve SVG documentation
83939         * doc/lispref/display.texi (ImageMagick Images): Remove an
83940         outdated comment that references a fixed bug.
83941         (SVG Images): Fix grammar, and call functions functions (there are
83942         no commands in lisp/svg.el).
83944 2018-03-10  Eli Zaretskii  <eliz@gnu.org>
83946         Document the "URL" keyword in library headers
83948         * doc/lispref/tips.texi (Library Headers): "URL" is an alias for
83949         "Homepage".  Suggested by Peter Oliver <p.d.oliver@mavit.org.uk>.
83950         (Bug#30571)
83952 2018-03-09  Glenn Morris  <rgm@gnu.org>
83954         * test/lisp/international/mule-tests.el:
83955         Avoid local variables confusion.
83957 2018-03-09  Bill Wohler  <wohler@newt.com>
83959         Add missing findex entries for recently removed kindex entries
83961         * doc/misc/mh-e.texi:
83963         (cherry picked from commit a56a3fc6849b89a71c9a00afcb088021ccbe94e5)
83965 2018-03-09  Glenn Morris  <rgm@gnu.org>
83967         Replace the obsolete process-kill-without-query in documentation
83969         * lisp/comint.el (comint-exec-hook):
83970         * lisp/term.el (term-exec-hook):
83971         * lisp/eshell/esh-proc.el (eshell-exec-hook):
83972         Doc fixes re the obsolete process-kill-without-query.
83974 2018-03-08  Michael Albinus  <michael.albinus@gmx.de>
83976         Minor change in the manual
83978         * doc/emacs/display.texi (Useless Whitespace):
83979         Don't upcase "TAB" and "SPC" when alluding to characters.
83981 2018-03-08  Eli Zaretskii  <eliz@gnu.org>
83983         More minor changes in the manual
83985         * doc/emacs/display.texi (Useless Whitespace): Don't upcase "TAB"
83986         and "SPC" when alluding to characters.  Suggested by Richard
83987         Stallman <rms@gnu.org>.
83989         * doc/emacs/buffers.texi (Misc Buffer): Clarify what "read-only"
83990         means for buffers.
83991         (Buffers): Define and describe "buffer contents".  Suggested by
83992         Richard Stallman <rms@gnu.org>.  (Bug#30685)
83994 2018-03-07  Glenn Morris  <rgm@gnu.org>
83996         Replace some obsolete aliases in code
83998         * lisp/net/eudc-bob.el (eudc-bob-mail-keymap):
83999         * lisp/textmodes/reftex-toc.el (reftex-make-separate-toc-frame):
84000         Replace obsolete aliases.
84002 2018-03-07  Glenn Morris  <rgm@gnu.org>
84004         Replace some obsolete aliases in documentation
84006         * doc/misc/efaq-w32.texi (Incoming mail with Rmail):
84007         * doc/misc/speedbar.texi (Major Display Modes):
84008         * lisp/mh-e/mh-folder.el (mh-restore-desktop-buffer):
84009         Doc fixes re obsolete aliases.
84011 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
84013         Minor improvements in manuals
84015         * doc/lispref/variables.texi (Local Variables): Make more clear
84016         that local bindings of 'let' are in effect only within the body.
84017         Suggested by Marcin Borkowski <mbork@mbork.pl>, see
84018         http://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00217.html
84019         for the details.
84021         * doc/emacs/programs.texi (Matching): Fix a typo.  Reported by
84022         Alex Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
84023         Improve indexing.
84025 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
84027         Minor copyedits in display.texi
84029         * doc/emacs/display.texi (Highlight Interactively)
84030         (Useless Whitespace, Line Truncation, Visual Line Mode): Minor
84031         changes of wording and typo corrections.  Suggested by Michael
84032         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
84034 2018-03-07  Glenn Morris  <rgm@gnu.org>
84036         Remove some unused spam.el variables
84038         * lisp/gnus/spam.el (spam-ifile-path, spam-ifile-database-path)
84039         (spam-bogofilter-path, spam-bsfilter-path)
84040         (spam-spamassassin-path, spam-sa-learn-path):
84041         Remove variables that are described as obsolete, but are
84042         really completely unused, and have been for years.
84044 2018-03-07  Glenn Morris  <rgm@gnu.org>
84046         Replace some obsolete aliases in code
84048         * lisp/emulation/viper.el (viper-set-hooks):
84049         * lisp/epa-hook.el (auto-encryption-mode):
84050         * lisp/term/pc-win.el (set-frame-font): Replace obsolete aliases.
84051         * lisp/net/quickurl.el (quickurl--assoc-function): New.
84052         (quickurl-assoc-function): Use it.
84054 2018-03-07  Glenn Morris  <rgm@gnu.org>
84056         Replace some obsolete aliases in documentation
84058         * doc/emacs/text.texi (Nroff Mode):
84059         * doc/misc/efaq.texi (How to add fonts):
84060         * lisp/gnus/nnheader.el (nnheader-insert-file-contents):
84061         * lisp/progmodes/pascal.el (pascal-outline-mode):
84062         Doc fixes re obsolete aliases.
84064 2018-03-06  Glenn Morris  <rgm@gnu.org>
84066         Obsolete eshell-cmpl-suffix-list
84068         * lisp/eshell/em-cmpl.el (eshell-cmpl-suffix-list):
84069         Make obsolete, to match pcomplete-suffix-list.
84071 2018-03-06  Eli Zaretskii  <eliz@gnu.org>
84073         More minor changes in the Glossary of the Emacs manual
84075         * doc/emacs/glossary.texi (Glossary): Improve cross-references for
84076         modifier keys.  Fix typos.  Suggested by Gijs Hillenius
84077         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
84079 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
84081         Revert last commit
84083         This reverts commit af4697faa1f5b643f63a9ea61aa205a4c1432e23.  It's
84084         too late for this to be in the release.
84086 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
84088         Define if-let* and derivatives as aliases for if-let etc
84090         This commit reverts declaring `if-let' and `when-let' obsolete in
84091         favor of the new `if-let*' and `when-let*' versions because of the
84092         compiler warning mess (Bug#30039).  Instead we make foo-let* aliases
84093         for foo-let.  The old single-tuple variable spec case is still
84094         supported for backward compatibility.
84095         * lisp/emacs-lisp/subr-x.el (if-let, when-let): Don't declare
84096         obsolete.  Tweak edebug specs.
84097         (and-let): Renamed from `and-let*' for compatibility with the names
84098         `if-let' and `when-let'.
84099         (if-let*, when-let*, and-let*): Define as aliases for `if-let',
84100         `when-let' and `and-let'.
84101         * test/lisp/emacs-lisp/subr-x-tests.el (if-let-single-tuple-case-test)
84102         (when-let-single-tuple-case-test): New tests for the single-binding
84103         tuple case.
84104         In the whole file, prefer the names without "*".
84106 2018-03-05  Eli Zaretskii  <eliz@gnu.org>
84108         Minor fix in Emacs manual's Glossary
84110         * doc/emacs/glossary.texi (Glossary): Fix outdated text about
84111         primary selection.  Reported by Gijs Hillenius
84112         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
84114 2018-03-03  Juri Linkov  <juri@linkov.net>
84116         * lisp/progmodes/grep.el (zrgrep):
84118         Let-bind grep-use-null-filename-separator to nil (bug#30559).
84120 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
84122         Minor copyedits in doc/emacs/text.texi
84124         * doc/emacs/text.texi (TeX Mode): Use @code for command markup.
84125         (HTML Mode): Add a note about "C-x C-v" binding in HTML mode.
84127 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
84129         Remove outdated comment in syntax.el
84131         * lisp/emacs-lisp/syntax.el (syntax-ppss-toplevel-pos): Remove
84132         outdated comment.  (Bug#30617)
84134 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
84136         Prevent Flyspell from changing unrelated words
84138         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Avoid
84139         using stale cached data from previous invocations of this command.
84140         (Bug#30462)
84142 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
84144         Avoid errors in flymake in builds --without-x
84146         * lisp/progmodes/flymake.el: Require 'mwheel'.  (Bug#28732)
84148 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
84150         More improvements of the Emacs manual
84152         * doc/emacs/rmail.texi (Rmail Reply, Rmail Sorting): Improve
84153         wording.  Suggested by Daniel Chakraborty
84154         <danielmchakraborty@gmail.com>.
84156         * doc/emacs/glossary.texi (Glossary): Add cross-references.
84157         Improve and clarify wording.  Suggested by Gijs Hillenius
84158         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
84160         * doc/emacs/text.texi (Org Authoring): Add more supported formats
84161         to the list.
84162         (TeX Print): Improve wording.  Slightly rearrange stuff.
84163         (TeX Misc): Mention doctex-mode-hook.
84164         (Two-Column): Minor rearrangement of text.  Suggested by Michael
84165         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
84167         * doc/emacs/misc.texi (Saving Emacs Sessions):
84168         * doc/emacs/programs.texi (Program Modes): Remove redundant text
84169         and index entries.
84171 2018-03-03  Dmitry Gutov  <dgutov@yandex.ru>
84173         Backport: xref--next-error-function: Move xref's window point
84175         * lisp/progmodes/xref.el (xref--next-error-function): Move
84176         xref's window point if it's visible.  When we don't do that,
84177         navigation can start looping after a while.
84179         (cherry picked from commit 108ce84432d597f92637ea74bd0a094224d157de)
84181 2018-03-02  Glenn Morris  <rgm@gnu.org>
84183         mwheel minor consistency fix
84185         * lisp/mwheel.el (mwheel-scroll-left-function)
84186         (mwheel-scroll-right-function):
84187         Change from defcustom to defvar, for consistency with pre-existing.
84189 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
84191         * src/window.c (Frecenter): Improve commentary.
84193 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
84195         Fix downloading non-text files in EWW
84197         * lisp/net/eww.el (eww-download-callback): Bind
84198         coding-system-for-read to 'no-conversion', to avoid any code- or
84199         EOL-conversions in downloaded files.  (Bug#30664)
84201 2018-03-02  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
84203         Rename some mwheel options, for consistency
84205         * lisp/mwheel.el (mouse-wheel-tilt-scroll)
84206         (mouse-wheel-flip-direction): Rename from mwheel-tilt-scroll-p,
84207         mwheel-flip-direction.
84208         (mwheel-scroll): Update for option renaming.
84209         * doc/emacs/frames.texi (Mouse Commands):
84210         Update for option renaming.
84212 2018-03-01  Glenn Morris  <rgm@gnu.org>
84214         * lisp/vc/add-log.el (add-change-log-entry): Replace obsolete alias.
84216 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
84218         Improve the Emacs manual
84220         * doc/emacs/xresources.texi (Table of Resources): Mention that
84221         some resources are ignored by toolkit builds.
84222         * doc/emacs/custom.texi (Key Bindings): Improve indexing.
84223         (Bug#30530)
84225 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
84227         * lisp/dired-aux.el (dired-do-create-files): Doc fix.  (Bug#30634)
84229 2018-03-01  Michael Albinus  <michael.albinus@gmx.de>
84231         Further improvements on manuals
84233         * doc/emacs/xresources.texi:
84234         * doc/lispref/display.texi:
84235         * doc/lispref/keymaps.texi:
84236         * doc/misc/dbus.texi:
84237         * doc/misc/efaq-w32.texi: Use "GTK+" where applicable.
84239         * doc/emacs/xresources.texi (Resources): Mention several use
84240         of "-xrm".
84241         (Table of Resources) [verticalScrollBars]: Add reference to Scroll Bars.
84243 2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>
84245         Require a larger stack size for threads on macOS (bug#30364)
84247         * src/systhread.c (sys_thread_create)
84248         [THREADS_ENABLED && HAVE_PTHREAD && DARWIN_OS]:
84249         Require at least 8MB stack size for x64 and 4MB for x86 on macOS.
84250         Do not merge to master.
84252 2018-02-28  Glenn Morris  <rgm@gnu.org>
84254         * doc/lispref/streams.texi (Output Variables): Fix previous.
84256 2018-02-28  Michael Albinus  <michael.albinus@gmx.de>
84258         Use "GTK+" where applicable in the manual
84260         * doc/emacs/display.texi (Standard Faces, Standard Faces):
84261         * doc/emacs/emacs.texi (Top):
84262         * doc/emacs/files.texi (Visiting):
84263         * doc/emacs/frames.texi (Scroll Bars):
84264         * doc/emacs/xresources.texi: Use "GTK+" where applicable.
84266 2018-02-28  Paul Eggert  <eggert@cs.ucla.edu>
84268         Document print-escape-control-characters
84270         * doc/lispref/streams.texi, etc/NEWS: Add doc.
84272 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
84274         * doc/emacs/killing.texi (Rectangles): Don't use @key for characters.
84276 2018-02-27  Glenn Morris  <rgm@gnu.org>
84278         * lisp/emulation/viper.el: Unbreak it.
84280         Since 2017-03-19, M-x viper failed with function void cl-member-if.
84281         Perhaps it isn't used much.
84283 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
84285         More fixes in the Emacs manual
84287         * doc/emacs/xresources.texi (Table of Resources, Lucid Resources):
84288         Sort the resources.
84289         (Lucid Resources): Add cross-references.
84290         (GTK Resource Basics): Fix wording.
84291         (GTK styles): Add empty lines in a @table.  Suggested by Michael
84292         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
84294 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
84296         Avoid aborts in 'md5'
84298         * src/fns.c (extract_data_from_object): Don't crash if called with
84299         an invalid object.  (Bug#30627)
84301 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
84303         Mark keys consistently in manuals
84305         * doc/emacs/killing.texi:
84306         * doc/lispintro/emacs-lisp-intro.texi:
84307         * doc/misc/calc.texi:
84308         * doc/misc/cc-mode.texi:
84309         * doc/misc/dired-x.texi:
84310         * doc/misc/ede.texi:
84311         * doc/misc/edt.texi:
84312         * doc/misc/efaq.texi:
84313         * doc/misc/erc.texi:
84314         * doc/misc/eshell.texi:
84315         * doc/misc/gnus-faq.texi:
84316         * doc/misc/gnus-news.texi:
84317         * doc/misc/idlwave.texi:
84318         * doc/misc/ido.texi:
84319         * doc/misc/mairix-el.texi:
84320         * doc/misc/message.texi:
84321         * doc/misc/mh-e.texi:
84322         * doc/misc/newsticker.texi:
84323         * doc/misc/org.texi:
84324         * doc/misc/pcl-cvs.texi:
84325         * doc/misc/ses.texi:
84326         * doc/misc/sieve.texi:
84327         * doc/misc/smtpmail.texi:
84328         * doc/misc/speedbar.texi:
84329         * doc/misc/srecode.texi:
84330         * doc/misc/vhdl-mode.texi:
84331         * doc/misc/vip.texi:
84332         * doc/misc/viper.texi: Mark keys consistently.
84334 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
84336         Remove @key{} markups from @kindex entries in manuals
84338         * doc/emacs/basic.texi:
84339         * doc/emacs/buffers.texi:
84340         * doc/emacs/building.texi:
84341         * doc/emacs/calendar.texi:
84342         * doc/emacs/custom.texi:
84343         * doc/emacs/dired.texi:
84344         * doc/emacs/display.texi:
84345         * doc/emacs/files.texi:
84346         * doc/emacs/frames.texi:
84347         * doc/emacs/help.texi:
84348         * doc/emacs/indent.texi:
84349         * doc/emacs/killing.texi:
84350         * doc/emacs/kmacro.texi:
84351         * doc/emacs/mark.texi:
84352         * doc/emacs/mini.texi:
84353         * doc/emacs/misc.texi:
84354         * doc/emacs/modes.texi:
84355         * doc/emacs/msdos-xtra.texi:
84356         * doc/emacs/msdos.texi:
84357         * doc/emacs/mule.texi:
84358         * doc/emacs/picture-xtra.texi:
84359         * doc/emacs/programs.texi:
84360         * doc/emacs/regs.texi:
84361         * doc/emacs/rmail.texi:
84362         * doc/emacs/screen.texi:
84363         * doc/emacs/search.texi:
84364         * doc/emacs/sending.texi:
84365         * doc/emacs/text.texi:
84366         * doc/emacs/trouble.texi:
84367         * doc/misc/calc.texi:
84368         * doc/misc/cc-mode.texi:
84369         * doc/misc/ediff.texi:
84370         * doc/misc/ert.texi:
84371         * doc/misc/eww.texi:
84372         * doc/misc/forms.texi:
84373         * doc/misc/gnus.texi:
84374         * doc/misc/idlwave.texi:
84375         * doc/misc/info.texi:
84376         * doc/misc/message.texi:
84377         * doc/misc/mh-e.texi:
84378         * doc/misc/newsticker.texi:
84379         * doc/misc/org.texi:
84380         * doc/misc/pcl-cvs.texi:
84381         * doc/misc/rcirc.texi:
84382         * doc/misc/reftex.texi:
84383         * doc/misc/sc.texi:
84384         * doc/misc/sieve.texi:
84385         * doc/misc/vhdl-mode.texi:
84386         * doc/misc/vip.texi:
84387         * doc/misc/viper.texi:
84388         * doc/misc/woman.texi: Remove @key{} markups from @kindex entries.
84390 2018-02-25  Eli Zaretskii  <eliz@gnu.org>
84392         * doc/emacs/display.texi (Standard Faces): Fix markup of index entry.
84394 2018-02-25  Michael Albinus  <michael.albinus@gmx.de>
84396         Fix @kindex entries in manuals
84398         * doc/emacs/basic.texi:
84399         * doc/emacs/buffers.texi:
84400         * doc/emacs/building.texi:
84401         * doc/emacs/calendar.texi:
84402         * doc/emacs/custom.texi:
84403         * doc/emacs/dired.texi:
84404         * doc/emacs/display.texi:
84405         * doc/emacs/files.texi:
84406         * doc/emacs/frames.texi:
84407         * doc/emacs/help.texi:
84408         * doc/emacs/indent.texi:
84409         * doc/emacs/killing.texi:
84410         * doc/emacs/kmacro.texi:
84411         * doc/emacs/mark.texi:
84412         * doc/emacs/mini.texi:
84413         * doc/emacs/misc.texi:
84414         * doc/emacs/modes.texi:
84415         * doc/emacs/msdos-xtra.texi:
84416         * doc/emacs/msdos.texi:
84417         * doc/emacs/mule.texi:
84418         * doc/emacs/picture-xtra.texi:
84419         * doc/emacs/programs.texi:
84420         * doc/emacs/regs.texi:
84421         * doc/emacs/rmail.texi:
84422         * doc/emacs/screen.texi:
84423         * doc/emacs/search.texi:
84424         * doc/emacs/sending.texi:
84425         * doc/emacs/text.texi:
84426         * doc/emacs/trouble.texi:
84427         * doc/lispref/files.texi:
84428         * doc/misc/calc.texi:
84429         * doc/misc/cc-mode.texi:
84430         * doc/misc/ediff.texi:
84431         * doc/misc/epa.texi:
84432         * doc/misc/ert.texi:
84433         * doc/misc/eww.texi:
84434         * doc/misc/forms.texi:
84435         * doc/misc/gnus.texi:
84436         * doc/misc/info.texi:
84437         * doc/misc/mairix-el.texi:
84438         * doc/misc/message.texi:
84439         * doc/misc/mh-e.texi:
84440         * doc/misc/newsticker.texi:
84441         * doc/misc/org.texi:
84442         * doc/misc/pcl-cvs.texi:
84443         * doc/misc/rcirc.texi:
84444         * doc/misc/sc.texi:
84445         * doc/misc/sieve.texi:
84446         * doc/misc/vhdl-mode.texi:
84447         * doc/misc/vip.texi:
84448         * doc/misc/viper.texi:
84449         * doc/misc/woman.texi: Fix @kindex entries.  Mark keys consistently.
84451 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
84453         Fix @cindex entries in manuals
84455         * doc/emacs/custom.texi:
84456         * doc/emacs/dired.texi:
84457         * doc/emacs/display.texi:
84458         * doc/emacs/files.texi:
84459         * doc/emacs/frames.texi:
84460         * doc/emacs/killing.texi:
84461         * doc/emacs/maintaining.texi:
84462         * doc/emacs/misc.texi:
84463         * doc/emacs/msdos-xtra.texi:
84464         * doc/emacs/msdos.texi:
84465         * doc/emacs/search.texi:
84466         * doc/emacs/text.texi:
84467         * doc/emacs/trouble.texi:
84468         * doc/lispintro/emacs-lisp-intro.texi:
84469         * doc/lispref/strings.texi:
84470         * doc/lispref/text.texi:
84471         * doc/misc/cc-mode.texi:
84472         * doc/misc/efaq.texi:
84473         * doc/misc/eieio.texi:
84474         * doc/misc/emacs-mime.texi:
84475         * doc/misc/gnus.texi:
84476         * doc/misc/htmlfontify.texi:
84477         * doc/misc/idlwave.texi:
84478         * doc/misc/message.texi:
84479         * doc/misc/mh-e.texi:
84480         * doc/misc/sem-user.texi:
84481         * doc/misc/ses.texi:
84482         * doc/misc/tramp.texi:
84483         * doc/misc/vhdl-mode.texi: Fix @cindex entries.
84485 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
84487         Fix @cindex entries in org.texi
84489         * doc/misc/org.texi: Fix @cindex entries.  Use consistently
84490         @code{} for keywords.
84492 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
84494         Document reserved keys
84496         * doc/emacs/custom.texi (Key Bindings): Mention keys reserved for
84497         users.  (Bug#30530)
84499 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
84501         * doc/misc/ebrowse.texi: Use @key{} for keys.
84503 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
84505         * src/keyboard.c (syms_of_keyboard): Doc fix.  (Bug#30588)
84507 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
84509         Improve documentation of X resources
84511         * doc/emacs/xresources.texi (Table of Resources): Add menu-related
84512         resources.  Add cross-references to "GTK Resources".
84514 2018-02-23  Glenn Morris  <rgm@gnu.org>
84516         * lisp/international/mule.el (keyboard-coding-system): Doc fix.
84518         Since multi-tty, this is always set.
84520 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
84522         Minor doc fixes, mostly for timestamp issues
84524 2018-02-23  Eli Zaretskii  <eliz@gnu.org>
84526         * doc/emacs/mini.texi (Completion Styles): Improve indexing.
84528 2018-02-23  Michael Albinus  <michael.albinus@gmx.de>
84530         Fix @findex and @vindex entries in manuals
84532         * doc/emacs/building.texi:
84533         * doc/emacs/calendar.texi:
84534         * doc/emacs/cmdargs.texi:
84535         * doc/emacs/mini.texi:
84536         * doc/emacs/misc.texi:
84537         * doc/emacs/trouble.texi:
84538         * doc/emacs/windows.texi:
84539         * doc/lispintro/emacs-lisp-intro.texi:
84540         * doc/lispref/edebug.texi:
84541         * doc/lispref/frames.texi:
84542         * doc/lispref/os.texi:
84543         * doc/lispref/windows.texi:
84544         * doc/misc/cc-mode.texi:
84545         * doc/misc/dired-x.texi:
84546         * doc/misc/ediff.texi:
84547         * doc/misc/mh-e.texi:
84548         * doc/misc/pcl-cvs.texi:
84549         * doc/misc/reftex.texi:
84550         * doc/misc/sc.texi:
84551         * doc/misc/vhdl-mode.texi:
84552         * doc/misc/viper.texi: Fix @findex and @vindex entries.
84554 2018-02-22  Alan Mackenzie  <acm@muc.de>
84556         Document, in the Elisp manual, how to get a character's raw syntax descriptor
84558         * doc/lispref/syntax.texi (Syntax Table internals): mention the use of `aref'
84559         to get a character's raw syntax descriptor.
84561 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
84563         Improvements in the Emacs manual
84565         * doc/emacs/custom.texi (Customization Groups)
84566         (Changing a Variable, Browsing Custom, Customizing Faces): Fix
84567         markup of keys.
84568         (Changing a Variable, Saving Customizations): Update the
84569         description of buttons in the Custom buffer.
84570         (Face Customization): More accurate description.
84571         (Specific Customization, Examining, Locals): Add blank lines in
84572         the @table.  Reported by Michael Albinus <michael.albinus@gmx.de>
84573         in emacs-manual-bugs@gnu.org.
84575 2018-02-22  Glenn Morris  <rgm@gnu.org>
84577         Tiny doc/misc markup fixes
84579         * doc/misc/ediff.texi (Patch and Diff Programs):
84580         * doc/misc/viper.texi (File and Buffer Handling): Fix markup typos.
84582 2018-02-22  Martin Rudalics  <rudalics@gmx.at>
84584         Skip mouse-face overlap check when mouse-face is hidden (Bug#30519)
84586         * src/xdisp.c (note_mouse_highlight): Skip check whether
84587         mouse-face highlighting overlay overlaps other mouse-face
84588         overlays when mouse-face highlighting is hidden (Bug#30519).
84590 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
84592         Fix capitalization of "Mail-Followup-To"
84594         * doc/emacs/sending.texi (Header Editing, Mail Headers):
84595         Standardize on "Mail-Followup-To" as the capitalization.
84597 2018-02-21  Juri Linkov  <juri@linkov.net>
84599         * lisp/progmodes/grep.el (grep-compute-defaults):
84601         Add grep-use-null-filename-separator to grep-host-defaults-alist.
84602         (Bug#30559)
84604 2018-02-21  Charles A. Roelli  <charles@aurox.ch>
84606         Semantic manual fixes
84608         * doc/misc/semantic.texi (Tools): Fix wording and grammar, and
84609         remove a reference to "document-vars.el" which, in the Emacs
84610         repository, is part of lisp/cedet/srecode/document.el.
84612 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
84614         More improvements in the Emacs manual
84616         * doc/emacs/help.texi (Misc Help):
84617         * doc/emacs/m-x.texi (M-x):
84618         * doc/emacs/mini.texi (Minibuffer File, Repetition): Prevent
84619         breaking of command sequences between lines.  Reported by Wojciech
84620         Politarczyk <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
84622         * doc/emacs/sending.texi (Header Editing): Fix capitalization.
84624 2018-02-21  tino calancha  <tino.calancha@gmail.com>
84626         * doc/misc/viper.texi (File and Buffer Handling): Add missing '@'
84628 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
84630         Fix documentation of 'x-underline-at-descent-line'
84632         * doc/emacs/display.texi (Display Custom):
84633         * src/nsterm.m (syms_of_nsterm):
84634         * src/xterm.c (syms_of_xterm):
84635         * src/w32term.c (syms_of_w32term): Mention the effect of
84636         'line-spacing' on the underline position.  (Bug#30553)
84638 2018-02-21  Glenn Morris  <rgm@gnu.org>
84640         * lisp/textmodes/flyspell.el (flyspell-get-word): Doc fix.
84642 2018-02-20  Robert Pluim  <rpluim@gmail.com>
84644         Correct variable markup in manuals
84646         * doc/lispref/minibuf.texi (Completion in Buffers): Fix markup.
84647         * doc/lispref/text.texi (Filling): Likewise.
84648         * doc/misc/dired-x.texi (Advanced Mark Commands): Likewise.
84649         * doc/misc/epa.texi (Encrypting/decrypting gpg files): Likewise.
84650         (Encrypting/decrypting gpg files): Likewise.
84651         * doc/misc/tramp.texi (External methods): Likewise.
84652         (Default Method): Likewise.
84653         * doc/misc/viper.texi (Editing in Insert State): Likewise.
84654         (File and Buffer Handling): Likewise.
84655         * doc/misc/gnus.texi (Mail Source Customization): Likewise.
84656         * doc/misc/url.texi (Customization): Likewise.  Note obsolete
84657         status of url-temporary-directory.
84659 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
84661         Improve the "Sending Mail" chapter of Emacs manual
84663         * doc/emacs/sending.texi (Mail Format, Header Editing)
84664         (Mail Aliases): Fix capitalization of mail headers.
84665         (Mail Aliases): Use ~/.mailrc consistently.
84666         (Mail Misc): More accurate description of disposition.  Suggested
84667         by Michael Albinus <michael.albinus@gmx.de> in
84668         emacs-manual-bugs@gnu.org.
84670 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
84672         Fix documentation of 'flyspell-auto-correct-word'
84674         * lisp/textmodes/flyspell.el (flyspell-get-word): Elaborate in the
84675         doc string on how the function looks for the word to spell-check.
84676         (flyspell-word, flyspell-auto-correct-word): Refer to
84677         'flyspell-get-word' for details about finding the word.
84678         (Bug#30462)
84680 2018-02-19  Robert Pluim  <rpluim@gmail.com>
84682         * doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup.
84684 2018-02-19  Eli Zaretskii  <eliz@gnu.org>
84686         More changes in the Emacs manuals
84688         * doc/emacs/custom.texi (Customization Groups, Browsing Custom)
84689         (Custom Themes, Keymaps, Prefix Keymaps, Modifier Keys)
84690         (Function Keys, Named ASCII Chars, Mouse Buttons, Init Examples):
84691         Fix punctuation.  Suggested by Stefan Kamphausen
84692         <stefan.kamphausen@acrolinx.com> in emacs-manual-bugs@gnu.org.
84694         * doc/emacs/basic.texi (Arguments, Repeating): Avoid breaking
84695         commands between lines.  Reported by Wojciech Politarczyk
84696         <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
84698         * doc/emacs/custom.texi (Init Rebinding): Move index entries about
84699         rebinding keys from "Init File".  (Bug#30528)
84701 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
84703         More fixes in the Emacs manual
84705         * doc/emacs/abbrevs.texi (Defining Abbrevs, Expanding Abbrevs)
84706         (Editing Abbrevs, Saving Abbrevs): Insert blank lines between
84707         @item's.
84708         (Expanding Abbrevs): Add 'unexpand-abbrev' to the list of
84709         commands.  Suggested by Michael Albinus <michael.albinus@gmx.de>
84710         in emacs-manual-bugs@gnu.org.
84712 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
84714         * src/data.c (Faref): Fix a typo in the doc string.  (Bug#30510)
84716 2018-02-18  Michael Albinus  <michael.albinus@gmx.de>
84718         Minor edit in tramp.texi
84720         * doc/misc/tramp.texi (Remote shell setup, Windows setup hints):
84721         Improve @cindex entries.
84723 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
84725         More improvements in the Emacs manual
84727         * doc/emacs/maintaining.texi (Xref Commands, Identifier Search)
84728         (List Identifiers): Insert blank lines between @item's in a
84729         @table.
84730         (Etags Regexps): More accurate description of escape sequences.
84731         (Select Tags Table): Prefer "~/emacs.d/init.el" to "~/.emacs".
84732         Suggested by Michael Albinus <michael.albinus@gmx.de> in
84733         emacs-manual-bugs@gnu.org.
84735 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
84737         Improve documentation of 'electric-pair-mode'
84739         * lisp/elec-pair.el (electric-pair-mode):
84740         * doc/emacs/programs.texi (Matching): Document the operation of
84741         electric-pair-mode when there's an active region.  (Bug#30502)
84743 2018-02-17  Charles A. Roelli  <charles@aurox.ch>
84745         lisp/vc/: documentation fixes
84747         * lisp/vc/vc.el (vc-region-history): Clarify documentation.
84748         * lisp/vc/add-log.el (change-log-get-method-definition):
84749         Indent documentation.
84751 2018-02-17  Robert Pluim  <rpluim@gmail.com>
84753         Document 'desktop-files-not-to-save'
84755         * doc/emacs/misc.texi (Saving Emacs Sessions): Add description
84756         of 'desktop-files-not-to-save'.
84758         * lisp/desktop.el (desktop-files-not-to-save): Explain that
84759         the default value excludes buffers visiting remote files.
84761 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
84763         Improve documentation of Profiling features
84765         * doc/lispref/debugging.texi (Profiling): Improve the description
84766         of elp.el.  Improve wording of the rest of the section.  (Bug#30491)
84768         * lisp/emacs-lisp/elp.el (elp-instrument-list): Make the
84769         interactive invocation work.  Doc fix.
84771 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
84773         Improve indexing of "performance" in ELisp manual
84775         * doc/lispref/debugging.texi (Profiling):
84776         * doc/lispref/edebug.texi (Coverage Testing): Improve indexing of
84777         features useful for performance analysis.  (Bug#30490)
84779 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
84781         Minor change in Emacs manual's VC chapter
84783         * doc/emacs/maintaining.texi (Log Buffer): Mention the "Summary"
84784         header.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
84785         emacs-manual-bugs@gnu.org.
84787 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
84789         Avoid memory corruption with specpdl overflow + edebug (Bug#30481)
84791         If grow_specpdl fails due to outgrowing max_specpdl_size, it will
84792         signal an error *before* growing the specpdl array.  Therefore, when
84793         handling the signal, specpdl_ptr points past the end of the specpdl
84794         array and any further use of specpdl before unwinding (e.g., if
84795         edebug binds signal-hook-function) will cause memory corruption.
84796         * src/eval.c (signal_or_quit): Don't call `signal-hook-function' if
84797         the specpdl_ptr is already past the end of the specpdl array.
84798         * test/src/eval-tests.el (eval-tests--exceed-specbind-limit)
84799         (eval-exceed-specbind-with-signal-hook): New test & helper function.
84801 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
84803         Document comment-fill-column in the manual (Bug#11636)
84805         * doc/emacs/programs.texi (Comment Commands)
84806         (Options for Comments): Mention comment-fill-column.
84808 2018-02-17  Glenn Morris  <rgm@gnu.org>
84810         * doc/emacs/dired.texi (Marks vs Flags): Copyedits.
84812 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
84814         More fixes for the Emacs manual
84816         * doc/emacs/vc1-xtra.texi (Customizing VC): Update the list of
84817         backends.
84818         * doc/emacs/maintaining.texi (Version Control): Add SRC to the
84819         list of VCS.  Remove the description of vc-state-refresh.
84820         (Version Control Systems): Update the description of CVS.
84821         (VC Change Log): Amend the list of VCS that don't support
84822         vc0print-root-log.
84823         (VCS Changesets, VCS Repositories, Advanced C-x v v)
84824         (VC Change Log): Mention SRC with RCS where appropriate.
84825         (VC Directory Commands): More accurate description of
84826         vc-dir-hide-up-to-date.  Suggested by Michael Albinus
84827         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
84829 2018-02-16  Robert Cochran  <robert@cochranmail.com>
84831         Make 'byte-compile-error-on-warn' a safe file variable
84833         * lisp/emacs-lisp/bytecomp.el (byte-compile-error-on-warn): Mark
84834         as a safe local variable for boolean values.
84836 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
84838         Fix the doc string of flyspell-auto-correct-word
84840         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Doc
84841         fix.  (Bug#30462)
84843 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
84845         Improve the MS-Windows appendix of the Emacs manual
84847         * doc/emacs/msdos.texi (Windows Startup): Describe the pinned
84848         shortcuts for starting Emacs.
84849         (Text and Binary): Minor wording changes.
84850         (Windows Files): Mention 'read-file-name-completion-ignore-case'.
84851         (ls in Lisp): Update the list of supported 'ls' switches.
84852         Document 'ls-lisp-use-string-collate' and
84853         'ls-lisp-UCA-like-collation'.
84854         (Windows HOME): Mention warnings displayed at startup when
84855         deprecated locations of HOME and/or deprecated names for init
84856         files are used.
84857         (Windows Keyboard): Mention delete-selection-mode.
84859 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
84861         Fix 'vc-git--program-version'
84863         * lisp/vc/vc-git.el (vc-git--program-version): Fix the function to
84864         work with Git for Windows.
84866 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
84868         Fix typos and wording in the Emacs manual
84870         * doc/emacs/dired.texi (Marks vs Flags, Hiding Subdirectories):
84871         * doc/emacs/maintaining.texi (Tag Syntax):
84872         * doc/emacs/building.texi (Commands of GUD, Threads Buffer)
84873         (Lisp Libraries):
84874         * doc/emacs/windows.texi (Temporary Displays): Fix typos.
84875         * doc/emacs/files.texi (Backup Copying): Fix wording.  Reported by
84876         Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
84877         emacs-manual-bugs@gnu.org.
84879 2018-02-16  Michael Albinus  <michael.albinus@gmx.de>
84881         * doc/emacs/programs.texi (Semantic): Order programming languages.
84883 2018-02-15  Eli Zaretskii  <eliz@gnu.org>
84885         More improvements for the Emacs manual
84887         * doc/emacs/programs.texi (Basic Indent, Comment Commands): Fix
84888         typos.
84889         * doc/emacs/text.texi (TeX Print, HTML Mode, Enriched Faces): Fix
84890         typos.
84891         * doc/emacs/help.texi (Help Files): Improve @uref usage.  Reported
84892         by Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
84893         emacs-manual-bugs@gnu.org.
84895         * doc/emacs/fortran-xtra.texi (ForIndent Commands): Fix a typo.
84896         (ForIndent Commands, Fortran Columns): Add empty lines between
84897         @items in a @table.
84898         (ForIndent Cont, ForIndent Num, Fortran Columns): Mention
84899         'column-number-indicator-zero-based'.
84900         (ForIndent Vars): Fix a typo.
84901         (Fortran Comments): Fix punctuation.
84902         (ForIndent Cont, Fortran Autofill): Fix markup of keyboard input.
84903         * doc/emacs/programs.texi (Comments): Fix a typo.
84904         (Comment Commands): More accurate description of the commands.
84905         (Options for Comments): Don't mention "hook".
84906         (Man Page): Prefer "M-x man" if available.
84907         (Hideshow): Fix the command key sequence.
84908         (Semantic): Update supported languages.
84909         (Semantic, Hungry Delete, Other C Commands): Fix markup of
84910         commands.
84911         (Misc for Programs): Fix a typo.
84912         (Electric C, Hungry Delete): More accurate description of
84913         mode-line lighters of CC submodes.
84914         (Asm Mode): Add empty lines between @items in a @table.
84915         * doc/emacs/programs.texi (Program Modes): Add a few more modes.
84916         Reported by Michael Albinus <michael.albinus@gmx.de> in
84917         emacs-manual-bugs@gnu.org.
84919         * doc/emacs/msdos.texi (Windows Misc): A minor rewording.
84920         Suggested by Isaac Carter <icarter1391@gmail.com> in
84921         emacs-manual-bugs@gnu.org.
84923 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
84925         Minor wording change in Emacs manual
84927         * doc/emacs/killing.texi (Accumulating Text): Fix spelling.
84928         Reported by lyr3 <lyr3@protonmail.com> in
84929         emacs-manual-bugs@gnu.org.
84931 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
84933         Another set of changes for the manual
84935         * doc/emacs/programs.texi (Program Indent): Add a cross-reference
84936         to elisp's description of 'pp'.
84937         (Program Modes): Add a few more programming modes.  Add index
84938         entries.
84939         (Basic Indent, Multi-line Indent, C Indent, Comment Commands)
84940         (Manipulating Comments): Fix markup of keyboard commands.
84941         * doc/emacs/search.texi (Regexps): Add an example with non-ASCII
84942         characters.  Suggested by Michael Albinus <michael.albinus@gmx.de>
84943         in emacs-manual-bugs@gnu.org.
84945         * doc/lispref/display.texi (Display Tables): Fix the description
84946         of the 5th extra slot of the display table.  (Bug#13473)
84948         * doc/emacs/regs.texi (Registers): Simplify wording.
84950         * doc/emacs/custom.texi (Init Non-ASCII): Remove outdated text
84951         about perils of encoded keyboard input.
84953 2018-02-14  Michael Albinus  <michael.albinus@gmx.de>
84955         Improvements on tramp.texi
84957         * doc/misc/tramp.texi: Use Tramp version in title.  Further
84958         improvements on user option indexing.  Finish command examples
84959         with @key{RET} where appropriate.
84960         (Remote processes): Use 'M-&' for invocation of async shell.
84961         (Frequently Asked Questions): Add example with simplified syntax.
84963 2018-02-13  Paul Eggert  <eggert@cs.ucla.edu>
84965         Tramp minor doc fixes
84967         * doc/misc/tramp.texi (Remote processes): Spelling fix and minor
84968         wording improvement.
84970 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
84972         More changes in the Emacs manual
84974         * doc/emacs/search.texi (Regexp Backslash): Say that
84975         symbol-constituent characters are determined by the syntax table.
84976         (Lax Search): Fix example of case-insensitive search.  Fix a
84977         typo.
84978         (Unconditional Replace): Improve wording.
84979         (Regexp Replace): More consistent wording.  Reported by Michael
84980         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
84982         * doc/emacs/msdos.texi (Windows HOME): Avoid enumerating all the
84983         Windows versions.  Reported by Isaac Carter
84984         <icarter1391@gmail.com> in emacs-manual-bugs@gnu.org.
84986 2018-02-13  Andreas Schwab  <schwab@suse.de>
84988         * lisp/vc/vc.el (vc-deduce-backend): Use ignore-errors.
84990 2018-02-13  Andreas Schwab  <schwab@suse.de>
84992         Don't signal error in vc-deduce-backend
84994         * lisp/vc/vc.el (vc-deduce-backend): Return nil if
84995         vc-responsible-backend signals an error.
84997 2018-02-13  Michael Albinus  <michael.albinus@gmx.de>
84999         * doc/misc/tramp.texi: Index more user options.
85001 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
85003         Minor change in the Emacs manual
85005         * doc/emacs/building.texi (Lisp Libraries): Explain why nil in
85006         load-path is not a good idea.  Suggested by James Yoo
85007         <james.yoo@gmail.com> in emacs-manual-bugs@gnu.org.
85009 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
85011         NEWS update about 'string-trim'
85013         * etc/NEWS: Mention changes in string-trim family of functions.
85014         (Bug#30442)
85016 2018-02-13  Noam Postavsky  <npostavs@gmail.com>
85018         Clarify TRAMP process-environment interaction (Bug#30419)
85020         * doc/misc/tramp.texi (Remote processes): Index the
85021         tramp-remote-process-environment description.  Clarify the effects of
85022         let-binding process-environment and the motivation for that behavior.
85024 2018-02-12  Juri Linkov  <juri@linkov.net>
85026         * lisp/progmodes/grep.el (grep-num-matches-found): New variable.
85028         (grep-mode-line-matches): New defconst.
85029         (grep-mode-font-lock-keywords): Update the regexp for “Grep finished”
85030         to include the number of matches found.
85031         (grep-process-setup): Set grep-num-matches-found to 0.
85032         (grep-exit-message): New function with body moved from lambda
85033         in grep-process-setup.  Use grep-num-matches-found to return
85034         the number of matches found.
85035         (grep-filter): Increment grep-num-matches-found.
85036         (grep-mode): Set compilation-mode-line-errors to grep-mode-line-matches.
85037         (Bug#30397, bug#14017)
85039 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
85041         Avoid aborts in cm.c due to too small TTY frame
85043         * src/frame.c (frame_windows_min_size): Limit TTY frames to a
85044         minimum height large enough to allow for a menu bar, the mode
85045         line, one text line and one echo-area line.  This avoids aborts in
85046         cm.c:cmcheckmagic.  (Bug#30320)
85048 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
85050         Another set of improvements in the Emacs manual
85052         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
85053         * doc/emacs/msdos.texi (Windows Keyboard):
85054         * doc/emacs/mark.texi (Using Region):
85055         * doc/emacs/frames.texi (Menu Mouse Clicks):
85056         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix spelling of
85057         keys.  Reported by Michael Albinus <michael.albinus@gmx.de> in
85058         emacs-manual-bugs@gnu.org.
85060         * doc/emacs/glossary.texi (Glossary): Document that "c.f." is a
85061         misspelling.  Reported by Robert Pluim <rpluim@gmail.com>.
85062         Various minor wording improvements.  Suggested by Toon Claes
85063         <toon@iotcl.com> in emacs-manual-bugs@gnu.org.
85064         More minor changes.  Suggested by Michael Albinus
85065         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
85067         * doc/emacs/cmdargs.texi (Title X): Improve wording.
85069         * doc/emacs/building.texi (Grep Searching, Compilation): Avoid
85070         passive tense.
85072         * doc/emacs/basic.texi (Moving Point): Move the description of the
85073         bidi-related effects of the arrow keys from here ...
85074         * doc/emacs/mule.texi (Bidirectional Editing): ... to here.
85075         Explain the behavior of arrow keys between paragraphs.
85077 2018-02-12  Michael Albinus  <michael.albinus@gmx.de>
85079         Fix help in mode-line-mode-menu
85081         * lisp/bindings.el (mode-line-mode-menu) [auto-revert-tail-mode]:
85082         Fix help string.
85084 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
85086         Improve documentation of desktop restoring
85088         * doc/emacs/misc.texi (Saving Emacs Sessions): Document
85089         'desktop-auto-save-timeout', 'desktop-load-locked-desktop', and
85090         how to restore desktop in daemon mode.  (Bug#30421)
85092 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
85094         Improve the Emacs manual's chapter "Frames"
85096         * doc/emacs/frames.texi (Creating Frames): Add a cross-reference
85097         to where frame visibility is described.
85098         (Word and Line Mouse): Clarify wording.
85099         (Scroll Bars): Qualify scroll-bar behavior.  Reported by Dmitry
85100         Gutov <dgutov@yandex.ru> in emacs-manual-bugs@gnu.org.
85102 2018-02-10  Andreas Schwab  <schwab@linux-m68k.org>
85104         Fix unbound mm-uu-entry in mm-uu
85106         * lisp/gnus/mm-uu.el (mm-uu-dissect): Rename entry to mm-uu-entry.
85108 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
85110         Improve Emacs user manual in fixit.texi
85112         * doc/emacs/fixit.texi (Undo): Clarify inaccurate description of
85113         repeated undo.
85114         (Transpose): Describe explicitly what happens at EOL.
85115         (Spelling): Use "spell-checking" consistently.  Clarify wording.
85116         Suggested by Toon Claes <toon@iotcl.com> in
85117         emacs-manual-bugs@gnu.org.
85119 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
85121         Another minor change in the manual
85123         * doc/emacs/glossary.texi (Glossary): Add popular Latin
85124         abbreviations, such as "e.g.".
85126 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
85128         More minor changes in the Emacs manual
85130         * doc/emacs/xresources.texi (GTK resources):
85131         * doc/emacs/trouble.texi (Contributing):
85132         * doc/emacs/frames.texi (Fonts): Use HTTPS URLs instead of HTTP.
85134         * doc/emacs/docstyle.texi: Add a few @hyphenation directives,
85135         based on reports in emacs-manual-bugs@gnu.org about incorrect
85136         hyphenation.
85138 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
85140         Avoid printing garbled error message from image.el
85142         * lisp/image.el (image--get-imagemagick-and-warn): Don't use
85143         apostrophe in the error message, as that message is shown from a
85144         unibyte buffer, and will run afoul of the default style of showing
85145         quote characters.  (Bug#30405)
85147 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
85149         Doc string fix in latin-alt.el
85151         * lisp/leim/quail/latin-alt.el ("dutch"): Doc fix.  Reported by
85152         Robert Pluim <rpluim@gmail.com>.
85154 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
85156         Minor improvements in package.texi
85158         * doc/emacs/package.texi (Package Menu): Minor wording change.
85159         (Package Installation): Use HTTPS.  A better @xref to GnuPG
85160         manual.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
85161         emacs-manual-bugs@gnu.org.
85163 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
85165         Minor improvement in Emacs user manual
85167         * doc/emacs/files.texi (Directories): Document that
85168         'directory-free-space-program' and 'directory-free-space-args' are
85169         only for local filesystems.  Suggested by Michael Albinus
85170         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
85172 2018-02-09  Michael Albinus  <michael.albinus@gmx.de>
85174         * doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3.
85176 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
85178         Improve documentation of mini-window resizing
85180         * doc/lispref/minibuf.texi (Minibuffer Windows): Mention
85181         'message-truncate-lines' for preventing resizing of minibuffer
85182         windows.  (Bug#19045)
85183         (Minibuffer Misc): Remove redundant description of
85184         'max-mini-window-height'.
85185         * doc/lispref/display.texi (Echo Area Customization): Adjust
85186         cross-reference.
85188 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
85190         More changes in the Emacs manual
85192         * doc/emacs/fixit.texi (Undo): Mention 'revert-buffer'.
85193         (Fixing Case): Fix punctuation.
85194         (Spelling): Fix a typo.  Suggested by Toon Claes <toon@iotcl.com>
85195         in emacs-manual-bugs@gnu.org.
85197         * doc/emacs/modes.texi (Major Modes): Break a long sentence into
85198         2.  Reported by Stefan Kamphausen <stefan.kamphausen@acrolinx.com>
85199         in emacs-manual-bugs@gnu.org.
85201         * doc/emacs/indent.texi (Just Spaces): Yet another minor
85202         rewording.
85204         * doc/emacs/building.texi (Watch Expressions): Improve wording.
85205         (Multithreaded Debugging): Spell "tool bar" as 2 words.  Reported
85206         by Alberto Sartori <alberto.sartori@sissa.it> in
85207         emacs-manual-bugs@gnu.org.
85208         (Grep Searching): Mention the effect of
85209         'compilation-mode-line-errors'.  (Bug#30397)
85211         * doc/emacs/basic.texi (Moving Point): Minor reformatting and
85212         rewording of what <LEFT> and <RIGHT> do.
85214 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
85216         Clarify that text-quoting-style doesn't affect *Info* (Bug#24519)
85218         * src/doc.c (syms_of_doc) <text-quoting-style>: Clarify that info
85219         manual display is unaffected.
85221 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
85223         Mention that shell quoting of % on w32 may fail (Bug#19350)
85225         * doc/lispref/os.texi (Security Considerations): Mention that quoting
85226         of '%' assumes no '^' in variable names.
85227         * test/lisp/subr-tests.el (shell-quote-argument-%-on-w32): New test,
85228         demonstrating what doesn't work.
85230 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
85232         Fix --no-build-details for w32 and macOS
85234         * src/w32term.c (w32_initialize_display_info): Handle nil system-name.
85235         * lisp/term/ns-win.el (window-system-initialization): Don't pass nil
85236         to `x-open-connection'.
85238 2018-02-09  Paul Eggert  <eggert@cs.ucla.edu>
85240         * doc/lispref/anti.texi (Antinews): Add some more antinews.
85242 2018-02-08  Paul Eggert  <eggert@cs.ucla.edu>
85244         Fix crashes when run with --no-build-details
85246         * src/xrdb.c (get_environ_db):
85247         * src/xterm.c (same_x_server, x_term_init):
85248         Don’t assume Fsystem_name returns a string.
85250 2018-02-08  Eli Zaretskii  <eliz@gnu.org>
85252         More changes for the manual
85254         * doc/emacs/anti.texi (Antinews): Replace 25.2 with 25.3.
85255         Reported by Michael Albinus <michael.albinus@gmx.de> in
85256         emacs-manual-bugs@gnu.org.
85258         * doc/emacs/custom.texi (Function Keys): Improve wording.
85259         Suggested by clemens.radermacher@posteo.de in
85260         emacs-manual-bugs@gnu.org.
85262         * doc/emacs/misc.texi (History References): Improve punctuation.
85263         (Terminal emulator): Fix a typo.
85264         (Term Mode): Remove redundant repeated text.
85265         (Invoking emacsclient): Improve wording.  Suggested by Alberto
85266         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
85268         * doc/emacs/files.texi (Visiting): Fix last change.
85270 2018-02-08  Noam Postavsky  <npostavs@gmail.com>
85272         Doc fixes for process functions (Bug#30349)
85274         * doc/lispref/processes.texi (Asynchronous Processes): Explain what
85275         the 'stopped' state means for a pipe process.
85276         * src/process.c (Fmake_process, Fmake_pipe_process)
85277         (Fmake_serial_process, Fmake_network_process):
85278         * lisp/subr.el (start-process):
85279         * lisp/net/tls.el (open-tls-stream):
85280         * lisp/net/starttls.el (starttls-open-stream):
85281         * lisp/net/gnutls.el (open-gnutls-stream): Remove meaningless phrase
85282         "specify an output stream" phrase from docstring.
85284 2018-02-07  Basil L. Contovounesios  <contovob@tcd.ie>
85286         Fix shr and CSS 4 color maps
85288         * lisp/net/shr-color.el (shr-color-html-colors-alist): Fix typos.
85289         Add RebeccaPurple.
85290         * lisp/textmodes/css-mode.el (css--color-map): Add fuchsia-magenta
85291         and aqua-cyan aliases.
85292         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
85293         Bump color count.
85295 2018-02-07  Eli Zaretskii  <eliz@gnu.org>
85297         Yet another round of improvements in the manual
85299         * doc/emacs/misc.texi (Document View): Improve wording.  Reported
85300         by lyr3 <lyr3@protonmail.com> in emacs-manual-bugs@gnu.org.
85302         * doc/emacs/files.texi (Recover): Fix a typo.  Reported by Jorge
85303         <jorge+list@disroot.org> in emacs-manual-bugs@gnu.org.
85305         * doc/emacs/anti.texi (Antinews): Fix typos.  Reported by Justin
85306         Heyes-Jones <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
85308         * doc/emacs/mini.texi (Basic Minibuffer): Clarify wording.
85309         Reported by Vivishek Sudhir <vivishek.sudhir@gmail.com> in
85310         emacs-manual-bugs@gnu.org.
85312         * doc/emacs/cmdargs.texi (MS-Windows Registry): Improve wording
85313         regarding registry keys.
85315         * doc/emacs/macos.texi (Mac OS / GNUstep): Sayu "NeXT Inc."
85316         Reported by Cena Mayo <cenazoic@gmail.com> in
85317         emacs-manual-bugs@gnu.org.
85319         * doc/emacs/screen.texi (Screen): More accurate wording.
85320         Suggested by Miloš Polakovič <milos@alphamail.org> in
85321         emacs-manual-bugs@gnu.org.
85323         * doc/emacs/indent.texi (Just Spaces): Minor wording change.
85324         Suggested by David Bonnafous <dbonnafo@gmail.com> in
85325         emacs-manual-bugs@gnu.org.
85327         * doc/emacs/text.texi (TeX Mode, TeX Editing): Improve and
85328         simplify wording.  Suggested by root@vxid.pw <root@vxid.pw> in
85329         emacs-manual-bugs@gnu.org.
85331         * doc/emacs/cmdargs.texi (Window Size X): Minor wording change.
85333         * doc/emacs/display.texi (Highlight Interactively): Fill text.
85334         (Optional Mode Line): Fix typos.  Suggested by Alberto Sartori
85335         <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
85337         * doc/emacs/building.texi (Debugger Operation): Clarify wording.
85339         * doc/emacs/files.texi (Directories, Comparing Files, Diff Mode)
85340         (Remote Files, File Names, Visiting, Backup Deletion)
85341         (Customize Save, Interlocking): Improve wording and accuracy of
85342         the text.
85343         * doc/emacs/maintaining.texi (VC With A Merging VCS): Don't say
85344         "his".
85345         * doc/emacs/arevert-xtra.texi (Auto Reverting Dired): Minor
85346         wording changes.
85347         (Supporting additional buffers): Moved to ...
85348         * doc/lispref/backups.texi (Reverting): ... here.
85349         * doc/emacs/emacs.texi (Top): Remove "Supporting additional
85350         buffers" from master menu.
85351         * doc/emacs/files.texi (Reverting): Mention use of file
85352         notifications.  Suggested by Michael Albinus
85353         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
85355         * doc/emacs/rmail.texi (Rmail Motion): Clarify what '-' does to
85356         'M-s'.  Suggested by Arthur Milchior <arthur@milchior.fr> in
85357         emacs-manual-bugs@gnu.org.
85359         * doc/emacs/cmdargs.texi (Initial Options): Capitalize "Emacs".
85360         (Action Arguments): Fix a typo.
85361         (Emacs Invocation): Replace em-dash with a comma.  Suggested by
85362         Justin Heyes-Jones <justinhj@gmail.com> in
85363         emacs-manual-bugs@gnu.org.
85365         * doc/emacs/m-x.texi (M-x): Add an example.  Suggested by Alberto
85366         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
85368         * doc/emacs/calendar.texi (Calendar/Diary, Calendar Unit Motion):
85369         Minor wording changes.
85371 2018-02-04  Juri Linkov  <juri@linkov.net>
85373         * lisp/vc/vc-git.el (vc-git-print-log): Restrict file scope to a single file
85375         when vc-git-print-log-follow is non-nil (bug#19045).
85376         (vc-git-print-log-follow): Doc fix.
85378         * etc/NEWS: Mention 'vc-git-print-log-follow'.
85380 2018-02-04  Michael Albinus  <michael.albinus@gmx.de>
85382         * doc/emacs/misc.texi (Interactive Shell): Refer to node "Minibuffer File"
85384         for hints how to type remote file names effectively.
85386 2018-02-04  Eli Zaretskii  <eliz@gnu.org>
85388         Yet another round of fixing the Emacs manual
85390         * doc/emacs/cmdargs.texi (Action Arguments): Rearrange text
85391         describing what happens when Emacs is invoked with several file
85392         arguments.  Suggested by Grant Rettke <gcr@wisdomandwonder.com> in
85393         emacs-manual-bugs@gnu.org.
85395         * doc/emacs/xresources.texi (GTK styles):
85396         * doc/emacs/mini.texi (Passwords):
85397         * doc/emacs/frames.texi (Scroll Bars): Use "cannot" instead of
85398         "can not".
85400         * doc/emacs/macos.texi (Mac / GNUstep Basics): Clarify the effect
85401         of ns-right-alternate-modifier when its value is 'none'.
85402         Suggested by Wanderson Ferreira <iagwanderson@gmail.com> in
85403         emacs-manual-bugs@gnu.org.
85405         * doc/emacs/calendar.texi (Importing Diary, Appointments): Now
85406         sub-sections of Diary.
85407         * doc/emacs/emacs.texi (Top):
85408         * doc/emacs/calendar.texi (Diary): Adjust menus to the above
85409         change.  Suggested by Isaac Carter <icarter1391@gmail.com> in
85410         emacs-manual-bugs@gnu.org.
85412         * doc/emacs/anti.texi (Antinews): Fix grammar.
85414 2018-02-04  Alan Mackenzie  <acm@muc.de>
85416         * etc/NEWS: Expunge the solecism "allow(s)" + infinitive
85418 2018-02-04  Martin Rudalics  <rudalics@gmx.at>
85420         Two minor fixes in Antinews
85422         * doc/emacs/anti.texi (Antinews): Two minor fixes.
85424 2018-02-03  Juri Linkov  <juri@linkov.net>
85426         * etc/NEWS: Rename image-dired-thumb-job-limit
85428         to image-dired-queue-active-limit (bug#30279)
85430 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
85432         * lisp/simple.el (async-shell-command, shell-command): Fix grammar
85434 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
85436         Fix deferred display of async shell-command buffers
85438         * lisp/simple.el (shell-command): Display async shell buffer on
85439         process output for every, not just first, command invocation.  Check
85440         buffer liveness, not name, before displaying. (bug#30213, bug#30280)
85442 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
85444         Mention remote file name completion in Emacs manual
85446         * doc/emacs/mini.texi (Minibuffer File): Describe the behavior of
85447         "//" with remote file names.  (Bug#29149)
85449 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
85451         Yest another round of manual copyedits
85453         * doc/emacs/fixit.texi (Transpose, Spelling): Minor stylistic
85454         changes.  Suggested by myq larson <myqlarson@gmail.com> in
85455         emacs-manual-bugs@gnu.org.
85457         * doc/emacs/calendar.texi (Appointments, Time Intervals): Mention
85458         relevant Org features.  Suggested by Alex Branham
85459         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
85461         * doc/emacs/dired.texi (Operating on Files)
85462         (Shell Commands in Dired, Image-Dired): Minor stylistic edits.
85463         Suggested by Francis Wright <f.j.wright@live.co.uk> in
85464         emacs-manual-bugs@gnu.org.
85466         * doc/emacs/commands.texi (User Input): Explain "C-M-a".
85467         Suggested by Martin Luethi <martin.luethi@geo.uzh.ch> in
85468         emacs-manual-bugs@gnu.org.
85470 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
85472         Update xdisp.c commentary
85474         * src/xdisp.c: Update commentary regarding "asynchronous" entry
85475         into redisplay.  (Bug#30182)
85477 2018-02-03  Michael Albinus  <michael.albinus@gmx.de>
85479         Fix Bug#30324
85481         * lisp/net/rlogin.el (rlogin, rlogin-directory-tracking-mode):
85482         Adapt to changed remote file name syntax.  (Bug#30324)
85484 2018-02-03  Glenn Morris  <rgm@gnu.org>
85486         Recognize Org as builtin package (bug#30310)
85488         * lisp/org/org.el: Add Version header so detected as builtin package.
85489         * test/lisp/org/org-tests.el: New file.
85491 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
85493         Another round of manual fixups
85495         * doc/emacs/killing.texi (Killing by Lines): Clarify wording.
85496         Reported by David Bonnafous <dbonnafo@gmail.com> in
85497         emacs-manual-bugs@gnu.org.
85499         * doc/emacs/windows.texi (Other Window): Improve wording.
85500         Reported by Rasmus Sjostrom <ras.sjostrom@gmail.com> in
85501         emacs-manual-bugs@gnu.org.
85503         * doc/emacs/display.texi (Display Custom): Mention that line
85504         numbers are not displayed in the minibuffer and tooltips.
85506         * doc/emacs/mini.texi (Basic Minibuffer): Improve wording.
85507         * doc/emacs/regs.texi (Registers): More comma removal.  Suggested
85508         by "root@vxid.pw root@vxid.pw" <root@vxid.pw> in
85509         emacs-manual-bugs@gnu.org.
85511         * doc/emacs/display.texi (Auto Scrolling): Fix a typo.  Reported
85512         by Kevin Foley <kfoley15@gmail.com> in emacs-manual-bugs@gnu.org.
85514         * doc/emacs/display.texi (Scrolling): Fix grammar.
85515         (Horizontal Scrolling): Mention reasonable limits for hscroll-step
85516         float values.  Suggested by Jerome Truong <jerometruong@gmail.com>
85517         in emacs-manual-bugs@gnu.org.
85519         * doc/emacs/mini.texi (Minibuffer Edit): Add a missing comma.
85520         * doc/emacs/basic.texi (Position Info, Arguments, Repeating):
85521         Remove redundant commas.  Suggested by oldgaro
85522         <oldgaro@protonmail.com> in emacs-manual-bugs@gnu.org.
85524         * doc/emacs/kmacro.texi (Save Keyboard Macro): Clarify wording.
85525         Suggested by clemens.radermacher@posteo.de in
85526         emacs-manual-bugs@gnu.org.
85528         * doc/emacs/building.texi (Compilation Mode): Improve and simplify
85529         wording.  Suggested by drone <yoorobot@gmail.com> in
85530         emacs-manual-bugs@gnu.org.
85532         * doc/emacs/dired.texi (Dired Enter): Clarify wording.
85533         (Dired Deletion): Fix a typo.
85534         (Marks vs Flags): Mention that M-DEL in Dired asks for the mark
85535         character.  Fix typos.
85536         * doc/emacs/basic.texi (Moving Point, Erasing, Basic Undo)
85537         (Arguments): Some additional information about keys.  Reported by
85538         Francis Wright <f.j.wright@live.co.uk> in
85539         emacs-manual-bugs@gnu.org.
85541 2018-02-02  Basil L. Contovounesios  <contovob@tcd.ie>  (tiny change)
85543         * doc/lispref/customize.texi (Custom Themes): Clarify .el preference.
85546         https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00824.html.
85548 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
85550         * doc/emacs/entering.texi (Entering Emacs): Another wording fix.
85552 2018-02-02  Noam Postavsky  <npostavs@gmail.com>
85554         * doc/lispref/functions.texi (Inline Functions): Fix typo (Bug#30238).
85556         * lisp/imenu.el (imenu-generic-expression): Rephrase doc (Bug#30294).
85558 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
85560         Fix last change of @key markup
85562         * doc/lispref/display.texi (Specified Space):
85563         * doc/emacs/programs.texi (C Modes):
85564         * doc/emacs/killing.texi (Rectangles):
85565         * doc/emacs/emacs.texi (Top):
85566         * doc/emacs/display.texi (Useless Whitespace): Don't use @key
85567         markup for characters and commands, only for keys.
85569 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
85571         * doc/emacs/entering.texi (Entering Emacs): Fix markup.
85573 2018-02-01  Michael Albinus  <michael.albinus@gmx.de>
85575         Revert a1bbc49015 (Bug#30243), do not merge
85577         * lisp/files.el:
85578         * test/lisp/net/tramp-tests.el: Revert a1bbc49015.  (Bug#30243)
85580 2018-01-31  Michael Albinus  <michael.albinus@gmx.de>
85582         Use @key{} where it is missing in the manuals
85584 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
85586         Another round of manual fixes from proofreading
85588         * doc/emacs/search.texi (Incremental Search)
85589         (Nonincremental Search): Mention the menu bar and fix typos.
85590         Reported by David Bonnafous <dbonnafo@gmail.com> in
85591         emacs-manual-bugs@gnu.org.
85592         * doc/emacs/building.texi (Compilation): Improve wording.
85593         Suggested by drone <yoorobot@gmail.com> in
85594         emacs-manual-bugs@gnu.org.
85595         * doc/emacs/kmacro.texi (Basic Keyboard Macro): Clarify text.
85596         Suggested by Robert Pluim <rpluim@gmail.com> in
85597         emacs-manual-bugs@gnu.org.
85598         * doc/emacs/display.texi (Highlight Interactively, Fringes):
85599         Improve wording.  Suggested by Justin Heyes-Jones
85600         <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
85601         * doc/emacs/commands.texi (User Input, Commands): Add missing
85602         commas.
85603         * doc/emacs/screen.texi (Menu Bar): Mention keyboard keys to
85604         navigate menus.  Suggested by oldgaro <oldgaro@protonmail.com> in
85605         emacs-manual-bugs@gnu.org.
85606         * doc/emacs/search.texi (Not Exiting Isearch): Fix a typo.
85607         Reported by "Kocken, I.J. (Ilja)" <I.J.Kocken@uu.nl> in
85608         emacs-manual-bugs@gnu.org.
85609         * doc/emacs/basic.texi (Inserting Text): Mention one more label of
85610         RET.  Suggested by Francis Wright <f.j.wright@live.co.uk> in
85611         emacs-manual-bugs@gnu.org.
85612         * doc/emacs/text.texi (Paragraphs): Clarify text.  Reported by
85613         Marcin Borkowski <mbork@mbork.pl> in emacs-manual-bugs@gnu.org.
85614         * doc/emacs/maintaining.texi (Introduction to VC)
85615         (Why Version Control?, VCS Merging): Fix typos and section
85616         capitalization.  Suggested by "R. P. Dillon"
85617         <rpdillon@killring.org> in emacs-manual-bugs@gnu.org.
85618         * doc/emacs/modes.texi (Major Modes, Choosing Modes): Fix typos.
85619         Reported by clemens.radermacher@posteo.de in
85620         emacs-manual-bugs@gnu.org.
85622 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
85624         * doc/emacs/entering.texi (Entering Emacs): Fix last change.
85626 2018-01-31  Martin Rudalics  <rudalics@gmx.at>
85628         Document 'window-at-side-p' in the Elisp manual
85630         * doc/lispref/windows.texi (Windows and Frames): Document
85631         'window-at-side-p'.
85633 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
85635         Document external-debugging-output in the Elisp Manual (Bug#24051)
85637         * doc/lispref/streams.texi (Output Streams): List
85638         external-debugging-output.
85639         * src/print.c (Fexternal_debugging_output): Quote `print' in
85640         docstring.
85642 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
85644         Fix scroll-margin docstring (Bug#13791)
85646         * src/xdisp.c (syms_of_xdisp) <scroll-margin>: Explain that entering
85647         the margin may trigger any sort of auto scrolling, not recentering
85648         specifically.
85650 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
85652         Clarify that `ansi-term' is almost the same as `term' (Bug#18106)
85654         * lisp/term.el (ansi-term): Clarify that it's almost the same as `term'.
85656 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
85658         Update manual description of locate-file (Bug#23650)
85660         * doc/lispref/files.texi (Locating Files): Add example of predicate
85661         when searching for a directory.
85663 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
85665         Clarify effect of print-gensym (Bug#27776)
85667         * src/print.c (syms_of_print) <print-gensym>: Clarify that use of #N#
85668         and #N= constructs depends on the value of `print-circle'.
85670 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
85672         * lisp/custom.el (defcustom): Fix docstring (Bug#27891).
85674 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
85676         Define cl-type-definition button type as needed (Bug#28899)
85678         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Require
85679         `cl-extra' before using the `cl-type-definition' button type.
85681 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
85683         Emphasize that GPG passphrase caching is temporary (Bug#29907)
85685         * doc/misc/epa.texi (Caching Passphrases): Clarify that caching is
85686         temporary.
85687         (GnuPG version compatibility): Fix typo.
85689 2018-01-30  Alan Mackenzie  <acm@muc.de>
85691         Fix @examples in cc-mode.info, where lines were getting glued together.
85693         This happened because of false @c's in macro lines.
85695         * doc/misc/cc-mode.texi (Line-up Functions): Remove the unneeded @c from
85696         macros sssTBasicOffset, sssTsssTBasicOffset, and hereFn.
85698 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
85700         Minor change in "Mode Line" section of Emacs manual
85702         * doc/emacs/screen.texi (Mode Line): Mention tooltips shown when
85703         hovering the mouse over the mode line.  Suggested by Eduardo
85704         Mercovich <eduardo@mercovich.net> in emacs-manual-bugs@gnu.org.
85706 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
85708         More fixes in the Emacs manual
85710         * doc/emacs/screen.texi (Mode Line): Fix markup and
85711         cross-references.
85712         (Menu Bar): Correct inaccurate description.
85713         * doc/emacs/macos.texi (Mac OS / GNUstep, Mac / GNUstep Events):
85714         * doc/emacs/frames.texi (Scroll Bars):
85715         * doc/emacs/emacs.texi (Top):
85716         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of "macOS".
85717         * doc/emacs/misc.texi (Invoking emacsclient)
85718         (emacsclient Options): Fix markup of 'emacsclient'.  Suggested by
85719         Michael Albinus <michael.albinus@gmx.de> in
85720         emacs-manual-bugs@gnu.org.
85722 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
85724         Minor copyedits in "Distribution" chapter of the Emacs manual
85726         * doc/emacs/emacs.texi (Distrib): Minor wording changes.
85727         Suggested by oldgaro <oldgaro@protonmail.com> in
85728         emacs-manual-bugs@gnu.org.
85730 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
85732         Minor copyedits in "Entering" chapter of Emacs manual.
85734         * doc/emacs/entering.texi (Entering Emacs): Add a cross-reference
85735         to MS-Windows startup procedures.  Clarify wording.  Suggested by
85736         Francis Wright <f.j.wright@live.co.uk> in emacs-manual-bugs@gnu.org.
85738 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
85740         Minor wording change in the Emacs manual
85742         * doc/emacs/screen.texi (Screen): Minor wording change.  Suggested
85743         by Wesley Ellis <ellisgen@gmail.com> in emacs-manual-bugs@gnu.org.
85745 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
85747         Fix a typo in the Emacs manual
85749         * doc/emacs/custom.texi (Customization Groups): Fix a typo.
85750         Reported by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org> in
85751         emacs-manual-bugs@gnu.org.
85753 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
85755         Improve the "Basic" chapter of the Emacs manual
85757         * doc/emacs/basic.texi (Inserting Text): De-confuse text.
85758         (Position Info): Add a cross-reference to where
85759         display-line-numbers-mode is described.  Reported by Joshua
85760         Branson <jbranso@fastmail.com> in emacs-manual-bugs@gnu.org.
85762 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
85764         Resurrect lost text in lispref
85766         * doc/lispref/files.texi (File Attributes): Resurrect
85767         inadvertently lost text.
85769 2018-01-30  Philipp Stephani  <phst@google.com>
85771         * lisp/emacs-lisp/rx.el (rx): Fix the definition of 'blank'.
85773 2018-01-29  Paul Eggert  <eggert@cs.ucla.edu>
85775         Proofread os.texi and files.texi
85777 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
85779         Minor improvements in the "International" chapter of Emacs manual
85781         * doc/emacs/mule.texi (File Name Coding): Stop enumerating all the
85782         versions of MS-Windows.
85783         (Modifying Fontsets, Unibyte Mode, Bidirectional Editing): Improve
85784         wording.  Reported by Francis Wright <f.j.wright@live.co.uk> in
85785         emacs-manual-bugs@gnu.org.
85787 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
85789         Minor improvement in "Text" chapter of Emacs manual
85791         * doc/emacs/text.texi (Words): Improve wording.  Reported by
85792         Marcin Borkowski <mbork@mbork.pl> in
85793         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00784.html.
85795 2018-01-28  Martin Rudalics  <rudalics@gmx.at>
85797         Fix some issues in the emacs/lispref manuals
85799         * doc/emacs/basic.texi (Continuation Lines):
85800         * doc/emacs/building.texi (GDB User Interface Layout):
85801         * doc/emacs/dired.texi (Misc Dired Features):
85802         * doc/emacs/maintaining.texi (Identifier Search):
85803         * doc/emacs/mark.texi (Using Region):
85804         * doc/emacs/misc.texi (Document View, DocView Conversion):
85805         * doc/emacs/modes.texi (Major Modes):
85806         * doc/emacs/mule.texi (Input Methods, Unibyte Mode):
85807         * doc/emacs/sending.texi (Mail Methods): Replace @code by
85808         @kbd.
85809         * doc/emacs/frames.texi (Text-Only Mouse):
85810         * doc/lispref/maps.texi (Standard Keymaps): Replace @kbd by
85811         @key.
85812         * doc/lispref/compile.texi (Compiler Errors): Write
85813         non-@code{nil} instead of non-nil.
85814         * doc/lispref/debugging.texi (Internals of Debugger):
85815         'backtrace' is not a command.  'debugger-stack-frame-as-list'
85816         is an option.
85817         * doc/lispref/display.texi (Size of Displayed Text):
85818         'window-lines-pixel-dimensions' has a last argument 'left'.
85819         * doc/lispref/display.texi (Attribute Functions):
85820         'set-face-underline' and 'set-face-inverse-video' are
85821         commands.
85822         (Tooltips): 'tooltip-frame-parameters' is an option.
85823         (Bidirectional Display): 'bidi-paragraph-direction' is an
85824         option.
85825         * doc/lispref/frames.texi (Cursor Parameters): 'cursor-type'
85826         is an option.
85827         (Input Focus): Argument FRAME of 'x-focus-frame' is not
85828         optional.
85829         (Child Frames): Both arguments of 'frame-ancestor-p' are
85830         non-optional.  'iconify-child-frame' is an option.
85831         * doc/lispref/os.texi (Killing Emacs):
85832         'kill-emacs-query-functions' is an option.
85833         * doc/lispref/windows.texi (Mouse Window Auto-selection):
85834         'mouse-autoselect-window' is an option.
85836 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
85838         Fix multiple spaces in Emacs manual
85840         * doc/emacs/search.texi (Lax Search): Fix multiple consecutive
85841         spaces in printed manual.
85843 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
85845         * lisp/files.el (save-some-buffers): Doc fix.  (Bug#30215)
85847 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
85849         Adjudicate comments to "International" chapter of Emacs manual
85851         * doc/emacs/mule.texi (International Chars)
85852         (Language Environments, Input Methods, Defining Fontsets)
85853         (Modifying Fontsets): Minor wording changes and typo fixes.
85854         Reported by Francis Wright <f.j.wright@live.co.uk> in
85855         emacs-manual-bugs@gnu.org.
85857 2018-01-28  Noam Postavsky  <npostavs@gmail.com>
85859         Revert "Signal error for symbol names with strange quotes (Bug#2967)"
85861         That commit did not make the corresponding change to printing, thus
85862         breaking the (eq (read (prin1-to-string SYM)) SYM) invariant for those
85863         symbols.  It's too late in the release cycle to change printing
85864         behavior, therefore revert the reader change.
85866         Don't merge to master, the print function will be updated there (see
85867         "Fix round tripping of read->print for symbols with strange quotes").
85869 2018-01-27  Alan Mackenzie  <acm@muc.de>
85871         Allow read-passwd to hide characters inserted by C-y.  (Security fix.)
85873         This fixes bug #30186.  The with-silent-modifications was there to prevent
85874         records of text property manipulations being put into buffer-undo-list.  These
85875         had been causing a significant slowdown in CC Mode with C-_ after a large
85876         C-y.  This CC Mode problem has since been solved by a different workaround.
85878         * lisp/subr.el (remove-yank-excluded-properties): Remove the invocation of
85879         with-silent-modifications around the text property manipulations.
85881 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
85883         * etc/PROBLEMS: Document issues with double-buffering.  (Bug#30088)
85885 2018-01-27  Charles A. Roelli  <charles@aurox.ch>
85887         * lisp/window.el (window-largest-empty-rectangle): Fix grammar.
85889 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
85891         Minor changes in the Emacs manual
85893         * doc/emacs/search.texi (Search Customizations): Minor wording
85894         change.
85895         * doc/emacs/files.texi (Customize Save): Add a cross-reference
85896         for batch mode.
85898 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
85900         Improve the "Files" chapter of the Emacs manual
85902         * doc/emacs/files.texi (File Shadowing): Rearrange text to explain
85903         the notion of shadowing before describing the commands.  Suggested
85904         by Will Korteland <emacs-devel@korte.land> in
85905         emacs-manual-bugs@gnu.org.
85907 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
85909         Improve the "Search" chapter of the Emacs manual
85911         * doc/emacs/search.texi (Regexps, Regexp Backslash): Improve and
85912         clarify wording.
85913         (Search Customizations): Fix a typo.  Reported by Will Korteland
85914         <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
85916 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
85918         * src/indent.c (Findent_to): Doc fix.  (Bug#30260)
85920 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
85922         Improve documentation of 'edebug-defun'
85924         * doc/lispref/edebug.texi (Instrumenting): Document a workaround
85925         for a failure to instrument due to unknown macros.  (Bug#30243)
85926         (Bug#10577)
85928 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
85930         Mention crashes due to Noto Serif Kannada fonts
85932         * etc/PROBLEMS: Mention crashes due to Noto Serif Kannada fonts,
85933         and the respective workarounds.  (Bug#30193)
85935 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
85937         * doc/lispref/searching.texi: Document regexp repetition limit.
85939         * src/syntax.c (char-syntax): Warn about ignoring text properties (Bug#22765).
85941 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
85943         Load mm-util as needed for url-file and url-data (Bug#30258)
85945         * lisp/url/url-file.el (url-file):
85946         * lisp/url/url-misc.el (url-data): Require `mm-util' before calling
85947         `mm-disable-multibyte'.
85948         * test/lisp/url/url-file-resources/file.txt:
85949         * test/lisp/url/url-file-tests.el:
85950         * test/lisp/url/url-misc-tests.el: New tests.
85952 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
85954         Another minor copyedit in the manual's "Scroll Bars"
85956         * doc/emacs/frames.texi (Scroll Bars): Mention that up/down and
85957         left/right buttons may be absent from the toolkit scroll bars.
85958         Reported by Robert Pluim <rpluim@gmail.com> in
85959         emacs-manual-bugs@gnu.org.
85961 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
85963         Minor fix in documentation of 'equal'
85965         * doc/lispref/objects.texi (Equality Predicates): Correct the
85966         conditions for equality of unibyte and multibyte strings.
85967         (Bug#30218)
85969 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
85971         * lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix.  (Bug#30192)
85973 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
85975         Minor rewording in Emacs manual's "Help Mode" node
85977         * doc/emacs/help.texi (Help Mode): Minor rewording of description
85978         of 'help-follow-symbol'.  Suggested by Richard Stallman
85979         <rms@gnu.org> in emacs-manual-bugs@gnu.org.
85981 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
85983         Fixes for Emacs manual in frames.texi
85985         * doc/emacs/frames.texi (Scroll Bars, Mouse Commands)
85986         (Window Dividers): Minor clarifications and spelling/markup
85987         changes.  Suggested by Robert Pluim <rpluim@gmail.com> in
85988         emacs-manual-bugs@gnu.org.
85990 2018-01-24  Glenn Morris  <rgm@gnu.org>
85992         * doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 typo.
85994 2018-01-24  Robert Pluim  <rpluim@gmail.com>
85996         Fix a few issues with latest GTK scaling changes
85998         * src/xfns.c (Fx_display_monitor_attributes_list): Call
85999         gdk_screen_get_monitor_scale_factor only for GTK versions
86000         3.10..3.21.
86001         * src/xterm.c (x_set_offset): Call xg_get_scale for GTK only.
86003 2018-01-24  Robert Pluim  <rpluim@gmail.com>
86005         Use scaled coordinates when calling into GTK
86007         This is part two of a two part fix for the GTK scaling
86008         problems.  See the thread starting at
86009         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
86010         for an explanation of why it has been added to Emacs 26.
86012         * src/gtkutil.c (xg_set_geometry): Scale down the coordinates that we
86013         pass to gtk_window_move and to gtk_window_parse_geometry.
86014         * src/xterm.c (x_set_offset): Likewise.
86016 2018-01-24  Robert Pluim  <rpluim@gmail.com>
86018         Scale monitor dimensions obtained from GTK
86020         This is part one of a two part fix for the GTK scaling
86021         problems.  See the thread starting at
86022         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
86023         for an explanation of why it has been added to Emacs 26.
86025         * src/xfns.c (Fx_display_monitor_attributes_list): Take scaling factor
86026         into account when using GTK to query the monitor dimensions, which
86027         allows frameset-restore to position frames correctly.
86029 2018-01-22  Rasmus  <rasmus@gmx.us>
86031         Update Org to v9.1.6
86033         Please note this is a bugfix release. See etc/ORG-NEWS for details.
86035 2018-01-22  Aaron Jensen  <aaronjensen@gmail.com>
86037         Use text-pixels values only when saving framesets (Bug#30141)
86039         * lisp/frameset.el (frameset-persistent-filter-alist): Specify
86040         that text-pixels values are by default only saved by framesets
86041         so the parameter is not set when restoring (Bug#30141).
86043 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
86045         Minor improvement in section "Pages" of the usere manual
86047         * doc/emacs/text.texi (Pages): Improve wording.  Suggested by Will
86048         Korteland <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
86050 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
86052         Minor improvements in user manual
86054         * doc/emacs/trouble.texi (Emergency Escape, Contributing): Clarify
86055         text.  Suggested by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org>
86056         in emacs-manual-bugs@gnu.org
86058 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
86060         Improve the "Mark" chapter of the user manual
86062         * doc/emacs/mark.texi (Setting Mark, Marking Objects): Improve and
86063         clarify wording.  Suggested by John Cummings <john@rootabega.net>
86064         in emacs-manual-bugs@gnu.org.
86066 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
86068         Improve the "Buffers" chapter of the user manual
86070         * doc/emacs/buffers.texi (Several Buffers): Correct description of
86071         prefix arguments.  Clarify "bury".
86072         (Buffer Menus): Clarify wording.  Reported by John Cummings
86073         <john@rootabega.net> in emacs-manual-bugs@gnu.org.
86075 2018-01-21  tino calancha  <tino.calancha@gmail.com>
86077         * lisp/term.el (term-send-input): Fix text duplication in docstring
86079 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
86081         Improve "Buffers" in the user manual
86083         Suggested by John Cummings <john@rootabega.net> in
86084         emacs-manual-bugs@gnu.org:
86085         * doc/emacs/buffers.texi (Select Buffer): Add cross-references to
86086         "Windows" and "Frames".
86087         (Misc Buffer, Kill Buffer): Use BUFFER consistently in commands
86088         that accept buffer names.
86089         (Select Buffer): Improve description of "M-g M-g".  Improve
86090         wording.
86091         (Misc Buffer, Kill Buffer): Improve wording.
86092         (Kill Buffer): Fix the response required by kill-some-buffers.
86093         Mention customizable options that control what clean-buffer-list
86094         does.
86095         (Several Buffers): More detail about
86096         'Buffer-menu-unmark-all-buffers'.
86098 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
86100         Don't mention 'vc-stay-local' in the user manual
86102         * doc/emacs/vc1-xtra.texi (CVS Options):
86103         * doc/emacs/maintaining.texi (VC Directory Buffer): Remove
86104         references to 'vc-stay-local', which no longer exists.
86105         (Bug#30138)
86107 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
86109         Fix a typo in calendar.texi
86111         * doc/emacs/calendar.texi (Writing Calendar Files): Capitalize
86112         "Filofax".  Reported by Will Korteland <emacs-devel@korte.land>
86113         in emacs-manual-bugs@gnu.org.
86115 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
86117         Minor improvement in wording of the Emacs manual
86119         * doc/emacs/killing.texi (CUA Bindings): Improve wording.
86120         Suggested by Will Korteland <emacs-devel@korte.land> in
86121         emacs-manual-bugs@gnu.org.
86123 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
86125         Revert "Fix tempfile creation when byte compiling"
86127         This reverts commit 4fd446e9f65e5531b18d4a0c5e08a6eeabc292d8:
86128         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
86129         Put tempfile next to the target file, as was the original intent.
86131 2018-01-19  Paul Eggert  <eggert@cs.ucla.edu>
86133         Fix tempfile creation when byte compiling
86135         This improves on the recent fix for master failing to build
86136         on FreeBSD.  Suggested by Stefan Monnier in:
86137         https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
86138         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
86139         Put tempfile next to the target file, as was the original intent.
86141 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
86143         Improve the Emacs manual as suggested in emacs-manual-bugs
86145         * doc/emacs/killing.texi (Deletion and Killing): Add
86146         cross-reference to "Kill Ring".
86147         * doc/emacs/help.texi (Help Mode, Package Keywords): Improve
86148         wording.  Suggested by Will Korteland <emacs-devel@korte.land> in
86149         emacs-manual-bugs@gnu.org.
86151 2018-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
86153         * lisp/emacs-lisp/bytecomp.el: Tweak last change
86155         (byte-compile-file): Move comment closer to the code it describes.
86157 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
86159         Unbreak building Emacs on FreeBSD
86161         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't create
86162         the temporary file under temporary-file-directory if the file
86163         being compiled is specified by an absolute file name.  This avoids
86164         problems with ACL copying from temporary-file-directory on
86165         FreeBSD.  For the details, see
86166         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00513.html.
86168 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
86170         Don't unnecessarily use non-ASCII characters in C sources
86172         * src/xwidget.c (webkit_javascript_finished_cb):
86173         * src/gtkutil.c (xg_check_special_colors):
86174         * src/emacs-module.c (module_make_string):
86175         * src/alloc.c (SET_STACK_TOP_ADDRESS): Don't use non-ASCII quote
86176         characters.
86178 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
86180         Portability fixes in emacs-module-tests
86182         * test/Makefile.in (abs_top_srcdir): Add variable, needed by
86183         CPPFLAGS.
86184         * test/data/emacs-module/mod-test.c: Include <limits.h>.
86185         (pT, pZ, T_TYPE, Z_TYPE): Compatibility macros, for systems that
86186         don't support %td and %zu format specs.
86187         (emacs_module_init): Use compatibility macros to make the error
86188         messages print meaningful values (and avoid compiler warnings).
86190 2018-01-19  Noam Postavsky  <npostavs@gmail.com>
86192         Add tests for term.el
86194         * lisp/term.el (term-mode): Add `name' attribute to
86195         window-adjust-process-window-size-function value, so that it can be
86196         removed easily by tests.
86197         * test/lisp/term-tests.el: New tests.
86199 2018-01-19  Callum Cameron  <cjcameron7@gmail.com>  (tiny change)
86201         Handle split AnSiT messages for term.el (Bug#17231)
86203         Check to see if there is an incomplete command at the end of
86204         term-emulate-terminal's input string, and, if so, save it so the whole
86205         command can be processed when the next string arrives.
86206         * lisp/term.el (term-partial-ansi-terminal-message): New variable.
86207         (term-mode): Make it buffer local.
86208         (term-handle-ansi-terminal-messages): Prepend it to the received
86209         message, and set it if a partial message was received.
86212         Do not merge to master, it will be solved differently there, see
86213         "Switch term.el to lexical binding, and clean up code a bit".
86215 2018-01-19  Glenn Morris  <rgm@gnu.org>
86217         * configure.ac (emacs_config_features): Add threads.
86219 2018-01-18  Noam Postavsky  <npostavs@gmail.com>
86221         Handle case-insensitive filenames for load-path shadows (Bug#5845)
86223         * lisp/emacs-lisp/shadow.el (load-path-shadows-find): Check for
86224         shadowing with case-insensitive matching for files of case-insensitive
86225         directories (as determined by `file-name-case-insensitive-p').
86226         * test/lisp/emacs-lisp/shadow-tests.el: New test.
86227         * test/lisp/emacs-lisp/shadow-resources/p1/foo.el:
86228         * test/lisp/emacs-lisp/shadow-resources/p2/FOO.el: New test files.
86230 2018-01-18  Alan Mackenzie  <acm@muc.de>
86232         CC Mode: stop distinguishing brace blocks from defun blocks by content.
86234         Don't merge to master; this is a quick fix for the emacs-26 branch.  This is
86235         essentially a reversion of the patch from 2017-11-10 which attempted to handle
86236         C99's compound literals.
86238         The bug here was triggered when a defun block contained a declaration ending
86239         in a comma, yet without a semicolon.
86241         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax): At the CASE 9 test,
86242         remove from the `or' form the test of a block's contents.
86244 2018-01-17  Philipp Stephani  <phst@google.com>
86246         Use recommended long options syntax in man page
86248         * doc/man/emacs.1.in: Specify equals sign for long options, as
86249         recommended in the manual.
86251 2018-01-17  Glenn Morris  <rgm@gnu.org>
86253         An overdue update of GNUstep emacs.tiff
86255         * nextstep/GNUstep/Emacs.base/Resources/emacs.tiff:
86256         Update to the Emacs 25 icon.
86257         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
86258         * nextstep/GNUstep/Emacs.base/Resources/README: Update.
86260 2018-01-17  Glenn Morris  <rgm@gnu.org>
86262         Add some test skip conditions
86264         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726)
86265         (vc-bzr-test-bug9781): Skip if bzr is faulty.
86266         * test/src/thread-tests.el: Skip if not compiled with threads.
86268 2018-01-17  Lars Ingebrigtsen  <larsi@gnus.org>
86270         Add documentation to ecomplete.el
86272         * lisp/ecomplete.el: Add doc strings and document the format.
86274 2018-01-17  Glenn Morris  <rgm@gnu.org>
86276         * admin/authors.el (authors-aliases): Tighten more entries.
86278 2018-01-17  Glenn Morris  <rgm@gnu.org>
86280         Small startup fix for current-load-list
86282         * lisp/startup.el (command-line):
86283         Avoid current-load-list being non-nil after startup ends.
86285 2018-01-17  Glenn Morris  <rgm@gnu.org>
86287         authors-aliases is based on regexps, not literals
86289         * admin/authors.el (authors-aliases): Replace overly-broad entries.
86291 2018-01-15  Charles A. Roelli  <charles@aurox.ch>
86293         Remove incorrect documentation in comint.el
86295         * lisp/comint.el (comint-interrupt-subjob, comint-kill-subjob)
86296         (comint-quit-subjob, comint-stop-subjob): Remove incorrect
86297         documentation.  (Bug#30079)
86299 2018-01-15  Glenn Morris  <rgm@gnu.org>
86301         An overdue update of src/emacs-icon.h
86303         * src/emacs-icon.h: Update to the Emacs 25 icon.  (Bug#30047)
86304         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
86306 2018-01-14  Eli Zaretskii  <eliz@gnu.org>
86308         Minor copyedit in ELisp manual
86310         * doc/lispref/variables.texi (File Local Variables): Improve
86311         wording of last change.
86313 2018-01-14  Shuguang Sun  <shuguang@gmail.com>
86315         Fix Bug#29149 in dired-aux.el
86317         * lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
86318         commands on w32 properly.  (Bug#29149)
86320 2018-01-14  Michael Albinus  <michael.albinus@gmx.de>
86322         Fix Bug#29149 in shell.el
86324         * lisp/shell.el (shell): Change order of `file-local-name' and
86325         `expand-file-name' calls.  Otherwise, the local file name
86326         would be extended by a drive letter, even when it is a remote
86327         file, seen from w32.  (Bug#29149)
86329 2018-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
86331         * doc/lispref/variables.texi (File Local Variables): Fix last change
86333 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
86335         * ChangeLog.3: Update
86337         Update etc/AUTHORS
86339 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
86341         Fix an entry in authors-aliases
86343         * admin/authors.el (authors-aliases): Replace regexp from "Max", which
86344         is too broad, to an email address ("mu@magi.net.ru").
86346 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
86348         Mention trace.el facilities in the ELisp manual
86350         * doc/lispref/debugging.texi (Debugging): Mention the trace.el
86351         library.
86353 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
86355         Improve documentation of safe values of variables
86357         * doc/lispref/variables.texi (File Local Variables): Mention the
86358         autoload cookie as a means of defining safe values for variables.
86359         See http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00261.html
86360         for the details.
86361         * doc/lispref/compile.texi (Compiler Errors): Document
86362         'byte-compile-error-on-warn'.
86364 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
86366         Improve the Emacs manual's "Misc" node
86368         * doc/emacs/misc.texi (Gnus): A more descriptive section name.
86369         (Invoking emacsclient): Mention how to avoid errors when there's
86370         no Emacs server.
86371         (EWW, Embedded WebKit Widgets): Now subsections under
86372         "Hyperlinking and Web Navigation Features".
86373         (Amusements): Add "games" to the section name.  Suggested by Alex
86374         Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
86376         * doc/emacs/emacs.texi (Top): Adjust the top-level menus to the
86377         above changes.
86379         * doc/lispref/os.texi (Security Considerations): Fix typos.
86381 2018-01-13  Martin Rudalics  <rudalics@gmx.at>
86383         In nsterm.m use FRAME_NS_P instead of FRAME_X_P (Bug#30019)
86385         * src/nsterm.m (x_set_parent_frame): Call FRAME_NS_P instead
86386         of FRAME_X_P (Bug#30019).
86388 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
86390         Bump Emacs version to 26.0.91
86392         * README:
86393         * configure.ac:
86394         * msdos/sed2v2.inp:
86395         * nt/README.W32: Bump Emacs version.
86397 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
86399         * ChangeLog.3: Update
86401 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
86403         Update authors
86405         * admin/authors.el (authors-aliases, authors-valid-file-names): Additions.
86406         * etc/AUTHORS: Update AUTHORS file.
86408 2018-01-12  Katsumi Yamaoka  <yamaoka@jpl.org>
86410         * lisp/gnus/message.el (message-do-auto-fill): Prevent do-auto-fill from
86411         adding extra citation mark (bug#29767, but it is a different bug).
86413 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
86415         Improve documentation of etags
86417         * doc/emacs/maintaining.texi (Tag Syntax, Create Tags Table):
86418         Improve documentation of etags options and of source language
86419         detection.
86421 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
86423         Teach etags new interpreters for some languages
86425         * lib-src/etags.c (Erlang_interpreters, Lua_interpreters)
86426         (Prolog_interpreters, Python_interpreters, Ruby_interpreters): New
86427         static variables.
86428         (lang_names): Use them to set interpreters for Erlang, Lua,
86429         Prolog, Python, and Ruby.
86430         (find_entries): Support "/usr/bin/env FOO" form of specifying an
86431         interpreter.
86433         * test/manual/etags/perl-src/htlmify-cystic: Modify the has-bang
86434         line to test the "env FOO" interpreter spec.  (Bug#30075)
86435         * test/manual/etags/ETAGS.good_1:
86436         * test/manual/etags/ETAGS.good_2:
86437         * test/manual/etags/ETAGS.good_3:
86438         * test/manual/etags/ETAGS.good_4:
86439         * test/manual/etags/ETAGS.good_5:
86440         * test/manual/etags/ETAGS.good_6: Adapt to latest changes in test
86441         files.
86443 2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
86445         * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-string' prop.
86447         * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#29767
86449 2018-01-10  Charles A. Roelli  <charles@aurox.ch>
86451         Improve documentation of fill-separate-heterogeneous-words-with-space
86453         * lisp/textmodes/fill.el
86454         (fill-separate-heterogeneous-words-with-space): Fix grammar.
86456 2018-01-10  Eli Zaretskii  <eliz@gnu.org>
86458         Fix documentation of some x-* functions
86460         * lisp/term/pc-win.el (x-display-pixel-width)
86461         (x-display-pixel-height, x-display-planes)
86462         (x-display-color-cells, x-server-max-request-size)
86463         (x-server-vendor, x-server-version, x-display-screens)
86464         (x-display-mm-height, x-display-mm-width)
86465         (x-display-backing-store, x-display-visual-class): Provide doc
86466         strings, so that 'makedoc' produces non-empty documentation in
86467         etc/DOC for these functions.  (Bug#30068)
86469 2018-01-10  Philipp Stephani  <phst@google.com>
86471         Inherit query-on-exit flag to stderr process (Bug#30031)
86473         * src/process.c (Fmake_process): Have the pipe process honor the
86474         parent's query-on-exit flag.
86476         * test/src/process-tests.el (make-process/noquery-stderr): New test.
86478 2018-01-10  Michael Albinus  <michael.albinus@gmx.de>
86480         Fix Bug#30057
86482         * test/lisp/filenotify-tests.el (file-notify--test-tmpdir): New defvar.
86483         (file-notify--test-cleanup, file-notify--test-make-temp-name)
86484         (file-notify-test01-add-watch, file-notify-test03-events)
86485         (file-notify-test05-file-validity)
86486         (file-notify-test09-watched-file-in-watched-dir)
86487         (file-notify-test10-sufficient-resources): Use it.  (Bug#30057)
86489 2018-01-10  Glenn Morris  <rgm@gnu.org>
86491         Tag some unstable tests, and skip by default (bug#24503)
86493         * Makefile.in (check-all): New phony target.
86494         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE):
86495         Also skip unstable tests.
86496         (SELECTOR_ALL): New variable.
86497         (check-all): New phony target.
86498         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
86499         (eieio-test-method-order-list-6):
86500         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
86501         (eieio-test-37-obsolete-name-in-constructor):
86502         Mark as unstable rather than skipping on hydra.nixos.org.
86504 2018-01-10  Paul Eggert  <eggert@cs.ucla.edu>
86506         Merge from Gnulib
86508         This incorporates:
86509         2018-01-05 maint: Add encoding marker for Emacs to non-ASCII sources
86510         2018-01-04 update-copyright: Handle use of ©
86511         2018-01-04 pthread_sigmask: Avoid compilation error on mingw
86512         2018-01-02 stat-time: silence -Wunused-parameter regression
86513         * build-aux/config.guess, build-aux/config.sub:
86514         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/gnulib.mk.in:
86515         * lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c:
86516         * lib/sha256.h, lib/sha512.c, lib/sha512.h, lib/signal.in.h:
86517         * lib/stat-time.h: Copy from Gnulib, or regenerate.
86519 2018-01-09  Glenn Morris  <rgm@gnu.org>
86521         * lisp/epg.el (epg-start-sign): Replace obsolete functions.
86523 2018-01-09  Glenn Morris  <rgm@gnu.org>
86525         Small fix for erc-logging-enabled
86527         * lisp/erc/erc-log.el (erc-logging-enabled):
86528         Respect buffer-locality of erc-enable-logging variable.
86530 2018-01-09  Glenn Morris  <rgm@gnu.org>
86532         Quieten semantic normal usage
86534         * lisp/cedet/semantic/lex.el (semantic-flex): Mark obsolete at
86535         compile time in the normal way, not at run-time.  (Bug#30035)
86537 2018-01-08  Eli Zaretskii  <eliz@gnu.org>
86539         Avoid irrelevant hyperlink in doc string of 'epa-pinentry-mode'
86541         * lisp/epa.el (epa-pinentry-mode): Doc fix.  (Bug#30025)
86543 2018-01-08  Michael Albinus  <michael.albinus@gmx.de>
86545         * doc/misc/tramp.texi (Remote processes): Mention gdb restrictions with I/O.
86547 2018-01-08  Noam Postavsky  <npostavs@gmail.com>
86549         Query background for gnome terminal version 3.22 (Bug#29716)
86551         * lisp/term/xterm.el (xterm--version-handler): Use
86552         xterm--report-background-handler for terminals reporting minor version
86553         4000 and above.
86555 2018-01-07  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
86557         Make pixel-wise scrolling less laggy
86559         * lisp/pixel-scroll.el (pixel-dead-time, pixel-last-scroll-time):
86560         New variables.
86561         (pixel-scroll-up, pixel-scroll-down): Invoke 'scroll-up' or
86562         'scroll-down' when called within 'pixel-dead-time'.  (Bug#29737)
86564 2018-01-07  Alan Third  <alan@idiocy.org>
86566         Fix child frame placement issues (bug#29953)
86568         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS):
86569         (NS_PARENT_WINDOW_TOP_POS): Get the parent frame through the frame
86570         struct as invisible child windows are detached from their parents in
86571         NS.
86572         * src/nsterm.m (x_set_offset): Offscreen frames have `nil' screen
86573         value, so handle that gracefully.  Child frames with negative left and
86574         top should be positioned relative to the bottom right of the parent
86575         frame.
86577 2018-01-06  Alan Mackenzie  <acm@muc.de>
86579         Describe the precise interaction of complex primitives with the change hooks
86581         * doc/lispref/text.texi (Change Hooks): Document that most buffer changing
86582         primitives call before- and after-change-functions in balanced pairs, but that
86583         some complex primitives call b-c-f once, and a-c-f zero, one, or several
86584         times.
86586 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
86588         Fix valgrind report in call-interactively
86590         * src/callint.c (Fcall_interactively): Don't try to access more
86591         bytes than are available in the interactive spec.  (Bug#30004)
86593 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
86595         * src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)
86597 2018-01-06  Alan Mackenzie  <acm@muc.de>
86599         Fix mark-defun when there's no spaces between successive defuns.
86601         The problem was a parse-partial-sexp call which tried to use the STOPBEFORE
86602         argument to detect non-syntactic WS.  This fails on a "}", which does not
86603         begin a sexp.
86605         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p): Enhance to
86606         handle BOL being in a string.
86607         (beginning-of-defun-comments): Call the above function in place of the call
86608         to parse-partial-sexp.
86610 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
86612         Fix Dired display and operations on file names with raw bytes
86614         * src/coding.c (decode_coding): When flushing remaining raw bytes
86615         from multibyte text, copy 2-byte forms of eight-bit-*
86616         characters as single characters, not as 2 raw bytes.  (Bug#29189)
86618 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
86620         Improve documentation of 'gdb-many-windows'
86622         * doc/emacs/building.texi (GDB User Interface Layout): Add advice
86623         for using a separate frame for 'gdb-many-windows'.
86625 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
86627         Fix failures in smerge-mode on MS-Windows
86629         * lisp/vc/smerge-mode.el (smerge--refine-chopup-region): Use
86630         utf-8-emacs-unix, not emacs-internal, to make the forced EOL
86631         convention explicit.
86632         (smerge-refine-regions): Use utf-8-emacs instead of
86633         emacs-internal, to allow decoding of non-Unix EOL conventions.
86634         (Bug#29916)
86636 2018-01-04  Stephen Leake  <stephen_leake@stephe-leake.org>
86638         Fix description of 'struct' generic function specializer
86639         Backport:
86641         * doc/lispref/functions.texi (Generic Functions): Fix description of
86642         'struct' specializer; it must be the named struct or a child, not a
86643         parent.
86645         (cherry picked from commit b6add8c7cfc6d36f9dd8ad99be06bd8ab41cc6f8)
86647 2018-01-04  Charles A. Roelli  <charles@aurox.ch>
86649         * etc/DEBUG (Getting control to the debugger): Fix grammar.
86651 2018-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
86653         * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset holds a list!
86655 2018-01-03  Noam Postavsky  <npostavs@gmail.com>
86657         Don't bind dframe events on load (Bug#29599)
86659         * lisp/dframe.el (dframe-setup-hook): New hook.
86660         (dframe-set-special-events): New function, containing previous
86661         top-level key binding code.
86662         (top-level): Add it to dframe-setup-hook.
86663         (dframe-frame-mode): Run the hook.
86665 2018-01-02  Eli Zaretskii  <eliz@gnu.org>
86667         * lisp/textmodes/picture.el (picture-mode-exit): Doc fix.  (Bug#29949)
86669         * lisp/textmodes/picture.el (picture-open-line): Doc fix.  (Bug#29948)
86671 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
86673         Fix description of 'emacs-internal'
86675         * doc/lispref/nonascii.texi (Coding System Basics): Correct
86676         inaccuracy in description of 'emacs-internal'.  (Bug#29916)
86678 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
86680         Update PROBLEMS with selection-related issues
86682         * etc/PROBLEMS: Update the entry about large selections and
86683         klipper.  (Bug#29661)
86685 2018-01-01  Ross Donaldson  <gastove@gmail.com>  (tiny change)
86687         New customization variable for python-mode indentation (Bug#28475)
86689         * lisp/progmodes/python.el (python-indent-def-block-scale): New variable.
86690         (python-indent--calculate-indentation): Let it control how many indent
86691         levels are inserted for multi-line function signatures.
86693 2018-01-01  Alan Third  <alan@idiocy.org>
86695         Fix menu keyboard shortcuts on macOS (Bug#29595)
86697         * src/nsmenu.m (addItemWithWidgetValue)[NS_IMPL_COCOA]: It looks like
86698         macOS 10.13 no longer ignores long modifier strings, so explicitly use
86699         an empty string.
86701 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
86703         Fix copyright years by hand
86705         These are dates that admin/update-copyright did not update, or
86706         updated incorrectly.
86708 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
86710         Update copyright year to 2018
86712         Run admin/update-copyright.
86714 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
86716         Merge from Gnulib
86718         This incorporates:
86719         2018-01-01 maint: Run 'make update-copyright'
86720         2017-12-29 Add cross-compilation results for GNU/Hurd.
86721         2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0
86723 2017-12-31  Gemini Lasswell  <gazally@runbox.com>
86725         Don't add empty keyboard macro to macro ring (Bug#24992)
86727         * lisp/kmacro.el (kmacro-end-call-mouse): Don't save a newly defined
86728         macro if it is empty.
86730         * test/lisp/kmacro-tests.el (kmacro-tests-end-and-call-macro-mouse):
86731         Remove expected failure tag.
86733 2017-12-31  Eli Zaretskii  <eliz@gnu.org>
86735         Allow customization of decoding of "man" command
86737         * lisp/man.el (Man-coding-system): New defcustom.
86738         (Man-start-calling): Use it, and also pay attention to user
86739         overriding coding-system-for-read.  (Bug#29872)
86741 2017-12-31  Daiki Ueno  <ueno@gnu.org>
86743         * etc/NEWS: Add security consideration note on passphrase input
86745 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
86747         Fix subtle problem with scroll-down when scroll-margin is nonzero
86749         * src/window.c (window_scroll_pixel_based): Account for
86750         scroll-margin when scrolling down, i.e. moving window-start
86751         towards the beginning of the buffer.  Reported by zhang cc
86752         <ccsmile2008@outlook.com> in
86753         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html.
86755 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
86757         Fix problems with indexing in User manual
86759         * doc/emacs/basic.texi (Continuation Lines, Inserting Text)
86760         (Moving Point):
86761         * doc/emacs/help.texi (Help Echo, Package Keywords, Help Mode):
86762         * doc/emacs/trouble.texi (Quitting):
86763         * doc/emacs/mark.texi (Setting Mark, Disabled Transient Mark):
86764         * doc/emacs/custom.texi (Modifier Keys, Init Examples)
86765         (Creating Custom Themes):
86766         * doc/emacs/programs.texi (Program Modes, Expressions, Hideshow)
86767         (Basic Indent, Info Lookup, Symbol Completion):
86768         * doc/emacs/screen.texi (Echo Area):
86769         * doc/emacs/xresources.texi (Table of Resources, GTK Names in Emacs):
86770         * doc/emacs/display.texi (Line Truncation, Cursor Display):
86771         * doc/emacs/files.texi (File Names, Backup, File Archives):
86772         * doc/emacs/dired.texi (Operating on Files, Dired Enter):
86773         * doc/emacs/commands.texi (User Input):
86774         * doc/emacs/mule.texi (International, Unibyte Mode)
86775         (International Chars):
86776         * doc/emacs/vc1-xtra.texi (RCS and SCCS, Version Headers)
86777         (CVS Options):
86778         * doc/emacs/modes.texi (Major Modes, Minor Modes):
86779         * doc/emacs/indent.texi (Just Spaces):
86780         * doc/emacs/frames.texi (Mouse Avoidance, Mode Line Mouse)
86781         (Frame Commands):
86782         * doc/emacs/cmdargs.texi (Initial Options):
86783         * doc/emacs/abbrevs.texi (Dabbrev Customization):
86784         * doc/emacs/mini.texi (Completion Example, Completion Commands):
86785         * doc/emacs/calendar.texi (Writing Calendar Files, Calendar Unit Motion)
86786         (From Other Calendar):
86787         * doc/emacs/regs.texi (Text Registers, Bookmarks):
86788         * doc/emacs/buffers.texi (Several Buffers, Select Buffer):
86789         * doc/emacs/maintaining.texi (Xref Commands):
86790         * doc/emacs/windows.texi (Pop Up Window):
86791         * doc/emacs/text.texi (Text, Org Mode):
86792         * doc/emacs/killing.texi (Other Kill Commands):
86793         * doc/emacs/misc.texi (Document View, Gnus Group Buffer)
86794         (Gnus Summary Buffer, Shell Mode):
86795         * doc/emacs/cal-xtra.texi (Sexp Diary Entries): Remove or reword
86796         redundant identical index entries.
86797         * doc/emacs/custom.texi (Mouse Buttons)
86798         * doc/emacs/files.texi (Reverting): Fix hyphenation.
86799         * doc/emacs/emacs.texi (Top): Improve wording of Index menu items.
86800         * doc/emacs/files.texi (File Conveniences):
86801         * doc/emacs/programs.texi (MixedCase Words): Make entries that
86802         belong to Concept Index be indexed with @cindex.  (Bug#29888)
86804 2017-12-29  Alan Mackenzie  <acm@muc.de>
86806         * lisp/help.el (describe-key): Only (copy-sequence elt) when elt is a list.
86808 2017-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
86810         * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
86812         Don't mess with the lock file when inhibit_modification_hooks is set,
86813         just like we do in prepare_to_modify_buffer_1.
86815 2017-12-28  Eli Zaretskii  <eliz@gnu.org>
86817         Improve documentation of 'inhibit-modification-hooks' and friends
86819         * src/buffer.c (Fset_buffer_modified_p)
86820         (Frestore_buffer_modified_p): Doc fixes.
86821         * src/insdel.c (syms_of_insdel) <inhibit-modification-hooks>:
86822         Document in the doc string that this variable also inhibits file
86823         locks and active region handling.  (Bug#29846)
86825 2017-12-28  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)
86827         Fix doc string of 'enable-recursive-minibuffers'
86829         * src/minibuf.c (syms_of_minibuf) <enable-recursive-minibuffers>:
86830         Doc fix.  (Bug#29873)
86832 2017-12-27  Eli Zaretskii  <eliz@gnu.org>
86834         Fix documentation of delsel and of killing text
86836         * doc/emacs/killing.texi (Appending Kills): Make sure the text
86837         with 2 spaces is not broken between 2 lines.
86838         * doc/emacs/mark.texi (Using Region): Remove the sentence about
86839         delsel mode that describes behavior which exists even without
86840         delsel mode turned on.  Suggested by Petteri Hintsanen
86841         <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
86843         * lisp/delsel.el (delete-selection-mode): Doc fix.
86845 2017-12-27  Glenn Morris  <rgm@gnu.org>
86847         * doc/lispref/strings.texi (Case Conversion):
86848         Use a TeX font that support ligatures.
86850 2017-12-27  Charles A. Roelli  <charles@aurox.ch>
86852         * doc/misc/speedbar.texi (Top): Fix grammar.
86854         * lisp/subr.el (with-silent-modifications): Doc fixes.
86856 2017-12-26  Eli Zaretskii  <eliz@gnu.org>
86858         Fix curved quotes in printed manual
86860         * doc/emacs/text.texi (Quotation Marks): Fix curved quote
86861         characters in the printed version of the manual.
86863 2017-12-25  Paul Eggert  <eggert@cs.ucla.edu>
86865         Say that "gnus-cloud" is a parody name
86867 2017-12-25  Eli Zaretskii  <eliz@gnu.org>
86869         More improvements for text.texi
86871         * doc/emacs/text.texi (Outline Motion): Avoid unneeded
86872         repetition.  Suggested by Petteri Hintsanen <petterih@iki.fi> in
86873         emacs-manual-bugs@gnu.org.
86875 2017-12-24  Eli Zaretskii  <eliz@gnu.org>
86877         Adjudicate review comments for the "Text" chapter of user manual
86879         * doc/emacs/text.texi (Text): Rearrange text for clarity.  Add
86880         cross-reference to the Org manual.  Make the cross-reference to
86881         Outline Mode appear in online manuals as well (the conditional was
86882         a forgotten remnant from time immemoriam).
86883         (Paragraphs): Add a note that 'paragraph-start' and
86884         'paragraph-separate' should not be anchored.
86885         (Auto Fill): Remove redundant text.  Suggested by Petteri
86886         Hintsanen <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
86888 2017-12-24  Andreas Schwab  <schwab@linux-m68k.org>
86890         * lisp/url/url-http.el
86891         (url-http-wait-for-headers-change-function): Change message to
86892         url-http-debug.
86894 2017-12-24  Alan Mackenzie  <acm@muc.de>
86896         In C-h k <mouse-n>, alert user to existence of any matching down-mouse-event
86898         , and instruct her to hold the mouse button to display its documentation.
86900         * lisp/help.el (help-downify-mouse-event-type): New function.
86901         (help-read-key-sequence, describe-key): handle double-click-time being nil or
86902         t.
86903         (describe-key): Print out instructions for displaying documentation of
86904         matching mouse down key sequence command when such exists.
86906 2017-12-23  Andreas Schwab  <schwab@linux-m68k.org>
86908         * net/eww.el (eww): Handle URLs without host part.
86910 2017-12-23  Alan Mackenzie  <acm@muc.de>
86912         Make C-h c/k S-mouse-1 display message for mouse-appearance-menu, etc.
86914         Currently, C-h c/k for S-mouse-1 reports that S-mouse-1 is unbound, ignoring
86915         that S-down-mouse-1 is bound.  We fix this by reporting on the "latest" mouse
86916         event of a sequence which is bound.
86918         * lisp/help.el (help-read-key-sequence): Save all encountered mouse events in
86919         a list.  Return the latest one which has a binding.
86921 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
86923         Avoid crashes when ':eval' deletes our frame
86925         * src/xdisp.c (display_mode_element): Signal an error if
86926         ':eval' somehow deletes the frame whose window we are
86927         redisplaying. (Bug#29726)
86929 2017-12-23  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
86931         Fix scrolling up in pixel-scroll.el
86933         * lisp/pixel-scroll.el (pixel-scroll-up): Do not try to move cursor
86934         down when EOB is shown at the top.  This function is reverted to
86935         commit 1bda71ec3b11eeb4d06c3da094a3cb21bac18d5c. (bug#29737)
86937 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
86939         Fix problems with ligatures in PDF version of ELisp manual
86941         * doc/lispref/strings.texi (Case Conversion): Avoid problems with
86942         ligatures in printed versions of the manual.  (Bug#29818)
86944 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
86946         (elisp-flymake-byte-compile): Handle killed buffer in sentinel
86948         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
86949         Don't burp if the source-buffer has been killed.
86951 2017-12-22  Glenn Morris  <rgm@gnu.org>
86953         Avoid some overfull lines in PDF lispref
86955         * doc/lispref/commands.texi (Reading One Event):
86956         * doc/lispref/display.texi (SVG Images):
86957         * doc/lispref/frames.texi (Size Parameters):
86958         * doc/lispref/syntax.texi (Categories):
86959         * doc/lispref/windows.texi (Frame Layouts with Side Windows):
86960         Avoid overfull lines.
86962 2017-12-22  Glenn Morris  <rgm@gnu.org>
86964         Avoid some overfull lines in PDF manual
86966         * doc/emacs/display.texi (Display Custom):
86967         * doc/emacs/search.texi (Other Repeating Search):
86968         * doc/emacs/text.texi (Quotation Marks): Avoid overfull lines.
86970 2017-12-22  Glenn Morris  <rgm@gnu.org>
86972         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
86973         Fix ref.
86975 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
86977         * lisp/emacs-lisp/inline.el (define-inline): Add a doc string.
86979 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
86981         Fix doc string of 'footnote-style-alist'
86983         * lisp/mail/footnote.el (footnote-style-alist): Remove a reference
86984         to non-existing files from doc string.  (Bug#29759)
86986 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
86988         Improve documentation of selecting windows
86990         * doc/lispref/windows.texi (Basic Windows, Selecting Windows):
86991         Clarify what selecting a window means for keyboard input, and that
86992         input focus may need to be considered when selecting windows on
86993         other frames.  See
86994         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00372.html
86995         for more details.
86997 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
86999         Improve documentation of records
87001         * doc/lispref/Makefile.in (srcs): Add the forgotten records.texi.
87002         * doc/lispref/records.texi (Records): Recommend that record type
87003         names use package-naming conventions.
87005         * etc/NEWS: Add the naming convention recommendation for record
87006         types.
87008 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
87010         * etc/NEWS: Mention the removal of pinentry.el.  (Bug#27445)
87012 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
87014         Fix interactive spec of 'semantic-ia-show-variants'
87016         * lisp/cedet/semantic/ia.el (semantic-ia-show-variants): Fix the
87017         interactive spec to match the function's expectations.  (Bug#29770)
87019 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
87021         Fix documentation of 'mouse-drag-and-drop-region' and friends
87023         * doc/emacs/frames.texi (Drag and Drop): Index
87024         'mouse-drag-and-drop-region-cut-when-buffers-differ',
87025         'mouse-drag-and-drop-region-show-tooltip', and
87026         'mouse-drag-and-drop-region-show-cursor'.
87028         * etc/NEWS: Fix the format of the related entries.
87030 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
87032         Improve detection of speller version in ispell.el
87034         * lisp/textmodes/ispell.el (ispell-check-version): Accept more
87035         general forms of version numbers for Aspell, Hunspell, and
87036         Enchant, to include various beta and prereleases.  (Bug#29801)
87038 2017-12-22  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
87040         Document 'mouse-drag-and-drop-region' options and mention them in NEWS
87042         * doc/emacs/frames.texi (Drag and Drop):
87043         * etc/NEWS (times): Document options for
87044         'mouse-drag-and-drop-region' and mention them in NEWS.
87046 2017-12-22  Martin Rudalics  <rudalics@gmx.at>
87048         Fix uses of 'nil' and 'non-nil' in manuals and a few more minor issues
87050         * doc/emacs/building.texi (Grep Searching): Fix doc of
87051         'grep-save-buffers'.
87052         (Drag and Drop): Reorder paragraphs.  Fix doc of
87053         'mouse-drag-and-drop-region'.
87054         * doc/emacs/frames.texi (Word and Line Mouse):
87055         * doc/emacs/search.texi (Other Repeating Search):
87056         * doc/lispref/compile.texi (Compilation Functions):
87057         * doc/lispref/files.texi (Directory Names):
87058         * doc/lispref/functions.texi (Advising Named Functions):
87059         * doc/lispref/keymaps.texi (Controlling Active Maps):
87060         * doc/lispref/lists.texi (Association Lists):
87061         * doc/lispref/windows.texi (Quitting Windows): Fix uses of
87062         'non-nil' and 'nil'.
87064 2017-12-21  Philipp Stephani  <phst@google.com>
87066         Document that mode commands should be idempotent.
87068         * doc/lispref/modes.texi (Major Mode Conventions, Minor Mode
87069         Conventions): Document that the mode commands should be idempotent.
87071 2017-12-21  Alan Mackenzie  <acm@muc.de>
87073         Fontify a CPP construct correctly when a comment follows without spaces
87075         Do this by removing a broken optimization in the state cache which put
87076         category text properties on a character between the end of the CPP construct
87077         and the beginning of the comment.  This can't work when there's no such
87078         character.
87080         * lisp/progmodes/cc-defs.el (c-cpp-delimiter, c-set-cpp-delimiters)
87081         (c-clear-cpp-delimiters, c-comment-out-cpps, c-with-cpps-commented-out)
87082         (c-with-all-but-one-cpps-commented-out): Remove.
87084         * lisp/progmodes/cc-engine.el (c-no-comment-end-of-macro): Return the comment
87085         start position rather than one character before it.
87086         (c-invalidate-state-cache, c-parse-state): Remove the invocations of
87087         c-with-all-but-one-cpps-commented-out and c-with-cpps-commented-out.
87089         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Rename to
87090         c-neutralize-syntax-in-CPP and remove the bits which applied category
87091         properties.
87093         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Incorporate the
87094         new name of the function c-neutralize-syntax-in-CPP.
87096 2017-12-21  Eli Zaretskii  <eliz@gnu.org>
87098         Prevent infloop in redisplay on TTY frames
87100         * src/xdisp.c (extend_face_to_end_of_line): Avoid infloop when
87101         filling up display margins with the default face's background.
87102         (Bug#29789)
87104 2017-12-21  Alan Mackenzie  <acm@muc.de>
87106         Fix loss of documentation face in certain CC Mode doc comment situations
87108         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Take into account
87109         the possibility of font-lock-comment-delimiter-face.  Test rigorously for
87110         "/**" (etc.) being itself inside a literal, rather than just depending on the
87111         face of the previous character.
87113 2017-12-21  Daiki Ueno  <ueno@gnu.org>
87115         Remove pinentry.el
87117         * lisp/epg.el (epg--start): Remove the use of pinentry.el.
87118         * lisp/net/pinentry.el: Remove (bug#27445).
87120 2017-12-21  Ted Zlatanov  <tzz@lifelogs.com>
87122         Special-case %DUMBFW for GnuTLS between 3.2.5 and 3.5.1
87124         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT__DUMBFW for GnuTLS >= 3.2.5.
87125         (Fgnutls_available_p): Use it.
87127 2017-12-21  Andy Moreton  <andrewjmoreton@gmail.com>
87129         Work around GnuTLS version issues with %DUMBFW (tiny change)
87131         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT_GET_NAME and use it.
87132         (init_gnutls_functions): Use it.
87133         (Fgnutls_available_p): Use it (Bug#25061). Fix Vlibrary_cache bug.
87135 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
87137         Merge branch 'widen-less' into emacs-26
87139 2017-12-20  Glenn Morris  <rgm@gnu.org>
87141         * lisp/erc/erc.el (erc-shorten-server-name): Silence compiler warning.
87143 2017-12-20  Glenn Morris  <rgm@gnu.org>
87145         Fix some more aliases to user options
87147         * lisp/cus-edit.el (custom-mode-hook):
87148         * lisp/erc/erc.el (erc-default-coding-system):
87149         * lisp/progmodes/python.el (python-indent, python-guess-indent)
87150         (python-shell-virtualenv-path)
87151         (python-shell-completion-module-string-code)
87152         (python-shell-completion-pdb-string-code, python-use-skeletons):
87153         Define aliases to user options before the options are defined.
87155 2017-12-20  Glenn Morris  <rgm@gnu.org>
87157         Fix some flymake aliases
87159         * lisp/progmodes/flymake-proc.el (flymake-xml-program)
87160         (flymake-compilation-prevents-syntax-check, flymake-master-file-dirs)
87161         (flymake-master-file-count-limit, flymake-allowed-file-name-masks):
87162         * lisp/progmodes/flymake.el (flymake-start-syntax-check-on-find-file):
87163         Define aliases to user options before the options are defined.
87165 2017-12-20  Glenn Morris  <rgm@gnu.org>
87167         Unbreak a fileio test on non-Mac OS X systems
87169         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
87170         Don't use an undefined coding system.
87172 2017-12-20  Robert Pluim  <rpluim@gmail.com>
87174         Fix updating scrollbar sizes when scaling is in effect
87176         * src/gtkutil.c (xg_update_scrollbar_pos): Update width of
87177         scrollbar when scaling is in effect.
87178         (xg_update_horizontal_scrollbar_pos): Update scrollbar size
87179         when scaling is in effect.
87181 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
87183         Widen in indent-for-tab-command in the normal case, too
87185         Fixing this obvious omission.
87186         * lisp/indent.el (indent--funcall-widened): New function.
87187         (indent-for-tab-command): Use it.
87189 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
87191         Collect GnuTLS extensions and use them to set %DUMBFW if supported
87193         * lisp/net/gnutls.el (gnutls-boot-parameters): Use it to set %DUMBFW
87194         only when it's supported as "ClientHello Padding" (Bug#25061).
87196         * src/gnutls.c (Fgnutls_available_p): Get extension names and
87197         put them in the GnuTLS capabilities, using a hard-coded limit
87198         of 100 since GnuTLS MAX_EXT_TYPES is not exported.
87200 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
87202         * test/lisp/emacs-lisp/derived-tests.el: Fix copy&paste leftovers
87204 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
87206         * lisp/subr.el (delayed-after-hook-functions): Rename from ...-forms
87208         (run-mode-hooks): `funcall` the functions instead of `eval`ing the forms.
87209         * lisp/emacs-lisp/derived.el (define-derived-mode): Push functions
87210         rather than forms (bug#29679).
87212 2017-12-18  Katsumi Yamaoka  <yamaoka@jpl.org>
87214         * lisp/net/shr.el (shr-string-pixel-width): Return pixel-width,
87215         not position (bug#29734).
87217 2017-12-18  Dmitry Gutov  <dgutov@yandex.ru>
87219         Replace the mention of c-indent-defun with js-indent-line
87221         * doc/lispref/text.texi (Mode-Specific Indent):
87222         Avoid mentioning c-indent-defun in the context of multi-mode
87223         indentation.
87225 2017-12-17  Charles A. Roelli  <charles@aurox.ch>
87227         python.el doc fixes
87229         * lisp/progmodes/python.el (python-shell-accept-process-output):
87230         (python-shell-comint-end-of-output-p):
87231         (python-shell-first-prompt-hook):
87232         (python-info-beginning-of-backslash): Doc fixes.
87234 2017-12-17  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
87236         Make 'mouse-drag-and-drop-region' more robust and customizable
87238         * lisp/mouse.el
87239         (mouse-drag-and-drop-region-cut-when-buffers-differ): New option
87240         to permit 'mouse-drag-and-drop-region' to cut text also when source
87241         and destination buffers differ.
87242         (mouse-drag-and-drop-region-show-tooltip): New option to toggle
87243         display of tooltip during mouse dragging on graphic displays.
87244         (mouse-drag-and-drop-region-show-cursor): New option to toggle
87245         moving point with mouse cursor during mouse dragging of region.
87246         (mouse-drag-and-drop-region): New face to highlight original
87247         text while dragging.
87248         (mouse-drag-and-drop-region): Make use of new options and face.
87249         Ignore errors during tracking.
87251 2017-12-17  Oscar Fuentes  <ofv@wanadoo.es>
87253         Backport: Don't compare arguments that can be nil (Bug#28039)
87255         copy-region-as-kill can be called passing nil as `beg' and
87256         `end'. Magit does that, which caused an error when this advice was in
87257         effect.
87259         * lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison
87260           unless `beg' and `end' are non-nil.
87262 2017-12-17  Noam Postavsky  <npostavs@gmail.com>
87264         Don't mess up syntax-ppss cache in electric-pair (Bug#29710)
87266         In Emacs 25 and above, calling `scan-sexps', `parse-partial-sexp', or
87267         similar may update the syntax-ppss cache if
87268         `parse-sexp-lookup-properties' is non-nil.  Therefore, when calling
87269         any of these functions with a different than normal syntax-table, the
87270         cache must be cleaned afterwards.
87271         * lisp/elec-pair.el (electric-pair--with-uncached-syntax): New macro.
87272         (electric-pair--syntax-ppss, electric-pair--balance-info): Use it.
87274 2017-12-17  Glenn Morris  <rgm@gnu.org>
87276         * etc/emacs.appdata.xml: Update file format.
87278 2017-12-16  Alan Third  <alan@idiocy.org>
87280         Use utf-8-hfs-unix on macOS (Bug#29712)
87282         This is a quick fix for the Emacs 26 release. Do not merge to master.
87284         * test/src/fileio-tests.el (fileio-tests--symlink-failure): Override
87285         file-name-coding-system to utf-8-hfs-unix to prevent test failure.
87287 2017-12-16  Alan Mackenzie  <acm@muc.de>
87289         * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
87291 2017-12-16  Michael Albinus  <michael.albinus@gmx.de>
87293         Improve fix for Bug#29712
87295         * test/lisp/net/tramp-tests.el
87296         (tramp-test32-environment-variables-and-port-numbers):
87297         Adapt check for systems which do not support "echo -n".  (Bug#29712)
87299 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
87301         * doc/lispref/sequences.texi (Sequence Functions): Improve indexing.
87303 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
87305         Avoid reordering of output in 'shr-insert-document'
87307         * lisp/net/shr.el (shr-string-pixel-width): Preserve point across
87308         shr-pixel-column invocations.  (Bug#29734)
87310 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
87312         Improve documentation of 'invisible-p'
87314         * doc/lispref/display.texi (Invisible Text): Document the return
87315         value of 'invisible-p'.
87317         * src/xdisp.c (Finvisible_p): Rename the argument POS.  Doc fix.
87318         (Bug#29721)
87320 2017-12-16  Martin Rudalics  <rudalics@gmx.at>
87322         Remove one more check that Vframe_list is non-nil
87324         * src/dispnew.c (check_glyph_memory): Remove no-longer-needed
87325         check that Vframe_list is non-nil, as FOR_EACH_FRAME no longer
87326         assumes that.
87328 2017-12-16  Simen Heggestøyl  <simenheg@gmail.com>
87330         Fix off-by-one error in 'css--hex-color'
87332         * lisp/textmodes/css-mode.el (css--hex-color): Fix off-by-one error.
87334         * test/lisp/textmodes/css-mode-tests.el (css-test-hex-color): New test
87335         for 'css--hex-color'.
87337 2017-12-16  Aaron Jensen  <aaronjensen@gmail.com>
87339         Save and restore text-pixel height and width of frames (Bug#28442)
87341         * lisp/frameset.el (frameset--record-relationships): Record
87342         text-pixel-height and text-pixel-width of frame.
87343         (frameset--restore-frame): Restore text-pixel-height and
87344         text-pixel-width of frame if available.  (Bug#28442)
87346 2017-12-16  Noam Postavsky  <npostavs@gmail.com>
87348         Partially revert "Mention new strictness for &optional, &rest..."
87350         The changes to cl argument parsing are not backwards compatible, and
87351         cause inconvenience when writing macros (e.g., instead of doing '&aux
87352         ,@auxargs', some more complicated conditionals would be required).
87353         The `cl-defstruct' macro makes use of this convenience when defining
87354         empty structs (Bug#29728).
87355         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
87356         (cl--do-&aux, cl--do-arglist): Undo strict checking of &rest, &key,
87357         and &aux.
87358         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): Remove
87359         test.
87361 2017-12-15  Glenn Morris  <rgm@gnu.org>
87363         * lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-mode.
87365         * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete alias.
87367 2017-12-15  Paul Eggert  <eggert@cs.ucla.edu>
87369         FOR_EACH_FRAME no longer assumes frame-list
87371         This cleans up a recent fix related to Bug#29661.
87372         Suggested by Stefan Monnier in:
87373         https://lists.gnu.org/r/emacs-devel/2017-12/msg00544.html
87374         * src/frame.c (next_frame, prev_frame, delete_frame):
87375         Restore debugging checks that Vframe_list is non-nil,
87376         as FOR_EACH_FRAME no longer has these checks.
87377         (delete_frame): Remove no-longer-needed checks that Vframe_list is
87378         non-nil, as FOR_EACH_FRAME no longer assumes that.
87379         * src/frame.h (FOR_EACH_FRAME): Do not assume Vframe_list is non-nil.
87381 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
87383         * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
87385 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
87387         Modernise message.el face spec syntax
87389         * lisp/gnus/message.el (message-header-to, message-header-cc)
87390         (message-header-subject, message-header-newsgroups)
87391         (message-header-other, message-header-name, message-header-xheader)
87392         (message-separator, message-cited-text, message-mml):
87393         Use (DISPLAY . PLIST) face spec syntax as recommended in
87394         `(elisp) Defining Faces'.  (Bug#29405)
87396 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
87398         Update message.el obsolete face aliases
87400         * lisp/gnus/message.el: (message-header-to, message-header-cc)
87401         (message-header-subject, message-header-newsgroups)
87402         (message-header-other, message-header-name, message-header-xheader)
87403         (message-separator, message-cited-text, message-mml):
87404         Use define-obsolete-face-alias.  (Bug#29405)
87406 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
87408         Improve documentation of TERM environment variable
87410         * doc/emacs/trouble.texi (Checklist):
87411         * doc/emacs/building.texi (Compilation Shell):
87412         * doc/emacs/misc.texi (Shell Options): Improve indexing of TERM.
87413         * doc/emacs/building.texi (Compilation Shell): Mention
87414         'comint-terminfo-terminal' in conjunction with the TERM value.
87416 2017-12-15  Allen Li  <darkfeline@felesatra.moe>
87418         Add option to configure comint TERM
87420         * lisp/comint.el (comint-terminfo-terminal): New defcustom.
87421         (comint-term-environment): New function for setting terminal options
87422         (comint-exec-1): Use comint-term-environment.  (Bug#29583)
87423         * lisp/progmodes/compile.el (compilation-start): Use comint-term-environment.
87425         * etc/NEWS:
87426         * doc/emacs/misc.texi (Shell Options): Document the new option.
87428 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
87430         Better support utf-8-with-signature and utf-8-hfs in XML/HTML
87432         * lisp/international/mule.el (sgml-xml-auto-coding-function):
87433         Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
87434         obey the buffer's encoding if it is one of these variants, instead
87435         of re-encoding in UTF-8 proper.  (Bug#20623)
87437 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
87439         * lisp/menu-bar.el (menu-bar-mode): Doc fix.
87441 2017-12-15  Michael Albinus  <michael.albinus@gmx.de>
87443         Fix Bug#29712 in tramp-tests.el
87445         * test/lisp/net/tramp-tests.el
87446         (tramp-test32-environment-variables-and-port-numbers):
87447         Skip for macOS.  (Bug#29712)
87449 2017-12-15  Martin Rudalics  <rudalics@gmx.at>
87451         Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
87453         This does not fix Bug#29961 but avoids that Emacs segfaults when
87454         trying to shut down because it lost connection to the X server.
87456         * src/dispnew.c (check_glyph_memory):
87457         * src/frame.c (delete_frame): Don't run FOR_EACH_FRAME when
87458         there's no frame left (Bug#29961).
87460 2017-12-15  Glenn Morris  <rgm@gnu.org>
87462         * lisp/textmodes/tex-mode.el: Ensure uncompiled file is loadable.
87464 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
87466         Remember password change for IMAP in Gnus (Bug#29692)
87468         Reported by Trey Jackson <trey_jackson@mentor.com>.
87470         * lisp/gnus/mail-source.el (mail-source-fetch-imap): Check
87471         `mail-source-password-cache' for password.
87473 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
87475         Add %DUMBFW to the default GnuTLS priority strings
87477         * lisp/net/gnutls.el (gnutls-boot-parameters): Add %DUMBFW to
87478         the default priority strings (Bug#25061).
87480         * etc/NEWS: Mention it.
87482         * doc/misc/emacs-gnutls.texi (Help For Users): Point to the
87483         GnuTLS priority string documentation URL.
87485 2017-12-15  Glenn Morris  <rgm@gnu.org>
87487         Small fixes prompted by make check-declare
87489         * lisp/frame.el (x-focus-frame): Update declaration.
87490         (ns-mouse-absolute-pixel-position): Fix declaration.
87491         * lisp/vc/diff-mode.el (diff-refine-hunk):
87492         Use smerge-refine-regions rather than obsolete alias.
87493         (smerge-refine-subst): Remove declaration, no longer relevant.
87495 2017-12-15  Glenn Morris  <rgm@gnu.org>
87497         Fix some custom groups
87499         * lisp/vc/vc-hooks.el (vc-faces): Rename from vc-state-faces.
87500         * lisp/vc/cvs-status.el (cvs-status): Unused, remove.
87502 2017-12-14  Alan Mackenzie  <acm@muc.de>
87504         Fix fontification of first declaration within a C++ lambda form.
87506         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Cease
87507         spuriously recognizing the braces of a lambda form as a brace list when there
87508         is an "=" preceding the introductory brackets.
87510 2017-12-14  Charles A. Roelli  <charles@aurox.ch>
87512         * src/data.c (Fadd_variable_watcher): Doc fix.
87514 2017-12-14  Alan Mackenzie  <acm@muc.de>
87516         Fix misfontification of C++ member initialization list after "throw"
87518         * lisp/progmodes/cc-engine.el (c-forward-type): Stop recognizing a "type"
87519         starting with "throw", by using c-opt-type-modifier-prefix-key.
87521         * lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): New lang const
87522         which, in C++, doesn't contain "throw", otherwise like c-type-modifier-kwds.
87523         (c-opt-type-modifier-prefix-key): New lang const and var, a regexp matching
87524         any keyword in the previous lang const.
87526 2017-12-14  Dmitry Gutov  <dgutov@yandex.ru>
87528         Consolidate 'widen' calls
87530         * lisp/progmodes/prog-mode.el (prog-indentation-context):
87531         Un-document all elements but the first.
87532         (prog-widen): Remove.
87533         (http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00321.html)
87535         * doc/lispref/text.texi (Mode-Specific Indent): Update.
87537         * lisp/progmodes/ruby-mode.el (ruby-calculate-indent):
87538         Don't call widen.
87540         * lisp/progmodes/python.el
87541         (python-indent-guess-indent-offset)
87542         (python-info-current-defun): Replace prog-widen with widen;
87543         these functions are not called during indentation.
87544         (python-indent-context)
87545         (python-indent--calculate-indentation)
87546         (python-info-dedenter-opening-block-message)
87547         (python-info-line-ends-backslash-p)
87548         (python-info-beginning-of-backslash)
87549         (python-info-continuation-line-p)
87550         (python-info-current-defun): Remove 'widen' calls.
87552         * lisp/indent.el (indent-according-to-mode)
87553         (indent-for-tab-command, indent-region): Move them here.
87555         * lisp/textmodes/mhtml-mode.el (mhtml-indent-line):
87556         Bind prog-indentation-context to one-element list.
87558 2017-12-14  Martin Rudalics  <rudalics@gmx.at>
87560         Fix doc-string of Fbuffer_list
87562         * src/buffer.c (Fbuffer_list): Fix doc-string.
87564 2017-12-14  Basil L. Contovounesios  <contovob@tcd.ie>
87566         Don't raise an extraneous frame (bug#29696)
87568         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Lookup
87569         summary buffer keys from article buffer without affecting window
87570         configuration (bug#29696).
87572 2017-12-13  Noam Postavsky  <npostavs@gmail.com>
87574         Mention new strictness for &optional, &rest in arglists (Bug#29165)
87576         * etc/NEWS: Explain that '&optional' not followed by a variable is now
87577         an error.
87578         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda, cl--do-&aux)
87579         (cl--do-arglist): Also reject '&optional', '&rest', or '&aux' not
87580         followed by a variable for consistency.
87581         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): New
87582         test.
87584 2017-12-13  Alan Mackenzie  <acm@muc.de>
87586         Don't misfontify "foo ()" inside C++ initialization parentheses as a type
87588         Also recognize and handle function names introduced by "extern" inside a
87589         function.
87591         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add a new element to
87592         the result list which is t when our declaration is, or is to be treated as,
87593         being at top level.
87595         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Detect being
87596         inside a C++ uniform initialization and return (not-decl nil) for this case.
87597         (c-font-lock-declarations): Use the new element 4 of the result of
87598         c-forward-decl-or-cast-1.
87600         * lisp/progmodes/cc-langs.el (c-make-top-level-kwds, c-make-top-level-key):
87601         New lang consts/vars.
87603 2017-12-13  Glenn Morris  <rgm@gnu.org>
87605         Fixes for defcustoms, prompted by cus-test-opts
87607         * lisp/files.el (save-some-buffers-default-predicate):
87608         * lisp/time.el (display-time-world-list):
87609         * lisp/gnus/gnus-art.el (gnus-article-show-cursor):
87610         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-names):
87611         * lisp/progmodes/verilog-mode.el (verilog-auto-wire-type):
87612         * lisp/textmodes/less-css-mode.el (less-css-output-directory)
87613         (less-css-output-file-name, less-css-input-file-name):
87614         * lisp/vc/emerge.el (emerge-metachars):
87615         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles):
87616         Fix :types.
87617         * lisp/net/newst-backend.el (newsticker-url-list-defaults): Fix url.
87619 2017-12-13  Glenn Morris  <rgm@gnu.org>
87621         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
87622         Update.
87624         * lisp/htmlfontify.el (hfy-which-etags): Fix it.
87626 2017-12-13  Glenn Morris  <rgm@gnu.org>
87628         Add missing :version tags revealed by cusver-check
87630         * lisp/comint.el (comint-move-point-for-matching-input):
87631         * lisp/epa.el (epa-replace-original-text):
87632         * lisp/image-dired.el (image-dired-cmd-optipng-program)
87633         (image-dired-cmd-optipng-options):
87634         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table):
87635         * lisp/gnus/gnus-cloud.el (gnus-cloud-storage-method)
87636         (gnus-cloud-interactive):
87637         * lisp/net/mailcap.el (mailcap-user-mime-data):
87638         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag)
87639         (c-noise-macro-names, c-noise-macro-with-parens-names):
87640         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode)
87641         (flymake-wrap-around):
87642         * lisp/progmodes/grep.el (grep-use-null-filename-separator):
87643         * lisp/progmodes/js.el (js-indent-align-list-continuation):
87644         * lisp/progmodes/perl-mode.el (perl-flymake-command):
87645         * lisp/progmodes/python.el (python-flymake-command)
87646         (python-flymake-command-output-pattern, python-flymake-msg-alist):
87647         * lisp/progmodes/ruby-mode.el (ruby-flymake-use-rubocop-if-available)
87648         (ruby-rubocop-config):
87649         * lisp/textmodes/less-css-mode.el (less-css):
87650         * lisp/textmodes/tex-mode.el (tex-chktex-program)
87651         (tex-chktex-extra-flags): Add missing :version tags.
87653 2017-12-13  Glenn Morris  <rgm@gnu.org>
87655         Escape column-zero doc parens
87657         * lisp/htmlfontify.el (hfy-display-class):
87658         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm):
87659         * lisp/net/shr.el (shr-external-rendering-functions):
87660         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag):
87661         * lisp/textmodes/tildify.el (tildify-tildify):
87662         Escape column-zero doc parens.  A shame bug#21871 remains unfixed.
87664 2017-12-12  Alan Third  <alan@idiocy.org>
87666         Remove ObjC blocks (Bug#23753)
87668         * src/macfont.m (macfont_get_glyph_for_character):
87669         (mac_font_get_glyphs_for_variants): Inline Objective-C blocks.
87671         (cherry picked from commit 4590f1d768adbb2120a2b02c614f7ed3b21a4a3e)
87673 2017-12-12  Eli Zaretskii  <eliz@gnu.org>
87675         Import the latest IVD_Sequences.txt
87677         * admin/unidata/IVD_Sequences.txt: New version from
87678         http://www.unicode.org/ivd/, the 2017-12-12 version of the Unicode
87679         Ideographic Variation Database.
87681         * src/macuvs.h: Regenerated.
87683 2017-12-11  Max  <mu@magi.net.ru>  (tiny change)
87685         Fix dired-do-compress when tar doesn't default to stdin (Bug#29094)
87687         * lisp/dired-aux.el (dired-compress-file-suffixes): Use argument '-f-'
87688         to write to stdout rather than relying on the default (the choice of
87689         default is decided when compiling tar, BSD systems usually set it to a
87690         tape drive).  Drop '-v', since the output is not used anywhere.
87692 2017-12-11  Noam Postavsky  <npostavs@gmail.com>
87694         Suppress warnings during elisp completion macroexpansion
87696         Errors are already suppressed, therefore it is logical to suppress
87697         warnings as well.  Some macros (e.g., use-package) may produce
87698         warnings when given the `elisp--witness--lisp' symbol.
87699         * lisp/progmodes/elisp-mode.el (elisp--local-variables): Let-bind
87700         warning-minimum-log-level to :emergency.
87702 2017-12-11  Chunyang Xu  <xuchunyang.me@gmail.com>
87704         * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bug#24410).
87706 2017-12-11  Michael Albinus  <michael.albinus@gmx.de>
87708         Make tramp-interrupt-process more robust
87710         * lisp/net/tramp.el (tramp-interrupt-process): Fall back to
87711         the default implementation if there's no success.
87713 2017-12-11  Katsumi Yamaoka  <yamaoka@jpl.org>
87715         Make quail-input-method work when inhibit-read-only is non-nil (bug#29504)
87717         * lisp/international/quail.el (quail-input-method): Work not only
87718         when buffer-read-only is nil but also when inhibit-read-only is non-nil
87719         (bug#29504).
87721 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
87723         Fix 'fontset-name-p'
87725         * lisp/international/fontset.el (fontset-name-p): Make the
87726         function work with full fontset names and fontset alias names.
87728 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
87730         Fix fontset documentation inconsistencies for bug#29630
87732         * doc/lispref/display.texi (Face Attributes): Don't document
87733         :family as accepting a fontset.  Document that :font accepts a
87734         fontset.
87736         * lisp/faces.el (set-face-attribute): Doc fix.
87738 2017-12-10  Martin Rudalics  <rudalics@gmx.at>
87740         Remove sentence from child frames section in Elisp manual
87742         * doc/lispref/frames.texi (Child Frames): Remove one sentence.
87743         Suggested by Bob Weiner <rsw@gnu.org>.
87745 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
87747         Avoid crashes in 'font-at' after 'set-fontset-font'
87749         * src/fontset.c (free_realized_fontsets): Call
87750         recompute_basic_faces, so that the basic faces are available to
87751         any Lisp that calls this function, e.g. via set-fontset-font.
87752         (Bug#29632)
87754 2017-12-10  Ted Zlatanov  <tzz@lifelogs.com>
87756         * lisp/files-x.el (connection-local-set-profile-variables): Fix docstring.
87758 2017-12-09  Ted Zlatanov  <tzz@lifelogs.com>
87760         Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
87762         Problem reported by Mark Ferlatte (Bug#28603).
87763         * lisp/net/gnutls.el (gnutls-trustfiles): Add /etc/ssl/cert.pem for macOS.
87765 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
87767         Fix tool-tip display when display margins are non-zero by default
87769         * src/buffer.h (bset_left_margin_cols, bset_right_margin_cols):
87770         New inline functions.
87771         * src/xfns.c (Fx_show_tip):
87772         * src/w32fns.c (Fx_show_tip): Force display margins of the tip
87773         buffer to zero, as it will be displayed in a pseudo-window, which
87774         doesn't support display margins.  (Bug#29627)
87776 2017-12-09  Eric Abrahamsen  <eric@ericabrahamsen.net>
87778         Handle hash tables and vectors when reading/writing EIEIO objects
87780         * lisp/emacs-lisp/eieio.el (eieio-override-prin1): EIEIO objects
87781           printed with `prin1' can no longer be read with `read'. Make sure
87782           they are printed with object-write instead, even when they're inside
87783           hash tables and vectors.
87784         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
87785           Check for written representations of objects inside hash tables and
87786           vectors, and reconstruct them.
87788 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
87790         Improve interactive debugging commands in xdisp.c
87792         * src/xdisp.c (Fdump_glyph_row, Fdump_tool_bar_row): Allow to
87793         specify ROW via prefix argument.  Fix the doc strings.
87795 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
87797         Fix calculation of continuation_pixel_width in display engine
87799         * src/xdisp.c (display_line): Remove incorrect increment of
87800         it->continuation_pixel_width when word-wrap is used.  (Bug#29594)
87802 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
87804         Improve documentation of 'save-abbrevs'.
87806         * doc/emacs/abbrevs.texi (Saving Abbrevs): Document the 'silently'
87807         value of 'save-abbrevs'.  Suggested by Alex Branham
87808         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
87810 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
87812         Improve documentation of Dired
87814         * doc/emacs/dired.texi (Dired): Mention that the Dired buffer can
87815         be made modifiable in Wdired.  Suggested by Alex Branham
87816         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
87818 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
87820         * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
87822 2017-12-08  Michael Albinus  <michael.albinus@gmx.de>
87824         Minor Tramp fixes
87826         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
87827         Fix a bug when renaming.
87829         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
87830         (tramp-test42-delay-load, tramp-test42-remote-load-path):
87831         Skip unless Emacs >= 26.
87833 2017-12-08  Glenn Morris  <rgm@gnu.org>
87835         * lisp/help-mode.el (help-function-def):
87836         Allow help-make-xrefs to call with one argument.  (Bug#29611)
87838 2017-12-07  Martin Rudalics  <rudalics@gmx.at>
87840         Fix doc-string of 'display-buffer-in-side-window'
87842         * lisp/window.el (display-buffer-in-side-window): In doc-string
87843         clarify why the window returned gets dedicated to its buffer.
87845 2017-12-06  Michael Albinus  <michael.albinus@gmx.de>
87847         Fix Bug#29579
87849         * lisp/files.el (file-name-non-special):
87850         Inhibit `file-name-handler-alist' only for some operations.
87851         Add missing operations.  (Bug#29579)
87853         * lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
87854         Do not quote if it is quoted already.
87856         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
87857         Use `copy-tree' but `copy-sequence'.
87859         * lisp/net/tramp.el (tramp-handle-file-truename): Handle several
87860         trailing slashes correctly.
87862         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
87863         (tramp-test12-rename-file, tramp-test24-file-acl)
87864         (tramp-test25-file-selinux, tramp--test-check-files):
87865         Handle also quoted file names.
87866         (tramp-test21-file-links): Fix file name quoting test.
87867         (tramp-test24-file-acl): Be more robust for "smb" method.
87868         (tramp-test35-make-auto-save-file-name): Enable hidden test cases.
87870 2017-12-06  Rasmus  <rasmus@gmx.us>
87872         Backport: Update Org to v9.1.4
87874         Please note this is a bugfix release. See etc/ORG-NEWS for details.
87876         (cherry picked from commit 567b5efe1f338c10c574758fb968915c5c34c909)
87878 2017-12-06  Martin Rudalics  <rudalics@gmx.at>
87880         In windows.texi mention special splitting behavior of side and atomic windows
87882         * doc/lispref/windows.texi (Splitting Windows): Add note about
87883         and links to side and atomic windows.
87885 2017-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
87887         * lisp/gnus/gnus-group.el (gnus-group-mode-map):
87888         Bind [follow-link] to mouse-face, not 'mouse-face (bug#29538).
87890 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
87892         Avoid compilation warning in xterm.c
87894         * src/xterm.c (x_draw_underwave): Move the declaration of
87895         'thickness' to the non-USE_CAIRO branch, to avoid compiler
87896         warning.  (Bug#29567)
87898 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
87900         * README: Document all the top-level directories.  (Bug#29558)
87902 2017-12-04  Glenn Morris  <rgm@gnu.org>
87904         Don't enable erc modules on simply loading erc.el
87906         * lisp/erc/erc.el (erc-modules): Use default :initialize.  (Bug#29417)
87908 2017-12-03  Lars Ingebrigtsen  <larsi@gnus.org>
87910         Allow shr to use data: URLs without encoding
87912         * lisp/net/shr.el (shr-image-from-data): Don't bug out on
87913         image data: URLs that have no base64 encoding like
87914         (shr-image-from-data
87915         "text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").
87917 2017-12-03  E. Choroba  <choroba@matfyz.cz>  (tiny change)
87919         Don't add newlines in minibuffer history
87921         * lisp/simple.el (next-line-or-history-element): Bind
87922         next-line-add-newlines to nil.  (Bug#29529)
87924 2017-12-03  Syohei YOSHIDA  <syohex@gmail.com>
87926         modhelp.py: Support Python 3 (Bug#24954)
87928         * modules/modhelp.py: 'print' statement was removed in Python
87929         3.  'print' function should be used instead of 'print' statement.
87931 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
87933         Use forward slashes for python w32 config example (Bug#21656)
87935         * lisp/progmodes/python.el: Use forward slashes for Windows path
87936         example, it doesn't require doubling of slashes which reduces chances
87937         of confusion.
87939 2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>
87941         Fix bug in i18n/l10n optimization
87943         This fixes a off-by-one buffer overrun bug introduced in
87944         2017-06-04T15:39:37Z!eggert@cs.ucla.edu.  Problem uncovered by an
87945         experimental version of Emacs built with -fcheck-pointer-bounds
87946         and running on Intel MPX hardware.
87947         * src/editfns.c (styled_format): Avoid overrunning internal buffers.
87949 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
87951         Let autoload-compute-prefix be set file-locally (Bug#29471)
87953         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): Mark
87954         boolean values as safe.
87956 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
87958         Improve edit-kbd-macro prompting in case of remapped keys (Bug#29399)
87960         * lisp/edmacro.el (edit-kbd-macro): Use substitute-command-keys to
87961         present the current bindings in the prompt.  Check the
87962         non-remapped binding of the entered key sequence as well.
87964 2017-12-02  Lele Gaifax  <lele@metapensiero.it>
87966         Add tests on electric-indentation and Python multiline strings (Bug#29305)
87968         * test/lisp/progmodes/python-tests.el
87969         (python-indent-electric-comma-inside-multiline-string,
87970         python-indent-electric-comma-after-multiline-string): New tests.
87972 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
87974         Disable electric indent for python strings (Bug#29305)
87976         * lisp/progmodes/python.el (python-indent-post-self-insert-function):
87977         Do nothing when point or beginning of line is in string.
87979 2017-12-02  Yuuki Harano  <masm-emacs@masm11.ddo.jp>  (tiny change)
87981         Fix buffer overflow in fontname conversion (Bug#29523)
87983         * src/nsterm.m (ns_xlfd_to_fontname): Fix sscanf format.
87985 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
87987         Fix byte compilation of files with leading directories
87989         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Pass basename
87990         of target-file to make-temp-file, in case target-file includes a
87991         leading directory that might not exist under TMPDIR.  See
87992         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00680.html
87993         for the details.
87995 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
87997         * lisp/files.el (make-backup-file-name-1): Fix scoping error.
87999 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
88001         Revert Tramp commit from 2017-11-20
88003         * lisp/net/tramp.el (tramp-drop-volume-letter)
88004         (tramp-handle-find-backup-file-name): Revert change from
88005         2017-11-20.  Emacs' `make-backup-file-name-1' handles this
88006         case now.
88008 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
88010         Improve documentation of buffer-list commands and features
88012         * doc/emacs/buffers.texi (List Buffers): Add a cross-reference to
88013         "Several Buffers", to establish a relation between the two
88014         sections.
88015         (Buffer Menus): Expand on customizability of alternative buffer
88016         menu offered by bs.el.  Mention IBuffer.
88017         Suggested by Alex Branham <alex.branham@gmail.com> in
88018         emacs-manual-bugs@gnu.org.
88020 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
88022         Fix backing up remote files in local directories on MS-Windows
88024         * lisp/files.el (make-backup-file-name-1): Support remote file
88025         names correctly when they are backed up into a local directory on
88026         MS-Windows and MS-DOS.  (Bug#29440)
88028 2017-12-02  Glenn Morris  <rgm@gnu.org>
88030         * doc/emacs/mule.texi (Output Coding): Clarify sendmail coding.
88032 2017-12-01  John Wiegley  <johnw@newartisans.com>
88034         Revert "Fix backing up remote files in local directories on MS-Windows"
88036         This reverts commit 8c8b6732882248df4ca3b687e0a4b4e5e4ab3777.
88038 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
88040         Fix a typo in ELisp manual
88042         * doc/lispref/sequences.texi (Sequence Functions): Fix the example
88043         of using 'seq-uniq'.  (Bug#29524)
88045 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
88047         * lisp/composite.el (find-composition): Fix a typo in the doc string.
88049 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
88051         Fix backing up remote files in local directories on MS-Windows
88053         * lisp/files.el (make-backup-file-name-1): Support remote file
88054         names correctly when they are backed up into a local directory on
88055         MS-Windows and MS-DOS.  (Bug#29440)
88057 2017-12-01  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
88059         Fix vertical cursor motion in pixel-scroll.el
88061         * lisp/pixel-scroll.el (pixel-scroll-up): Move cursor down
88062         regardless of whether EOB is shown at the top.
88063         (pixel-scroll-down) Move cursor up regardless of whether BOB
88064         is shown at the top.  (Bug#29374)
88066 2017-12-01  Basil L. Contovounesios  <contovob@tcd.ie>
88068         Fix typos in doc strings of message.el
88070         * lisp/gnus/message.el (message-header-to)
88071         (message-header-subject, message-header-newsgroups)
88072         (message-header-other): Fix typos in doc strings.  (Bug#29405)
88074 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
88076         Fix a typo in the Emacs manual
88078         * doc/emacs/abbrevs.texi (Abbrev Concepts): Fix a typo.  Reported
88079         by clemens.radermacher@posteo.de in emacs-manual-bugs@gnu.org.
88081 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
88083         Improve the documentation of 'table-insert-sequence'
88085         * doc/emacs/text.texi (Table Misc): Fix the description of
88086         'table-insert-sequence'.  Reported by jack <jackh@gmx.co.uk> in
88087         emacs-manual-bugs@gnu.org.
88089 2017-12-01  Paul Eggert  <eggert@cs.ucla.edu>
88091         Port better to QNX
88093         Problem reported by Elad Lahav on emacs-devel.
88094         * configure.ac: On QNX, default CC to qcc (a GCC wrapper),
88095         and default LDFLAGS to -N2MB so that the initial stack size
88096         is not too small.  Also, fix misspelling of ‘qnxnto’.
88098 2017-11-30  Michael Albinus  <michael.albinus@gmx.de>
88100         Make tramp-test42-auto-load more robust
88102         * test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
88103         Make it more robust.  Don't skip.
88105 2017-11-30  Eli Zaretskii  <eliz@gnu.org>
88107         Avoid assertions in find-composition
88109         * src/font.c (font_range): If called with STRING non-nil and FACE
88110         a NULL pointer, compute face by calling face_at_string_position.
88111         (Bug#29506)
88113         * lisp/composite.el (find-composition): Doc fix.
88115 2017-11-29  Glenn Morris  <rgm@gnu.org>
88117         Restore obsolete method of changing byte-compile-dest-file
88119         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
88120         Restore seven-year obsolete feature that was removed for six months,
88121         since automake uses it.
88123 2017-11-29  Michael Albinus  <michael.albinus@gmx.de>
88125         Some minor Tramp corrections
88127         * lisp/net/tramp.el (tramp-handle-directory-file-name):
88128         Handle several trailing slashes correctly.
88129         (tramp-handle-file-selinux-context): New defun.
88131         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
88132         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
88133         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
88134         Use `tramp-handle-file-selinux-context'.
88136         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
88137         Extend test.
88138         (tramp-test17-insert-directory): Make check more robust.
88139         (tramp-test42-auto-load): Combine several let forms.
88140         (tramp-test42-delay-load, tramp-test42-recursive-load)
88141         (tramp-test42-remote-load-path, tramp-test43-unload): Rename.
88143 2017-11-29  Tino Calancha  <tino.calancha@gmail.com>
88145         * doc/misc/url.texi (http/https): Fix typo
88147 2017-11-29  Glenn Morris  <rgm@gnu.org>
88149         Remove some bogus definition-prefixes from loaddefs
88151         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
88152         Don't register a definition prefix from define-erc-module,
88153         which adds an erc- prefix to its argument.
88155 2017-11-28  Robert Pluim  <rpluim@gmail.com>
88157         Shell-quote wildcards when invoking 'vc-git-grep'
88159         * lisp/vc/vc-git.el (vc-git-grep): Apply shell quoting to
88160         filename wildcards to ensure globbing is done by git rather
88161         than the shell.  (Bug#29303)
88163 2017-11-28  Kaushal Modi  <kaushal.modi@gmail.com>
88165         Update documentation of '.dir-locals-2.el'
88167         See https://lists.gnu.org/r/emacs-devel/2017-11/msg00649.html
88168         for more details.
88169         * lisp/files.el (dir-locals-file-2): Remove unused constant.
88170         * lisp/files.el (dir-locals-file): Mention ".dir-locals-2.el" in
88171         the doc string.
88172         * doc/lispref/variables.texi (Directory Local Variables): Mention
88173         ".dir-locals-2.el".
88174         * etc/NEWS: Replace `dir-locals-file-2' mention with
88175         `dir-locals-file'.
88177 2017-11-27  Noam Postavsky  <npostavs@gmail.com>
88179         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64]: Bump to 22 MiB.
88181 2017-11-27  Glenn Morris  <rgm@gnu.org>
88183         A few small doc fixes for bytecomp.el
88185         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-file-regexp)
88186         (byte-compile-dest-file-function, byte-compile-dest-file): Doc fixes.
88188 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
88190         * src/lread.c (syms_of_lread): Fix thinko in commit b1573a97e17b5
88192 2017-11-27  Glenn Morris  <rgm@gnu.org>
88194         * lisp/tree-widget.el (tree-widget-end-guide): Escape it.  (Bug#27797)
88196 2017-11-27  Eli Zaretskii  <eliz@gnu.org>
88198         Fix ELisp "Warning Tips"
88200         * doc/lispref/tips.texi (Warning Tips): Clarify when to use
88201         'require' wrapped by 'eval-when-compile'.  (Bug#29462)
88203 2017-11-27  Michael Albinus  <michael.albinus@gmx.de>
88205         Fix Bug#29163
88207         * lisp/net/tramp.el (tramp-autoload-file-name-regexp):
88208         Do not use "\\'" in regexp.  (Bug#29163)
88209         (top) Do not run (tramp-register-autoload-file-name-handlers)
88210         when loading tramp.el.
88212         * test/lisp/net/tramp-tests.el (tramp--test-mock-p): New defun.
88213         (tramp-test32-environment-variables-and-port-numbers)
88214         (tramp-test41-asynchronous-requests): Use it.
88215         (tramp-test42-auto-load): New test.
88216         (tramp-test43-recursive-load, tramp-test44-remote-load-path)
88217         (tramp-test45-delay-load, tramp-test46-unload): Rename.
88219 2017-11-27  Paul Eggert  <eggert@union>
88221         Harden exec_byte_code against redefining 'error'
88223         Problem discovered by configuring with --enable-gcc-warnings on
88224         Ubuntu 17.10 x86-64 with gcc (Ubuntu 7.2.0-8ubuntu3).
88225         * src/bytecode.c (exec_byte_code): Call the C error function
88226         instead of the Lisp one, so that the Emacs interpreter does not go
88227         haywire if the user redefines the Lisp error function.
88229 2017-11-27  Gemini Lasswell  <gazally@runbox.com>
88231         Fix Edebug specs for if-let* and and-let* (Bug#29236)
88233         * test/lisp/emacs-lisp/subr-x-tests.el (if-let*, if-let):
88234         Change Edebug spec to cause Edebug to instrument tests the
88235         results of which are not bound to symbols (the (VALUEFORM)
88236         case).
88237         (and-let*): Change Edebug spec to allow empty body.
88239         *test/lisp/emacs-lisp/subr-x-tests.el:
88240         (subr-x-and-let*-test-group-1): Add missing quote to erroneous
88241         form so Edebug will work on this test.
88243 2017-11-26  Gemini Lasswell  <gazally@runbox.com>
88245         Fix Edebug's handling of dotted specs (bug#6415)
88247         * lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Use
88248         cl-macro-list1 instead of cl-macro-list in Edebug spec.
88250         * lisp/emacs-lisp/edebug.el (edebug-after-dotted-spec): Delete
88251         unused variable.
88252         (edebug-dotted-spec): Add docstring.
88253         (edebug-match-specs): Allow &optional and &rest specs to
88254         match nothing at the tail of a dotted form. Handle matches of
88255         dotted form tails which return non-lists.
88257         * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-dotted-forms):
88258         New test.
88260         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el:
88261         (edebug-test-code-use-destructuring-bind): New function.
88263 2017-11-26  Eli Zaretskii  <eliz@gnu.org>
88265         Improve documentation of "constant" symbols
88267         * src/font.c (syms_of_font) <font-weight-table, font-slant-table>
88268         <font-width-table>:
88269         * src/data.c (syms_of_data) <most-positive-fixnum>
88270         <most-negative-fixnum>:
88271         * src/buffer.c (syms_of_buffer) <enable-multibyte-characters>:
88272         Mention in the doc strings that these variables are read-only.
88274         * doc/lispref/variables.texi (Creating Buffer-Local): Document
88275         that making a constant variable buffer-local signals an error.
88276         * doc/lispref/variables.texi (Constant Variables):
88277         * doc/lispref/errors.texi (Standard Errors): More accurate and
88278         up-to-date documentation of which symbols cannot be assigned
88279         values.
88281 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
88283         maint: shorten https://lists.gnu.org/archive/html/... links
88285 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
88287         Merge from Gnulib
88289         This incorporates:
88290         2017-11-23 stat: work around Solaris bug with tv_nsec < 0
88291         2017-11-12 maint: shorten https://lists.gnu.org/archive/html/... links
88292         * build-aux/config.sub, doc/misc/texinfo.tex, lib/allocator.h:
88293         * lib/fstatat.c, lib/intprops.h, lib/lstat.c, lib/signal.in.h:
88294         * lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
88295         * lib/timespec.h, m4/alloca.m4, m4/extern-inline.m4:
88296         * m4/faccessat.m4, m4/fstatat.m4, m4/gnulib-common.m4:
88297         * m4/lstat.m4, m4/std-gnu11.m4, m4/sys_types_h.m4:
88298         * m4/vararrays.m4:
88299         Copy from Gnulib.
88301 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
88303         Work around GCC bug 80776 on Fedora 27 x86
88305         * src/buffer.c (Fgenerate_new_buffer_name): Pacify GCC 7.2.1
88306         20170915 (Red Hat 7.2.1-2) on i686 with -Wformat-overflow -O2 by
88307         using XINT rather than XFASTINT and by adding an eassume.  This
88308         works around GCC bug 80776.
88310 2017-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88312         Tweak copy-file, rename-file doc
88314         * src/fileio.c (Fcopy_file, Frename_file): Tweak the recent change
88315         slightly, as NEWNAME is treated as a directory name depending only
88316         on the contents of the NEWNAME string, and independently of
88317         whether NEWNAME names a directory (i.e., whether the directory
88318         exists) (Bug#29362).
88320 2017-11-25  Tom Tromey  <tom@tromey.com>
88322         Change font-lock-extend-region-multiline handling in mhtml-mode
88324         Bug#29159
88325         * lisp/textmodes/mhtml-mode.el (mhtml-mode): Remove
88326         font-lock-extend-region-multiline from
88327         font-lock-extend-region-functions.
88328         (mhtml--extend-font-lock-region): Call font-lock-extend-region-multiline.
88330 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
88332         Minor cleanup in tramp-gvfs-handle-file-local-copy
88334         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy):
88335         Move error message up.
88337 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
88339         Add test for Bug#29423 in Tramp.
88341         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
88342         Add test for Bug#29423.
88344 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
88346         Avoid jumbled order in HTML rendered by shr.el
88348         * lisp/net/shr.el (shr-render-td): Preserve point, as
88349         shr-render-td-1 might move it as a side effect of
88350         save-window-excursion.  (Bug#29348)
88352 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
88354         Make sure 'dired-filename' property is always put by ls-lisp
88356         * lisp/ls-lisp.el (ls-lisp-classify): Do not put the
88357         'dired-filename' text property on the file name here...
88358         (ls-lisp-classify-file): ...put it here instead.  (Bug#29423)
88360 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
88362         A better solution for bug#29347
88364         * src/thread.c (really_call_select): Don't try to take the global
88365         lock if the same thread is already holding it.  (Bug#29347)
88367 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
88369         Avoid a hang after C-g while sit-for on a Unix TTY
88371         * src/thread.c (acquire_global_lock): Don't try to take the global
88372         lock if the same thread is already holding it.  (Bug#29347)
88374 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
88376         Improve the doc string of 'list-packages'
88378         * lisp/emacs-lisp/package.el (list-packages): Describe in the doc
88379         string the columns shown by the command.  (Bug#29420)
88381 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
88383         Improve discoverability of 'defvar' for suppressing warnings
88385         * doc/lispref/compile.texi (Compiler Errors): Add index entries.
88386         * doc/lispref/variables.texi (Defining Variables): Mention that
88387         defvar with no value is used for suppressing compiler warnings.
88388         (Bug#29400)
88390 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
88392         Improve discoverability of 'read-buffer-completion-ignore-case'
88394         * lisp/window.el (switch-to-buffer)
88395         (switch-to-buffer-other-window, switch-to-buffer-other-frame):
88396         Mention 'read-buffer' in the doc string.  (Bug#29389)
88398         * doc/emacs/buffers.texi (Select Buffer): Add a cross-reference to
88399         where 'read-buffer-completion-ignore-case' is documented.
88401 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
88403         Improve documentation of self-insert-uses-region-functions
88405         * lisp/simple.el (self-insert-uses-region-functions): Clarify the
88406         doc string.
88407         * lisp/delsel.el (delete-selection-uses-region-p): Mention
88408         'self-insert-command' in the doc string.  (Bug#29373)
88410         * doc/lispref/text.texi (Commands for Insertion): Mention
88411         'self-insert-uses-region-functions'.
88412         * doc/lispref/modes.texi (Keymaps and Minor Modes): Add a
88413         cross-reference to "Commands for Insertion".
88415 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
88417         Reflect changes in copy-file and rename-file in doc strings
88419         * src/fileio.c (Fcopy_file, Frename_file): Mention in the doc
88420         strings that directory names must end in a slash.  (Bug#29362)
88422 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
88424         * lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix.  (Bug#29407)
88426 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
88428         Reorder type predicates in ELisp manual
88430         * doc/lispref/objects.texi (Type Predicates): Restore alphabetical
88431         order of listed predicates.  (Bug#29411)
88433 2017-11-23  Eli Zaretskii  <eliz@gnu.org>
88435         Fix backward scrolling in buffers with header-line
88437         * src/window.c (window_scroll_pixel_based): Account for the
88438         header-line when comparing Y coordinate with the last_visible_y.
88439         (Bug#29325)
88441 2017-11-22  Glenn Morris  <rgm@gnu.org>
88443         * lisp/bindings.el (buffer-file-coding-system):
88444         Add explicit permanent-local mark.
88446         * src/fns.c (syms_of_fns) <overriding-plist-environment>: Doc fix.
88448 2017-11-22  Alan Third  <alan@idiocy.org>
88450         Fix incorrect interaction of drag/drop and double click (bug#29121)
88452         * src/nsterm.m (EmacsView::performDragOperation): Drag and drop
88453         doesn't use ns-input-file.
88455 2017-11-22  Glenn Morris  <rgm@gnu.org>
88457         * lisp/menu-bar.el (menu-bar-options-save):
88458         Add display-line-numbers-type.
88460         * lisp/menu-bar.el (menu-bar-options-save):
88461         Add global-display-line-numbers-mode.  (Bug#28396)
88463         * lisp/follow.el (follow-mode): Restore mode line lighter.  (Bug#28495)
88465 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
88467         Extract the common part of ruby-flymake-simple and ruby-flymake-rubocop
88469         * lisp/progmodes/ruby-mode.el (ruby-flymake-simple)
88470         (ruby-flymake-rubocop):
88471         Extract the common part as ruby-flymake--helper.
88472         (ruby--rubocop-flymake-proc): Remove.  Use the first proc
88473         variable instead.
88475 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
88477         Add Rubocop Flymake backend
88479         * lisp/progmodes/ruby-mode.el (ruby-flymake-command):
88480         Inline the value.  There are no known substitutes.
88481         (ruby-flymake): Rename to `ruby-flymake-simple' and simplify
88482         the docstring.
88483         (ruby-flymake-use-rubocop-if-available): New option.
88484         (ruby--rubocop-flymake-proc): New variable.
88485         (ruby-rubocop-config): New option.
88486         (ruby-flymake-rubocop, ruby-flymake-auto): New functions.
88487         (ruby-mode): Use `ruby-flymake-auto'.
88489 2017-11-21  Noam Postavsky  <npostavs@gmail.com>
88491         Update nt/INSTALL.W64 (Bug#28601)
88493         * nt/INSTALL.W64 (Download and install MinGW-w64 and MSYS2): Move
88494         suggestion about modifying PATH to...
88495         (Test Emacs): ... here.
88496         (Run configure): Remove the unnecessary setting of PKG_CONFIG_PATH.
88497         (Troubleshooting): New section, includes suggestion to check
88498         PKG_CONFIG_PATH.
88500 2017-11-21  Charles A. Roelli  <charles@aurox.ch>
88502         Remove incorrect NEWS item about VC state indicator (Bug#28817)
88504         * etc/NEWS (VC and related modes): Remove news item about the VC
88505         state indicator.  This should have been done with commit 7882dc6
88506         of 2016-03-06 'Revert "Use colors in the VC mode lines"'.
88508 2017-11-21  Glenn Morris  <rgm@gnu.org>
88510         * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.
88512 2017-11-21  Alan Mackenzie  <acm@muc.de>
88514         Make c-defun-name analyze more thoroughly a function type which is a struct
88516         This fixes bug #29293.
88518         * lisp/progmodes/cc-cmds.el (c-defun-name): When a struct (etc.) type is
88519         encountered, check whether it is the return type of a function rather than a
88520         declaration of the struct itself.  Similarly adapt the cond arm which deals
88521         with functions properly to recognize struct return types.
88523 2017-11-21  Glenn Morris  <rgm@gnu.org>
88525         Avoid bogus abbreviated file names if HOME changes
88527         * lisp/files.el (abbreviate-file-name):
88528         If HOME changes, ignore `abbreviated-home-dir'.  (Bug#19657#20)
88529         * test/lisp/files-tests.el (files-test-abbreviated-home-dir): New.
88531 2017-11-21  Glenn Morris  <rgm@gnu.org>
88533         * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.
88535 2017-11-21  Jay Kamat  <jaygkamat@gmail.com>  (tiny change)
88537         Fix erc keep-place module with new defaults (Bug#29111)
88539         * lisp/erc/erc-goodies.el (erc-keep-place): Allow erc
88540         keep-place to continue working with
88541         switch-to-buffer-preserve-window-point set to t, the new default.
88543 2017-11-20  Alan Third  <alan@idiocy.org>
88545         Add window divider faces to NS (bug#29353)
88547         * src/nsterm.m (ns_draw_window_divider): Use
88548         window-divider-first-pixel and window-divider-last-pixel faces.
88550 2017-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
88552         * src/keyboard.c: Undo last change, meant for master only
88554 2017-11-20  Michael Albinus  <michael.albinus@gmx.de>
88556         Fix Bug#29149
88558         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle also
88559         backup file names.
88560         (tramp-handle-find-backup-file-name):
88561         Call `tramp-drop-volume-letter' on the results.  (Bug#29149)
88563 2017-11-20  Martin Rudalics  <rudalics@gmx.at>
88565         Fix misbehavior when drawing three-pixel high horizontal dividers (Bug#29353)
88567         * src/xterm.c (x_draw_window_divider):
88568         * src/w32term.c (w32_draw_window_divider): Fix misbehavior when
88569         drawing three-pixel high horizontal dividers (Bug#29353).
88571         The misbehavior was noted by Keith David Bershatsky and analyzed by Alan
88572         Third.
88574 2017-11-19  Mike Kupfer  <mkupfer@alum.berkeley.edu>
88576         MH-E: don't automatically download external-body parts
88578         * lisp/mh-e/mh-mime.el (mh-mime-display-single): Use
88579         mm-automatic-display-p to verify that a part should be
88580         displayed before doing the inline checks (SF#475).
88582 2017-11-19  Michael Albinus  <michael.albinus@gmx.de>
88584         Further fix for Bug#29291
88586         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
88587         Check for local ACL support.  (Bug#29291)
88589 2017-11-19  Alan Third  <alan@idiocy.org>
88591         Fix divider frame params on NS (bug#29352)
88593         * src/nsfns.m (Fx_create_frame): Set right-divider-width and
88594         bottom-divider-width parameters.
88596 2017-11-19  Paul Eggert  <eggert@cs.ucla.edu>
88598         Spelling fixes
88600         * lisp/help-fns.el (help-fns--analyze-function):
88601         Rename from help-fns--analyse-function.
88602         All uses changed.
88604 2017-11-19  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
88606         * src/keyboard.c: Make xterm-mouse clicks on mode-line work
88608         (read_key_sequence): Recompute first_event
88609         after replay_sequence, since it might have changed (bug#29104).
88611 2017-11-18  Martin Rudalics  <rudalics@gmx.at>
88613         Don't let delete_frame select a tooltip frame (Bug#27647)
88615         * src/frame.c (delete_frame): Don't select a tooltip
88616         frame. (Bug#27647)
88618 2017-11-18  Alan Mackenzie  <acm@muc.de>
88620         Filter obtrusive events in help-read-key-sequence.
88622         This fixes most of bug #29272.
88624         * lisp/help.el (help-read-key-sequence): After a mouse event, pause for 0.01s,
88625         discarding any events (such as <help-echo>) received in this time, before
88626         polling for the double-click (etc.) events which may follow.  This fixes the
88627         infinite loop which occurred whwn <help-echo> events triggered a sit-for
88628         whilst handling menu events.
88630 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
88632         Fix symlink flag in tramp-gvfs-handle-file-attributes
88634         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
88635         Set proper symlink file mode flag.
88637 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
88639         Fix bug in tramp-handle-file-truename
88641         * lisp/net/tramp.el (tramp-handle-file-truename): Expand localname.
88643         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Check also
88644         relative symbolic links.
88646 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
88648         Fix a typo in doc string of electric-indent-functions-without-reindent
88650         * lisp/electric.el (electric-indent-functions-without-reindent):
88651         Doc fix.  (Bug#29304)
88653 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
88655         Avoid assertion violations in echo_area_display
88657         * src/xdisp.c (echo_area_display): Don't try redisplaying the echo
88658         area if the selected-frame's mini-window is nil.  (Bug#27647)
88660 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
88662         Fix case-folding in Occur
88664         * lisp/replace.el (occur-engine): Bind case-fold-search in each
88665         buffer we search.  (Bug#29254)
88667 2017-11-18  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
88669         Fix quick-calc in C mode with hex values
88671         * lisp/calc/calc-aent.el (math-read-token): Make sure the match
88672         against "0[xX][0-9a-fA-F]+" is found at math-exp-pos.  See
88673         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00174.html
88674         for the details.
88676 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
88678         Improve documentation of dired-next/prev-marked-file
88680         * lisp/dired.el (dired-next-marked-file, dired-prev-marked-file):
88681         Doc fixes.  (Bug#29340)
88683 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
88685         Prevent aborts in line-move-visual
88687         * src/indent.c (line_number_display_width): Avoid assertion
88688         violations in init_iterator when the window's buffer was
88689         temporarily switched without updating window-start.  (Bug#29326)
88691 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
88693         More fixes in src/.gdbinit
88695         * src/.gdbinit (pwinx): Update to match 'struct window'.
88696         (pcursorx): Use "." instead of "->" because the argument is a
88697         struct, not a pointer.
88699 2017-11-17  Robert Pluim  <rpluim@gmail.com>
88701         Document how to enter whitespace when using grep-read-files
88703         * lisp/progmodes/grep.el (lgrep, rgrep, grep-read-files): Explain
88704         how to enter whitespace when using grep-read-files.  (Bug#29303)
88705         * lisp/progmodes/project.el (project-find-regexp): Likewise.
88706         * lisp/vc/vc-git.el (vc-git-grep): Likewise.
88708 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
88710         Fix .gdbinit following lisp.h changes
88712         * src/.gdbinit (xsymname, pwinx, pgx, xbuffer, xcar, xcdr, xlist)
88713         (xprintstr): Adapt to latest changes in Lisp object C structures.
88714         (Bug#29332)
88716 2017-11-15  Charles A. Roelli  <charles@aurox.ch>
88718         * lisp/simple.el (shell-command): Doc fixes.
88720 2017-11-15  Noam Postavsky  <npostavs@gmail.com>
88722         Fix marker adjustment for undo (Bug#29118)
88724         * lisp/simple.el (primitive-undo): Compare marker against absolute
88725         value of POS, because the sign of POS is irrelevant to markers.
88727 2017-11-14  Daniel Pittman  <slippycheeze@google.com>
88729         Fix Bug#28139
88731         * lisp/net/tramp-sh.el: Set TERM and INSIDE_EMACS environment earlier.
88732         (tramp-remote-process-environment): Remove TERM and INSIDE_EMACS.
88733         (tramp-remote-process-environment): Document their special handling.
88734         (tramp-open-shell): Set TERM and INSIDE_EMACS prior to starting the
88735         initial remote shell, so that it is also aware of the environment
88736         in which it is operating.  (Bug#28139)
88738 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
88740         Fix Bug#29291
88742         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
88743         Preserve permissions when copying.  (Bug#29291)
88745 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
88747         Fix Bug#2928
88749         * test/lisp/net/tramp-tests.el (tramp-test25-file-selinux):
88750         Enhance test.  (Bug#29287)
88751         (tramp-test44-delay-load): Fix for older Emacsen.
88753 2017-11-14  Martin Rudalics  <rudalics@gmx.at>
88755         Make 'mouse-drag-and-drop-region' work with 'mouse-autoselect-window' non-nil
88757         * lisp/mouse.el (mouse-drag-and-drop-region): Ignore
88758         'select-window' events to make it work with
88759         'mouse-autoselect-window'.
88761 2017-11-14  Alexander Gramiak  <agrambot@gmail.com>
88763         * etc/PROBLEMS: Remove fixed xterm-mouse-mode problems
88765         See: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29143#26
88767 2017-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
88769         Fix cookie handling (bug#29282)
88771         * lisp/url/url-cookie.el (url-cookie-handle-set-cookie):
88772         Regard a Set-Cookie header as it contains a single cookie;
88773         prefer Max-Age to Expires and convert it to Expires;
88774         remove support for old time string styles (bug#29282).
88776 2017-11-13  Gemini Lasswell  <gazally@runbox.com>
88778         Improve documentation of Edebug and macros
88780         * doc/lispref/edebug.texi (Instrumenting Macro Calls): Improve
88781         discussion of when it might be necessary to find and evaluate macro
88782         specifications before instrumenting.
88783         (Specification List): Clarify what "defining form" means to Edebug
88784         and when 'def-form' or 'def-body' should be used instead of 'form'
88785         or 'body'.
88787 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
88789         Port to IBM xlc 12.01
88791         Work around a compiler bug by using a separate enum for alignment.
88792         * src/alloc.c (roundup_size): Declare in a separate enum.
88794 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
88796         Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
88798         * configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.  No longer
88799         needed, since we no longer rely on __attribute__ ((aligned (8))).
88800         All uses removed.
88801         * src/emacs-module.c (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.
88802         (lisp_to_value): Simplify now that we no longer need to worry
88803         whether HAVE_STRUCT_ATTRIBUTE_ALIGNED is false.
88805 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
88807         Use alignas to fix GCALIGN-related bugs
88809         Use alignas and unions to specify alignments of objects needing
88810         addresses that are at least a multiple of GCALIGNMENT.  Using
88811         these standard C facilities should be safer than relying on ad hoc
88812         and poorly-understood features like GCC’s __attribute__
88813         ((aligned (N))), the root cause for recent porting bugs like
88814         Bug#29040.  The alignas macro was standardized by C11 and Gnulib
88815         supports alignas for pre-C11 platforms.  I have tested this on Sun
88816         Studio 12 sparc (2007) and GCC 4.4.7 x86-64 (2012) as well as on
88817         more recent platforms like GCC 7.2.1 (2017) on Fedora 26 (both
88818         x86-64 and x86).
88819         * lib-src/make-docfile.c (close_emacs_globals): lispsym is now
88820         just an array of struct Lisp_Symbol, since struct Lisp_Symbol is
88821         now properly aligned.  All uses changed.
88822         * src/alloc.c (NEXT_FREE_LISP_STRING): Just use the new u.next
88823         member; this is simpler and safer than casting a pointer that
88824         might not be aligned properly.
88825         (aligned_Lisp_Symbol): Remove.  No longer needed, now that struct
88826         Lisp_Symbol is aligned properly.  All uses replaced with struct
88827         Lisp_Symbol.
88828         * src/lisp.h (GCALIGNED): Remove, as it does not work as expected:
88829         it can cause the natural alignment to be ignored.  All uses
88830         replaced by unions with a ‘char alignas (GCALIGNMENT)’ member as
88831         described below.
88832         (struct Lisp_Symbol, struct Lisp_Cons, struct Lisp_String):
88833         Change definition from ‘struct TAG { MEMBERS };’ to
88834         ‘struct TAG { union { struct { MEMBERS } s; char alignas
88835         (GCALIGNMENT) gcaligned; } u; };’.  This guarantees ‘struct TAG’
88836         to have an alignment that at least max (GCALIGNMENT, N) where N is
88837         its old alignment.  All uses like ‘PTR->MEMBER’ changed to
88838         ‘PTR->u.s.MEMBER’; these uses were supposed to be mostly private
88839         anyway.  Verify that the resulting ‘struct TAG’ is properly
88840         aligned for Emacs.
88841         (union vectorlike_header): New member ‘gcaligned’ to guarantee
88842         that this type, and its containing types like ‘struct Lisp_Subr’,
88843         ‘struct buffer’ and ‘struct thread_state’, are all properly
88844         aligned for Emacs.
88845         (struct Lisp_String): New union member ‘next’, for the benefit
88846         of NEXT_FREE_LISP_STRING.
88847         (union Aligned_Cons, union Aligned_String): Remove.  All uses
88848         replaced by struct Lisp_Cons and struct Lisp_String, since they
88849         are now properly aligned.
88850         (USE_STACK_CONS, USE_STACK_STRING): Simplify now that we can
88851         assume struct Lisp_Cons and struct Lisp_String are properly
88852         aligned.
88854 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
88856         Change vectorlike from struct to union
88858         * src/lisp.h (vectorlike_headed): Change from struct to union.
88859         All uses changed.  Since it has only one member, this does not
88860         change semantics.  This is designed to simplify future changes
88861         needed to fix bugs like Bug#29040.  All uses changed.
88863 2017-11-12  Tom Tromey  <tom@tromey.com>
88865         Don't enable cursor-sensor-mode in mhtml-mode
88867         * lisp/textmodes/mhtml-mode.el (mhtml--last-submode): Update doc
88868         string.
88869         (mhtml-mode): Don't call cursor-sensor-mode.
88871 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
88873         * lisp/files.el (abbreviate-file-name): Doc fix.  (Bug#29267)
88875 2017-11-12  João Távora  <joaotavora@gmail.com>
88877         Unbreak interactive run of a flymake test (bug#29267)
88879         See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19657#20 for the
88880         technique used here.
88882         * test/lisp/progmodes/flymake-tests.el (ruby-backend):
88883         Let-bind abbreviated-home-dir.
88885 2017-11-12  Michael Albinus  <michael.albinus@gmx.de>
88887         Fix Bug#29225
88889         * src/fileio.c (Fset_file_acl): Report error only when
88890         acl_errno_valid returns true.  (Bug#29225)
88892         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl)
88893         (tramp-test25-file-selinux): New tests.
88894         (tramp-test26-file-name-completion, tramp-test27-load)
88895         (tramp-test28-process-file, tramp-test29-start-file-process)
88896         (tramp-test30-interrupt-process, tramp-test31-shell-command)
88897         (tramp-test32-environment-variables)
88898         (tramp-test32-environment-variables-and-port-numbers)
88899         (tramp-test33-explicit-shell-file-name)
88900         (tramp-test34-vc-registered)
88901         (tramp-test35-make-auto-save-file-name)
88902         (tramp-test36-find-backup-file-name)
88903         (tramp-test37-make-nearby-temp-file)
88904         (tramp-test38-special-characters)
88905         (tramp-test38-special-characters-with-stat)
88906         (tramp-test38-special-characters-with-perl)
88907         (tramp-test38-special-characters-with-ls, tramp-test39-utf8)
88908         (tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
88909         (tramp-test39-utf8-with-ls, tramp-test40-file-system-info)
88910         (tramp-test41-asynchronous-requests)
88911         (tramp-test42-recursive-load, tramp-test43-remote-load-path)
88912         (tramp-test44-delay-load, tramp-test45-unload): Rename.
88914 2017-11-12  Alan Mackenzie  <acm@muc.de>
88916         CC Mode: Fix defun-open being recognized as brace-list-open at EOB.
88918         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Add handling
88919         for an open brace at EOB and nested braces inside an unclosed brace block.
88921 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
88923         Merge from Gnulib
88925         This incorporates:
88926         2017-11-11 faccessat: port to macOS (Bug#29231)
88927         2017-11-05 fstatat: pacify GCC on unusual platform
88928         * build-aux/config.guess, build-aux/config.sub:
88929         * doc/misc/texinfo.tex, lib/faccessat.c, lib/fstatat.c:
88930         * lib/unistd.in.h, m4/faccessat.m4, m4/unistd_h.m4:
88931         Copy from Gnulib.
88932         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
88934 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
88936         Pacify GCC when configured --with-x-toolkit=no
88938         Without these changes, Emacs does not build on Fedora 26 x86-64
88939         when configured --with-x-toolkit=no --enable-gcc-warnings.
88940         * oldXMenu/Activate.c (XMenuActivate): Add FALLTHROUGH.
88941         * src/xterm.c (x_dispatch_event): Define only if
88942         USE_X_TOOLKIT || USE_MOTIF || USE_GTK.
88944 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
88946         * lisp/find-dired.el (find-grep-dired): Doc fix.  (Bug#29262)
88948 2017-11-12  João Távora  <joaotavora@gmail.com>
88950         Fix more flymake-diag-region eob corner cases and add tests (bug#29201)
88952         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
88953         more eob corner cases.
88955         * test/lisp/progmodes/flymake-tests.el
88956         (eob-region-and-trailing-newline): New test.
88958 2017-11-11  Basil L. Contovounesios  <contovob@tcd.ie>
88960         Keep Man sections in natural order (bug#28998)
88962         * lisp/man.el (Man-build-section-alist): Reverse sections.
88964 2017-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>
88966         * lisp/minibuffer.el: Install a workaround for bug#16274
88968         * lisp/minibuffer.el (completion--nth-completion): Avoid signaling an
88969         error when `md` is applied to another table.
88971 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
88973         Fix comparisons with tip_frame in GTK builds
88975         * src/xterm.c (x_update_begin, x_new_font):
88976         * src/xfns.c (Fx_display_monitor_attributes_list):
88977         * src/frame.c (Fframe_list) [USE_GTK]: Don't consider tip_frame a
88978         tooltip frame unless its 'tooltip' parameter is non-nil.  (Bug#26747)
88980 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
88982         Improve the documentation of M-n for entering file names
88984         * lisp/files.el (find-file, find-file-other-window)
88985         (find-file-other-frame): Mention file-name-at-point-functions in
88986         the doc string.  Reported by Florian Weimer <fw@deneb.enyo.de> in
88987         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00224.html.
88989         * doc/emacs/mini.texi (Minibuffer History): Document
88990         file-name-at-point-functions and its effect on M-n when typing
88991         file names in the minibuffer.
88992         * doc/emacs/files.texi (File Names):
88993         * doc/emacs/mini.texi (Minibuffer File): Add a cross-reference to
88994         "Minibuffer History", where special features of M-n regarding
88995         files are described.
88997 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
88999         Fix desktop auto-save timer when linum-mode is used
89001         * lisp/desktop.el (desktop-read): Use toplevel value of
89002         window-configuration-change-hook when deciding whether desktop
89003         auto-saving is enabled.  Suggested by Peter Neidhardt
89004         <pe.neidhardt@googlemail.com>.  (Bug#28945)
89006 2017-11-11  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
89008         Fix "C-h k" in xterm-mouse-mode
89010         * lisp/help.el (help-read-key-sequence): Support "C-h k" for
89011         xterm-mouse-mode by calling read-key-sequence-vector instead of
89012         read-event.  (Bug#29150)
89014 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
89016         Fix off-by-1 bug in --enable-checking=stringbytes
89018         Evidently nobody builds Emacs with --enable-checking=all,
89019         which is no surprise as it is so slow as to be unusable nowadays.
89020         Perhaps we should remove the slowest checks, or move them into
89021         another category, or speed them up, or something.
89022         * src/alloc.c (SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Fix off-by-one
89023         error in size calculation, which caused a failure when
89024         --enable-checking=stringbytes was used.  I introduced this bug in
89025         2016-09-08T01:08:45!eggert@cs.ucla.edu "Port flexible array
89026         members to GCC + valgrind".
89028 2017-11-10  Alan Mackenzie  <acm@muc.de>
89030         Correct the indentation of C99's compound literals.
89032         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Amend so that
89033         if there is only syntactic whitespace in a brace block, it is regarded as a
89034         statement block.  Also, if there is no semicolon or comma delimiter, treat as
89035         a statement block when there is a keyword.
89036         (c-guess-basic-syntax): CASE 9 test: Regard a brace as starting a brace block
89037         when its contents indicate a brace block.
89039 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
89041         Improve the doc string of 'dired-isearch-filter-filenames'
89043         * lisp/dired-aux.el (dired-isearch-filter-filenames): Doc fix.
89044         (Bug#29215)
89046 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
89048         * lisp/isearch.el (search-invisible): Doc fix.  (Bug#29222)
89050 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
89052         Fix display of line numbers in GTK builds
89054         * src/xdisp.c (should_produce_line_number) [USE_GTK]: Make sure
89055         tip_frame is indeed a tooltip frame, before disabling line numbers
89056         on it.  (Bug#27647)
89058         * src/dispextern.h (tip_frame): Add commentary describing the
89059         kludgey usage of this variable in GTK builds.
89061 2017-11-10  João Távora  <joaotavora@gmail.com>
89063         Fix previous change to flymake-diag-region (bug#29174)
89065         * lisp/progmodes/flymake.el (flymake-diag-region):
89066         Pass line and col to commit.
89068 2017-11-09  João Távora  <joaotavora@gmail.com>
89070         flymake-diag-region really returns nil if region is invalid (bug#29174)
89072         Reported by Lele Gaifax <lele@metapensiero.it>.
89074         * lisp/progmodes/flymake.el (flymake-diag-region): Really
89075         return nil if the region is invalid.
89077 2017-11-09  João Távora  <joaotavora@gmail.com>
89079         Flymake correctly highlights whole last line if eob (bug#29201)
89081         If a line/column pair indicates an end-of-buffer position, flymake
89082         should behave like the case where the last line of the buffer is
89083         referenced without a column indication.  This behavior is currently
89084         to highlight the whole last line.
89086         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
89087         conditions of fallback to the fallback-eol local function.
89089 2017-11-09  João Távora  <joaotavora@gmail.com>
89091         Protect Flymake checkdoc backend against checkdoc errors (bug#29176)
89093         The function checkdoc-current-buffer may error if there are unbalanced
89094         parens, for example, but this shouldn't disable the
89095         elisp-flymake-checkdoc backend.
89097         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc): Use
89098         ignore-errors.
89100 2017-11-09  João Távora  <joaotavora@gmail.com>
89102         Sort entries of the Flymake diagnostics buffer (bug#29175)
89104         Reported by Lele Gaifax <lele@metapensiero.it>.
89106         * lisp/progmodes/flymake.el
89107         (flymake--diagnostics-buffer-entries): Sort results of flymake-diagnostics.
89109 2017-11-09  Alan Mackenzie  <acm@muc.de>
89111         Correctly indent C++14 brace lists which are a second argument to a function.
89113         In particular, don't indent contained brace lists in "staircase" fashion.
89114         This fixes bug #28623.
89116         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): When
89117         testing for being enclosed in parens, recognize also a brace directly
89118         following a comma, as well as a brace being the first thing inside the paren.
89119         Enhance the return value, by indicating when we're directly inside an open
89120         paren.
89121         (c-inside-bracelist-p): Add an extra argument ACCEPT-IN-PARAM which indicates
89122         whether we will accept a bracelist directly inside an open parenthesis.
89123         Simplify the manipulation of PAREN-STATE by dispensing with variable LIM and
89124         using c-pull-open-brace.  Enhance the return value, respecting the new argument.
89125         (c-guess-basic-syntax): Save a copy of the initial parse-state in the new
89126         variable STATE-CACHE.  Use this variable in place of C-STATE-CACHE throughout
89127         the function.  At CASE 7B, call c-inside-bracelist-p with extra argument nil.
89128         At CASE 9, call that function with extra argument t.
89130 2017-11-09  Eli Zaretskii  <eliz@gnu.org>
89132         Fix redisplay of overlay-arrows on GUI frames
89134         * src/xdisp.c (try_window_reusing_current_matrix)
89135         (try_cursor_movement): Disallow these optimizations if the buffer
89136         has overlay arrow(s) shown on the fringe(s).  (Bug#29198)
89138 2017-11-09  João Távora  <joaotavora@gmail.com>
89140         Protect Flymake tests against older Ruby and Perl (bug#29187)
89142         * test/lisp/progmodes/flymake-tests.el (perl-backend): Search
89143         for the error from the bottom.
89144         (ruby-backend): Protect against situation of bug#29187
89146 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89148         Fix URL cookie expiration bug
89150         Problem reported by Damien Cassou (Bug#29223).
89151         * lisp/url/url-cookie.el (url-cookie-expired-p):
89152         Fix typo in previous change, which caused unexpired cookies
89153         to be treated as expired and vice versa.
89155 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89157         Use GCALIGNED properly for GCC
89159         Apparently GCC requires that ‘__attribute__ ((aligned (8)))’ must
89160         immediately follow the ‘struct’ keyword when aligning a structure.
89161         The attribute silently does not work if it follows a tag after the
89162         ‘struct’ keyword.  Who knew?  Anyway, this patch is designed to
89163         fix a SIGSEGV problem reported by John Mastro (Bug#29183).
89164         * lib-src/make-docfile.c (close_emacs_globals):
89165         * src/buffer.c (buffer_defaults, buffer_local_symbols):
89166         * src/lisp.h (DEFUN):
89167         * src/thread.c (main_thread):
89168         Put 'GCALIGNED' immediately after 'struct'.
89170 2017-11-09  Glenn Morris  <rgm@gnu.org>
89172         In f90.el, set fill-paragraph-function to a useful value
89174         * lisp/progmodes/f90.el (f90-mode-map) <menu>: Add fill-paragraph.
89175         (f90-mode): Set fill-paragraph-function.
89176         (f90-fill-paragraph): New command.
89178 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
89180         Fix to 2fddfb7ce7
89182         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
89183           Fix bogus paren wrapping.
89185 2017-11-08  Glenn Morris  <rgm@gnu.org>
89187         * admin/gitmerge.el (gitmerge-resolve-unmerged): Fix doc typo.
89189 2017-11-08  Charles A. Roelli  <charles@aurox.ch>
89191         Further workaround for faulty localtime() under macOS 10.6
89193         * lisp/org/org-clock.el (org-clock--oldest-date): Fix an issue
89194         when compiling on macOS 10.6 with a western time zone (a
89195         continuation of Bug#27736).  In particular, see:
89197         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27736#74
89199         and the first commit that attempted to work around this problem,
89200         "Workaround for faulty localtime() under macOS 10.6", bd49b6f1 of
89201         2017-09-30.
89203 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
89205         Handle object string name in eieio-persistent-convert-list-object
89207         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
89208           Starting to phase out the printing of object names in
89209           `object-write', handle either case.
89211 2017-11-08  Ryan C. Thompson  <rct@thompsonclan.org>
89213         Fix handling of nil PRED2 arg for completion-table-with-predicate
89215         * lisp/minibuffer.el (completion-table-with-predicate): Don't act as
89216         if strict is non-nil when pred2 is nil (Bug#27841).
89217         * test/lisp/minibuffer-tests.el
89218         (completion-table-with-predicate-test): Add a test for Bug#27841.
89220 2017-11-07  K. Handa  <handa@gnu.org>
89222         Describe Lao rendering problem
89224         * etc/PROBLEMS: Describe a workaround for the problem of Lao rendering
89225         by OpenTyype font.
89227 2017-11-07  K. Handa  <handa@gnu.org>
89229         Fix docstring of arabic-shaper-ZWNJ-handling
89231         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Adjusted
89232         the doctstring for addition of :set (bug#28312).
89234 2017-11-07  Antonin Houska  <ah@melesmeles.cz>  (tiny change)
89236         Handle single-line comments correctly (Bug#26049)
89238         * lisp/newcomment.el (comment-region-internal): Previously, the
89239         comment text had to contain at least one line break character for the
89240         ending extra line to be added.  Make the behavior more consistent by
89241         looking for end of line instead.
89242         (comment-region-internal): Remove trailing white space from the
89243         comment's initial line.
89245 2017-11-07  Glenn Morris  <rgm@gnu.org>
89247         * test/lisp/net/tramp-tests.el (tramp-test16-file-expand-wildcards):
89248         Clean up properly.
89250 2017-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
89252         * etc/PROBLEMS: Add URL to relevant issues for xterm+evil bug
89254 2017-11-06  Martin Rudalics  <rudalics@gmx.at>
89256         Document new treatment of 'comment-auto-fill-only-comments'
89258         * doc/lispref/text.texi (Auto Filling): Add reference to Emacs
89259         manual.  Add description of 'comment-auto-fill-only-comments'.
89260         * etc/NEWS: Mention new treatment of
89261         'comment-auto-fill-only-comments'.
89263 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
89265         Do not load Tramp unless `tramp-mode' is non-nil
89267         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Load Tramp only if
89268         `tramp-mode' is non-nil.
89269         (tramp-unload-file-name-handlers): Unload also
89270         `tramp-autoload-file-name-handler'.
89272         * test/lisp/net/tramp-tests.el (tramp-test42-delay-load): Extend test.
89274 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
89276         Prefer `customize-set-variable' in tramp.texi
89278         * doc/misc/tramp.texi (Configuration, Default Method, Default User)
89279         (Default Host, Remote shell setup, Auto-save and Backup)
89280         (Ad-hoc multi-hops, Frequently Asked Questions):
89281         Prefer `customize-set-variable' over `custom-set-variables'.
89283 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
89285         Fix last change in hscroll_window_tree
89287         * src/xdisp.c (hscroll_window_tree): When hscroll suspension is
89288         being disabled, set the frame's garbaged flag less eagerly.
89289         (Bug#29002)
89291 2017-11-05  Philipp Stephani  <phst@google.com>
89293         Ediff: add some missing documentation
89295         * lisp/vc/ediff.el (ediff-files, ediff-files3, ediff-buffers)
89296         (ediff-buffers3, ediff-merge-directories)
89297         (ediff-merge-directories-with-ancestor)
89298         (ediff-merge-directory-revisions)
89299         (ediff-merge-directory-revisions-with-ancestor)
89300         (ediff-windows-wordwise, ediff-windows-linewise)
89301         (ediff-regions-wordwise, ediff-regions-linewise)
89302         (ediff-merge-files, ediff-merge-files-with-ancestor)
89303         (ediff-merge-buffers, ediff-merge-buffers-with-ancestor)
89304         (ediff-merge-revisions, ediff-merge-revisions-with-ancestor)
89305         (ediff-patch-file, ediff-revision): Document missing arguments.
89306         (ediff-patch-buffer, ediff-revision): Add second space after
89307         period.
89308         (ediff-files-command, ediff3-files-command, ediff-merge-command)
89309         (ediff-merge-with-ancestor-command, ediff-directories-command)
89310         (ediff-directories3-command, ediff-merge-directories-command): Add
89311         documentation for the command line functions.
89313 2017-11-05  Justin Timmons  <justinmtimmons@gmail.com>  (tiny change)
89315         Support python virtualenv on w32 (Bug#24464)
89317         According to the virtualenv docs only POSIX systems follow the
89318         structure "/path/to/venv/bin/", while windows systems use
89319         "/path/to/venv/Scripts" for the location of the binary files, most
89320         importantly including the python interpreter (see:
89321         https://virtualenv.pypa.io/en/stable/userguide/#windows-notes).
89322         * lisp/progmodes/python.el (python-shell-calculate-exec-path): Use the
89323         "/path/to/venv/Scripts" for `windows-nt' machines.
89325 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
89327         Improve dired deletion error handling (Bug#28797)
89329         * lisp/dired.el (dired-internal-do-deletions): Use
89330         `error-message-string' to produce a human readable error message.
89332 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
89334         Don't replace user input when completion prefix is empty (Bug#18951)
89336         * lisp/pcomplete.el (pcomplete-parse-arguments): Only replace user
89337         input if we produced a non-empty common completion stub.
89339 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
89341         Return non-nil from gnutls-available-p under GnuTLS 2.x
89343         * doc/misc/emacs-gnutls.texi (Help For Users): Update the
89344         documentation of 'gnutls-available-p'.
89346         * etc/NEWS (GnuTLS): Mention the change in the value returned by
89347         'gnutls-available-p'.
89349         * src/gnutls.c (Fgnutls_available_p): Return non-nil when GnuTLS
89350         2.x is available.  (Bug#29147)
89352 2017-11-05  João Távora  <joaotavora@gmail.com>
89354         Fix Flymake help-echo functions across windows (bug#29142)
89356         * lisp/progmodes/flymake.el (flymake--highlight-line): Use
89357         with-selected-window.
89358         (flymake-goto-next-error): Call help-echo with a window and an
89359         overlay.
89361 2017-11-05  João Távora  <joaotavora@gmail.com>
89363         Add tests for Flymake backends for Ruby and Perl
89365         * test/lisp/progmodes/flymake-tests.el (perl-backend)
89366         (ruby-backend): New tests.
89367         (warning-predicate-rx-perl, warning-predicate-function-perl):
89368         Delete tests.
89370         * test/lisp/progmodes/flymake-resources/test.pl: Include an
89371         error the test file.
89373         * test/lisp/progmodes/flymake-resources/test.rb: file.
89375 2017-11-05  João Távora  <joaotavora@gmail.com>
89377         Add a Flymake backend for Perl
89379         Define a simple backend in perl-mode.el, which cperl-mode.el also
89380         uses.
89382         * lisp/progmodes/cperl-mode.el (cperl-mode): Add to
89383         flymake-diagnostic-functions.
89385         * lisp/progmodes/flymake-proc.el
89386         (flymake-proc-allowed-file-name-masks): Disable legacy backend
89387         for perl files.
89389         * lisp/progmodes/perl-mode.el (perl-flymake-command): New
89390         defcustom.
89391         (perl--flymake-proc): New buffer-local variable.
89392         (perl-flymake): New function.
89393         (perl-mode): Add to flymake-diagnostic-functions.
89395 2017-11-05  João Távora  <joaotavora@gmail.com>
89397         Add a Flymake backend for Ruby
89399         * lisp/progmodes/ruby-mode.el (ruby-flymake-command): New
89400         defcustom.
89401         (ruby--flymake-proc): New buffer-local variable.
89402         (ruby-flymake): New function.
89403         (ruby-mode): Add flymake-diagnostic-functions.
89405 2017-11-05  Lele Gaifax  <lele@metapensiero.it>
89407         Add a Flymake backend for Python (bug#28808)
89409         Implement new Flymake backend with related customizable settings.
89411         * lisp/progmodes/python.el (python-flymake-command)
89412         (python-flymake-command-output-pattern)
89413         (python-flymake-msg-alist): New defcustom.
89414         (python--flymake-parse-output): New function, able to parse
89415         python-flymake-command output accordingly to
89416         python-flymake-command-output-pattern.
89417         (python-flymake): New function implementing the backend
89418         interface using python--flymake-parse-output for the real
89419         work.
89420         (python-mode): Add python-flymake to flymake-diagnostic-functions.
89422 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
89424         Allow "%" in Tramp host names
89426         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name): Hexify also host.
89428         * lisp/net/tramp.el (tramp-host-regexp): Allow "%" in host names.
89430 2017-11-04  Noam Postavsky  <npostavs@users.sourceforge.net>
89432         Use hybrid malloc for FreeBSD (Bug#28308)
89434         FreeBSD aarch64 does not provide sbrk, so gmalloc cannot be used; when
89435         using system malloc dumping does not work correctly (allocated data is
89436         invalid after dumping).
89437         * configure.ac: Set hybrid_malloc for freebsd.
89438         * src/gmalloc.c (gdefault_morecore) [!HAVE_SBRK]: Don't call sbrk.
89440 2017-11-04  Charles A. Roelli  <charles@aurox.ch>
89442         Add html-, mhtml- and python-mode support to semantic symref
89444         * lisp/cedet/semantic/symref/grep.el
89445         (semantic-symref-filepattern-alist): Fix the entry for
89446         'html-mode', which used a regexp-like syntax where only glob
89447         syntax is permitted.  As a result, 'xref-find-references' (M-?)
89448         can now find references in HTML files.  Also duplicate the same
89449         entry for the sake of 'mhtml-mode', and add a new one for
89450         'python-mode'.
89451         (semantic-symref-derive-find-filepatterns): In the documentation,
89452         clarify that returned patterns must follow the glob syntax.  Fix
89453         an 'if' test that always evaluates to nil.
89454         (semantic-symref-tool-grep):
89455         (semantic-symref-perform-search): Fix typos.
89457 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
89459         Improve documentation of 'window-scroll-functions'
89461         * doc/lispref/windows.texi (Window Hooks): Clarify the values of
89462         arguments of 'window-scroll-functions' functions.
89464         * src/xdisp.c (syms_of_xdisp) <window-scroll-functions>: Doc fix.
89466 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
89468         Fix subtle problems in tabulated-list-mode with line numbers
89470         * lisp/emacs-lisp/tabulated-list.el
89471         (tabulated-list-watch-line-number-width): Call
89472         tabulated-list-init-header instead of tabulated-list-revert.
89473         (tabulated-list-window-scroll-function): New function.
89474         (tabulated-list-mode): Put 'tabulated-list-window-scroll-function'
89475         on the buffer-local 'window-scroll-functions' list.
89477 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
89479         Make gdb-non-stop-setting default to nil on MS-Windows
89481         * lisp/progmodes/gdb-mi.el (gdb-non-stop-setting): Now nil on
89482         MS-Windows.
89484 2017-11-04  Mike Gulick  <mike.gulick@mathworks.com>  (tiny change)
89486         Fix gdb-mi prompt after "attach PID" command
89488         * lisp/progmodes/gdb-mi.el (gdbmi-bnf-console-stream-output): Set
89489         gdb-first-done-or-error non-nil.  (Bug#29020)
89491 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
89493         Fix doc string of 'window-configuration-change-hook'
89495         * src/window.c (syms_of_window) <window-configuration-change-hook>:
89496         Doc fix.  (Bug#29049)
89498 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
89500         Improve documentation of window hooks
89502         * doc/lispref/windows.texi (Window Hooks): Fix the description of
89503         window-configuration-change-hook.  (Bug#29049)
89504         <run-window-scroll-functions, run-window-configuration-change-hook>:
89505         Document these functions.
89507 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
89509         Fix hscroll suspension after cursor motion
89511         * src/xdisp.c (hscroll_window_tree): Trigger a thorough redisplay
89512         of the window when temporary suspension of hscrolling is
89513         disabled.  (Bug#29002)
89515 2017-11-03  Alan Mackenzie  <acm@muc.de>
89517         Introduce a function to CC Mode which displays the current function name
89519         Remove an erroneous interactive specification from two functions.
89521         * lisp/progmodes/cc-cmds.el (c-display-defun-name): New command.
89522         (c-defun-name, c-cpp-define-name): Remove interactive specification.
89524         * lisp/progmodes/cc-mode.el (c-mode-base-map): Add binding C-c C-z for the new
89525         command.
89527         * doc/misc/cc-mode.texi (Other Commands): Add documentation for the new
89528         command.
89530 2017-11-03  Eli Zaretskii  <eliz@gnu.org>
89532         Fix typos in ediff-wind.el
89534         * lisp/vc/ediff-wind.el (ediff-setup-windows-multiframe-merge):
89535         Fix typos in commentary.  (Bug#29138)
89537 2017-11-03  João Távora  <joaotavora@gmail.com>
89539         Examine tex-chktex--process in the correct buffer
89541         As in other Flymake backends, the process sentinel might run in
89542         arbitrary buffers where this variable's value doesn't make sense.
89544         For a way to trigger a problem due to this, see discussion starting in
89545         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00645.html
89547         * lisp/textmodes/tex-mode.el (tex-chktex): Use
89548         with-current-buffer.
89550 2017-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
89552         * nt/INSTALL.W64: Update to current mingw64 install instructions
89554 2017-11-03  João Távora  <joaotavora@gmail.com>
89556         Don't resignal errors in flymake-diag-region
89558         * lisp/progmodes/flymake.el (flymake-diag-region): Use
89559         flymake-log instead of flymake-error.
89561 2017-11-03  João Távora  <joaotavora@gmail.com>
89563         New xref-quit-and-goto-xref command bound to TAB (bug#28814)
89565         This is like xref-goto-xref, but quits the *xref* window just before
89566         the user jump to ref.
89568         * lisp/progmodes/xref.el (xref--show-location): Handle 'quit
89569         value for SELECT.
89570         (xref-goto-xref): Take optional QUIT arg.
89571         (xref-quit-and-goto-xref): New command.
89572         (xref--xref-buffer-mode-map): Bind "Q" and "TAB" to
89573         xref-quit-and-goto-xref.
89575         * doc/emacs/maintaining.texi (Xref Commands): Describe new bindings in
89576         *xref*.
89578         * etc/NEWS (Xref): Describe new binding.
89580 2017-11-03  João Távora  <joaotavora@gmail.com>
89582         Allow split-window-sensibly to split threshold in further edge case
89584         As a fallback, and to avoid creating a frame, split-window-sensibly
89585         would previously disregard split-height-threshold if the window to be
89586         split is the frame's root window.
89588         This change generalizes that: it disregards the threshold if the
89589         window to be split is the frame's only _usable_ window (it is either
89590         the only one, as before, or all the other windows are dedicated to
89591         some buffer and thus cannot be touched).
89593         This is required for the fix to bug#28814.
89595         * lisp/window.el (split-height-threshold): Adjust doc to match
89596         split-window-sensibly.
89597         (split-window-sensibly): Also disregard threshold if all other
89598         windows are dedicated.
89600 2017-11-03  João Távora  <joaotavora@gmail.com>
89602         Honor window-switching intents in xref-find-definitions (bug#28814)
89604         When there is more than one xref to jump to, and an *xref* window
89605         appears to help the user choose, the original intent to open a
89606         definition in another window or frame is remembered when the choice to
89607         go to or show a reference is finally made.
89609         * lisp/progmodes/xref.el (xref--show-pos-in-buf): Rewrite.
89610         (xref--original-window-intent): New variable.
89611         (xref--original-window): Rename from xref--window and move up
89612         here for clarity.
89613         (xref--show-pos-in-buf): Rewrite.  Don't take SELECT arg here.
89614         (xref--show-location): Handle window selection decision here.
89615         (xref--window): Rename to xref--original-window.
89616         (xref-show-location-at-point): Don't attempt window management here.
89617         (xref--show-xrefs): Ensure display-action intent is saved.
89619 2017-11-03  Paul Pogonyshev  <pogonyshev@gmail.com>
89621         * lisp/emacs-lisp/generator.el (iter-do): Add a debug declaration.
89623 2017-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
89625         * lisp/progmodes/flymake.el (flymake-start): Fix dead buffer case
89627         Don't try to flymake-start within a buffer that doesn't exist any more.
89629 2017-11-03  Basil L. Contovounesios  <contovob@tcd.ie>
89631         Fix buffer name comparison in async shell-command
89633         * lisp/simple.el (shell-command): Keep track of output-buffer
89634         by its name, not by its object.  (Bug#28997)
89636 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
89638         Change GCALIGNMENT back to an integer literal
89640         * src/lisp.h (GCALIGNMENT): Change it back to a macro
89641         that expands to a literal integer constant, for older GCC.
89642         I had mistakenly thought that only MSVC had the problem.
89643         Problem repored by Eli Zaretskii (Bug#29040#69).
89645 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
89647         * src/lisp.h (GCALIGNED): Clarify comment (Bug#29040).
89649 2017-11-03  Hong Xu  <hong@topbug.net>
89651         Improve the doc of eshell-cmpl-* custom variables (Bug#25069)
89653         * lisp/eshell/em-cmpl.el (eshell-cmpl--custom-variable-docstring): New
89654         function to generate the docstring for custom variables derived from
89655         pcomplete-* variables.
89656         (eshell-cmpl-file-ignore, eshell-cmpl-dir-ignore)
89657         (eshell-cmpl-ignore-case, eshell-cmpl-autolist)
89658         (eshell-cmpl-suffix-list, eshell-cmpl-recexact)
89659         (eshell-cmpl-man-function, eshell-cmpl-compare-entry-function)
89660         (eshell-cmpl-expand-before-complete, eshell-cmpl-cycle-completions)
89661         (eshell-cmpl-cycle-cutoff-length, eshell-cmpl-restore-window-delay)
89662         (eshell-command-completion-function, eshell-cmpl-command-name-function)
89663         (eshell-default-completion-function, eshell-cmpl-use-paring): Use it
89664         to set the docstring.
89666 2017-11-02  Alan Third  <alan@idiocy.org>
89668         Fix mouse-scrollbar offset on GNUstep and old macOS (bug#29053)
89670         * src/nsterm.m (EmacsScroller::mouseDown,
89671         EmacsScroller::mouseDragged): Take scroller buttons into account when
89672         calculating scroller knob position.
89674 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89676         Merge from Gnulib
89678         This incorporates:
89679         2017-10-29 timespec: prefer ‘assume’ to ‘assure’
89680         2017-10-27 timespec.h: use "assure" to avoid a spurious warning
89681         2017-10-09 getopt-posix: Fix build failure if ac_cv_header_getopt_h=no
89682         * build-aux/config.guess, build-aux/config.sub:
89683         * lib/timespec.h, lib/unistd.in.h:
89684         Copy from Gnulib.
89686 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89688         Fix alignment portability problems
89690         Do not assume that the natural alignment of Lisp objects is a
89691         multiple of GCALIGNMENT.  This improves on the portability of the
89692         recent fix for Bug#29040.
89693         * lib-src/make-docfile.c (close_emacs_globals):
89694         * src/buffer.c (buffer_defaults, buffer_local_symbols):
89695         * src/lisp.h (DEFUN):
89696         * src/thread.c (main_thread):
89697         Use GCALIGNED, not alignas (GCALIGNMENT).
89698         * src/alloc.c (COMMON_MULTIPLE):
89699         Move back here from lisp.h, since it is no longer used elsewhere.
89700         * src/lisp.h (GCALIGNMENT): No longer a macro, since we need not
89701         worry about MSVC.  Omit no-longer-needed consistency check.
89702         * src/thread.c (THREAD_ALIGNMENT): Remove.
89704 2017-11-02  Simen Heggestøyl  <simenheg@gmail.com>
89706         Fix completion of colon after CSS property (Bug#29056)
89708         * lisp/textmodes/css-mode.el (css-completion-at-point): Don't insert
89709         ": ;" after completing a CSS property unless the rest of the line is
89710         empty.
89712 2017-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
89714         * src/alloc.c (sweep_symbols): Tweak last change
89716         Avoid the double-free without the extra check.  Add an explanatory comment.
89718 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
89720         In frame parameters documentation mention desktop saving/restoring
89722         * doc/lispref/frames.texi (Frame Parameters): Mention that
89723         applications have to care about which parameters they want to
89724         get saved and restored by the desktop library.
89726 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
89728         Don't have frameset save the 'client' parameter (Bug#29067)
89730         * lisp/frameset.el (frameset-persistent-filter-alist): Never
89731         save 'client' parameter (Bug#29067).
89733 2017-11-02  Gemini Lasswell  <gazally@runbox.com>
89735         Handle generic variables in cl-defgeneric Edebug spec
89737         *lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix Edebug spec to
89738         match (setf name) and replace incorrect cl-lambda-list with listp
89739         (Bug#27747).
89741 2017-11-02  Noam Postavsky  <npostavs@gmail.com>
89743         Give a more sensible message if file-attributes fails (Bug#29070)
89745         * lisp/server.el (server-ensure-safe-dir): Don't claim the directory
89746         is a file if we fail to get anything from `file-attributes'.
89748 2017-11-01  Andreas Schwab  <schwab@linux-m68k.org>
89750         Avoid wrong value from file-attributes on Linux kernel before 3.6
89752         * src/dired.c (file_attributes): Handle unsupported fstat on O_PATH
89753         descriptors.  (bug#29070)
89755 2017-11-01  Noam Postavsky  <npostavs@gmail.com>
89757         Fix customization of debugger-print-function (Bug#29077)
89759         * lisp/emacs-lisp/debug.el (debugger-print-function): The :options
89760         keyword has no effect for :type 'function, use :type '(choice ...)
89761         instead.
89763 2017-10-31  Eli Zaretskii  <eliz@gnu.org>
89765         Avoid duplicate calls to xfree for the same pointer
89767         * src/alloc.c (sweep_symbols): Avoid freeing an already freed
89768         pointer to a symbol's buffer-local value.  (Bug#29066)
89770 2017-10-31  Phil Sainty  <psainty@orcon.net.nz>
89772         Don't clobber docstrings of explicitly-defined mode hook variables
89774         * lisp/emacs-lisp/derived.el (define-derived-mode):
89775         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): When defining the
89776         mode hook variable, do not clobber pre-existing docstrings.
89778 2017-10-31  Martin Rudalics  <rudalics@gmx.at>
89780         Avoid fullscreen ediff control frames by default (Bug#29026)
89782         * lisp/vc/ediff-wind.el (ediff-control-frame-parameters):
89783         Add parameter to avoid fullscreen control frames (Bug#29026).
89785 2017-10-31  Katsumi Yamaoka  <yamaoka@jpl.org>
89787         Fix the bug#24034 change (revno 9eb028f) causing infloop (bug#29047)
89789         * lisp/net/shr.el (shr-fill-line): Copy only face and image-displayer
89790         properties to gaps (bug#29047).
89792 2017-10-30  Eli Zaretskii  <eliz@gnu.org>
89794         Fix a typo in the ELisp manual
89796         * doc/lispref/functions.texi (Obsolete Functions): Fix a typo.
89797         (Bug#29068)
89799 2017-10-30  Martin Rudalics  <rudalics@gmx.at>
89801         Fix doc and doc-strings for minibuffer window related functions (Bug#28978)
89803         These fixes were suggested by Drew Adams.
89805         * src/window.c (Fminibuffer_selected_window): Disambiguate
89806         doc-string.
89807         * doc/lispref/minibuf.texi (Intro to Minibuffers)
89808         (Minibuffer Windows, Recursive Mini, Minibuffer Misc):  Avoid
89809         the term "currently active minibuffer window".  Disambiguate
89810         documentation of `minibuffer-selected-window'.
89812 2017-10-30  Alan Mackenzie  <acm@muc.de>
89814         Fix "Args out of range" error in c-determine-limit.  Fixes bug #28598.
89816         * lisp/progmodes/cc-engine.el (c-determine-limit-get-base): If the candidate
89817         position for BASE is below point-min, scan forward to the end of the current
89818         literal.
89819         (c-determine-limit): Add an extra arm to the final cond form, testing for BASE
89820         being at point-min.
89822 2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
89824         * lisp/progmodes/perl-mode.el: Fix electric indentation with RET
89826         (perl-electric-noindent-p): The `eolp' check should not apply to RET.
89827         Reported in https://emacs.stackexchange.com/questions/36337.
89829 2017-10-29  Tom Tromey  <tom@tromey.com>
89831         Extend mhtml submode region when in comment
89833         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Extend
89834         submode when start happens to be in a comment.
89836 2017-10-29  Tom Tromey  <tom@tromey.com>
89838         Fix mthml submode lighting at end of buffer
89840         * lisp/textmodes/mhtml-mode.el (mhtml--submode-lighter): Handle end of
89841         buffer correctly.
89843 2017-10-29  Tom Tromey  <tom@tromey.com>
89845         Remember more variables in mhtml-mode
89847         * lisp/textmodes/mhtml-mode.el (mhtml--crucial-variable-prefix): Add
89848         "completion-" and "major-mode".
89849         (mhtml--variable-prefix): Remove "major-mode".
89851 2017-10-29  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
89853         * etc/NEWS (EUDC): Deprecate BBDB 2.x backward compatibility.
89855 2017-10-29  Martin Rudalics  <rudalics@gmx.at>
89857         Fix minibuffer window related docs and strings (Bug#28978)
89859         * src/frame.c (Vdefault_minibuffer_frame): Fix doc-string.
89860         * src/window.c (Fminibuffer_selected_window): Fix doc-string.
89861         * doc/lispref/frames.texi (Buffer Parameters): Rewrite
89862         description of `minibuffer' parameter.
89863         * doc/lispref/minibuf.texi (Minibuffer Windows): Reorder
89864         entries and partly rewrite section.
89865         (Minibuffer Misc): Clarify description of
89866         `minibuffer-selected-window'.
89867         * etc/NEWS: Mention new semantics of 'minibuffer' frame
89868         parameter.
89870 2017-10-29  Mark Oteiza  <mvoteiza@udel.edu>
89872         Add ChkTeX flymake backend for latex-mode
89874         * lisp/textmodes/tex-mode.el (tex-flymake): New custom group.
89875         (tex-chktex-program, tex-chktex-extra-flags): New custom variables.
89876         (latex-mode): Add backend to flymake-diagnostic-functions.
89877         (tex-chktex--process): New variable.
89878         (tex-chktex-command, tex-chktex): New functions.
89880 2017-10-29  Glenn Morris  <rgm@gnu.org>
89882         Fix doc typos
89884         * lisp/simple.el (line-move-ignore-invisible):
89885         * lisp/sort.el (sort-regexp-fields):
89886         * lisp/cedet/ede.el (project-add-file):
89887         * lisp/gnus/message.el (message-bogus-recipient-p):
89888         * lisp/international/mule.el (define-coding-system):
89889         * lisp/progmodes/ebrowse.el (ebrowse-member-buffer-object-menu):
89890         * lisp/progmodes/xscheme.el (xscheme-allow-output-p)
89891         (scheme-interaction-mode, scheme-debugger-mode)
89892         (xscheme-yank-pop, xscheme-yank-push): Doc fixes.
89894 2017-10-29  Glenn Morris  <rgm@gnu.org>
89896         Fix some duplicate word typos
89898         * doc/misc/ede.texi (ede-target):
89899         * doc/misc/flymake.texi (Using Flymake):
89900         * doc/misc/gnus.texi (The namazu Engine): Fix typos.
89902 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
89904         * doc/lispref/commands.texi (Adjusting Point): Fix wording. (Bug#29042)
89906 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
89908         Avoid segfaults in 64-bit Windows builds
89910         * src/lisp.h (COMMON_MULTIPLE): Move here from alloc.c.
89911         * src/thread.c (THREAD_ALIGNMENT): New macro.
89912         (main_thread): Use THREAD_ALIGNMENT to align propertly.  (Bug#29040)
89914 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
89916         Fix conversion of pixel coordinates to buffer position
89918         * src/dispnew.c (buffer_posn_from_coords): Adapt to
89919         auto-hscroll-mode == current-line.
89921 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
89923         Fix doc strings in desktop.el
89925         * lisp/desktop.el (desktop-auto-save-timeout)
89926         (desktop-auto-save-set-timer): Doc fixes.  (Bug#28945)
89928 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
89930         Add Index to ERT manual
89932         * doc/misc/ert.texi: Add @syncodeindex directives.
89933         (Index): New node.
89934         (Top): Add Index to the top-level menus.
89935         Add index entries to all nodes.
89937 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
89939         Make manuals and NEWS consistent
89941         * etc/NEWS: Fix markings on several entries, and rearrange others
89942         as needed.
89944         * doc/emacs/programs.texi (Hideshow): Document the new
89945         outline-like bindings.
89946         * doc/emacs/search.texi (Query Replace): Document 'u' and 'U'.
89948 2017-10-28  Martin Rudalics  <rudalics@gmx.at>
89950         Don't allow (minibuffer-window-active-p nil) to return t
89952         * lisp/window.el (minibuffer-window-active-p): Return t
89953         only if WINDOW is a live window.
89955 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
89957         Clarify obsolescence message for 'whitespace-tab'
89959         * lisp/whitespace.el (whitespace-tab): Make the obsolescence
89960         message more clear about the replacement.
89962 2017-10-28  Glenn Morris  <rgm@gnu.org>
89964         Fix some duplicate words typos
89966         * lisp/erc/erc.el (erc-hide-current-message-p):
89967         * lisp/progmodes/flymake-proc.el (flymake-proc-diagnostic-type-pred):
89968         * doc/lispref/display.texi (Bidirectional Display, Delayed Warnings):
89969         * doc/lispref/functions.texi (Defining Functions):
89970         * doc/lispref/os.texi (Terminal-Specific):
89971         * doc/misc/sem-user.texi (Analyzer Debug):
89972         * doc/misc/srecode.texi (Special Variables): Fix typos.
89974 2017-10-28  Glenn Morris  <rgm@gnu.org>
89976         * lisp/button.el (button-activate): Fix doc typo.
89978         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Fix doc typo.
89980 2017-10-28  Glenn Morris  <rgm@gnu.org>
89982         Fix some doc typos
89984         * lisp/calendar/todo-mode.el (todo-next-item)
89985         (todo-previous-item, todo-toggle-item-header):
89986         * lisp/window.el (move-to-window-group-line):
89987         * src/editfns.c (Fformat):
89988         * test/lisp/calendar/todo-mode-tests.el (todo-test-move-item05):
89989         Fix doc typos.
89991 2017-10-27  Ken Brown  <kbrown@cornell.edu>
89993         Fix startup display on Cygwin
89995         * src/xterm.c (x_make_frame_visible) [CYGWIN]: Restore code that
89996         forces input to be read.  (Bug#24091)
89998 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
90000         * src/fileio.c (Fset_default_file_modes): Fix typo in doc string.
90002         * lisp/dired.el (dired-find-alternate-file): Doc fix.  (Bug#28963)
90004 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
90006         Improve documentation of how faces are applied to display strings
90008         * doc/lispref/display.texi (Displaying Faces): Describe how the
90009         faces of the "underlying" text affect overlay and display strings.
90010         (Display Margins): Add a cross-reference to "Displaying Faces".
90012 2017-10-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
90014         Improve pixel-scroll-mode
90016         Scroll vertically by number of pixels returned by
90017         'frame-char-height' with or without horizontally scrolled.
90018         (Bug#28922)
90020         * lisp/pixel-scroll.el (pixel-resolution-fine-flag): When t, scroll
90021         by number of pixels returned by 'frame-char-height'.
90022         (pixel-scroll-up): Scroll by 'frame-char-height'. Fix algorithm to
90023         move cursor to avoid unexpected jump.
90024         (pixel-scroll-down): Scroll by 'frame-char-height'.
90025         (pixel-bob-at-top-p): Consider number of pixels that is about to
90026         scroll.
90027         (pixel-posn-y-at-point): Consider existence of an overlay string.
90028         Return nil when horizontally scrolled.
90029         (pixel-point-at-top-p): Consider number of pixels that is about to
90030         scroll. Use different algorithm when horizontally scrolled.
90031         (pixel-point-at-bottom-p): Consider number of pixels that is about
90032         to scroll. Return nil when horizontally scrolled.
90033         (pixel-scroll-pixel-down): Move cursor when horizontally scrolled.
90034         (pixel--whistlestop-line-up): Change cosmetics and move cursor when
90035         horizontally scrolled.
90036         (pixel-line-height): Call 'pixel-visual-line-height' instead of
90037         'line-pixel-height'.
90038         (pixel-visual-line-height): New function to return height in pixels
90039         of text line where cursor is with or without horizontally scrolled,
90040         considering response of display engine.
90041         (pixel-visible-pos-in-window): New function to return position of
90042         a char shown on text line where cursor is on screen with or without
90043         horizontally scrolled.
90045 2017-10-27  Daniel Lublin  <daniel@lublin.se>  (tiny change)
90047         Support Certification Authority Authorization in dns-mode.el
90049         * lisp/textmodes/dns-mode.el (dns-mode-types): Add "CAA".
90050         (Bug#28911)
90052 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
90054         Improve documentation of set-default-file-modes
90056         * src/fileio.c (Fset_default_file_modes): Doc fix.  (Bug#28875)
90058         * doc/lispref/files.texi (Changing Files): Clarify how the bits in
90059         the argument of set-default-file-modes are used for setting file
90060         permissions.
90062 2017-10-27  Ulf Jasper  <ulf.jasper@web.de>
90064         Fix documentation of `newsticker-new-item-functions' (bug#29023).
90066         * lisp/net/newst-backend.el (newsticker-new-item-functions),
90067         (newsticker-new-item-functions-sample),
90068         (newsticker-download-enclosures): Fix docstring, rename
90069         variable feed to feedname (bug#29023).
90071         * doc/misc/newsticker.texi (Automatic Processing)
90072         (Automatic Processing): Fix documentation of
90073         `newsticker-new-item-functions' (bug#29023).
90075 2017-10-27  Tino Calancha  <tino.calancha@gmail.com>
90077         Require seq in rmc.el
90079         * lisp/emacs-lisp/rmc.el: Require seq (Bug#28975).
90080         * test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): Add test.
90082 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
90084         Make an example code introduced in the Gnus info work (bug#29008)
90086         You can find it in the bottom of (info "(gnus)Foreign Groups").
90087         NOTE: this change is worth being merged to the trunk.
90089         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-emacs-bug-group):
90090         Allow a string for bug# (bug#29008).
90092 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
90094         Enable gnus-read-ephemeral-* to run multiple times (bug#29008)
90096         NOTE: *DO NOT* merge this change to the trunk.
90098         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group)
90099         (gnus-read-ephemeral-bug-group): Make it work for any number of times
90100         for the case `url-automatic-caching' is set (bug#29008).
90102 2017-10-27  Paul Eggert  <eggert@cs.ucla.edu>
90104         Port thread.c to OpenBSD ARM
90106         Problem reported by Jeremie Courreges-Anglas (Bug#29005).
90107         * src/thread.c (main_thread): Align to GCALIGNMENT.
90109 2017-10-26  Alan Mackenzie  <acm@muc.de>
90111         Fix another "wrong side of point" error in CC Mode.
90113         This fixes (a follow-up to) bug #28850.
90114         A internal generated form for scanning text to fontify had a LIMIT parameter.
90115         It also locally bound LIMIT to a value possibly beyond the original LIMIT,
90116         allowing point to move beyond the original LIMIT, and to create the wrong side
90117         error.  Fix it by checking point is not beyond LIMIT in the outer context
90118         before using it.
90120         * lisp/progmodes/cc-fonts.el (c-make-font-lock-search-form): Add a new
90121         parameter CHECK-POINT which, when non-nil, directs the function to generate a
90122         check on point.
90123         (c-make-font-lock-context-search-function): Invoke the above function with new
90124         argument value t.
90126 2017-10-26  Michael Albinus  <michael.albinus@gmx.de>
90128         Fix Bug#28959
90130         * lisp/net/tramp.el (tramp-handle-find-backup-file-name):
90131         Use `tramp-tramp-file-p' rather than `tramp-file-name-p'.  Add
90132         hop to backup file name.  (Bug#28959)
90134         * test/lisp/net/tramp-tests.el (tramp-test34-find-backup-file-name):
90135         New test.
90136         (tramp-test35-make-nearby-temp-file)
90137         (tramp-test36-special-characters)
90138         (tramp-test36-special-characters-with-stat)
90139         (tramp-test36-special-characters-with-perl)
90140         (tramp-test36-special-characters-with-ls, tramp-test37-utf8)
90141         (tramp-test37-utf8-with-stat, tramp-test37-utf8-with-perl)
90142         (tramp-test37-utf8-with-ls, tramp-test38-file-system-info)
90143         (tramp-test39-asynchronous-requests)
90144         (tramp-test40-recursive-load, tramp-test41-remote-load-path)
90145         (tramp-test42-delay-load, tramp-test43-unload): Rename.
90147 2017-10-26  Paul Eggert  <eggert@cs.ucla.edu>
90149         Fix duplicate .o file on QNX
90151         * configure.ac (CYGWIN_OBJ): Leave empty on QNX.
90152         Problem reported by Elad Lahav in:
90153         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00750.html
90155 2017-10-26  Dmitry Gutov  <dgutov@yandex.ru>
90157         Fix two js indentation problems
90159         Fix indentation problems reported in
90160         https://github.com/mooz/js2-mode/issues/463.
90161         * lisp/progmodes/js.el (js--continued-expression-p):
90162         Check syntax state after /.
90163         (js--multi-line-declaration-indentation):
90164         Check syntax state before "const".
90166 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
90168         Update documentation for windows build
90170         * admin/nt/dist-build/README-scripts: New File.
90172 2017-10-25  Alan Mackenzie  <acm@muc.de>
90174         Fix a "wrong side of point" error in CC Mode.  Fixes bug #28850.
90176         The cause was a scanning over a bracket pair taking us beyond the supplied
90177         LIMIT parameter in c-forward-declarator.
90179         * lisp/progmodes/cc-engine.el (c-forward-declarator): Add three checks (<
90180         (point) limit) whilst dealing with tokens after the declared identifier.
90182         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Don't supply a LIMIT
90183         argument to `c-forward-declarator' (twice), since we want to fontify up till
90184         the end of a declarator, not an arbitrary jit-lock chunk end.
90186 2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
90188         Fix autoload of flymake from elisp-mode during bootstrap (bug#28994)
90190         * lisp/loadup.el: add `progmodes` to load-path so we can find flymake.el.
90191         * lisp/kmacro.el: Require `replace` since we use query-replace-map.
90192         * lisp/replace.el: Require `text-mode` since we use text-mode-map.
90194 2017-10-25  Alan Third  <alan@idiocy.org>
90196         Fix non-native fullscreen on NS (bug#28872)
90198         * src/nsterm.m (EmacsView::updateFrameSize): Handle case where
90199         FRAME_TOOLBAR_HEIGHT returns a negative number.  Force WM to set size
90200         of frame.
90202 2017-10-25  Michael Albinus  <michael.albinus@gmx.de>
90204         Fix Bug#28982
90206         * admin/MAINTAINERS: Add test/lisp/url/url-tramp-tests.el.
90208         * lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
90209         (url-tramp-convert-tramp-to-url): Adapt to recent Tramp changes.
90211         * test/lisp/url/url-tramp-tests.el: New file.  (Bug#28982)
90213 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
90215         Fix windows build errors
90217         * admin/nt/dist-build/build-zips.sh: Correct name of zip file, build
90218           64 bit first
90220 2017-10-25  Noam Postavsky  <npostavs@gmail.com>
90222         Fix compile warning for non-w32 builds
90224         Since 2017-07-25 "ls-lisp: Add an unload function and enable lexical
90225         binding", the non-w32 builds would treat the undeclared
90226         w32-collate-ignore-punctuation variable as lexical.
90227         * lisp/ls-lisp.el (top-level): Declare it as a dynamic variable.
90229 2017-10-25  David Glasser  <glasser@davidglasser.net>  (tiny change)
90231         Display commit in package description, if available (Bug#28637)
90233         MELPA includes a :commit field in its
90234         packages (https://github.com/melpa/package-build/pull/6).  You can use
90235         this to tell if MELPA has processed a recently-merged change.  This
90236         commit adds that metadata to the package description buffer.
90238         * lisp/emacs-lisp/package.el: Display commit in package description.
90240 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
90242         Port to QNX
90244         Simplified version of a patch proposed by Elad Lahav in:
90245         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00716.html
90246         which is based on a previous patch I proposed in:
90247         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00707.html
90248         * configure.ac (opsys, CFLAGS, LIBS_SYSTEM, hybrid_malloc)
90249         (system_alloc, FIRST_PTY_LETTER, CYGWIN_OBJ):
90250         Set appropriately for QNX.
90251         * src/unexelf.c [__QNX__]: Include <sys/elf.h> instead of <elf.h>.
90252         (unexec): Check for sbrk failure, and fall back on old BSS end.
90254 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
90256         * configure.ac: Tweak libcurses diagnostic.
90258 2017-10-24  Phillip Lord  <phillip.lord@russet.org.uk>
90260         Scripts to automate windows binary distribution
90262         * admin/nt/dist-build/README-windows-binaries,
90263           admin/nt/dist-build/build-dep-zips.py,
90264           admin/nt/dist-build/build-zips.sh: New Files
90266 2017-10-24  Gemini Lasswell  <gazally@runbox.com>
90268         Fix Edebug specs for map-let and with-maps-do
90270         * lisp/emacs-lisp/map.el (map-let): Fix Edebug spec (bug#24777).
90271         * test/lisp/emacs-lisp/map-tests.el (with-maps-do): Fix Edebug spec.
90273 2017-10-24  Michael Albinus  <michael.albinus@gmx.de>
90275         * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): New test.
90277         (tramp-test42-unload): Rename.
90279 2017-10-24  Glenn Morris  <rgm@gnu.org>
90281         * admin/authors.el (authors-canonical-author-name):
90282         Ignore name issues in "lax" ChangeLogs.
90284         * test/lisp/progmodes/sql-tests.el
90285         (sql-tests-postgres-list-databases-error): Silence compiler.
90287 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
90289         Further work on Bug#28889
90291         * lisp/net/tramp.el (tramp-set-syntax): New defun.
90292         (tramp-syntax): Use it.  Change :package-version.  (Bug#28889)
90294 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
90296         Improve Tramp backward compatibility
90298         * lisp/net/tramp-compat.el (tramp-compat-tramp-file-name-slots):
90299         New defmacro.
90300         * lisp/net/tramp.el (with-parsed-tramp-file-name): Use it.
90302 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
90304         Improve backward compatibility of tramp-tests.el
90306         * test/lisp/net/tramp-tests.el (tramp--test-emacs26-p): Fix docstring.
90307         (tramp-test41-unload): Skip unless Emacs >= 26.
90309 2017-10-23  Martin Rudalics  <rudalics@gmx.at>
90311         Fix some ‘window-normalize-’ prefixed functions (Bug#28947)
90313         * lisp/window.el (window-normalize-buffer): Fix case where
90314         BUFFER-OR-NAME is a string specifying a dead buffer.  Fix
90315         doc-string (Bug#28947).
90316         (window-normalize-frame, window-normalize-window): Fix
90317         doc-strings (Bug#28947).
90319 2017-10-23  Paul Eggert  <eggert@cs.ucla.edu>
90321         Port to OpenIndiana
90323         Problem reported by Nelson H. F. Beebe (Bug#28893).
90324         Also see Bug#23748, Bug#9736, and Bug#5735.
90325         * configure.ac (tputs_library): Prefer libcurses to libtermcap,
90326         since OpenIndiana libtermcap lacks tparm.
90328 2017-10-22  Alexander Gramiak  <agrambot@gmail.com>
90330         Don't fill keywords after Emacs Lisp docstring
90332         This approach does mean that keywords that have spaces before them
90333         inside of docstrings aren't filled, but I think this is should be fine
90334         until Bug#28937 is fixed.
90336         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Add a colon to
90337         paragraph-start unconditionally, but require that it follows at least
90338         one space.  (Bug#24622)
90339         * test/lisp/emacs-lisp/lisp-tests.el: New tests for Bug#24622 and
90340         Bug#7751.
90342 2017-10-22  Alan Mackenzie  <acm@muc.de>
90344         Refactor c-forward-token-2 with new function c-forward-over-token-and-ws.
90346         Use the new function directly in several places where c-forward-token-2
90347         wouldn't move over the last token in the buffer.  This caused an infinite loop
90348         in c-restore-<>-properties.
90350         * lisp/progmodes/cc-engine.el (c-forward-over-token-and-ws): New function,
90351         extracted from c-forward-token-2.
90352         (c-forward-token-2): Refactor, calling the new function.
90353         (c-restore-<>-properties): Fix infinite loop.
90354         (c-forward-<>-arglist-recur, c-in-knr-argdecl)
90355         (c-looking-at-or-maybe-in-bracelist): Call the new function directly in place
90356         of c-forward-token-2.
90358         * lisp/progmodes/cc-cmds.el (c-defun-name) Call the new function directly in
90359         place of c-forward-token-2.
90361         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Call the new
90362         function directly in place of c-forward-token-2.
90364 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
90366         Avoid unnecessary rounding errors in timestamps
90368         Avoid the rounding errors of float-time when it’s easy.  E.g.,
90369         replace (< (float-time a) (float-time b)) with (time-less-p a b).
90370         * lisp/desktop.el (desktop-save):
90371         * lisp/ecomplete.el (ecomplete-add-item):
90372         * lisp/epg.el (epg-wait-for-completion):
90373         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
90374         * lisp/image-dired.el (image-dired-get-thumbnail-image)
90375         (image-dired-create-thumb-1):
90376         * lisp/info.el (info-insert-file-contents):
90377         * lisp/ls-lisp.el (ls-lisp-format-time):
90378         * lisp/net/ange-ftp.el (ange-ftp-file-newer-than-file-p)
90379         (ange-ftp-verify-visited-file-modtime):
90380         * lisp/net/rcirc.el (rcirc-ctcp-sender-PING):
90381         * lisp/textmodes/remember.el (remember-store-in-mailbox):
90382         * lisp/url/url-cookie.el (url-cookie-expired-p):
90383         Bypass float-time to avoid rounding errors.
90385         * lisp/files.el (dir-locals-find-file):
90387 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
90389         Fix xdg timestamp error on 32-bit Emacs
90391         * lisp/xdg.el (xdg-thumb-mtime): Return an Emacs timestamp,
90392         not an integer.  This avoids signaling an error on 32-bit
90393         Emacs, where timestamps typically do not fit into fixnums
90394         (Bug#28921).
90396 2017-10-22  John Williams  <jrw@pobox.com>  (tiny change)
90398         Test that advice doesn't trigger bytecomp warnings (Bug#28803)
90400         * test/lisp/emacs-lisp/bytecomp-tests.el
90401         (bytecomp-tests--test-no-warnings-with-advice): New test.
90403 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
90405         Another fix for unsafe directory error message (Bug#865)
90407         * lisp/server.el (server-ensure-safe-dir): Put file owner's uid, not
90408         current user's for the wrong owner case.  Show expanded file name in
90409         error message.
90411 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
90413         Handle https url for debbugs mbox (Bug#28831)
90415         In 2017-09-13 "Prefer HTTPS to FTP and HTTP in documentation",
90416         gnus-bug-group-download-format-alist was updated to use https for the
90417         debbugs.gnu.org mbox links, but gnus-read-ephemeral-bug-group assumed
90418         http links.
90419         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): Use
90420         url-parse functions to get the host name, instead of ad-hoc regexps.
90422 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
90424         Ignore string properties when saving eshell history (Bug#28700)
90426         * lisp/eshell/em-hist.el (eshell-write-history): Remove properties
90427         before inserting history strings.
90428         (eshell-read-history): Remove obsolete comment.
90429         * test/lisp/eshell/em-hist-tests.el (eshell-write-readonly-history):
90430         New test.
90432 2017-10-21  Michael Albinus  <michael.albinus@gmx.de>
90434         Fix Bug#28889
90436         * lisp/net/tramp.el: Change autoload cookie to tramp-autoload cookie.
90437         (tramp-completion-file-name-regexp-default)
90438         (tramp-completion-file-name-handler-alist)
90439         (tramp-completion-file-name-handler): Remove autoload cookie.
90440         (tramp-initial-completion-file-name-regexp): Remove.
90441         (tramp-autoload-file-name-regexp): New defconst.
90442         (tramp-register-autoload-file-name-handlers): Use it.
90443         (with-parsed-tramp-file-name): Adapt docstring.  Compute
90444         `tramp-file-name' slots.  (Bug#28889)
90446 2017-10-21  Glenn Morris  <rgm@gnu.org>
90448         Update describe-function for recent Fdocumentation change
90450         * lisp/help-fns.el (describe-function-1):
90451         Handle Fdocumentation returning either void or invalid.
90453 2017-10-21  Charles A. Roelli  <charles@aurox.ch>
90455         Make flymake's mouse-wheel interaction portable (Bug#28732)
90457         * lisp/progmodes/flymake.el (flymake--mode-line-format): Bind
90458         'mouse-wheel-down-event' and 'mouse-wheel-up-event' instead of
90459         'mouse-4' and 'mouse-5'.  Update the tooltip text accordingly, and
90460         remove a stray newline in it.
90462 2017-10-21  Nick Helm  <nick@tenpoint.co.nz>
90464         Prevent eldoc from changing the mode line
90466         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Don't
90467         change the mode line if it is not displayed.  (Bug#28697)
90469 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
90471         Fix doc strings in simple.el
90473         * lisp/simple.el (shell-command-saved-pos)
90474         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
90476 2017-10-21  Phil Sainty  <psainty@orcon.net.nz>
90478         Avoid creating inconsistent buffer states in term-char-mode
90480         * lisp/term.el (term-mode, term-char-mode, term-line-mode)
90481         (term-emulate-terminal): Make buffer read-only in 'term-char-mode',
90482         except for the process filter's output.  Use 'read-only-mode-hook' to
90483         track and restore the user-set state of 'buffer-read-only' for
90484         'term-line-mode'.  (Bug#24837)
90485         (term-char-mode-buffer-read-only): New user option.
90486         (term-line-mode-buffer-read-only): New buffer-local variable.
90487         (term-line-mode-buffer-read-only-update): New function.
90488         (term-char-mode, term-line-mode): Use 'term-set-goto-process-mark'
90489         in pre-command-hook, and 'term-goto-process-mark-maybe' in
90490         post-command-hook to counter-act unexpected changes to point when
90491         using 'term-char-mode'.
90492         (term-char-mode-point-at-process-mark): New user option.
90493         (term-goto-process-mark): New buffer-local variable.
90494         (term-set-goto-process-mark): New function.
90495         (term-goto-process-mark-maybe): New function.
90496         (term-process-mark): New function.
90498         * etc/NEWS: Mention the new behavior and user options.
90500 2017-10-21  Bahodir Mansurov  <bahodir@mansurov.org>  (tiny change)
90502         New input method 'usbek-cyrillic'
90504         * lisp/leim/quail/cyrillic.el (uzbek-cyrillic): New input method.
90505         (Bug#28848)
90507         * etc/NEWS: Mention the new input method.
90509 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
90511         Document 'minibuffer-with-setup-hook'
90513         * doc/lispref/minibuf.texi (Minibuffer Misc): Document
90514         minibuffer-with-setup-hook.  (Bug#28877)
90516 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
90518         Simplify make-progress-reporter vs float-time
90520         * lisp/subr.el (make-progress-reporter): Remove no-longer-needed
90521         doc and code for the case where float-time is not supported,
90522         since float-time is always present now.
90524 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
90526         Fix two more minor Gnus typos
90528         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
90529         The old code had two minor bugs: first, it multiplied by 1/65536
90530         instead of by 1/86400.  Second, it called current-time twice and
90531         glued part of the two results together, resulting in a race.
90532         Fix both bugs by simplifying the code and using
90533         time-to-number-of-days.
90535 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
90537         Fix two minor Gnus typos
90539         * lisp/gnus/gnus-sum.el (gnus-summary-import-article):
90540         Remove unused local, and fix use of local that was never assigned to.
90542 2017-10-21  Glenn Morris  <rgm@gnu.org>
90544         Tweak Fdocumentation's error for an undefined function
90546         * src/doc.c (Fdocumentation): Restore the pre-25 behavior
90547         of signaling a void-function error for an undefined function.
90548         This seems cleaner than Emacs 25's "invalid-function: nil" error,
90549         which was (probably) an unintended consequence of changes to
90550         Findirect_function.
90552 2017-10-21  Glenn Morris  <rgm@gnu.org>
90554         Tweak format of list of old files in NEWS header
90556         * etc/NEWS: Stop list of old NEWS files growing without limit.
90557         * admin/admin.el (set-version): Handle either NEWS header format.
90559 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
90561         * lisp/help-fns.el (describe-function-1):
90562         Fix help-fns-test-dangling-alias.  (Bug#28918)
90564         (cherry picked from commit e1d42f8f4a945669ff8b5159a569cb4b18f56e18)
90566 2017-10-20  Glenn Morris  <rgm@gnu.org>
90568         Fix flymake's loading of subr-x
90570         * lisp/progmodes/flymake.el, test/lisp/progmodes/flymake-tests.el:
90571         No need to load subr-x at run-time.
90573 2017-10-20  Michael Albinus  <michael.albinus@gmx.de>
90575         Fix Bug#28896
90577         * lisp/net/tramp-adb.el (tramp-adb-handle-rename-file):
90578         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
90579         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Handle FILENAME
90580         being a directory.  (Bug#28896)
90582         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
90583         (tramp-test12-rename-file): Test also FILENAME being a directory.
90585 2017-10-20  João Távora  <joaotavora@gmail.com>
90587         Skip a Flymake test for old gcc versions
90589         Fixes: 28906
90591         * test/lisp/progmodes/flymake-tests.el
90592         (different-diagnostic-types): Skip this test for gcc versions
90593         < 5.
90595 2017-10-20  Eli Zaretskii  <eliz@gnu.org>
90597         Make :align-to account for display-line-numbers
90599         These changes also update the various bundled packages to use
90600         new feature, and better support customizations of the line-number
90601         face.
90602         * src/xdisp.c (calc_pixel_width_or_height): Improve commentary.
90603         Make :align-to count from the end of the line-number display when
90604         the offset or the width form reference that of the text area.
90605         (Bug#28855)
90607         * src/indent.c (Fline_number_display_width): Implement support for
90608         the PIXELWISE argument being 'columns'.  Update the doc string.
90609         (syms_of_indent): New symbol 'columns'.
90611         * lisp/ruler-mode.el (ruler-mode-window-col, ruler-mode-ruler):
90612         Call line-number-display-width with last argument 'columns'.
90614         * lisp/proced.el (proced-header-line): Call
90615         line-number-display-width with 2nd arg 'columns', which also fixes
90616         a problem when display-line-numbers is nil.
90618         * lisp/emacs-lisp/tabulated-list.el
90619         (tabulated-list-line-number-width): Call line-number-display-width
90620         with 2nd arg 'columns.
90621         (tabulated-list-entry-lnum-width): Remove unneeded defvar.
90622         (tabulated-list-print, tabulated-list-print-entry): No need to
90623         account for the value of tabulated-list-entry-lnum-width.
90624         (tabulated-list--current-lnum-width): New defvar.
90625         (tabulated-list-watch-line-number-width): New function.
90626         (tabulated-list-mode): Bind tabulated-list--current-lnum-width
90627         locally, and set up tabulated-list-watch-line-number-width as
90628         pre-redisplay-functions hook.
90630         * doc/lispref/display.texi (Size of Displayed Text): Document the
90631         'columns' value of the PIXELWISE argument.
90632         (Pixel Specification): Update and improve the documentation of the
90633         supported forms.
90635 2017-10-20  João Távora  <joaotavora@gmail.com>
90637         Augment Flymake API for third-party extensions
90639         See
90640         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00619.html
90642         * doc/misc/flymake.texi (Flymake error types): Rewrite
90643         example.
90644         (Flymake utility functions): Augment with new API.
90646         * lisp/progmodes/flymake.el (flymake-diagnostics): New function.
90647         (flymake--diag-accessor): New helper macro.
90648         (flymake-diagnostic-buffer, flymake-diagnostic-text)
90649         (flymake-diagnostic-beg, flymake-diagnostic-end)
90650         (flymake-diagnostic-backend): Accessors for diagnostic objects.
90651         (flymake--overlays): Use flymake-diagnostic property.
90652         (flymake--highlight-line): Simplify.  Only set
90653         flymake-diagnostic property.
90654         (flymake--handle-report, flymake-goto-next-error): Use
90655         flymake-diagnostic property.
90656         (flymake-show-diagnostic): Use diagnostic object.
90657         (flymake--diagnostics-buffer-entries): Use
90658         flymake-diagnostics.
90660 2017-10-20  Glenn Morris  <rgm@gnu.org>
90662         Improve treatment of Fortran's "class default"
90664         * lisp/progmodes/f90.el (f90-start-block-re, f90-no-block-limit):
90665         Handle "class default".  (Bug#28786)
90666         * test/automated/f90.el (f90-test-bug25039): Add "class default".
90668 2017-10-20  João Távora  <joaotavora@gmail.com>
90670         Flymake backends must check proc obsoleteness in source buffer
90672         Flymake backends that rely on sentinels running asynchronously and
90673         checking buffer-local variables that hold running processes should
90674         check for obsoleteness in the correct buffers, otherwise a (harmless)
90675         warning might be triggered.
90677         * doc/misc/flymake.texi (An annotated example backend):
90678         Check buffer-local proc in the current buffer.
90680         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
90681         Check buffer-local proc in the current buffer.
90683 2017-10-19  Michael Albinus  <michael.albinus@gmx.de>
90685         Skip an rsync test in tramp-tests.el
90687         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
90688         Skip for "rsync".
90690 2017-10-19  Martin Rudalics  <rudalics@gmx.at>
90692         On Windows default a frame's border width to zero (Bug#28873)
90694         * src/w32fns.c (Fx_create_frame): Default `border-width' to zero
90695         as everywhere else, see Bug#28873.
90697 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
90699         Spelling fixes
90701         * lisp/cedet/semantic/analyze/refs.el:
90702         (semantic-analyze-proto-impl-toggle): Fix recently-introduced
90703         misspelling of pop-to-buffer-same-window.
90705 2017-10-19  Bastian Beischer  <bastian.beischer@gmail.com>  (tiny change)
90707         Use pop-to-buffer-same-window instead of switch-to-buffer
90709         * lisp/cedet/semantic/decorate/include.el
90710         (semantic-decoration-include-visit):
90711         Use pop-to-buffer-same-window instead of switch-to-buffer
90712         (bug#28645).
90714         * lisp/cedet/semantic/analyze/refs.el
90715         (semantic-analyze-proto-impl-toggle): Same.
90717         * lisp/cedet/semantic/senator.el (senator-go-to-up-reference):
90718         Same.
90720         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-visit):
90721         Same.
90723         * lisp/cedet/semantic/complete.el (semantic-complete-jump):
90724         Same.
90726 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
90728         Fix the MSDOS build.
90730         * msdos/sed1v2.inp (GETADDRINFO_A_LIBS, LIBLCMS2, XDBE_LIBS)
90731         (XDBE_FLAGS, HYBRID_MALLOC, LIBSYSTEMD_CFLAGS)
90732         (LIBSYSTEMD_LIBS): Edit to empty.
90733         (LIBRESOLV, DEPFLAGS, MKDEPDIR, YMF_PASS_LDFLAGS)
90734         (PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove editing.
90735         Remove editing of lines that are no longer present in
90736         src/Makefile.in.
90737         * msdos/sed2v2.inp (NEED_MKTIME_INTERNAL)
90738         (NEED_MKTIME_WORKING): Define to 1.
90739         (HAVE_STRUCT_DIRENT_D_TYPE): Define to 1 for
90740         DJGPP >= 2.05.
90741         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 1.
90742         Define PACKAGE_VERSION, not VERSION.
90743         (FLEXIBLE_ARRAY_MEMBER): Define to empty.
90744         (HAVE_DECL_*_UNLOCKED): Define to 0.
90745         (HAVE___BUILTIN_FRAME_ADDRESS): Define to 1.
90746         (PENDING_*): Don't define, as Gnulib no longer supports that.
90747         Instead, define _IOERR as it is in libc/file.h.
90748         * msdos/sed3v2.inp: Use $(CURDIR) instead of $(shell cd) to
90749         determine the current directory.
90750         (UPDATE_MANIFEST, UTILITIES): Don't edit.
90751         * msdos/sedlisp.inp (FIND_DELETE): Edit to "-delete".
90752         * msdos/sedlibmk.inp (AUTO_DEPEND): Define to yes.
90753         (HYBRID_MALLOC): Edit to empty.
90754         (am__cd): Don't edit.
90755         (../config.status): Replaces $(top_builddir)/config.status.
90756         Define OMIT_GNULIB_MODULE_foo = true for modules not built for
90757         MS-DOS.  Convert GL_GENERATE_xxx_H_TRUE and
90758         GL_GENERATE_xxx_H_FALSE into values of GL_GENERATE_xxx_H.
90759         * msdos/mainmake.v2 (src): Use 'compile-one-process', and make
90760         the command line shorter to fit into 126-char limit of
90761         command.com.
90762         * config.bat: Generate src/deps/*.d files.  Rename more files
90763         like djtar on plain DOS would.
90764         Don't rename src/dir.h: it is long gone.  Edit
90765         lib/gnulib.mk.in using the same scripts as for
90766         lib/Makefile.in.
90767         * msdos/depfiles.bat: Create *.d files, not *.Po.
90769         * src/thread.c (Fmake_thread) [!THREADS_ENABLED]: Improve the
90770         error message.
90771         * src/thread.h [MSDOS]: Include <signal.h>.
90772         * src/sysselect.h (select) [MSDOS]: Undefine, to avoid
90773         compilation errors.
90774         * src/sysdep.c (block_interrupt_signal, restore_signal_mask):
90775         Expose to MSDOS build.
90776         * src/process.c (update_processes_for_thread_death)
90777         [!subprocess]: No-op implementation.
90778         [HAVE_SETRLIMIT]: Move inclusion of sys/resource.h and
90779         declaration of nofile_limit outside "#ifdef subprocesses", as
90780         it's needed for MSDOS.
90781         * src/msdos.c (faccessat): Declare fullname[].
90782         * src/msdos.h (ENOTSUP): Define to be identical to ENOSYS.
90783         Include termhooks.h.
90784         * src/conf_post.h [WINDOWSNT]: Include ms-w32.h only on
90785         WINDOWSNT, not DOS_NT.
90787         * admin/admin.el (set-version): Set version on PACKAGE_VERSION.
90789 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
90791         Fix line number display after 'widen'
90793         * src/xdisp.c (maybe_produce_line_number): Don't use data cached
90794         by line-number-mode on the first redisplay after the buffer is
90795         widened.  (Bug#28879)
90797 2017-10-18  Alan Third  <alan@idiocy.org>
90799         Remove resizable attribute on macOS undecorated frames (bug#28512)
90801         * src/nsterm.m (FRAME_DECORATED_FLAGS): Remove Cocoa specific #define.
90802         (initFrameFromEmacs): Remove Cocoa specific window style attributes.
90804 2017-10-18  Martin Rudalics  <rudalics@gmx.at>
90806         Fix handling of `border-width' in `frameset--restore-frame' (Bug#28873)
90808         * lisp/frameset.el (frameset--restore-frame): Don't process
90809         `border-width' parameter via ‘modify-frame-parameters’
90810         (Bug#28873).
90812 2017-10-18  Tino Calancha  <tino.calancha@gmail.com>
90814         Mention how to send CC to > 1 address in a bug report
90816         * admin/notes/bugtracker (* More detailed information):
90817         mention how to CC to more than 1 address (Bug#28833).
90819 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
90821         Improve format-time-string doc
90823         * doc/lispref/os.texi (Time Parsing): Fix some errors in the
90824         documentation for format-time-string.  Document ^, #, %s, and %z
90825         with colons.  Say that unrecognized sequences are output as-is.
90826         * src/editfns.c (Fformat_time_string): %S can stand for 60.
90827         Also mention unrecognized sequences.
90829 2017-10-17  Eli Zaretskii  <eliz@gnu.org>
90831         Improve documentation of 'line-number-display-width'
90833         * doc/lispref/display.texi (Size of Displayed Text): Document the
90834         additional 2 columns used for line-number display.
90836         * src/indent.c (Fline_number_display_width): Doc fix.  (Bug#28248)
90838 2017-10-17  İ. Göktuğ Kayaalp  <self@gkayaalp.com>
90840         Implement vc-default-dir-extra-headers for vc-rcs
90842         Add a do-nothing implementation for vc-rcs to suppress the message which
90843         the default function adds to the vc-dir buffer (Bug#28570).
90844         * lisp/vc/vc-rcs.el (vc-rcs-dir-extra-headers): New function.
90846 2017-10-17  Martin Rudalics  <rudalics@gmx.at>
90848         In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
90850         * etc/NEWS: Mention that applications should prefer
90851         `pop-to-buffer-same-window' to `switch-to-buffer'.  (Bug#28645)
90853 2017-10-17  Tino Calancha  <tino.calancha@gmail.com>
90854             Noam Postavsky  <npostavs@gmail.com>
90856         Dont update primary selection with winner-undo
90858         * lisp/winner.el (winner-set):
90859         Dont update primary selection when select-enable-primary
90860         is non-nil (Bug#28631).
90862 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
90864         Work around ImageMagick bug 825
90866         This should fix several bugs reported recently against Emacs
90867         (Bug#28518, Bug#28626, Bug#28632, Bug#28633, Bug#28770).
90868         * src/image.c (imagemagick_load_image):
90869         Do not call MagickWandTerminus.
90871 2017-10-17  Noam Postavsky  <npostavs@gmail.com>
90873         Document rectangle-preview option more (Bug#27974)
90875         * lisp/rect.el (string-rectangle):
90876         * etc/NEWS.25: Mention `rectangle-preview'.
90878 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
90880         Do not reject https://gnu.org in commit messages
90882         * build-aux/git-hooks/commit-msg: Do not reject commit messages
90883         containing http: or ftp: URLs to gnu.org or fsf.org.  Instead,
90884         rewrite the messages to use https: URLs.
90886 2017-10-16  Gemini Lasswell  <gazally@runbox.com>
90888         Fix Edebug spec for cl-defun (bug#24255)
90890         * lisp/emacs-lisp/cl-macs.el: Modify the Edebug spec for
90891         `cl-lambda-list' to support destructuring argument lists.
90892         (cl-defun, cl-defmacro): Fix spelling errors in docstrings.
90893         * lisp/textmodes/rst.el: Remove alternate version of Edebug
90894         specs for `cl-lambda-list' and `cl-type-spec'.
90896 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
90898         Fix errors in kmacro.el post-command-hook
90900         * lisp/kmacro.el (kmacro-step-edit-active): Initialize to nil to
90901         avoid 'void-variable' errors.  (Bug#28818)
90902         * test/lisp/kmacro-tests.el
90903         (kmacro-tests-step-edit-cleans-up-hook): Now succeeds.  (Bug#18708)
90905 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
90907         Fix range-error in image-dired.el
90909         * lisp/image-dired.el (image-dired-create-thumb-1): Avoid
90910         overflowing an Emacs integer on 32-bit hosts.  (Bug#28809)
90912 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
90914         Fix 'line-number-display-width' in hscrolled windows
90916         * src/indent.c (line_number_display_width): Make sure a line
90917         number is generated even when the first line of the window is
90918         completely hscrolled out of view.  (Bug#28854)
90920 2017-10-16  Michael Albinus  <michael.albinus@gmx.de>
90922         Fix error in tramp-smb-handle-insert-directory
90924         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
90925         Insert size information only when FULL-DIRECTORY-P is non-nil.
90927 2017-10-16  Andy Moreton  <andrewjmoreton@gmail.com>
90929         Don't reject PBM header whitespace unnecessarily
90931         * lisp/image.el (image-type-header-regexps):
90932         Allow two or more CRs or LFs in initial whitespace sequences.  See:
90933         http://netpbm.sourceforge.net/doc/pbm.html
90935 2017-10-16  Paul Eggert  <eggert@cs.ucla.edu>
90937         Fix regression in display of PPM images
90939         Problem reported by Roland Winkler (Bug#28824#35).
90940         Based on a patch proposed by Andy Moreton (Bug#28824#38).
90941         * src/image.c (pbm_scan_index): New function.
90942         (pbm_load): Use it to decode raw data correctly when its top bit
90943         is set.
90945 2017-10-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
90947         Require subr-x when compiling nnimap.el
90949         * lisp/gnus/nnimap.el (require): For the when-let* macro.
90951 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
90953         Fix ert-test finding by symbol (Bug#28849)
90955         In 2017-07-28 "* lisp/subr.el (define-symbol-prop): New function", the
90956         symbol used for ert tests in load-history was changed from
90957         `ert-deftest' to `ert--test', but a couple of other places were not
90958         updated accordingly.
90959         * lisp/emacs-lisp/ert.el (ert-find-test-other-window): Pass
90960         `ert--test' as the TYPE to `find-function-do-it'.
90961         (top-level): Use `ert--test' as the key to the
90962         `find-function-regexp-alist' entry.
90964 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
90966         Don't remember old debugger window (Bug#17882)
90968         * lisp/emacs-lisp/debug.el (debug): Unset debugger-previous-window
90969         when `debugger-will-be-back' is nil.
90971 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
90973         Disable python native completion on w32 (Bug#28580)
90975         * lisp/progmodes/python.el
90976         (python-shell-completion-native-disabled-interpreters): For windows-nt
90977         systems, put an empty string to match interpreters.
90979 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
90981         Let select-frame-by-name choose any frame when called from lisp (Bug#25521)
90983         * lisp/frame.el (select-frame-by-name): Choose from the whole list of
90984         frames in the non-interactive part, if not found on the current
90985         display.
90987 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
90989         * lisp/dired-aux.el (dired-create-directory): Doc fix.
90991 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
90993         Avoid compilation warnings in optimized builds
90995         * src/process.c (Fmake_network_process):
90996         * src/image.c (xbm_scan, gif_load):
90997         * src/fileio.c (Frename_file):
90998         * src/data.c (Fmake_local_variable):
90999         * src/buffer.c (fix_start_end_in_overlays):
91000         * lib-src/etags.c (process_file_name): Mark variables with UNINIT
91001         to avoid compiler warnings in optimized builds.
91003 2017-10-15  K. Handa  <handa@gnu.org>
91005         Improve customization of arabic-shaper-ZWNJ-handling.
91007         Make the effect of customizing arabic-shaper-ZWNJ-handling appear
91008         immediately.
91009         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Add :set
91010         value.
91011         * src/composite.c (Fclear_composition_cache): New function.
91012         (syms_of_composite): Defsubr it.
91014 2017-10-15  Charles A. Roelli  <charles@aurox.ch>
91016         Improve customization type of 'mouse-drag-and-drop-region'
91018         * lisp/mouse.el (mouse-drag-and-drop-region): Provide a more
91019         precise customization type.
91021 2017-10-15  Paul Eggert  <eggert@day>
91023         Encourage https: in commit messages
91025         * CONTRIBUTE: Prefer https: when citing.
91026         * build-aux/git-hooks/commit-msg:
91027         Diagnose http: and ftp: URLs to FSF or GNU hosts.
91029 2017-10-14  Martin Rudalics  <rudalics@gmx.at>
91031         Fix wording in Elisp manual's child frames section (Bug#28819)
91033         * doc/lispref/frames.texi (Child Frames): Fix wording (Bug#28819).
91035 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
91037         Another fix for C mode fontification of w32 source files
91039         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
91040         "CALLBACK", to correctly fontify functions with this attribute.
91042 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
91044         Fix fontification of ALIGN_STACK functions
91046         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
91047         "ALIGN_STACK", to correctly fontify functions with this attribute.
91049 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
91051         Make sure thread stack is properly aligned on MS-Windows
91053         * src/systhread.c: Include w32term.h instead of windows.h.
91054         (w32_beginthread_wrapper): Add ALIGN_STACK attribute, to ensure
91055         the thread's stack is correctly aligned.
91056         * src/w32term.h (ALIGN_STACK): Update commentary.
91058 2017-10-14  Paul Eggert  <eggert@cs.ucla.edu>
91060         Do not under-align pseudovectors
91062         Problem reported by Fabrice Popineau in:
91063         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00357.html
91064         Also see diagnosis by Eli Zaretskii in:
91065         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00476.html
91066         * src/alloc.c (vector_alignment):
91067         Now a multiple of alignof (max_align_t).
91069 2017-10-13  Simen Heggestøyl  <simenheg@gmail.com>
91071         Fix indentation bug in multi-line CSS selectors
91073         * lisp/textmodes/css-mode.el (css--colon-inside-selector-p): Fix
91074         indentation of multi-line CSS selectors that include both a
91075         pseudo-class and parenthesis.
91077         * test/manual/indent/css-mode.css: Add test for the above change.
91079 2017-10-13  Andreas Schwab  <schwab@linux-m68k.org>
91081         gnutls_mac_get_nonce_size has been added in gnutls 3.3
91083         * src/gnutls.c (HAVE_GNUTLS_MAC_GET_NONCE_SIZE)
91084         [GNUTLS_VERSION_NUMBER >= 0x030300]: Define.
91085         (gnutls_mac_get_nonce_size): Depend on
91086         HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
91087         (Fgnutls_macs): Use 0 for :mac-algorithm-noncesize if
91088         !HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
91090 2017-10-13  Paul Eggert  <eggert@cs.ucla.edu>
91092         * CONTRIBUTE: Suggest American English.
91094 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
91096         Fix this-command-keys for "M-x foo" commands
91098         * src/keyboard.c (Fset__this_command_keys): Don't assume KEYS is a
91099         unibyte string.  (Bug#28798)
91101 2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>
91103         Let rename-file rename dirs across filesystems
91105         Problem diagnosed by Andreas Schwab (Bug#28792#65).
91106         This fixes a bug that I introduced in
91107         2017-09-10T22:39:24@eggert@cs.ucla.edu
91108         "Fix race with rename-file etc. with dir NEWNAME".
91109         * src/fileio.c (Frename_file): Copy a source directory across
91110         file system boundaries even if its name does not end in slash.
91112 2017-10-12  João Távora  <joaotavora@gmail.com>
91114         Simplify Flymake user documentation
91116         Fix some confusing parts of Flymake user documentation, like a
91117         repeated listing of situations leading to a syntax check.
91118         Documentation is now divided into three chapters only: "Using
91119         Flymake", "Extending Flymake", and a chapter for the legacy backend.
91121         Obsolete mention of "errors" and "lines" is replaced by
91122         "diagnostics/problems" and "regions" where appropriate.
91124         * doc/misc/flymake.texi (Overview of Flymake): Delete chapter.
91125         (Using Flymake): Merge with chapter "Overview of Flymake".
91126         (Installing Flymake): Delete chapter.
91127         (Flymake mode, Running the syntax check)
91128         (Navigating to error lines): Delete sections.
91129         (Syntax check statuses): Review and augment with x-references.
91130         (Backend exceptions): Mention shortcut in menu.
91132         * lisp/progmodes/flymake.el (flymake-menu): Tweak minor mode
91133         menu to not speak of "errors".
91134         (flymake-goto-next-error, flymake-goto-prev-error): Fix
91135         wording.
91137 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
91139         * etc/NEWS: Mention the new version of Org.
91141 2017-10-12  Noam Postavsky  <npostavs@gmail.com>
91143         Don't use (format "%s" ...) for string copying (Bug#28774)
91145         As of 2017-10-04 'Speed up (format "%s" STRING) and the like', (format
91146         "%s" STRING) no longer produces a new string.
91147         * lisp/ido.el (ido-completions): Use `copy-sequence' to make a new
91148         string, so that we can add text properties to (copies of) symbol
91149         names.
91151 2017-10-11  Alan Third  <alan@idiocy.org>
91153         Make frame-list-z-order on NS match Windows behavior (bug#28788)
91155         * src/nsfns.m (Fns_frame_list_z_order): If terminal isn't a frame,
91156         ignore it rather than returning nil.
91158 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
91160         Bump Emacs version to 26.0.90
91162         * README:
91163         * configure.ac:
91164         * msdos/sed2v2.inp:
91165         * nt/README.W32: Bump Emacs version.
91167 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
91169         Update authors.el
91171         * admin/authors.el (authors-valid-file-names)
91172         (authors-renamed-files-alist): Additions.
91174 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
91176         * admin/authors.el (authors-aliases): Additions.
91178         * ChangeLog.3: Update.
91180 2017-10-11  Radon Rosborough  <radon.neon@gmail.com>
91182         Fix docstring style for 'functionp'
91184         * src/eval.c (functionp): Make docstring start with verb.
91185         (Bug#28781)
91187 2017-10-11  Michael Albinus  <michael.albinus@gmx.de>
91189         Format shell commands in tramp.texi
91191         * doc/misc/tramp.texi (Obtaining Tramp, Remote shell setup):
91192         Format shell commands better.
91194 2017-10-10  João Távora  <joaotavora@gmail.com>
91196         Unbreak the button in the Flymake diagnostics buffer again
91198         Adding the 'keymap' property enabled RET but broke the mouse-action.
91200         * lisp/progmodes/flymake.el
91201         (flymake--diagnostics-buffer-entries): Use 'action' instead of 'keymap'.
91203 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
91205         Add mode map to Flymake diagnostic button
91207         * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): Add
91208         keymap propery.
91210 2017-10-10  João Távora  <joaotavora@gmail.com>
91212         Tweak the Flymake diagnostics buffer again
91214         * lisp/progmodes/flymake.el
91215         (flymake-diagnostics-buffer-mode-map): Don't bind [mouse-1].
91216         (flymake-show-diagnostic): Rename from
91217         flymake-show-diagnostic-at-point.  Really use another window.
91218         (flymake-goto-diagnostic): Rename from
91219         flymake-goto-diagnostic-at-point.
91220         (flymake--diagnostics-buffer-entries): Use a button just for
91221         the message bit.
91223 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
91225         Simplify Flymake diagnostics buffer UX
91227         Don't create text-buttons unnecessarily, just bind RET and SPC in the
91228         diagnostics buffer to a command that figures out which diagnostic it
91229         was invoked on.
91231         * lisp/progmodes/flymake.el
91232         (flymake--diagnostics-buffer-mode-keymap): Renamed from
91233         flymake--diagnostics-buffer-button-keymap.
91234         (flymake-show-diagnostic-at-point): Don't take a button.
91235         (flymake-goto-diagnostic-at-point): Don't pass button to
91236         flymake-show-diagnostic-at-point.
91237         (flymake--diagnostics-buffer-entries): Simplify.
91239 2017-10-10  João Távora  <joaotavora@gmail.com>
91241         First stab at a Flymake diagnostics buffer
91243         The diagnostics buffer summarizes the diagnostics of a buffer in a
91244         tabulated list and is permanently updated after each Flymake check.
91246         * lisp/progmodes/flymake.el (flymake--handle-report): Call
91247         flymake-show-diagnostics-buffer under certain conditions.
91248         (flymake-menu, flymake--diagnostics-buffer-source)
91249         (flymake--diagnostics-buffer-button-keymap)
91250         (flymake-show-diagnostic-at-point)
91251         (flymake-goto-diagnostic-at-point)
91252         (flymake--diagnostics-buffer-entries)
91253         (flymake-diagnostics-buffer-mode)
91254         (flymake--diagnostics-buffer-name)
91255         (flymake-show-diagnostics-buffer): New definitions.
91257 2017-10-10  João Távora  <joaotavora@gmail.com>
91259         * etc/NEWS (Flymake): Rewrite entry.
91261 2017-10-10  Eli Zaretskii  <eliz@gnu.org>
91263         Improve the Flymake manual
91265         * doc/misc/flymake.texi: Add a 'coding' cookie.  Add a
91266         @syncodeindex directive for @vindex.  Use 2 spaces between
91267         sentences.  Lower-case @cindex entries.
91268         (Overview of Flymake): Fix use of @itemize and @pxref.  Fix
91269         punctuation and markup.
91270         (Backend exceptions): Use @emph instead of @dfn.  Add more
91271         indexing.
91272         (Customizable variables, Extending Flymake): Improve wording.
91273         (Flymake error types): Fix usage of @itemize.  Improve wording.
91274         (Backend functions): Fix punctuation.  Fix markup.  Add a
91275         cross-reference to ELisp manual.
91276         (Flymake utility functions): Add a cross-reference to ELisp manual.
91277         (An annotated example backend): Fix punctuation and typos.
91278         (Flymake mode, Running the syntax check)
91279         (Navigating to error lines, Backend exceptions)
91280         (Customizable variables, Flymake error types, Backend functions)
91281         (Flymake utility functions, Proc customization variables)
91282         (Locating a master file, Locating the buildfile)
91283         (Starting the syntax check process, Parsing the output)
91284         (Interaction with other modes): Fix indexing.  Add index entries
91285         for functions, variables, and concepts.
91287 2017-10-10  João Távora  <joaotavora@gmail.com>
91289         Fix two Flymake bugs
91291         * lisp/progmodes/flymake.el (define-fringe-bitmap): Protect
91292         against --without-x.
91293         (flymake--mode-line-format): Ensure mode-line's mouse-4 and mouse-5 work
91294         in their own windows.
91296 2017-10-10  João Távora  <joaotavora@gmail.com>
91298         Don't log "emergencies" in the Flymake legacy backend
91300         * lisp/progmodes/flymake-proc.el (flymake-proc--panic)
91301         (flymake-proc-legacy-flymake): Don't log "emergencies"
91303 2017-10-10  João Távora  <joaotavora@gmail.com>
91305         Add full documentation on new Flymake API
91307         Also, as a minor addition to this API, set flymake-text
91308         on the diagnostic overlay.  This enables a good example in
91309         the section "Customization Flymake annotations".
91311         * doc/misc/flymake.texi (Overview of Flymake)
91312         (Syntax check statuses): Rework.
91313         (Backend exceptions): Rename from "Troubleshooting"
91314         (Customizable variables): Add flymake-start-on-flymake-mode. Rework.
91315         (Extending Flymake): Write chapter.
91316         (Customizing Flymake annotations, Flymake backends)
91317         (Flymake utility functions, An annotated example backend):
91318         New sections and subsections
91320         * lisp/progmodes/flymake.el (flymake-diagnostic-functions)
91321         (flymake-diagnostic-types-alist): Rework docstring.
91322         (flymake--highlight-line): Set and use flymake-text property in overlay.
91323         (flymake-goto-next-error, flymake-goto-prev-error): Fix funny quotes.
91325 2017-10-10  João Távora  <joaotavora@gmail.com>
91327         Fix some Flymake docstrings and messages
91329         * lisp/progmodes/flymake.el
91330         (flymake-start-on-flymake-mode): fix typo.
91331         (flymake-mode): Add docstring.
91332         (flymake-mode-line-format): Fix help-echo indications. mouse-2
91333         describes flymake-mode.
91335 2017-10-10  João Távora  <joaotavora@gmail.com>
91337         Make three new Flymake commands for debugging common problems
91339         * lisp/progmodes/flymake.el (flymake-running-backends)
91340         (flymake-disabled-backends)
91341         (flymake-reporting-backends): Make interactive.
91342         (flymake--collect): Take optional arg.
91344 2017-10-09  Nicolas Petton  <nicolas@petton.fr>
91346         * admin/authors.el (authors-renamed-files-alist): addition.
91348 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
91350         Fix PWD check on DOS_NT
91352         * src/sysdep.c (get_current_dir_name_or_unreachable):
91353         Do not consider a file name like "a:b" to be absolute on DOS_NT.
91355 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
91357         Fix unlikely overflows with wd length
91359         * src/sysdep.c (get_current_dir_name_or_unreachable):
91360         Avoid integer overflow if working directory name is absurdly long.
91361         When allocating memory for getcwd, do not exceed MAXPATHLEN.
91363 2017-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
91365         * lisp/gnus/message.el: Improve last commit
91367         (message-clone-locals): Don't mistakenly match other variables whose
91368         name happens to include "message-default-charset".
91370 2017-10-09  Ken Olum  <kdo@cosmos.phy.tufts.edu>
91372         Fix problems when editing raw undecoded message (Bug#28671)
91374         * lisp/mail/rmailedit.el (rmail-cease-edit): If rmail-old-mime-state
91375         is set, meaning that we are editing the raw message, do not
91376         encode it again.  Delete old body after, not before, inserting
91377         new, to avoid moving marker at beginning of next message.
91379 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
91381         Avoid encoding errors in message.el
91383         * lisp/gnus/message.el (message-clone-locals): Don't clone
91384         message-default-charset.  (Bug#25645)
91386 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
91388         Improve doc string and prompt of 'grep-read-files'
91390         * lisp/progmodes/grep.el (grep-read-files): Clarify in the doc
91391         string and in the prompt that shell wildcards can be used.
91392         Suggested by Allen Li <vianchielfaura@gmail.com>.  (Bug#28615)
91394 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
91396         Avoid assertion violations when line numbers are displayed
91398         * src/xdisp.c (redisplay_window): Clear the window's desired glyph
91399         matrix before calling try_window with the same starting point.
91400         This avoids assertion violations when switching from a buffer
91401         without line numbers to a buffer with line numbers.  (Bug28710)
91403 2017-10-09  João Távora  <joaotavora@gmail.com>
91405         Be lazy when starting Flymake checks
91407         Don't start the check immediately if the buffer is not being
91408         displayed.  Wait until it is, using window-configuration-change-hook.
91410         This enables the user to batch-enable flymake-mode on many buffers and
91411         not have that operation exhaust system resources for checking each
91412         one.  Likewise, an editing or save operation in a currently
91413         non-displayed buffer does not immediately start a check.
91415         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode):
91416         Rename from flymake-start-syntax-check-on-find-file.
91417         (flymake-start-syntax-check-on-find-file): Obsolete alias for
91418         flymake-start-on-flymake-mode.
91419         (flymake-start): Redesign.  Affect the global post-command-hook
91420         and local window-configuraiton-change-hook.
91421         (flymake--schedule-timer-maybe)
91422         (flymake-after-change-function, flymake-after-save-hook): Pass
91423         t to flymake-start.
91425         * test/lisp/progmodes/flymake-tests.el (flymake-tests--call-with-fixture)
91426         (dummy-backends, recurrent-backend): Start flymake check
91427         explicitly and immediately.
91429 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
91431         Fix last change in frameset.el
91433         * lisp/frameset.el (frameset-filter-font-param): Fix a thinko in
91434         filtering the 'font' parameter.  (Bug#17352)
91436 2017-10-09  Martin Rudalics  <rudalics@gmx.at>
91438         Describe how window dividers can replicate vertical borders (Bug#27830)
91440         * doc/emacs/frames.texi (Scroll Bars): Describe how window
91441         dividers can be used to replicate vertical borders when scroll
91442         bars are disabled (Bug#27830).
91443         * doc/emacs/frames.texi (Window Dividers): Mention their use
91444         in replicating vertical borders.
91446 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
91448         Add line-number faces to the display-line-numbers group
91450         See https://lists.gnu.org/r/emacs-devel/2017-10/msg00151.html
91451         and its resulting thread.
91453         * lisp/display-line-numbers.el (display-line-numbers): Add to the
91454         convenience group.
91455         * lisp/faces.el (line-number):
91456         (line-number-current-line): Add to the display-line-numbers group.
91458 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
91460         Increase xterm click count only within double-click-fuzz
91462         * lisp/xt-mouse.el (xterm-mouse-event): Save the last click's position
91463         and check it against the current click's position.  (Bug#28658)
91465 2017-10-08  Alan Third  <alan@idiocy.org>
91467         Change pause in fullscreen toggling for NS port (bug#28496)
91469         * lisp/frame.el (toggle-frame-fullscreen): Replace sit-for with
91470         sleep-for, and reduce time.
91472 2017-10-08  Michael Albinus  <michael.albinus@gmx.de>
91474         Handle PARENTS properly in tramp-*-handle-make-directory
91476         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
91477         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
91478         Handle PARENTS properly.
91480         * test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
91481         Extend test.
91483 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
91485         Improve test for unreachable dirs
91487         * src/sysdep.c (get_current_dir_name_or_unreachable):
91488         New function, with most of the old contents of
91489         emacs_get_current_dir_name.
91490         (emacs_get_current_dir_name): Use it.  Use a simpler
91491         test for unreachable directory strings, and also apply
91492         it to getcwd etc. (Bug#27871)
91494 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
91496         * src/xsmfns.c (x_session_initialize): Fix memory leak.
91498 2017-10-08  K. Handa  <handa@gnu.org>
91500         New option for handling ZWNJ in Arabic text rendering
91502         Provide a new option 'arabic-shaper-ZWNJ-handling' that controls how
91503         to display ZWNJ in Arabic text rendering (Bug#28339).
91504         * lisp/language/misc-lang.el: Register arabic-shape-gstring in
91505         composition-function-table.
91506         (arabic-shaper-ZWNJ-handling): New variable.
91507         (arabic-shape-log): New variable.
91508         (arabic-shape-gstring): New function.
91509         * lisp/composite.el (lgstring-remove-glyph): New function.
91511 2017-10-08  Noam Postavsky  <npostavs@gmail.com>
91513         Make python prettify symbols into a defvar (Bug#28713)
91515         * lisp/progmodes/python.el (python-prettify-symbols-alist): New
91516         variable.
91517         (python--prettify-symbols-alist): Make into obsolete alias for
91518         `python-prettify-symbols-alist'.
91520 2017-10-07  Alan Third  <alan@idiocy.org>
91522         Fix fullscreen crash on macOS (bug#28496)
91524         * lisp/frame.el (toggle-frame-fullscreen): Wait for animation to
91525         complete on macOS.
91527 2017-10-07  Alan Third  <alan@idiocy.org>
91529         Fix crash when closing fullscreen frame on macOS (bug#28661)
91531         * src/nsterm.m (EmacsView::windowWillResize): Return new frame size
91532         unmodified if the frame isn't live.
91534 2017-10-07  Michael Albinus  <michael.albinus@gmx.de>
91536         Support gio tool in Tramp
91538         "gvfs-<command>" utilities have been deprecated in GVFS 1.31.1.  We
91539         must use "gio <command>" tool instead.
91541         * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): New defconst.
91542         (tramp-gvfs-handle-file-notify-add-watch): Support also "gio monitor"
91543         (tramp-gvfs-gio-tool-p): New defun.
91544         (tramp-gvfs-send-command): Use it.  Call gio tool if available.
91546 2017-10-07  João Távora  <joaotavora@gmail.com>
91548         Fix flymake-goto-next-error when message has %-constructs
91550         * lisp/progmodes/flymake.el (flymake-goto-next-error): Fix
91551         message call.  Add missing period in docstring.
91553 2017-10-07  Piotr Trojanek  <piotr.trojanek@gmail.com>
91555         * src/gnutls.c (syms_of_gnutls): Remove duplicated call to DEFSYM.
91557 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
91559         Move the entry about 'format' into Incompatible Lisp Changes
91561         * etc/NEWS: Move the entry about 'format' refraining from allocating
91562         new strings into Incompatible Lisp Changes.  (Bug#28625)
91564 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
91566         Fix glitches in displaying TTY menus
91568         * src/dispnew.c (update_frame_line): Accept an additional argument
91569         UPDATING_MENU_P; if non-zero, home the cursor before updating a
91570         frame's line.  All callers changed.
91571         (update_frame_1): Accept an additional argument UPDATING_MENU_P,
91572         and pass it to update_frame_line.  All callers changed.
91573         (update_frame_with_menu): Call update_frame_1 with last argument
91574         non-zero.  (Bug#17497)
91576 2017-10-06  Gemini Lasswell  <gazally@runbox.com>
91578         Create new Edebug spec for docstrings and use it in closures
91580         Since (:documentation FORM) can be used to create a docstring
91581         when lexical-binding is on, allow for that possibility in Edebug
91582         specs (bug#24773).
91583         * lisp/emacs-lisp/edebug.el: Define an Edebug spec for docstrings
91584         called lambda-doc and modify the Edebug specs for defun and
91585         defmacro to use it.
91586         (edebug-instrument-function): Check for generic functions first,
91587         to fix bug where edebug-step-in didn't work on methods now that
91588         cl-defgeneric has an Edebug spec.
91589         * lisp/subr.el (lambda): Modify Edebug spec to use lambda-doc.
91590         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add Edebug spec
91591         (bug#27747).
91592         (cl-defmethod): Use lambda-doc in Edebug spec.
91593         * lisp/emacs-lisp/cl-macs.el: Modify Edebug spec for
91594         cl-declarations-or-string to use lambda-doc, and modify Edebug
91595         spec for cl-lambda-expr to use cl-declarations-or-string.
91596         * lisp/emacs-lisp/pcase.el (pcase-lambda): Modify Edebug spec to
91597         use lambda-doc, as well as &define and def-body which are
91598         necessary for using Edebug on code wrapped by lambda.
91599         * lisp/emacs-lisp/generator.el (iter-defun, iter-lambda): Add
91600         Edebug specs.
91602 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
91604         Avoid byte-compilation warnings in message.el
91606         * lisp/gnus/message.el: Require 'subr-x' when compiling, to
91607         avoid compiler warnings.
91609 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
91611         Fix bug in recent styled_format change
91613         Problem reported by Kaushal Modi in:
91614         https://lists.gnu.org/r/emacs-devel/2017-10/msg00141.html
91615         * src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
91616         not always followed by SAFE_FREE.  This bug was introduced in my
91617         patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
91618         unnecessary copying in Fformat etc."
91620 2017-10-06  João Távora  <joaotavora@gmail.com>
91622         Cleanup emacs-lisp-mode's use of Flymake
91624         * lisp/progmodes/elisp-mode.el (elisp-flymake--checkdoc-1):
91625         Delete.
91626         (elisp-flymake-checkdoc): Incorporate old
91627         elisp-flymake--checkdoc-1.
91628         (elisp-flymake--byte-compile-done): Simplify.  Don't cleanup
91629         here.
91630         (elisp-flymake-byte-compile): Remove spurious interactive spec.
91631         Simplify.  Cleanup on every possible exit.
91633 2017-10-06  João Távora  <joaotavora@gmail.com>
91635         Fix @include directive in Flymake doc
91637         * doc/misc/flymake.texi: Don't @include a relative path.
91639 2017-10-06  Mark Oteiza  <mvoteiza@udel.edu>
91641         Move read-multiple-choice to its own library
91643         * lisp/emacs-lisp/rmc.el: New file.
91644         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Remove.
91645         * lisp/gnus/message.el:
91646         * lisp/net/nsm.el: Change required library.
91648 2017-10-06  Piotr Trojanek  <piotr.trojanek@gmail.com>
91650         * src/process.c (syms_of_process): Remove duplicated call to DEFSYM.
91652         Fixes: Bug#28721
91654 2017-10-06  Lele Gaifax  <lele@metapensiero.it>
91656         Fix typos in Flymake documentation
91658         * doc/misc/flymake.texi (Syntax check statuses)
91659         (Adding support for a new syntax check tool)
91660         (Implementation overview, Locating the buildfile): Fix typos.
91662         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn)
91663         (flymake-proc--find-possible-master-files):Fix typos.
91664         (flymake-proc--panic)
91665         (flymake-proc-legacy-flymake): Fix function reference in doc.
91667         * lisp/progmodes/flymake.el (flymake-error)
91668         (flymake-diagnostic-functions): Fix typos.
91669         (flymake-diagnostic-types-alist): Rephrase and fix typos.
91670         (flymake--backend-state): Fix typos and rephrase.
91671         (flymake--handle-report): Delete empty line.
91672         (flymake--disable-backend)
91673         (flymake--run-backend): Fix typos.
91674         (flymake-goto-next-error, flymake-goto-prev-error): Rephrase.
91676 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
91678         Revert last change in 'shr-descend'
91680         * lisp/net/shr.el (shr-descend): Revert the part of the last
91681         change which introduced calls to shr-indirect-call into this
91682         function.  Add a comment explaining the rationale for that.
91683         (Bug#28402)
91685 2017-10-06  João Távora  <joaotavora@gmail.com>
91687         Don't error when turning on Flymake with no known backends
91689         Leave it to the mode line indicator to inform the user that there
91690         is still some configuration to do.
91692         * lisp/progmodes/flymake.el (flymake-mode): Simplify.
91694 2017-10-06  João Távora  <joaotavora@gmail.com>
91696         Delete a Flymake obsolete alias that can't possibly work
91698         The function `flymake-ler-make-ler' can't possibly work as an backward
91699         compatible interface to existing extensinos (even purely hypothetical
91700         ones, since none are known).  This is because every diagnostic
91701         considered by Flymake has to passed to a report-fn function.
91703         * lisp/progmodes/flymake.el (flymake-ler-make-ler): Delete.
91705 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
91707         Fix bug with unmounted directory on GNU/Linux
91709         * src/sysdep.c (emacs_get_current_dir_name): Do not use
91710         get_current_dir_name result unless it is absolute (Bug#27871).
91713 2017-10-05  Nicolas Petton  <nicolas@petton.fr>
91715         Update authors.el
91717         * admin/authors.el (authors-renamed-files-alist)
91718         (authors-valid-file-names): Additions.
91720 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
91722         Fix dynamic binding wrapper in iter-lambda (bug#25965)
91724         * lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
91725         Remove extra evaluation of form.
91726         * test/lisp/emacs-lisp/generator-tests.el
91727         (cps-iter-lambda-with-dynamic-binding): New test.
91729 2017-10-05  Rasmus  <rasmus@gmx.us>
91731         Update Org to v9.1.2
91733         Please note this is a bugfix release.  See etc/ORG-NEWS for details.
91735 2017-10-05  Alan Mackenzie  <acm@muc.de>
91737         Fix irregularities with CC Mode fontification, particularly with "known types"
91739         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
91740         optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
91741         type.
91742         (c-font-lock-single-decl): New variable template-class, set to non-nil when we
91743         have a construct like the above.  Pass this as argument to
91744         c-font-lock-declarators.
91745         (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
91746         being processed starts before the function's starting position.
91747         (c-complex-decl-matchers): Remove the redundant clause which fontified "types
91748         preceded by, e.g., "struct"".
91750         * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
91751         (c-template-typename-key): New lang defconsts and defvar.
91753 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
91755         Fix breakage due to recent change in tabulated-list-print-entry
91757         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
91758         Update the doc string.
91759         (tabulated-list-print-entry): Revert to using only 2 arguments.
91760         Update the doc string.
91761         (tabulated-list-entry-lnum-width): New defvar.
91762         (tabulated-list-print): Compute the width of line-number display
91763         once, then store that value in tabulated-list-entry-lnum-width,
91764         for tabulated-list-printer to use.  (Bug#28704)
91766 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
91768         * lisp/ses.el (ses-print-cell): Fix alignment of text cells.  (Bug#27653)
91770 2017-10-05  Alexander Gramiak  <agrambot@gmail.com>
91772         Set xterm click count to 1 even with no last click
91774         * lisp/xt-mouse.el (xterm-mouse-event): Move the check for
91775         the last click so that click-count is initialized properly.
91776         Handle the value of t for double-click-time.
91777         (Bug#28658)
91779 2017-10-05  Vasilij Schneidermann  <mail@vasilij.de>
91781         Support indirection for all shr-tag-* calls
91783         The 'shr-external-rendering-functions' variable was previously only
91784         honored in the shr-descend function, now all direct calls to the
91785         shr-tag-* functions have been replaced by a call to
91786         'shr-indirect-call' which tries using an alternative rendering
91787         function first.
91789         * lisp/net/shr.el (shr-indirect-call): New helper function.
91790         (shr-descend, shr-tag-object, shr-tag-video):
91791         (shr-collect-extra-strings-in-table): Fix callers to call via
91792         shr-indirect-call.  (Bug#28402)
91794 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
91796         Speed up list-packages when 'visual' line numbers are displayed
91798         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
91799         Update the doc string.
91800         (tabulated-list-print-entry): Accept an additional optional
91801         argument INDENT.  Update the doc string.
91802         (tabulated-list-print): Compute the width of line-number display
91803         once, then call tabulated-list-printer with that value as 3rd
91804         argument.  (Bug#28704)
91806 2017-10-05  João Távora  <joaotavora@gmail.com>
91808         Misc. minor adjustments to Flymake
91810         - Add a half-decent minor-mode menu;
91811         - Fix "waiting for backends" mode line message;
91812         - Adjust the flymake-diag-region API;
91813         - Autoload the flymake-log macro;
91814         - Auto-disable the legacy backend in more situations;
91815         - Fix a couple of warnings in legacy backend.
91817         * lisp/progmodes/flymake-proc.el
91818         (flymake-proc--diagnostics-for-pattern): Use new
91819         flymake-diag-region.
91821         * lisp/progmodes/flymake-proc.el
91822         (flymake-proc-legacy-flymake): Do error when no
91823         buffer-file-name or not writable.
91824         (flymake-proc-legacy-flymake)
91825         (flymake-proc-simple-cleanup): Don't reference flymake-last-change-time
91827         * lisp/progmodes/flymake.el (flymake-diag-region):
91828         Autoload.  Take buffer as first argument.
91830         * lisp/progmodes/flymake.el (flymake-switch-to-log-buffer):
91831         New command.
91832         (flymake-menu): Add a simple menu.
91833         (flymake--mode-line-format): Use menu.  Fix message.  Switch to
91834         log buffer when clicking exceptional warnings.
91836 2017-10-05  Johan Bockgård  <bojohan@gnu.org>
91838         Fix search for ~/.Xdefaults-HOSTNAME
91840         * src/xrdb.c (get_environ_db): Fix typo when handling
91841         ~/.Xdefaults-HOSTNAME (Bug#28708).
91843 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
91845         Speed up (format "%s" STRING) and the like
91847         Although the Lisp manual said that ‘format’ returns a
91848         newly-allocated string, this was not true for a few cases like
91849         (format "%s" ""), and fixing the documentation to allow reuse of
91850         arguments lets us improve performance in common cases like
91851         (format "foo") and (format "%s" "foo") (Bug#28625).
91852         * doc/lispref/strings.texi (Formatting Strings):
91853         * etc/NEWS:
91854         Say that the result of ‘format’ might not be newly allocated.
91855         * src/callint.c (Fcall_interactively):
91856         * src/dbusbind.c (XD_OBJECT_TO_STRING):
91857         * src/editfns.c (Fmessage, Fmessage_box):
91858         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
91859         Just use Fformat or Fformat_message, as that’s simpler and no
91860         longer makes unnecessary copies.
91861         * src/editfns.c (styled_format): Remove last argument, as it
91862         is no longer needed: all callers now want it to behave as if it
91863         were true.  All remaining callers changed.  Make this function
91864         static again.  Simplify the function now that we no longer
91865         need to worry about whether the optimization is allowed.
91867 2017-10-04  Alan Mackenzie  <acm@muc.de>
91869         Fontify untyped function declarations in C Mode correctly.
91871         Also correct two bugs where deleting WS at a BOL could leave an untyped
91872         function declaration unfontified.
91874         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Don't set the flag
91875         "top-level" when we're in a macro.
91876         (c-forward-decl-or-cast-1): Recognize top-level "foo(bar)" or "foo()" in C
91877         Mode as a implicitly typed function declaration.
91878         (c-just-after-func-arglist-p): Don't get confused by "defined (foo)" inside a
91879         macro.  It's not a function plus arglist.
91881         * lisp/progmodes/cc-langs.el (c-cpp-expr-functions-key): New defconst and
91882         defvar.
91884         * lisp/progmodes/cc-mode.el (c-fl-decl-end): After c-forward-declarator, move
91885         over any following parenthesis expression (i.e. parameter list).
91886         (c-change-expand-fl-region): When c-new-END is at a BOL, include that line in
91887         the returned region, to cope with deletions at column 0.
91889 2017-10-04  Michael Albinus  <michael.albinus@gmx.de>
91891         * lisp/net/tramp.el (tramp-tramp-file-p): Use `string-match-p'.
91893         Reported by Clément Pit-Claudel <cpitclaudel@gmail.com>.
91895 2017-10-04  Eli Zaretskii  <eliz@gnu.org>
91897         Avoid crashes on C-g when several threads wait for input
91899         * src/thread.h (m_getcjmp): New member of 'struct thread_state'.
91900         (getcjmp): Define to current thread's 'm_getcjmp'.
91901         * src/thread.c (maybe_reacquire_global_lock): Switch to main
91902         thread, since this is called from a SIGINT handler, which always
91903         runs in the context of the main thread.
91904         * src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
91905         definitions before thread.h is included, as thread.h now uses
91906         sys_jmp_buf.
91907         * src/keyboard.c (getcjmp): Remove declaration.
91908         (read_char): Don't call maybe_reacquire_global_lock here.
91909         (handle_interrupt): Call maybe_reacquire_global_lock here, if
91910         invoked from the SIGINT handler, to make sure
91911         quit_throw_to_read_char runs with main thread's Lisp bindings and
91912         uses the main thread's jmp_buf buffer.  (Bug#28630)
91914 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
91916         Warn if --without-pop is now the default
91918         * configure.ac (with_pop): Set to no-by-default if defaulting to "no".
91919         Warn about the change if defaulting to "no".  Update URLs.
91921 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
91923         --with-pop is now the default only on MS-Windows
91925         Problem reported by N. Jackson (Bug#28597).
91926         This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
91927         * INSTALL, configure.ac, etc/NEWS:
91928         Make --with-pop the default only on native MS-Windows.
91930 2017-10-03  Michael Albinus  <michael.albinus@gmx.de>
91932         Add support for `file-system-info' in Tramp
91934         * lisp/net/tramp.el (tramp-file-name-for-operation):
91935         Add `file-system-info'.
91937         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
91938         (tramp-adb-file-name-handler-alist): Use it.
91940         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
91941         (tramp-gvfs-file-system-attributes-regexp): New defconst.
91942         (tramp-gvfs-handle-file-system-info): New defun.
91943         (tramp-gvfs-file-name-handler-alist): Use it.
91944         (tramp-gvfs-get-directory-attributes): Fix property name.
91945         (tramp-gvfs-get-root-attributes): Support also file system attributes.
91947         * lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
91948         (tramp-sh-file-name-handler-alist): Use it.
91949         (tramp-sh-handle-insert-directory): Insert size information.
91950         (tramp-get-remote-df): New defun.
91952         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
91953         (tramp-smb-file-name-handler-alist): Use it.
91954         (tramp-smb-handle-insert-directory): Insert size information.
91956         * test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
91957         New test.
91958         (tramp-test38-asynchronous-requests)
91959         (tramp-test39-recursive-load, tramp-test40-remote-load-path)
91960         (tramp-test41-unload): Rename.
91962 2017-10-03  João Távora  <joaotavora@gmail.com>
91964         Merge branch 'scratch/flymake-refactor-clean-for-emacs-26' into emacs-26
91966 2017-10-03  João Távora  <joaotavora@gmail.com>
91968         Start rewriting Flymake manual
91970         Missing the parts pertaining to the new customization API.
91972         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
91973         (Installing Flymake): Delete most of this.
91974         (Running the syntax check): Mention flymake-start.
91975         (Navigating to error lines): Rewrite.
91976         (Viewing error messages): Commente out.
91977         (Syntax check statuses, Troubleshooting): Rewrite a bit.
91978         (Customizable variables): New section under "Using
91979         Flymake".  Don't mention any proc variables here.
91980         (Configuring Flymake): Delete
91981         (Proc backend): New chapter
91982         (Proc customization variables): New chapter.
91984         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
91985         (Installing Flymake): Mostly scratch. Flymake comes with Emacs.
91986         (Running the syntax check): Simplify.
91987         (Viewing error messages): Dekete,
91988         (Syntax check statuses): Rewrite.
91989         (Troubleshooting): Simplify.
91990         (Customizable variables): Rewrite.
91991         (Extending Flymake): New chapter, empty for now.
91992         (The legacy Proc backend): New chapter.
91993         (Proc customizable variables)
91994         (Adding support for a new syntax check tool)
91995         (Implementation overview)
91996         (Making a temporary copy)
91997         (Locating a master file)
91998         (Getting the include directories)
91999         (Locating the buildfile)
92000         (Starting the syntax check process)
92001         (Parsing the output)
92002         (Interaction with other modes)
92003         (Example---Configuring a tool called via make)
92004         (Example---Configuring a tool called directly): Rewrite a bit.
92006 2017-10-03  João Távora  <joaotavora@gmail.com>
92008         Minimal tweak as an attempt to future-proof Flymake API
92010         Discussed with Stefan that this should allow Flymake to request more
92011         from backends in the future, while also allowing backends to report
92012         more accurately.
92014         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc)
92015         (elisp-flymake-byte-compile): Adjust to new API.
92017         * lisp/progmodes/flymake-proc.el ()
92018         (flymake-proc-legacy-flymake): Adjust to new API.
92020         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
92021         Review API again.
92022         (flymake--handle-report): Allow other keys.  Change ACTION to
92023         REPORT-ACTION.
92025 2017-10-03  João Távora  <joaotavora@gmail.com>
92027         Integrate Flymake elisp checkers into elisp-mode.el directly
92029         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Use
92030         elisp-flymake-checkdoc and elisp-flymake-byte-compile.
92031         (elisp-flymake--checkdoc-1, elisp-flymake-checkdoc)
92032         (elisp-flymake--byte-compile-done)
92033         (elisp-flymake--byte-compile-process)
92034         (elisp-flymake-byte-compile): Rename from flymake-elisp
92035         counterparts in deleted flymake-elisp.el
92036         (elisp-flymake--batch-compile-for-flymake): New helper.
92037         (checkdoc-create-error-function)
92038         (checkdoc-autofix-flag)
92039         (checkdoc-generate-compile-warnings-flag)
92040         (checkdoc-diagnostic-buffer): Forward declare.
92042         * lisp/progmodes/flymake-elisp.el: Delete.
92044 2017-10-03  João Távora  <joaotavora@gmail.com>
92046         Hook Flymake onto proper checkdoc and byte-compile interfaces
92048         The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate,
92049         with little knowledge of actual internals or thought given to the
92050         usefulness of said interfaces in contexts other than Flymake's.
92052         * lisp/emacs-lisp/bytecomp.el
92053         (byte-compile-log-warning-function): New variable.
92054         (byte-compile-log-warning): Use it.
92055         (byte-compile--log-warning-for-byte-compile): New function.
92057         * lisp/emacs-lisp/checkdoc.el
92058         (checkdoc-create-error-function): New variable.
92059         (checkdoc-create-error): Use it.
92060         (checkdoc--create-error-for-checkdoc): New function.xo
92062         * lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1):
92063         Use checkdoc-create-error-function.
92064         (flymake-elisp--batch-byte-compile): Use
92065         byte-compile-log-warning-function.
92067 2017-10-03  João Távora  <joaotavora@gmail.com>
92069         Tweak Flymake autoloads and dependencies
92071         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add to
92072         flymake-diagnostic-functions here.
92074         * lisp/progmodes/flymake-elisp.el[top]: Don't add to
92075         emacs-lisp-mode-hook.  Don't call flymake-elisp-setup-backends in
92076         every buffer.  (flymake-elisp-checkdoc) (flymake-elisp-byte-compile):
92077         Autoload.  (flymake-elisp-setup-backends): Remove.
92079         * lisp/progmodes/flymake.el: Add some top-level comments.
92080         (flymake-make-diagnostic)
92081         (flymake-mode, flymake-mode-on, flymake-mode-off): Add autoloads
92083         Where to fixup this shit?
92085 2017-10-03  João Távora  <joaotavora@gmail.com>
92087         Capitalize "Flymake" in docstrings and comments
92089         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
92090         (flymake-elisp-setup-backends): Capitalize "Flymake"
92092         * lisp/progmodes/flymake-proc.el:
92093         (flymake-proc-reformat-err-line-patterns-from-compile-el)
92094         (flymake-proc--panic, flymake-proc-legacy-flymake)
92095         (flymake-start-syntax-check, flymake-proc-compile)
92096         (define-obsolete-variable-alias): Capitalize "Flymake"
92098         * lisp/progmodes/flymake.el (flymake-fringe-indicator-position)
92099         (flymake-make-diagnostic, flymake-delete-own-overlays)
92100         (flymake-diagnostic-functions)
92101         (flymake-diagnostic-types-alist, flymake-is-running)
92102         (flymake-make-report-fn, flymake-mode-on, flymake-mode-off)
92103         (flymake-goto-next-error, flymake-goto-prev-error): Capitalize "Flymake"
92105 2017-10-03  João Távora  <joaotavora@gmail.com>
92107         Flymake backends can report multiple times per check
92109         Rewrote a significant part of the Flymake backend API.  Flymake now
92110         ignores the return value of backend functions: a function can either
92111         returns or errors.  If it doesn't error, a backend is no longer
92112         constrained to call REPORT-FN exactly once.  It may do so any number
92113         of times, cumulatively reporting diagnostics.  Flymake keeps track of
92114         outdated REPORT-FN instances and disconsiders obsolete reports.
92115         Backends should avoid reporting obsolete data by canceling any
92116         ongoing processing at every renewed call to the backend function.
92118         Consolidated flymake.el internal data structures to require less
92119         buffer-local variables.  Adjusted Flymake's mode-line indicator to the
92120         new semantics.
92122         Adapted and simplified the implementation of elisp and legacy
92123         backends, fixing potential race conditions when calling backends in
92124         rapid succession.
92126         Added a new test for a backend that calls REPORT-FN multiple
92127         times.  Simplify test infrastructure.
92129         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
92130         (flymake-elisp-byte-compile): Error instead of returning nil
92131         if not in emacs-lisp-mode.
92132         (flymake-elisp--byte-compile-process): New buffer-local variable.
92133         (flymake-elisp-byte-compile): Mark (and kill) previous process
92134         obsolete process before starting a new one.  Don't report if
92135         obsolete process.
92137         * lisp/progmodes/flymake-proc.el
92138         (flymake-proc--current-process): New buffer-local variable.
92139         (flymake-proc--processes): Remove.
92140         (flymake-proc--process-filter): Don't bind
92141         flymake-proc--report-fn.
92142         (flymake-proc--process-sentinel): Rewrite.  Don't report if
92143         obsolete process.
92144         (flymake-proc-legacy-flymake): Rewrite.  Mark (and kill)
92145         previous process obsolete process before starting a new
92146         one.  Integrate flymake-proc--start-syntax-check-process
92147         helper.
92148         (flymake-proc--start-syntax-check-process): Delete.
92149         (flymake-proc-stop-all-syntax-checks): Don't use
92150         flymake-proc--processes, iterate buffers.
92151         (flymake-proc-compile):
92153         * lisp/progmodes/flymake.el (subr-x): Require it
92154         explicitly.
92155         (flymake-diagnostic-functions): Reword docstring.
92156         (flymake--running-backends, flymake--disabled-backends)
92157         (flymake--diagnostics-table): Delete.
92158         (flymake--backend-state): New buffer-local variable and new defstruct.
92159         (flymake--with-backend-state, flymake--collect)
92160         (flymake-running-backends, flymake-disabled-backends)
92161         (flymake-reporting-backends): New helpers.
92162         (flymake-is-running): Use flymake-running-backends.
92163         (flymake--handle-report): Rewrite.
92164         (flymake-make-report-fn): Ensure REPORT-FN runs in the correct
92165         buffer or not at all.
92166         (flymake--disable-backend, flymake--run-backend): Rewrite.
92167         (flymake-start): Rewrite.
92168         (flymake-mode): Set flymake--backend-state.
92169         (flymake--mode-line-format): Rewrite.
92171         * test/lisp/progmodes/flymake-tests.el
92172         (flymake-tests--wait-for-backends): New helper.
92173         (flymake-tests--call-with-fixture): Use it.
92174         (included-c-header-files): Fix whitespace.
92175         (flymake-tests--diagnose-words): New helper.
92176         (dummy-backends): Rewrite for new semantics.  Use cl-letf.
92177         (flymake-tests--assert-set): Use quote.
92178         (recurrent-backend): New test.
92180 2017-10-03  João Távora  <joaotavora@gmail.com>
92182         Flymake uses proper idle timers
92184         Also, flymake-no-changes-timeout can be set to nil to disable
92185         automatic periodic checks.  But even in that situation the idle timer
92186         still runs at a reduced rate to detect changes in the variable and
92187         revert that decision.
92189         * lisp/progmodes/flymake.el (flymake-no-changes-timeout): Improve doc.
92190         (flymake-last-change-time): Delete.
92191         (flymake--schedule-timer-maybe): New helper.
92192         (flymake-after-change-function): Use it.
92193         (flymake-on-timer-event): Delete
92194         (flymake-mode): Don't scheduler timer.
92196 2017-10-03  João Távora  <joaotavora@gmail.com>
92198         Flymake variable flymake-diagnostic-functions now a special hook
92200         * lisp/progmodes/flymake-proc.el: Use add-hook to affect
92201         flymake-diagnostic-functions.
92203         * lisp/progmodes/flymake-elisp.el
92204         (flymake-elisp-setup-backends): Use add-hook.
92206         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
92207         Revise docstring.
92208         (flymake-start): Use run-hook-wrapped.
92210 2017-10-03  João Távora  <joaotavora@gmail.com>
92212         Batch of minor Flymake cleanup actions agreed to with Stefan
92214         Discussed with Stefan, in no particular order
92216         - Remove aliases for symbols thought to be internal to flymake-proc.el
92217         - Don’t need :group in defcustom and defface in flymake.el
92218         - Fix docstring of flymake-make-diagnostic
92219         - Fix docstring of flymake-diagnostic-functions to clarify keywords.
92220         - Mark overlays with just the property ’flymake, not ’flymake-overlay
92221         - Tune flymake-overlays for performance
92222         - Make flymake-mode-on and flymake-mode-off obsolete
92223         - Don’t use hash-table-keys unless necessary.
92224         - Copyright notice in flymake-elisp.
92226         Added some more
92228         - Clarify docstring of flymake-goto-next-error
92229         - Clarify a comment in flymake--run-backend complaining about ert-deftest.
92230         - Prevent compilation warnings in flymake-proc.el
92231         - Remove doctring from obsolete aliases
92233         Now the changelog:
92235         * lisp/progmodes/flymake-elisp.el: Proper copyright notice.
92237         * lisp/progmodes/flymake-proc.el (flymake-warning-re)
92238         (flymake-proc-diagnostic-type-pred)
92239         (flymake-proc-default-guess)
92240         (flymake-proc--get-file-name-mode-and-masks): Move up to
92241         beginning of file to shoosh compiler warnings
92242         (define-obsolete-variable-alias): Delete many obsolete aliases.
92244         * lisp/progmodes/flymake.el (flymake-error-bitmap)
92245         (flymake-warning-bitmap, flymake-note-bitmap)
92246         (flymake-fringe-indicator-position)
92247         (flymake-start-syntax-check-on-newline)
92248         (flymake-no-changes-timeout, flymake-gui-warnings-enabled)
92249         (flymake-start-syntax-check-on-find-file, flymake-log-level)
92250         (flymake-wrap-around, flymake-error, flymake-warning)
92251         (flymake-note): Don't need :group in these defcustom and defface.
92252         (flymake--run-backend): Clarify comment
92253         (flymake-mode-map): Remove.
92254         (flymake-make-diagnostic): Fix docstring.
92255         (flymake--highlight-line, flymake--overlays): Identify flymake
92256         overlays with just ’flymake.
92257         (flymake--overlays): Reverse order of invocation for
92258         cl-remove-if-not and cl-sort.
92259         (flymake-mode-on)
92260         (flymake-mode-off): Make obsolete.
92261         (flymake-goto-next-error, flymake-goto-prev-error): Fix docstring.
92262         (flymake-diagnostic-functions): Clarify keyword arguments in
92263         docstring.
92265         Maybe squash in that one where I remove many obsoletes
92267 2017-10-03  João Távora  <joaotavora@gmail.com>
92269         Explicitly add a(n empty) keymap for Flymake
92271         Too early to decide what will be in it, if anything.  Though "M-n" and
92272         "M-p" would be great.
92274         * lisp/progmodes/flymake-ui.el (flymake-mode-map): New variable
92276 2017-10-03  João Távora  <joaotavora@gmail.com>
92278         Flymake uses some new fringe bitmaps
92280         Also fix behavior whereby flymake wouldn't react to a change in the
92281         variable.
92283         * lisp/progmodes/flymake-ui.el (flymake-error-bitmap)
92284         (flymake-warning-bitmap): Update bitmaps.
92285         (flymake-note-bitmap): New defcustom.
92286         (flymake-double-exclamation-mark): New bitmap.
92287         (flymake-error, flymake-warning, flymake-note)
92288         (flymake--highlight-line): 'bitmap property must be a symbol.
92289         Also set default face to flymake-error.
92290         (flymake--fringe-overlay-spec): Bitmap property can be a
92291         variable symbol.
92293 2017-10-03  João Távora  <joaotavora@gmail.com>
92295         Remove old flymake-display-err-menu-for-current-line, it's useless
92297         See https://lists.gnu.org/r/emacs-devel/2017-09/msg00949.html
92299         * lisp/progmodes/flymake-ui.el
92300         (flymake-popup-current-error-menu): Remove.
92302 2017-10-03  João Távora  <joaotavora@gmail.com>
92304         Treat Flymake errors as just another type of diagnostic
92306         * lisp/progmodes/flymake.el (flymake--diag-errorp): Remove.
92307         (flymake--handle-report, flymake-popup-current-error-menu):
92308         Don't use it.
92310 2017-10-03  João Távora  <joaotavora@gmail.com>
92312         Fix three Flymake bugs when checking C header files
92314         The first of these problems is longstanding: if an error-less B.h is
92315         included from error-ridden A.h, flymake's legacy parser will panic
92316         (and disable itself) since it sees a non-zero exit for a clean file.
92317         To fix this, recommend returning 'true' in the documentation for the
92318         check-syntax target.
92320         Another problem was introduced by the parser rewrite.  For error
92321         patterns spanning more than one line, point may be left in the middle
92322         of a line and thus render other patterns useless.  Those patterns were
92323         written for the old line-by-line parser.  To make them useful again,
92324         move to the beginning of line in those situations.
92326         The third problem was also longstanding and happened on newer GCC's:
92327         The "In file included from" prefix confused
92328         flymake-proc-get-real-file-name.  Fix this.
92330         Also updated flymake--diag-region to fallback to highlighting a full
92331         line less often.
92333         Add automatic tests to check this.
92335         * lisp/progmodes/flymake-proc.el
92336         (flymake-proc--diagnostics-for-pattern): Fix bug when patterns
92337         accidentally spans more than one line.  Don't create
92338         diagnostics without error messages.
92339         (flymake-proc-real-file-name-considering-includes): New
92340         helper.
92341         (flymake-proc-allowed-file-name-masks): Use it.
92343         * lisp/progmodes/flymake.el (flymake-diag-region): Make COL
92344         argument explicitly optional.  Only fall back to full line in extreme
92345         cases.
92347         * test/lisp/progmodes/flymake-tests.el
92348         (included-c-header-files): New test.
92349         (different-diagnostic-types): Update.
92351         * test/lisp/progmodes/flymake-resources/Makefile
92352         (check-syntax): Always return success (0) error code.
92353         (CC_OPTS): Add -Wextra
92355         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c
92356         (main): Rewrite comments.
92358         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
92359         Include some dummy header files.
92361         * test/lisp/progmodes/flymake-resources/no-problems.h: New file.
92363         * test/lisp/progmodes/flymake-resources/some-problems.h: New file.
92365         * doc/misc/flymake.texi (Example---Configuring a tool called
92366         via make): Recommend adding "|| true" to the check-syntax target.
92368 2017-10-03  João Távora  <joaotavora@gmail.com>
92370         Add interactive flymake-start function
92372         * lisp/progmodes/flymake.el (flymake-on-timer-event)
92373         (flymake-after-change-function, flymake-mode): Call
92374         flymake-start.
92375         (flymake-start): Rename from flymake--start-syntax-check.
92377 2017-10-03  João Távora  <joaotavora@gmail.com>
92379         A couple of Flymake backends for emacs-lisp-mode
92381         Loading flymake-elisp.el doesn't setup flymake-mode to turn on
92382         automatically, but it affects emacs-lisp-mode-hook so that
92383         flymake-diagnostic-functions is setup with a suitable buffer-local
92384         value.  The variable flymake-diagnostic-functions in every live
92385         emacs-lisp-mode buffer is also adjusted.
92387         * lisp/progmodes/flymake.el (top): Require flymake-elisp.
92389         * lisp/progmodes/flymake-elisp.el: New file.
92391 2017-10-03  João Távora  <joaotavora@gmail.com>
92393         Fancy Flymake mode-line construct displays status
92395         Imitates compilation-mode's mode-line a bit, and uses its faces.
92397         * lisp/progmodes/flymake.el
92398         (flymake-error, flymake-warning, flymake-note): Add
92399         mode-line-face to these flymake error types.
92400         (flymake-note): Notes don't need a noisy fringe bitmap.
92401         (flymake-lighter): Delete.
92402         (flymake--update-lighter): Delete.
92403         (flymake--mode-line-format): New function and variable.
92404         (flymake--diagnostics-table): New buffer-local variable.
92405         (flymake--handle-report): Don't update "lighters".  Affect
92406         flymake--diagnostics-table.
92407         (flymake--run-backend): Init flymake--diagnostics-table for backend.
92408         (flymake-mode): Use flymake--mode-line-format.
92409         (flymake-mode): Don't update lighter.
92410         (flymake--highlight-line): Be more careful when overriding a
92411         nil default overlay property.
92413 2017-10-03  João Távora  <joaotavora@gmail.com>
92415         Tweak Flymake commands flymake-goto-[next/prev]-error
92417         Add filters, useful for backends like the upcoming
92418         flymake-elisp-checkdoc backend, for example, which litters everything
92419         with low-priority notes.
92421         Also re-implement wraparound for flymake-goto-next-error. Manual
92422         mentions this, so it's probably a good idea to keep it.  Added a new
92423         customization variable flymake-wrap-around to control it.
92425         * lisp/progmodes/flymake.el (flymake-goto-prev-error)
92426         (flymake-goto-next-error): Accept FILTER argument.
92427         (flymake-wrap-around): New variable.
92428         (flymake-goto-next-error): Wrap around according to flymake-wrap-around.
92430         * test/lisp/progmodes/flymake-tests.el
92431         (different-diagnostic-types, dummy-backends): Pass FILTER to
92432         flymake-goto-prev-error.
92433         (different-diagnostic-types)
92434         (dummy-backends): Use flymake-wrap-around.
92436 2017-10-03  João Távora  <joaotavora@gmail.com>
92438         Flymake's flymake-proc.el backend slightly easier to debug
92440         Misc cleanup in flymake-proc.el
92442         Improve description of what this file contains.
92444         Better name for the backend function.  Fix the case where it is run
92445         interactively.
92447         Keep the output buffer alive iff the external process panics.
92449         * lisp/progmodes/flymake-proc.el
92450         (flymake-proc-legacy-flymake): Rename from
92451         flymake-proc-start-syntax-check.  Allow running interactively.
92452         (flymake-start-syntax-check): Obsolete alias for
92453         flymake-proc-legacy-flymake.
92454         (flymake-proc-start-syntax-check): Delete.
92455         (flymake-diagnostic-functions): Include flymake-proc-legacy-flymake
92456         (flymake-proc--process-sentinel): Keep output buffer alive.
92457         Clarify with comments.
92458         (flymake-proc--diagnostics-for-pattern)
92459         (flymake-proc--process-sentinel)
92460         (flymake-proc--safe-delete-directory)
92461         (flymake-proc--start-syntax-check-process): Use condition-case-unless-debug.
92463 2017-10-03  João Távora  <joaotavora@gmail.com>
92465         Simplify Flymake logging and erroring
92467         Use display-warning and a dedicated *Flymake log* buffer.
92469         To ease readability, flymake log messages are now prefixed with a
92470         common prefix and the buffer that originated them.
92472         Some situations of over-zealous logging are fixed.
92474         Use byte-compiler info, if available, to determine whence the
92475         flymake-related log message is coming.
92477         * lisp/progmodes/flymake-proc.el
92478         (flymake-proc--diagnostics-for-pattern): Improve log message.
92479         (flymake-proc--panic): Always flymake-log an error
92480         (flymake-proc--safe-delete-file)
92481         (flymake-proc--safe-delete-directory):
92482         Downgrade warning
92483         (flymake-proc-start-syntax-check): Simplify slightly.
92484         (flymake-proc--start-syntax-check-process): Simplify.
92485         (flymake-proc--init-find-buildfile-dir)
92486         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
92487         No need to warn twice.
92489         * lisp/progmodes/flymake.el (flymake-log): Convert to macro.
92490         (flymake--log-1): New helper.
92491         (flymake-log-level): Deprecate.
92492         (flymake-error): New helper.
92493         (flymake-ler-make-ler, flymake--handle-report, flymake-mode):
92494         Use flymake-error.
92495         (flymake-on-timer-event)
92496         (flymake--handle-report, flymake--disable-backend)
92497         (flymake--run-backend, flymake-start, flymake-mode-on)
92498         (flymake-mode-off, flymake-after-change-function)
92499         (flymake-after-save-hook, flymake-find-file-hook): Adjust
92500         flymake-log calls.
92502         * test/lisp/progmodes/flymake-tests.el
92503         (flymake-tests--call-with-fixture): Only log errors.
92505 2017-10-03  Philipp Stephani  <phst@google.com>
92507         Work around deprecation of gtk_style_context_get_background_color
92509         * src/gtkutil.c (xg_check_special_colors): Replace call to
92510         gtk_style_context_get_background_color with its definition.
92512 2017-10-03  João Távora  <joaotavora@gmail.com>
92514         New Flymake API variable flymake-diagnostic-functions
92516         Lay groundwork for multiple active backends in the same buffer.
92518         Backends are lisp functions called when flymake-mode sees fit.  They
92519         are responsible for examining the current buffer and telling
92520         flymake.el, via return value, if they can syntax check it.
92521         Backends should return quickly and inexpensively, but they are also
92522         passed a REPORT-FN argument which they may or may not call
92523         asynchronously after performing more expensive work.
92525         REPORT-FN's calling convention stipulates that a backend calls it with
92526         a list of diagnostics as argument, or, alternatively, with a symbol
92527         denoting an exceptional situation, usually some panic resulting from a
92528         misconfigured backend.  In keeping with legacy behavior,
92529         flymake.el's response to a panic is to disable the issuing backend.
92531         The flymake--diag object representing a diagnostic now also keeps
92532         information about its source backend.  Among other uses, this allows
92533         flymake to selectively cleanup overlays based on which backend is
92534         updating its diagnostics.
92536         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn):
92537         New dynamic variable.
92538         (flymake-proc--process): New variable.
92539         (flymake-can-syntax-check-buffer): Remove.
92540         (flymake-proc--process-sentinel): Simplify.  Use
92541         unwind-protect.  Affect flymake-proc--processes here.
92542         Bind flymake-proc--report-fn.
92543         (flymake-proc--process-filter): Bind flymake-proc--report-fn.
92544         (flymake-proc--post-syntax-check): Delete
92545         (flymake-proc-start-syntax-check): Take mandatory
92546         report-fn.  Rewrite.  Bind flymake-proc--report-fn.
92547         (flymake-proc--process-sentinel): Rewrite and simplify.
92548         (flymake-proc--panic): New helper.
92549         (flymake-proc--start-syntax-check-process): Record report-fn
92550         in process.  Use flymake-proc--panic.
92551         (flymake-proc-stop-all-syntax-checks): Use mapc.  Don't affect
92552         flymake-proc--processes here.  Record interruption reason.
92553         (flymake-proc--init-find-buildfile-dir)
92554         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
92555         Use flymake-proc--panic.
92556         (flymake-diagnostic-functions): Add
92557         flymake-proc-start-syntax-check.
92558         (flymake-proc-compile): Call
92559         flymake-proc-stop-all-syntax-checks with a reason.
92561         * lisp/progmodes/flymake.el (flymake-backends): Delete.
92562         (flymake-check-was-interrupted): Delete.
92563         (flymake--diag): Add backend slot.
92564         (flymake-delete-own-overlays): Take optional filter arg.
92565         (flymake-diagnostic-functions): New user-visible variable.
92566         (flymake--running-backends, flymake--disabled-backends): New
92567         buffer-local variables.
92568         (flymake-is-running): Now a function, not a variable.
92569         (flymake-mode-line, flymake-mode-line-e-w)
92570         (flymake-mode-line-status): Delete.
92571         (flymake-lighter):  flymake's minor-mode "lighter".
92572         (flymake-report): Delete.
92573         (flymake--backend): Delete.
92574         (flymake--can-syntax-check-buffer): Delete.
92575         (flymake--handle-report, flymake--disable-backend)
92576         (flymake--run-backend, flymake--run-backend):  New helpers.
92577         (flymake-make-report-fn): Make a lambda.
92578         (flymake--start-syntax-check): Iterate
92579         flymake-diagnostic-functions.
92580         (flymake-mode): Use flymake-lighter.  Simplify.  Initialize
92581         flymake--running-backends and flymake--disabled-backends.
92582         (flymake-find-file-hook): Simplify.
92584         * test/lisp/progmodes/flymake-tests.el
92585         (flymake-tests--call-with-fixture): Use flymake-is-running the
92586         function.  Check if flymake-mode already active before activating it.
92587         Add a thorough test for flymake multiple backends
92589         * lisp/progmodes/flymake.el (flymake--start-syntax-check):
92590         Don't use condition-case-unless-debug, use condition-case
92592         * test/lisp/progmodes/flymake-tests.el
92593         (flymake-tests--assert-set): New helper macro.
92594         (dummy-backends): New test.
92596 2017-10-03  João Távora  <joaotavora@gmail.com>
92598         More Flymake cleanup before advancing to backend redesign
92600         Diagnostics are reported for buffers, not necessarily files.  It’s the
92601         backend’s responsibility to compute the buffer where the diagnostic is
92602         applicable.  For now, this has to match the buffer where flymake-mode
92603         is active and which is at the origin of the backend call.
92605         flymake.el knows nothing about line/column diagnostics (except for
92606         backward-compatible flymake-ler-make-ler, which must yet be tested).
92607         It’s also the backend’s responsibility to compute a BEG and END
92608         positions for the diagnostic in the relevant buffer.
92610         * lisp/progmodes/flymake-proc.el
92611         (flymake-proc--diagnostics-for-pattern): Convert LINE/COL to
92612         region here.  Check file buffer here.
92613         (flymake-proc--process-sentinel): Don’t kill output buffer if
92614         high enough log level.
92616         * lisp/progmodes/flymake.el (flymake-diag-region): Make this a utility
92617         function.  (flymake--highlight-line): Diagnostic has region now.
92618         (flymake-popup-current-error-menu): Don’t add file and line numbers to
92619         already this silly menu.  (flymake--fix-line-numbers): Remove.
92620         (flymake-report): No need to fix diagnostics here.
92622 2017-10-03  João Távora  <joaotavora@gmail.com>
92624         Protect Flymake's eager checks against commands like fill-paragraph
92626         If flymake-start-syntax-check-on-newline is t, check should start as
92627         soon as a newline is seen by after-change-functions.  But don't rush
92628         it: since the buffer state might not be final, we might end up with
92629         invalid diagnostic regions after some commands silently insert and
92630         delete newlines (looking at you, fill-paragraph).
92632         * lisp/progmodes/flymake.el (flymake-after-change-function): Pass
92633         `deferred' to flymake--start-syntax-check.
92634         (flymake--start-syntax-check): Take optional `deferred' arg.
92636 2017-10-03  João Távora  <joaotavora@gmail.com>
92638         Flymake highlights GCC info/notes as detected by flymake-proc.el
92640         * lisp/progmodes/flymake-proc.el
92641         (flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
92642         honour more sophisticated flymake-proc-diagnostic-type-pred.
92643         (flymake-warning-re): Is now an obsolete alias for
92644         flymake-proc-diagnostic-type-pred.
92645         (flymake-proc-diagnostic-type-pred): Rename and augment from
92646         flymake-proc-warning-predicate.  (flymake-proc-warning-predicate):
92647         Delete.
92649         * lisp/progmodes/flymake.el (flymake-note): New face.
92650         (flymake-diagnostic-types-alist): Simplify.
92651         (flymake-note): New overlay category.
92652         (flymake--lookup-type-property): Only lookup single keys, not lists.
92653         (flymake--diag-errorp): Rewrite.
92654         (flymake--highlight-line): Use flymake--lookup-type-property.
92656         * test/lisp/progmodes/flymake-tests.el
92657         (different-diagnostic-types): Rename from errors-and-warnings.
92658         Check notes.
92659         (flymake-tests--call-with-fixture): Use
92660         flymake-proc-diagnostic-type-pred.
92662 2017-10-03  João Távora  <joaotavora@gmail.com>
92664         Flymake checks file names before considering diagnostics
92666         The error patterns for gcc picked up errors for the Makefile itself,
92667         for example.  These shouldn't count as actual errors.
92669         * lisp/progmodes/flymake.el (flymake-report): Check
92670         matching file names.
92672 2017-10-03  João Távora  <joaotavora@gmail.com>
92674         Echo Flymake error messages when navigating errors interactively
92676         Perhaps binding M-n and M-p to flymake-goto-next-error and
92677         flymake-goto-prev-error also wouldn't be a bad idea.
92679         * lisp/progmodes/flymake.el (flymake-goto-next-error): Use
92680         target overlay's help-echo.
92682 2017-10-03  João Távora  <joaotavora@gmail.com>
92684         Add a new Flymake test for multiple errors and warnings
92686         * test/lisp/progmodes/flymake-tests.el
92687         (flymake-tests--call-with-fixture): Save excursion.
92688         (errors-and-warnings): New test.
92690         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
92691         New test fixture.
92693 2017-10-03  João Távora  <joaotavora@gmail.com>
92695         Flymake warning face easier to distinguish
92697         A orange wavy underline is very hard to tell from a red wavy
92698         underline.
92700         * lisp/progmodes/flymake.el (flymake-warning): Change color to
92701         "deep sky blue"
92703 2017-10-03  João Távora  <joaotavora@gmail.com>
92705         Flymake's flymake-proc.el parses column numbers from gcc/javac errors
92707         Column numbers are not a great way of marking diagnostic regions, but
92708         that's probably all that can be expected from the flymake-proc.el
92709         backend.  For now, try (end-of-thing 'sexp) to discover the
92710         diagnostic's end position.
92712         * lisp/progmodes/flymake-proc.el ()
92713         (flymake-proc-err-line-patterns): Also parse column numbers,
92714         if available, for gcc/javac warnings.
92716 2017-10-03  João Távora  <joaotavora@gmail.com>
92718         New Flymake variable flymake-diagnostic-types-alist and much cleanup
92720         A new user-visible variable is introduced where different diagnostic
92721         types can be categorized.  Flymake backends can also contribute to
92722         this variable.  Anything that doesn’t match an existing error type
92723         is considered.
92725         The variable’s alists are used to propertize the overlays pertaining
92726         to each error type.  The user can override the built-in properties by
92727         either by modifying the alist, or by modifying the properties of a
92728         special "category" symbol, named by the `flymake-category' entry in
92729         the alist.
92731         The `flymake-category' entry is especially useful for, say, the author
92732         of foo-flymake-backend, who issues diagnostics of type :foo-note, that
92733         should behave like notes, except with no fringe bitmap:
92735            (add-to-list 'flymake-diagnostic-types-alist
92736                         '(:foo-note
92737                           . ((flymake-category . flymake-note)
92738                              (bitmap . nil))))
92740         For essential properties like `severity', `priority', etc, a default
92741         value is produced.  Some properties like `evaporate' cannot be
92742         overridden.
92744         * lisp/progmodes/flymake.el (flymake--diag): Rename from
92745         flymake-ler.
92746         (flymake-ler-make): Obsolete alias for flymake-diagnostic-make
92747         (flymake-ler-errorp): Rewrite using flymake--severity.
92748         (flymake--place-overlay): Delete.
92749         (flymake--overlays): Now a cl-defun with &key args.  Document.
92750         Use `overlays-at' if BEG is non-nil and END is nil.
92751         (flymake--lookup-type-property): New helper.
92752         (flymake--highlight-line): Rewrite.
92753         (flymake-diagnostic-types-alist): New API variable.
92754         (flymake--diag-region)
92755         (flymake--severity, flymake--face)
92756         (flymake--fringe-overlay-spec): New helper.
92757         (flymake-popup-current-error-menu): Use new flymake-overlays.
92758         (flymake-popup-current-error-menu, flymake-report): Use
92759         flymake--diag-errorp.
92760         (flymake--fix-line-numbers): Use flymake--diag-line.
92761         (flymake-goto-next-error): Pass :key to flymake-overlays
92763         * lisp/progmodes/flymake-proc.el
92764         (flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.
92766 2017-10-03  João Távora  <joaotavora@gmail.com>
92768         Refactor Flymake tests in preparation for more tests
92770         Introduce a slightly more generic fixture macro.
92772         Also make flymake-tests.el friendlier to interactive runs, by not
92773         killing buffers visited by the user.
92775         * test/lisp/progmodes/flymake-tests.el
92776         (flymake-tests--call-with-fixture): New helper from
92777         flymake-tests--current-face.  Don't kill file buffers already
92778         being visited before the test starts.
92779         (flymake-tests--with-flymake): New macro.
92780         (flymake-tests--current-face): Delete.
92781         (warning-predicate-rx-gcc, warning-predicate-function-gcc)
92782         (warning-predicate-rx-perl, warning-predicate-function-perl):
92783         Use flymake-test--with-flymake.
92785 2017-10-03  João Távora  <joaotavora@gmail.com>
92787         Allow running Flymake tests from interactive sessions
92789         * test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
92790         Expand to reasonable value if no
92791         EMACS_TEST_DIRECTORY. (flymake-tests--current-face): Work around
92792         "weirdness" of bug 17647 with read-event.
92794 2017-10-03  João Távora  <joaotavora@gmail.com>
92796         Flymake diagnostics now apply to arbitrary buffer regions
92798         Make Flymake UI some 150 lines lighter
92800         Strip away much of the original implementation's complexity in
92801         manipulating objects representing diagnostics as well as creating and
92802         navigating overlays.
92804         Lay some groundwork for a more flexible approach that allows for
92805         different classes of diagnostics, not necessarily line-based.
92806         Importantly, one overlay per diagnostic is created, whereas the
92807         original implementation had one per line, and on it it concatenated
92808         the results of errors and warnings.
92810         This means that currently, an error and warning on the same line are
92811         problematic and the warning might be overlooked but this will soon be
92812         fixed by setting appropriate priorities.
92814         Since diagnostics can highlight arbitrary regions, not just lines, the
92815         faces were renamed.
92817         Tests pass and backward compatibility with interactive functions is
92818         maintained, but probably any third-party extension or customization
92819         relying on more than a trivial set of flymake.el internals has stopped
92820         working.
92822         * lisp/progmodes/flymake-proc.el
92823         (flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
92824         constructor syntax.
92826         * lisp/progmodes/flymake.el (flymake-ins-after)
92827         (flymake-set-at, flymake-er-make-er, flymake-er-get-line)
92828         (flymake-er-get-line-err-info-list, flymake-ler-set-file)
92829         (flymake-ler-set-full-file, flymake-ler-set-line)
92830         (flymake-get-line-err-count, flymake-get-err-count)
92831         (flymake-highlight-err-lines, flymake-overlay-p)
92832         (flymake-make-overlay, flymake-region-has-flymake-overlays)
92833         (flymake-find-err-info)
92834         (flymake-line-err-info-is-less-or-equal)
92835         (flymake-add-line-err-info, flymake-add-err-info)
92836         (flymake-get-first-err-line-no)
92837         (flymake-get-last-err-line-no, flymake-get-next-err-line-no)
92838         (flymake-get-prev-err-line-no, flymake-skip-whitespace)
92839         (flymake-goto-line, flymake-goto-next-error)
92840         (flymake-goto-prev-error, flymake-patch-err-text): Delete
92841         functions no longer used.
92842         (flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
92843         (flymake-report): Rewrite.
92844         (flymake-popup-current-error-menu): Rewrite.
92845         (flymake--highlight-line): Rename from
92846         flymake-highlight-line.  Call `flymake--place-overlay.
92847         (flymake--place-overlay): New function.
92848         (flymake-ler-errorp): New predicate.
92849         (flymake-ler): Simplify.
92850         (flymake-error): Rename from
92851         flymake-errline.
92852         (flymake-warning): Rename from flymake-warnline.
92853         (flymake-warnline, flymake-errline): Obsoletion aliases.
92855         * test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
92856         (warning-predicate-function-gcc, warning-predicate-rx-perl)
92857         (warning-predicate-function-perl): Use face `flymake-warning'.
92859 2017-10-03  João Távora  <joaotavora@gmail.com>
92861         Move symbols in flymake-proc.el to separate namespace
92863         Every symbol in this flymake now starts with the prefix flymake-proc-.
92865         Make obsolete aliases for (almost?) every symbol.
92867         Furthermore, many flymake-proc.el symbols are prefixed with
92868         "flymake-proc--", that is they were considered internal.
92870         Some customization variables, interactive functions, and other symbols
92871         considered useful to user customizations or third-party libraries are
92872         considered "public" or "external" and so use a "flymake-proc-" prefix.
92874         * lisp/progmodes/flymake-proc.el: Every symbol renamed.
92876         * test/lisp/progmodes/flymake-tests.el
92877         (flymake-tests--current-face): Use
92878         flymake-proc-warning-predicate, not flymake-warning-predicate.
92880         * lisp/progmodes/flymake-proc.el
92881         (flymake-proc--get-project-include-dirs-function)
92882         (flymake-proc--get-project-include-dirs-imp)
92883         (flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
92884         (flymake-proc--find-make-buildfile)
92885         (flymake-proc--get-syntax-check-program-args)
92886         (flymake-proc--init-create-temp-source-and-master-buffer-copy)
92887         (flymake-proc--init-find-buildfile-dir)
92888         (flymake-proc--get-full-nonpatched-file-name)
92889         (flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
92890         flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
92891         (flymake-proc--temp-source-file-name)
92892         (flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
92893         (flymake-proc--start-syntax-check-process)
92894         (flymake-proc--compilation-is-running)
92895         (flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
92896         (flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
92897         (flymake-proc--clear-project-include-dirs-cache)
92898         (flymake-proc--project-include-dirs-cache)
92899         (flymake-proc--get-system-include-dirs)
92900         (flymake-proc--get-project-include-dirs)
92901         (flymake-proc--add-project-include-dirs-to-cache)
92902         (flymake-proc--get-project-include-dirs-from-cache)
92903         (flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
92904         (flymake-proc--process-filter) (flymake-proc--create-master-file)
92905         (flymake-proc--find-buffer-for-file)
92906         (flymake-proc--copy-buffer-to-temp-buffer)
92907         (flymake-proc--read-file-to-temp-buffer)
92908         (flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
92909         flymake-proc--check-include)
92910         (flymake-proc--check-patch-master-file-buffer)
92911         (flymake-proc--master-file-compare)
92912         (flymake-proc--find-possible-master-files)
92913         (flymake-proc--included-file-name, flymake-proc--same-files)
92914         (flymake-proc--fix-file-name, flymake-proc--find-buildfile)
92915         (flymake-proc--clear-buildfile-cache)
92916         (flymake-proc--add-buildfile-to-cache)
92917         (flymake-proc--get-buildfile-from-cache)
92918         (flymake-proc--find-buildfile-cache)
92919         (flymake-proc--get-real-file-name-function)
92920         (flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
92921         (flymake-proc--get-file-name-mode-and-masks)
92922         (flymake-proc--processes): Rename to internal symbol from
92923         flymake-proc- version.
92925 2017-10-03  João Távora  <joaotavora@gmail.com>
92927         Completely rewrite Flymake's subprocess output processing
92929         Instead of parsing and matching regexps line-by-line, insert
92930         subprocess output in a separate buffer and parse using
92931         `search-forward-regexp'.  This eventually enables multi-line error
92932         patterns and simplifies code all around.  Store per-check information
92933         in the subprocess using `process-get' and `process-put'.  Treat error
92934         messages, warnings, etc. more generically as "diagnostics".  Create
92935         these objects as soon as possible, reusing existing `flymake-ler'
92936         structure.  Fix some whitespace.
92938         * lisp/progmodes/flymake.el (cl-lib): Require also when
92939         loading.
92940         (flymake--fix-line-numbers): Rename from
92941         flymake-fix-line-numbers.  Simplify.
92942         (flymake-report): Call flymake--fix-line-numbers.  Rearrange
92943         plain diagnostics list into alist format expected by
92944         flymake-highlight-err-lines.
92946         * lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
92947         process output and parse in dedicated output buffer.
92948         (flymake-proc--diagnostics-for-pattern): New helper function.
92949         (flymake-process-sentinel): Call flymake-post-syntax-check with
92950         collected diagnostics.  Kill output buffer.
92951         (flymake-post-syntax-check): Receive diagnostics as third argument.
92952         (flymake-parse-output-and-residual, flymake-new-err-info)
92953         (flymake-parse-residual, flymake-parse-err-lines)
92954         (flymake-split-output, flymake-proc-parse-line)
92955         (flymake-output-residual): Delete.
92956         (flymake-start-syntax-check-process): Use make-process.  Setup
92957         dedicated an output buffer
92959 2017-10-03  João Távora  <joaotavora@gmail.com>
92961         Flymake provides flymake-report re-entry point for backends
92963         * lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
92964         Simplify.  Call flymake-report.
92966         * lisp/progmodes/flymake.el (flymake-report): New function.
92968 2017-10-03  João Távora  <joaotavora@gmail.com>
92970         Split Flymake into flymake.el into flymake-proc.el (again!)
92972         After deciding that this work would continue on master only, which
92973         caused two commits named
92975            Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
92977         and
92979            Revert "Add flymake-backends defcustom"
92981         to be added to the emacs-26 branch, further discussion reversed that
92982         decision.
92984            See:
92986              https://lists.gnu.org/r/emacs-devel/2017-09/msg01020.html
92987              https://lists.gnu.org/r/emacs-devel/2017-09/msg01030.html
92989         This means that those two commits MUST be merged to master AFTER ALL.
92991         flymke-proc.el contains the main syntax-checking backend, while
92992         flymake.el keeps mostly the UI part.
92994         * lisp/progmodes/flymake-proc.el: New file.  Require flymake.
92996         * lisp/progmodes/flymake.el: Require flymake-proc.el at the end.
92998 2017-10-03  Nicolas Petton  <nicolas@petton.fr>
93000         Update authors.el
93002         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
93003         (authors-renamed-files-alist): Additions.
93005 2017-10-03  Noam Postavsky  <npostavs@gmail.com>
93007         Give more helpful messages for python completion setup failures
93009         * lisp/progmodes/python.el (python-shell-completion-native-setup): In
93010         case the completion setup failed with some exception, print out the
93011         exception type and message.  If libedit is detected, raise an
93012         exception, since this is known to fail.
93014 2017-10-02  Eli Zaretskii  <eliz@gnu.org>
93016         Fix the --without-x build
93018         * src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
93019         frame_parent only in GUI builds to avoid compilation errors in
93020         --without-x builds.  (Bug#28611)
93022 2017-10-02  Paul Eggert  <eggert@day>
93024         Fix customization of zoneinfo-style-world-list
93026         A customizable variable's initial value cannot depend on that of
93027         another customizable variable, since the variables are initialized
93028         in other than textual order.  Problem reported by N. Jackson
93029         (Bug#24291).
93030         * lisp/time.el (display-time-world-list): Default to t,
93031         a special value that expands to zoneinfo-style-word-list
93032         if that works, and to legacy-style-word-list otherwise.
93033         (time--display-world-list): New function.
93034         (display-time-world, display-time-world-timer): Use it.
93036 2017-10-02  Alan Mackenzie  <acm@muc.de>
93038         Fix a CC Mode brace stack cache bug.
93040         * lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
93041         c-beginning-of-current-token after a failing search operation, to ensure we
93042         don't cache a point inside a token.
93044 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
93046         * etc/PROBLEMS: Document Bug#26638.
93048 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
93050         Prefer HTTPS to HTTP for gnu.org
93052         This fixes some URLs I omitted from my previous pass,
93053         notably those in lists.gnu.org.  Although lists.gnu.org
93054         does not yet support TLS 1.1, TLS 1.0 is better than nothing.
93055         * lisp/erc/erc.el (erc-official-location):
93056         * lisp/mail/emacsbug.el (report-emacs-bug):
93057         Use https:, not http:.
93059 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
93061         Merge from Gnulib
93063         This is mostly to change http: to https: in licenses.
93064         * COPYING, build-aux/config.guess, build-aux/config.sub:
93065         * doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
93066         * doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
93067         * doc/lispref/gpl.texi, doc/misc/doclicense.texi:
93068         * doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
93069         * lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
93070         * msdos/COPYING, nt/COPYING, src/COPYING:
93071         Copy from Gnulib.
93073 2017-10-01  Simen Heggestøyl  <simenheg@gmail.com>
93075         Keep eww buffer current when looking up CSS on MDN
93077         * lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
93078         current when looking up CSS documentation on MDN.  This fixes a bug
93079         where the eww buffer's content sometimes get mangled when switching
93080         buffers mid-render.
93082 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
93084         Workaround for faulty localtime() under macOS 10.6
93086         * lisp/org/org-clock.el (org-clock--oldest-date): Only execute
93087         'decode-time' on times later than year -2**31 under macOS 10.6.
93088         See Bug#27706.
93090 2017-10-01  Alan Mackenzie  <acm@muc.de>
93092         Doc amendment for syntax-ppss.
93094         * doc/lispref/syntax.texi (Position Parse): Note, twice, that syntax-ppss is
93095         equivalent to parse-partial-sexp from the beginning of THE VISIBLE PART OF the
93096         buffer.  Final part of the fix for bug #22983.
93098 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
93100         Remove incorrect NEWS entry about 'find-library'
93102         * etc/NEWS (Changes in Emacs 26.1): Remove an entry about
93103         'find-library' taking a prefix argument to pop to a different
93104         window.  This behavior was added in "Allow a prefix argument to
93105         find-library to pop to a different window" (commit e1f2d14a), and
93106         then removed in "New commands: find-library-other-window,
93107         find-library-other-frame" (commit 021430f4).
93109 2017-10-01  Alan Mackenzie  <acm@muc.de>
93111         Remove inadvertent changes to syntax.texi in last commit.
93113         * doc/lispref/syntax.texi (Position Parse): revert changes.
93115 2017-10-01  Alan Mackenzie  <acm@muc.de>
93117         Amend documentation for text-quoting-style becoming a user option.
93119         * doc/lispref/control.texi (Signaling Errors):
93120         * doc/lispref/display.texi (Displaying Messages):
93121         * doc/lispref/strings.texi (Formatting Strings):
93122         Edit for brevity, farming out the details to the new
93123         Text Quoting Style node.
93124         * doc/lispref/help.texi (Text Quoting Style): New section.
93125         Move detailed discussion of text-quoting-style here.
93126         Add discussion about how to output grave accent and apostrophe in
93127         documentation and messages.  Adjust xrefs to point to this section
93128         when appropriate.
93129         * etc/NEWS: text-quoting-style semantics have not changed.
93131 2017-10-01  Alan Mackenzie  <acm@muc.de>
93133         Make the value nil in text-quoting-style mean what it does in Emacs 25.
93135         This is a partial reversion of yesterday's commit by the same author, which
93136         changed the meaning of nil and introduced the new value t.
93138         * src/doc.c (text_quoting_style, text-quoting-style)
93139         (internal--text-quoting-flag): Revert yesterday's changes.
93141         * lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.
93143         * etc/NEWS: Amend the entry for text-quoting-style.
93145         * doc/lispref/control.texi (Signalling Errors)
93146         * doc/lispref/display.texi (Displaying Messages)
93147         * doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
93148         grave rather than nil to inhibit translation of quotes.
93150         * doc/lispref/help.texi (Keys in Documentation): Revert the description of the
93151         proposed new default, t.
93153 2017-10-01  Alan Mackenzie  <acm@muc.de>
93155         Make text-quoting-style customizable.  Introduce t and new meaning for nil.
93157         A value of nil for text-quoting-style now means "no translation".  t means
93158         "Use curved quotes if displayable".
93160         * src/doc.c (text-quoting-style (function)): modify for new semantics.
93161         (text-quoting-style (variable)): Amend the doc string, set the default value
93162         to t.
93164         * lisp/cus-start.el: (top level): Create a customize entry for
93165         text-quoting-style in group display.
93167         * etc/NEWS: Amend the entry for text-quoting-style.
93169         * doc/emacs/display.texi (Text Display): Describe the translation of ASCII
93170         quotes to curved quotes, and how to influence or inhibit it.
93172         * doc/lispref/control.texi (Signalling Errors)
93173         * doc/lispref/display.texi (Displaying Messages)
93174         * doc/lispref/strings.texi (Formatting Strings): Describe binding
93175         text-quoting-style to nil to inhibit unwanted quote translation.
93177         * doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
93178         from a variable to a user option.  Describe its changed set of values.  State
93179         that it can be customized freely.
93181 2017-10-01  Michael Albinus  <michael.albinus@gmx.de>
93183         eshell.texi improvements
93185         * doc/misc/eshell.texi (Built-ins): eshell/sudo is a compiled
93186         Lisp function in `em-tramp.el'.  Mention also $*, $1, $2, ...
93187         (Aliases): Add $*, $1, $2, ... to the variable index.
93189 2017-08-15  Alan Third  <alan@breton-build.holly.idiocy.org>
93191         Fix ns-win.el on GNUstep
93193         * lisp/term/ns-win.el: Appkit version check only works on macOS, so
93194         don't try it when not using Cocoa.
93196 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
93198         Fix reference style in org.texi
93200         * doc/misc/org.texi (A Texinfo example): Fix reference style.
93202 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
93204         Improve handling of iconification of child frames (Bug#28611)
93206         * src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
93207         (syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
93208         (iconify_child_frame): New option.
93209         * lisp/cus-start.el (iconify-child-frame): Add customization
93210         properties.
93211         * doc/lispref/frames.texi (Child Frames): Describe new option
93212         `iconify-child-frame'.  Don't index "top-level frame" twice.
93214 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
93216         Revert "Don't lose arguments to eshell aliases (Bug#27954)"
93218         It broke the established argument handling methods provided by eshell
93219         aliases (Bug#28568).
93220         * doc/misc/eshell.texi (Aliases): Fix example, call out use of
93221         arguments in aliases.
93222         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
93223         ARGS.
93225 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
93227         Make "unsafe directory" error message more informative (Bug#865)
93229         * lisp/server.el (server-ensure-safe-dir): Produce a description for
93230         each "unsafe" condition.
93232 2017-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
93234         Fix slot typecheck in eieio-persistent
93236         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
93237           An `or' form can specify multiple potential classes (or null) as
93238           valid types for a slot, but previously only the final element of the
93239           `or' was actually checked. Now returns all valid classes in the `or'
93240           form.
93241           (eieio-persistent-validate/fix-slot-value): Check if proposed value
93242           matches any of the valid classes.
93243         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
93244           (eieio-test-multiple-class-slot): Test this behavior.
93246 2017-09-30  Dmitry Gutov  <dgutov@yandex.ru>
93248         Fix semantic-ia-fast-jump
93250         * lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
93251         Use `pop-to-buffer-same-window' (bug#28645).
93253 2017-09-30  Kaushal Modi  <kaushal.modi@gmail.com>
93255         Bind vc-region-history
93257         * lisp/vc/vc-hooks.el (vc-prefix-map):
93258         Bind `vc-region-history' to 'C-x v h', which was earlier bound to
93259         `vc-insert-headers' (Bug#27644).
93260         * doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
93261         * doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
93262         'C-x v h' with `vc-insert-headers'.
93263         (https://lists.gnu.org/r/emacs-devel/2017-09/msg00957.html)
93265 2017-09-30  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
93267         Exit macro definition on undefined keys
93269         * lisp/subr.el (undefined): Error out of kmacro definition, if any.
93270         (Bug#28008)
93272 2017-09-30  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)
93274         Reset bidi-paragraph-direction on article rendering
93276         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
93277         bidi-paragraph-direction on article rendering.  (Bug#28454)
93279 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
93281         Fix url-http use of url-current-object
93283         * lisp/url/url-http.el (url-http): Bind url-current-object before
93284         calling url-http-find-free-connection.  (Bug#28515)
93286 2017-09-30  Andy Moreton  <andrewjmoreton@gmail.com>
93288         Avoid assertions in vc-hg.el on MS-Windows
93290         * lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
93291         (vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
93292         (vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
93293         instead of relying on Unix file-name syntax.  This avoids
93294         assertion violations on MS-Windows.
93296 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
93298         Improve documentation of 'copy-sequence'
93300         * src/fns.c (Fcopy_sequence):
93301         * doc/lispref/sequences.texi (Sequence Functions): Mention the
93302         exception when copying an empty sequence.  (Bug#28627)
93304 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
93306         Minor update of ack.texi
93308         * doc/emacs/ack.texi (Acknowledgments): Update Eli Zaretskii's
93309         contributions.
93311 2017-09-30  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)
93313         * doc/emacs/emacs.texi (Acknowledgments): Add more contributors.
93315 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
93317         Improve indexing of multi-file/buffer Isearch commands
93319         * doc/emacs/maintaining.texi (Identifier Search): Change wording
93320         of index entries to make them different from those for multi-file
93321         isearch commands.  (Bug#28584)
93322         * doc/emacs/search.texi (Other Repeating Search): Index the
93323         multi-* commands.  (Bug#28584)  Rearrange the indexing to keep
93324         each index entry close to its subject.
93326 2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>
93328         Add CAM02 JCh and CAM02-UCS J'a'b' conversions
93330         * src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
93331         (jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
93332         (lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
93333         functions.
93334         (lcms-cam02-ucs): Refactor.
93335         (syms_of_lcms2): Declare new functions.
93336         * test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
93337         (lcms-jmh->cam02-ucs-silver): New tests.
93338         * etc/NEWS: Mention new functions.
93340 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
93342         Fix uses of @kindex in the Emacs manual
93344         * doc/emacs/programs.texi (Expressions, Semantic, Hungry Delete):
93345         * doc/emacs/mark.texi (Global Mark Ring)
93346         (Disabled Transient Mark):
93347         * doc/emacs/buffers.texi (Select Buffer):
93348         * doc/emacs/mule.texi (File Name Coding): Fix @kindex entries
93349         which used @key.  Reported by Marcin Borkowski <mbork@mbork.pl>.
93351 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
93353         Merge from gnulib
93355         This incorporates:
93356         2017-09-28 string: code style
93357         2017-09-25 sys_types: update URL
93358         2017-09-23 install-sh: do not assume / = //
93359         2017-09-21 mktime: port to OpenVMS
93360         * build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
93361         * m4/sys_types_h.m4: Copy from Gnulib.
93362         * lib/gnulib.mk.in: Regenerate.
93364 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
93366         Prefer HTTPS to HTTP for gnu.org
93368         This catches some URLs I missed in my previous scan,
93369         or perhaps were added after the scan.
93371 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
93373         Wait for frame visibility with timeout in w32term too
93375         * src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
93376         variable.
93377         (x_make_frame_visible): Wait for frame to become visible according to
93378         its value.
93379         (input_signal_count): Remove.
93381 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
93383         Bring back the busy wait after x_make_frame_visible (Bug#25521)
93385         But wait specifically for a MapNotify event, and only for a
93386         configurable amount of time.
93387         * src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
93388         variable.
93389         (x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
93390         (x_make_frame_visible): Call x_wait_for_event at the end.
93391         * etc/NEWS: Announce x_wait_for_event.
93393 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
93395         Fix last doc string change in simple.el
93397         * lisp/simple.el (shell-command-saved-pos)
93398         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
93400 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
93402         Revert "bug#28609: simple.el"
93404         This reverts commit a75ab3b3fb8ab69ef38a94403d061f88f3b5b63e.
93406 2017-09-29  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
93408         bug#28609: simple.el
93410         Correct grammar; also, call a pair a pair.
93412         (cherry picked from commit 25ef543a97a80718cc4eb33734d393420a43f41e)
93414 2017-09-29  Rasmus  <rasmus@gmx.us>
93416         Merge branch 'emacs-26' into scratch/org-mode-merge
93418 2017-09-29  Noam Postavsky  <npostavs@gmail.com>
93420         Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)
93422         * lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
93423         above the `debugger' frame, rather than assuming there will be a
93424         `signal' frame.
93426 2017-09-28  Alan Third  <alan@idiocy.org>
93428         Revert "Fix build on macOS (bug#28571)"
93430         This reverts commit fec63089d53d2196b0348086aeed70277fbc02c0.
93432         Prematurely pushed.
93434 2017-09-28  Alan Third  <alan@idiocy.org>
93436         Fix build on macOS (bug#28571)
93438         * src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
93439         [DARWIN_OS]: Undefine.
93441 2017-09-28  Simen Heggestøyl  <simenheg@gmail.com>
93443         Add tests for `css-current-defun-name'
93445         * test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name)
93446         (css-test-current-defun-name-nested)
93447         (css-test-current-defun-name-complex): New tests for
93448         `css-current-defun-name'.
93450 2017-09-28  Martin Rudalics  <rudalics@gmx.at>
93452         In w32fullscreen_hook don't add decorations to undecorated frames
93454         * src/w32term.c (w32fullscreen_hook): Do not add (or try to
93455         remove) decorations for undecorated frames.
93457 2017-09-28  João Távora  <joaotavora@gmail.com>
93459         Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
93461         In other words, re-coalesce the two files,
93462         lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
93463         into a single one, lisp/progmodes/flymake.el.
93465         The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
93466         "allow nil init in flymake-allowed-file-name-masks to disable flymake"
93467         are kept in place in the new lisp/progmodes/flymake.el.
93469         This reverts Git commit eb34f7f5a29e7bf62326ecb6e693f28878be28cd.
93471         Don't merge this back to master as development happening there builds
93472         upon this work. See also
93473         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html.
93475 2017-09-28  João Távora  <joaotavora@gmail.com>
93477         Revert "Add flymake-backends defcustom"
93479         This reverts Git commit 13993c46a21495167517f76d2e36b6c09ac5e89e.
93481         Don't merge this back to master as development happening there builds
93482         upon this work. See also
93483         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html
93485 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
93487         * src/editfns.c (styled_format): Fix typo in previous change.
93489 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
93491         Avoid some unnecessary copying in Fformat etc.
93493         This patch is just for performance; it should not affect behavior.
93494         On my platform, it made the microbenchmark (format "%S" load-path)
93495         run about 45% faster.  It should also speed up calls like (message
93496         "%s" STRING).
93497         * src/callint.c (Fcall_interactively):
93498         * src/dbusbind.c (XD_OBJECT_TO_STRING):
93499         * src/editfns.c (Fmessage, Fmessage_box):
93500         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
93501         Use styled_format instead of Fformat or Fformat_message,
93502         to avoid unnecessary copying.
93503         * src/editfns.c (styled_format): New arg NEW_RESULT.
93504         All uses changed.  Reuse an input string if it has the
93505         right value and if !NEW_RESULT.
93506         * src/lisp.h (style_format): New decl.
93508 2017-09-26  John Wiegley  <johnw@newartisans.com>
93510         lisp/simple.el: Indicate when a list of pairs is meant in a docstring
93512 2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
93514         bug#28609: simple.el
93516         Correct grammar; also, call a pair a pair.
93518 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
93520         Use a separate syntax-ppss cache for narrowed buffers
93522         * lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
93523         New variable, to contain the data from `syntax-ppss-last' and
93524         `syntax-ppss-cache'.
93525         (syntax-ppss-cache, syntax-ppss-last): Remove.
93526         (syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
93527         (syntax-ppss-flush-cache): Flush both caches.
93528         (syntax-ppss--data): Return the appropriate last result and
93529         buffer cache for the current restriction.
93530         (syntax-ppss, syntax-ppss-debug): Use it (bug#22983).
93532 2017-09-26  Joerg Behrmann  <behrmann@physik.fu-berlin.de>  (tiny change)
93534         Improve python3-compatibility of fallback completion (Bug#28499)
93536         * lisp/progmodes/python.el (python-eldoc-setup-code): Use
93537         inspect.getfullargspec instead of inspect.getargspec to avoid a
93538         deprecation warning on every usage of eldoc in python-mode.
93540 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
93542         Fix subr-x-tests when running from elc
93544         * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-and-let*-test-group-1):
93545         Use `eval' around the `should-error' cases.
93547 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
93549         * lisp/eshell/esh-util.el (eshell-condition-case): Add debug declaration.
93551 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
93553         Make sh-indentation into an alias for sh-basic-offset (Bug#21751)
93555         * lisp/progmodes/sh-script.el (sh-indentation): Redefine as obsolete
93556         variable alias for `sh-basic-offset'.
93557         (sh-mode, sh-smie--indent-continuation)
93558         (sh-smie-rc-rules, sh-basic-indent-line): Replace `sh-indentation'
93559         with `sh-basic-offset'.
93561 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
93563         Fix loading of smie-config rules (Bug#24848)
93565         * lisp/emacs-lisp/smie.el (smie-config--setter): Use `set-default'
93566         instead of `setq-default'.
93567         (smie-config): Use `custom-initialize-set' instead of
93568         `custom-initialize-default' as the :initialize argument.
93570         * lisp/progmodes/sh-script.el (sh-learn-buffer-indent): Mention that
93571         we call `smie-config-guess' so that the user will have a chance to
93572         find the correct docstring to consult.  Remove hedging comments
93573         regarding use of abnormal hooks.
93575 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
93577         Reset default-directory inside *xref-grep* buffer
93579         * lisp/progmodes/xref.el (xref-collect-matches):
93580         Reset default-directory, too. (Bug#28575)
93582 2017-09-25  Michael Albinus  <michael.albinus@gmx.de>
93584         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Special
93585         code for smb.
93587 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
93589         Loosen strict parsing requirement for desktop files
93591         There are other desktop-looking files, for instance those having to do
93592         with MIME typess, that would benefit from being able to be read by this
93593         function.  It helps to have some flexibility.
93594         * lisp/xdg.el (xdg-desktop-read-file): Remove an error condition.
93595         * test/lisp/xdg-tests.el: Remove a test.
93597 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
93599         * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
93601 2017-09-25  Martin Rudalics  <rudalics@gmx.at>
93603         Fix documentation of `make-frame' and related variables and hooks
93605         * lisp/frame.el (before-make-frame-hook)
93606         (after-make-frame-functions, frame-inherited-parameters)
93607         (make-frame): Fix doc-strings.
93608         * doc/lispref/frames.texi (Creating Frames): Fix description
93609         of `make-frame' and related variables and hooks.
93611 2017-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
93613         Accept new `always' value for option `buffer-offer-save'
93615         Also revert ee512e9a82
93617         * lisp/files.el (buffer-offer-save): In addition to nil and t, now
93618           allows a third symbol value, `always'. A buffer where this option is
93619           set to `always' will always be offered for save by
93620           `save-some-buffers'.
93621           (save-some-buffers): Check the exact value of this buffer-local
93622           variable. No longer check the buffer name, or the value of
93623           `write-contents-functions'.
93624         * doc/lispref/buffers.texi (Killing Buffers): Note change in manual.
93625         * doc/lispref/files.texi (Saving Buffers): Remove note about buffer
93626           names.
93627         * etc/NEWS: Mention in NEWS.
93629 2017-09-24  Alan Third  <alan@idiocy.org>
93631         Improve new NS scrolling variable names
93633         * src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
93634         'ns-use-mwheel-acceleration'.
93635         (ns-touchpad-scroll-line-height): Replace with
93636         'ns-mwheel-line-height'.
93637         (ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
93638         * etc/NEWS: Change variable names.
93640 2017-09-24  Philipp Stephani  <phst@google.com>
93642         Document 'replace-buffer-contents' in the manual.
93644         * doc/lispref/text.texi (Replacing): New node.
93646 2017-09-23  Alan Third  <alan@idiocy.org>
93648         Fix undecorated frame resizing issues on NS (bug#28512)
93650         * src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
93651         toolbar on undecorated frames.
93652         (EmacsView::initFrameFromEmacs): Group window flags correctly.
93654 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
93656         Fix doc string of 'dired-listing-switches'
93658         * lisp/dired.el (dired-listing-switches): Fix the quoting
93659         example.  (Bug#28569)
93661 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
93663         Documentation improvements for 'display-line-numbers'
93665         * doc/emacs/display.texi (Display Custom): Document a few more
93666         options for display-line-numbers.  (Bug#28533)  Fix a typo.
93668 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
93670         Fix last change in bat-mode.el
93672         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix last
93673         change.  (Bug#28311)
93675 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
93677         Fix restoring in GUI sessions desktop saved in TTY sessions
93679         * lisp/frameset.el (frameset-filter-font-param): New function.
93680         (frameset-persistent-filter-alist): Use it for processing the
93681         'font' frame parameter.  (Bug#17352)
93683 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
93685         Improve syntax highlighting in bat-mode
93687         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Improve
93688         font-locking of environment variables.  Suggested by Achim Gratz
93689         <Stromeko@nexgo.de>.  (Bug#28311)  (Bug#18405)
93691 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
93693         Document the 'list-FOO' convention
93695         * doc/lispref/tips.texi (Coding Conventions): Document the
93696         list-FOO convention.
93698 2017-09-22  Mark Oteiza  <mvoteiza@udel.edu>
93700         Expose viewing conditions in CAM02-UCS metric
93702         Also add tests from the colorspacious library.  Finally, catch an
93703         errant calculation, where degrees were not being converted to radians.
93704         * src/lcms.c (deg2rad, default_viewing_conditions):
93705         (parse_viewing_conditions): New functions.
93706         (lcms-cam02-ucs): Add comments pointing to references used.  Expand
93707         the docstring and explain viewing conditions.  JCh hue is given in
93708         degrees and needs to be converted to radians.
93709         (lcms-d65-xyz): Remove.  No need to duplicate this in Lisp or make the
93710         API needlessly impure.
93711         * test/src/lcms-tests.el: Reword commentary.
93712         (lcms-rgb255->xyz): New function.
93713         (lcms-cri-cam02-ucs): Fix let-binding.
93714         (lcms-dE-cam02-ucs-silver): New test, assimilated from colorspacious.
93716 2017-09-21  Alan Third  <alan@idiocy.org>
93718         Revert "Set frame size to actual requested size (bug#18215)"
93720         This reverts commit d31cd79b40dbd5459b16505a4ee4340210499277.
93722         See bug#28536. I misunderstood bug#18215. It wasn't a bug.
93724 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
93726         Add tests for Edebug
93728         * test/lisp/emacs-lisp/edebug-tests.el: New file.
93729         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: New file.
93731 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
93733         Catch more messages in ert-with-message-capture
93735         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Capture
93736         messages from prin1, princ and print.
93737         (ert--make-message-advice): New function.
93738         (ert--make-print-advice): New function.
93740 2017-09-21  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
93742         Support setting region from secondary selection and vice versa
93744         * lisp/mouse.el (secondary-selection-exist-p): New function to
93745         allow callers to tell existence of the secondary selection
93746         in current buffer.
93747         (secondary-selection-to-region): New function to set
93748         beginning and end of the region from those of the secondary
93749         selection.
93750         (secondary-selection-from-region): New function to set
93751         beginning and end of the secondary selection from those of
93752         the region.  (Bug#27530)
93754         * etc/NEWS: Mention the new functions.
93756 2017-09-20  Paul Eggert  <eggert@cs.ucla.edu>
93758         Fix new copy-directory bug with empty dirs
93760         Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
93761         (Bug#28483#34).  This is another bug that I introduced in my
93762         recent copy-directory changes.
93763         * lisp/files.el (copy-directory): Work with empty subdirectories, too.
93764         * test/lisp/files-tests.el (files-tests--copy-directory):
93765         Test for this bug.
93767 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
93769         * doc/lispref/strings.texi (Formatting Strings): Improve indexing.
93771 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
93773         Fix 2 testsuite tests for MS-Windows
93775         * test/lisp/ibuffer-tests.el (test-buffer-list): Don't try to
93776         create files with "*" in their names.
93777         * test/src/editfns-tests.el (format-time-string-with-zone): Adapt
93778         results to MS-Windows build.  Reported by Fabrice Popineau
93779         <fabrice.popineau@gmail.com>.
93781 2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>
93783         Rename timer-list to list-timers
93785         * doc/emacs/anti.texi (Antinews):
93786         * doc/lispref/os.texi (Timers):
93787         * etc/NEWS:
93788         * lisp/emacs-lisp/timer-list.el:
93789         (timer-list-mode): Rename timer-list to list-timers.
93791 2017-09-19  Alan Third  <alan@idiocy.org>
93793         Provide native touchpad scrolling on macOS
93795         * etc/NEWS: Describe changes.
93796         * lisp/term/ns-win.el (mouse-wheel-scroll-amount,
93797         mouse-wheel-progressive-speed): Set to smarter values for macOS
93798         touchpads.
93799         * src/nsterm.m (emacsView::mouseDown): Use precise scrolling deltas to
93800         calculate scrolling for touchpads and mouse wheels.
93801         (syms_of_nsterm): Add variables 'ns-use-system-mwheel-acceleration',
93802         'ns-touchpad-scroll-line-height' and 'ns-touchpad-use-momentum'.
93803         * src/keyboard.c (make_lispy_event): Pass on .arg when relevant.
93804         * src/termhooks.h (event_kind): Update comments re. WHEEL_EVENT.
93805         * lisp/mwheel.el (mwheel-scroll): Use line count.
93806         * lisp/subr.el (event-line-count): New function.
93808 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
93810         Fix MinGW64 build broken by recent MinGW64 import libraries
93812         * configure.ac (W32_LIBS): Put -lusp10 before -lgdi32, as latest
93813         MinGW64 import libraries require that.  (Bug#28493)
93815         * src/Makefile.in: Adjust commentary to the new order of w32
93816         libraries.
93818 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
93820         Fix crashes in 'move-point-visually' in minibuffer windows
93822         * src/xdisp.c (Fmove_point_visually): Fix off-by-one error in
93823         comparing against the last valid glyph_row of a window glyph
93824         matrix.  (Bug#28505)
93826 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
93828         * src/emacs.c (usage_message): Don't mention 'find-file'.
93830 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
93832         Fix a minor inaccuracy in the Emacs manual
93834         * doc/emacs/cmdargs.texi (Action Arguments): Don't mention
93835         'find-file', as the implementation has changed.  Reported by
93836         Everton J. Carpes <everton.carpes@gmail.com> in
93837         https://lists.gnu.org/r/help-gnu-emacs/2017-09/msg00146.html.
93839 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
93841         Fix errors in flyspell-post-command-hook
93843         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
93844         case of a nil Nth element of the language dictionary slot.  This
93845         avoids errors in 'flyspell-post-command-hook' when switching
93846         dictionaries with some spell-checkers.  (Bug#28501)
93848 2017-09-19  Michael Albinus  <michael.albinus@gmx.de>
93850         Work on Tramp's file-truename
93852         * lisp/net/tramp-sh.el (tramp-perl-file-truename):
93853         Check also for symlinks.
93854         (tramp-sh-handle-file-truename): Move check for a symlink
93855         cycle to the end.  Do not blame symlinks which look like a
93856         remote file name.
93858         * lisp/net/tramp.el (tramp-handle-file-truename): Expand result.
93860 2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>
93862         Fix bug with make-directory on MS-Windows root
93864         * lisp/files.el (files--ensure-directory): Treat any error, not
93865         just file-already-exists, as an opportunity to check whether DIR
93866         is already a directory (Bug#28508).
93868 2017-09-19  Tom Tromey  <tom@tromey.com>
93870         Fix log-view-diff-common when point is after last entry
93872         Bug#28466
93873         * lisp/vc/log-view.el (log-view-diff-common): If point is after last
93874         entry, look at the previous revision.
93876 2017-09-18  Ken Brown  <kbrown@cornell.edu>
93878         Adapt fileio-tests--symlink-failure to Cygwin
93880         * test/src/fileio-tests.el (fileio-tests--symlink-failure)
93881         [CYGWIN]: Skip the case of a symlink target starting with '\';
93882         this is treated specially on Cygwin.
93884 2017-09-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
93886         Ignore buffers whose name begins with a space in save-some-buffers
93888         * lisp/files.el (save-some-buffers): Consider these buffers
93889           "internal", and don't prompt the user to save them.
93890         * doc/lispref/files.texi: Document.
93892 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
93894         Improve tramp-interrupt-process robustness
93896         * lisp/net/tramp.el (tramp-interrupt-process): Wait, until the
93897         process has disappeared.
93899 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
93901         Minor Tramp doc update
93903         * doc/misc/tramp.texi (Frequently Asked Questions):
93904         Mention `vc-handled-backends'.
93906 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
93908         Fix gensym
93910         * lisp/subr.el (gensym): Actually implement the default prefix.
93911         * test/lisp/subr-tests.el (subr-tests--gensym): New test.
93913 2017-09-18  Rasmus  <rasmus@gmx.us>
93915         Update Org to v9.1.1
93917         Please see etc/ORG-NEWS for major changes.
93919 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
93921         Cleanup in files-tests.el
93923         * test/lisp/files-tests.el (files-tests--make-directory)
93924         (files-tests--copy-directory): Cleanup temporary directories.
93926 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
93928         Remove old cl-assert calls in 'newline'
93930         * lisp/simple.el (newline): Remove cl-assert calls
93931         that didn't seem to be helping us debug Bug#18913,
93932         and that caused problems as reported in Bug#28280.
93933         Suggested by Glenn Morris (Bug#28280#8).
93935 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
93937         Avoid crash with C-g C-g in GC
93939         Problem reported by Richard Stallman (Bug#17406).
93940         Based on fix suggested by Eli Zaretskii (Bug#28279#16).
93941         * src/term.c (tty_send_additional_strings):
93942         Use only safe accessors, to avoid crash when C-g C-g in GC.
93944 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
93946         Fix format-time-string %Z bug with negative tz
93948         * src/editfns.c (tzlookup): Fix sign error in %Z when a purely
93949         numeric zone is negative (Bug#28746).
93950         * test/src/editfns-tests.el (format-time-string-with-zone):
93951         Add test for this bug.
93953 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
93955         message-citation-line-format %Z is now tz name
93957         * etc/NEWS:
93958         * lisp/gnus/message.el (message-citation-line-format):
93959         Fix doc to match new behavior (Bug#28476).
93961 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
93963         Use doc-view or pdf-tools on any window-system
93965         * lisp/net/mailcap.el (mailcap-mime-data): Simply check for
93966         window-system.
93968 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
93970         Fix bug with min and max and NaNs
93972         * src/data.c (minmax_driver): Fix bug with (min 0 NaN), which
93973         mistakenly yielded 0.  Also, pacify GCC in a better way.
93974         * test/src/data-tests.el (data-tests-min): Test for the bug.
93976 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
93978         Fix recently-introduced copy-directory bug
93980         Problem reported by Andrew Christianson (Bug#28451):
93981         * lisp/files.el (copy-directory): If COPY-CONTENTS, make the
93982         destination directory if it does not exist, even if it is a
93983         directory name.  Simplify, and omit unnecessary test for an
93984         already-existing non-directory target, since make-directory
93985         diagnoses that for us now.
93986         * test/lisp/files-tests.el (files-tests--copy-directory):
93987         Test for this bug.
93989 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
93991         Merge from Gnulib
93993         This incorporates:
93994         2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
93995         2017-09-13 all: Replace many more http URLs by https URLs
93996         * build-aux/config.guess, build-aux/config.sub:
93997         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
93998         * lib/allocator.h, lib/count-leading-zeros.h:
93999         * lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
94000         * lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
94001         * lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
94002         * lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
94003         * m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
94004         * m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
94005         Copy from Gnulib.
94006         * lib/gnulib.mk.in: Regenerate.
94008 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
94010         Fix compatibility problem in Tramp
94012         * lisp/net/tramp.el (tramp-interrupt-process): Better error handling.
94014         * lisp/net/tramp-compat.el (default-toplevel-value): Move up.
94015         (top): Do not call `tramp-change-syntax' anymore.
94016         (tramp-compat-directory-name-p): New defalias.
94018         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
94019         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
94020         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
94021         (tramp-smb-handle-copy-file): Use it.
94023         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
94024         Modify test.
94026 2017-09-17  Eli Zaretskii  <eliz@gnu.org>
94028         Avoid GCC 7 compilation warning in eval.c
94030         * src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
94031         GCC compilation warning.  Suggested by Paul Eggert <eggert@cs.ucla.edu>
94032         in https://lists.gnu.org/r/emacs-devel/2017-09/msg00492.html.
94034 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
94036         Adapt Tramp version.  Do not merge
94038         * doc/misc/trampver.texi:
94039         * lisp/net/trampver.el: Change version to "2.3.3.26.1".
94040         (customize-package-emacs-version-alist): Add Tramp version
94041         integrated in Emacs 26.1.
94043 2017-09-17  Tom Tromey  <tom@tromey.com>
94045         Search for Syntax section when viewing MDN
94047         * lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
94048         "Syntax" section.
94050 2017-09-17  Tom Tromey  <tom@tromey.com>
94052         Allow smerge-keep-current to work for empty hunks
94054         Bug#25555
94055         * lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
94056         match-end.
94057         * test/lisp/vc/smerge-mode-tests.el: New file.
94059 2017-09-17  Tom Tromey  <tom@tromey.com>
94061         Call vc-setup-buffer in vc-git-log-{in,out}going
94063         Bug#28427:
94064         * lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
94065         vc-setup-buffer.
94067 2017-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
94069         Fix last change to textmodes/page-ext.el
94071         * lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
94072         while we build it (bug#28431).
94074 2017-09-16  Glenn Morris  <rgm@gnu.org>
94076         * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcms2 not present.
94078 2017-09-16  Glenn Morris  <rgm@gnu.org>
94080         * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
94082         (cherry picked from commit 8081df26911c63aadfce4ee8f6a7223d814baeaf)
94084 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
94086         Fix compilation warning in etags.c
94088         * lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL
94089         pointer.  Reported by Richard Copley <rcopley@gmail.com>.
94091 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
94093         Add lisp variable lcms-d65-xyz
94095         This serves as the default optional argument for functions in this
94096         library.
94097         * src/lcms.c (lcms-d65-xyz): New variable.
94098         (lcms-cam02-ucs): Use it.  Use better word in docstring.  Fix bug
94099         color1 -> color2.
94100         * test/src/lcms-tests.el: Add some tests for lcms-cri-cam02-ucs.
94101         (lcms-colorspacious-d65): New variable.
94103 2017-09-16  Gemini Lasswell  <gazally@runbox.com>
94105         * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765)
94107 2017-09-16  Andy Moreton  <andrewjmoreton@gmail.com>
94109         Avoid MinGW64 compiler warnings in unexw32.c
94111         * src/unexw32.c (pDWP) [MINGW_W64]: Define to "16llx" only for the
94112         64-bit build.
94114 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
94116         Start emacs-26 release branch
94118         * configure.ac:
94119         * nt/README.W32:
94120         * README:
94121         * msdos/sed2v2.inp: Increment Emacs version to 26.0.60.
94123         * lisp/cus-edit.el (customize-changed-options-previous-release):
94124         Update value to "25.3".
94126 2017-09-16  Alan Mackenzie  <acm@muc.de>
94128         Cope better with C++ and Objective-C protection keywords in class declarations
94130         This fix fixes the fontification of a method inside a class at the time it is
94131         typed, when there is a protection keyword clause preceding it.
94133         * lisp/progmodes/cc-engine.el (c-forward-keyword-clause): Handle protection
94134         keywords.
94135         (c-looking-at-decl-block): Avoid scanning forward over protection keyword
94136         clauses too eagerly.
94138         * lisp/progmodes/cc-langs.el (c-protection-key c-post-protection-token): New
94139         lang defconsts and defvars.
94141         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When we encounter a protection
94142         keyword following a semicolon or brace, move forward over it before attempting
94143         to parse a type.
94145 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
94147         Fix order of sorted overlays returned by 'overlays-at'
94149         * src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
94150         list of results, to have their order as per the documentation.
94151         (Bug#28390)
94153         * etc/NEWS: Mention the change in the behavior of overlays-at.
94155 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
94157         Disable execution of unsafe Lisp by Enriched Text mode
94159         * src/xdisp.c (handle_display_spec): If the display property is
94160         wrapped in 'disable-eval' form, disable Lisp evaluation while
94161         processing this property.
94162         (handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
94163         If that argument is false, don't evaluate Lisp while processing
94164         display properties.
94166         * lisp/textmodes/enriched.el
94167         (enriched-allow-eval-in-display-props): New defcustom.
94168         (enriched-decode-display-prop): If
94169         enriched-allow-eval-in-display-props is nil, wrap the display
94170         property with 'disable-eval' to disable Lisp evaluation when the
94171         display property is processed for display.  (Bug#28350)
94172         * lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
94173         enriched text.
94175         * doc/lispref/display.texi (Display Property): Document the
94176         'disable-eval' wrapping of 'display' properties.
94177         * doc/emacs/text.texi (Enriched Properties): Document
94178         'enriched-allow-eval-in-display-props'.
94180         * etc/NEWS: Describe the security issues with Enriched Text mode
94181         and their solution.
94183 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
94185         Avoid MinGW64 compilation warning in w32.c
94187         * src/w32.c (sys_strerror): Provide a prototype for MinGW64.
94189 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
94191         Fix MS-Windows build broken by recent changes in lcms.c
94193         * src/lcms.c [WINDOWSNT]: Define types for cmsWhitePointFromTemp
94194         and cmsxyY2XYZ function pointers.
94195         (init_lcms_functions) [WINDOWSNT]: Load cmsWhitePointFromTemp and
94196         cmsxyY2XYZ from liblcms2.
94197         (cmsWhitePointFromTemp, cmsxyY2XYZ) [WINDOWSNT]: Redirect to the
94198         corresponding function pointers.
94199         (Flcms_temp_to_white_point): Minor stylistic changes.  Doc fix.
94200         (syms_of_lcms2): Defsubr Slcms_temp_to_white_point.
94202 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
94204         Avoid GCC 7 compilation warning in data.c
94206         * src/data.c (minmax_driver): Use UNINIT to avoid compilation
94207         warnings.  Reported by Fabrice Popineau
94208         <fabrice.popineau@centralesupelec.fr>.
94210 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
94212         Add lcms-temp->white-point and initial tests
94214         * src/lcms.c (lcms-temp->white-point): New function.
94215         * test/src/lcms-tests.el: New file.
94217 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
94219         Use cl-print in timer list
94221         * lisp/emacs-lisp/timer-list.el (timer-list): Use cl-print
94222         for handling functions.
94223         (timer-list-mode): Capitalize major mode name.  Set bidi direction
94224         as in tabulated-list-mode.
94226 2017-09-15  Vincent Belaïche  <vincentb1@users.sourceforge.net>
94228         Make landscape layout with geometry package rather than a PostScript special.
94230         * lisp/calendar/cal-tex.el (cal-tex-preamble): Make 12pt the
94231         default class option.
94232         (cal-tex-year, cal-tex-cursor-month-landscape): Pass landscape
94233         request to `cal-tex-insert-preamble' function call within the
94234         class option string.
94235         (cal-tex-cursor-month): Don't pass any longer "12pt" argument
94236         to `cal-tex-insert-preamble' function, as it is default.
94237         (cal-tex-insert-preamble): Suppress landscape and size
94238         argument, and replace them by a class-options string
94239         argument. Do not insert any longer "\special{landscape}" in
94240         case of landscape layout, as the job is made by the geometry
94241         package.
94243 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
94245         * lisp/json.el (json-read-keyword): Revert previous change to catch EOL.
94247 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
94249         One more attempt to avoid GCC 7 warnings in dispnew.c
94251         * src/dispnew.c (adjust_glyph_matrix): Use eassume instead of
94252         eassert, to avoid compilation warnings about NULL pointer
94253         dereferences.
94255 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
94257         Fix color-distance docstring
94259         Also feed the translated color to the metric argument.
94260         * src/xfaces.c (color-distance): Reword docstring to be more helpful.
94261         Avoid duplicating effort in lcms2 by passing the translated 16 bit RGB
94262         instead of the function's color arguments.
94264 2017-09-15  Michael Albinus  <michael.albinus@gmx.de>
94266         Improve Tramp behavior according to bug#27986
94268         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
94269         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
94270         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
94271         (tramp-smb-handle-copy-file): Check, that NEWNAME is a
94272         directory name when existing.  Use `file-name-as-directory'
94273         where appropriate.
94275 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
94277         More JSON optimization
94279         Last I checked, inlining json-skip-whitespace didn't make much
94280         difference.  However, changing defsubsts to define-inline results
94281         in roughly 15% reduction in read time on a 200K file.
94282         * lisp/json.el (json-advance, json-peek, json-pop):
94283         (json-skip-whitespace): Inline with define-inline.
94284         (json-read-keyword): Don't use whitespace syntax.
94285         (json-add-to-object): Simpler condition.
94287 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
94289         Avoid crashes due to invalid error forms from sentinels/filters
94291         * src/process.c (exec_sentinel_error_handler): Make sure the error
94292         form passed to cmd_error_internal is a cons cell.  (Bug#28430)
94294 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
94296         Avoid compilation warnings with GCC 7 on MS-Windows
94298         * src/w32term.c (w32_setup_relief_color, construct_mouse_click)
94299         (w32_read_socket): Initialize variables to shut up bogus
94300         compilation warnings from GCC 7.
94301         * src/unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Cast to DWORD_PTR
94302         to avoid compiler warnings about printing signed values using %x
94303         format spec.
94304         * src/dispnew.c (adjust_glyph_matrix): Add eassert to avoid
94305         compiler warning about possible NULL pointer dereference.
94306         * src/lisp.h (pI): Tweak the definition some more for MinGW64.
94308 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
94310         Define gnutls_rnd for WINDOWSNT and HAVE_GNUTLS3 case only
94312         * src/fns.c (gnutls_rnd): Define for WINDOWSNT and HAVE_GNUTLS3
94313         case only to avoid unused macros warning otherwise.
94315 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
94317         In w32heap.c bump up DUMPED_HEAP_SIZE
94319         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump up DUMPED_HEAP_SIZE
94320         to 13*1024*1024 for 32-bit non-wide-integer builds.
94322 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
94324         Bind n,p in timer-list
94326         * lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Bind n and p
94327         to next- and previous-line, respectively.
94329 2017-09-14  Glenn Morris  <rgm@gnu.org>
94331         * lisp/net/tls.el (tls-program): Fix :version.
94333 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
94335         * configure.ac (--with-lcms2, --without-lcms2): New options.
94337 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
94339         Avoid 64-bit compilation warnings in unexw32.c
94341         * src/unexw32.c (pDWP): New macro.
94342         (COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR.  Use
94343         pDWP for printing values that can be either 32-bit or 64-bit wide.
94345 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
94347         Fix warnings about formats in printf-like functions on MS-Windows
94349         * src/lisp.h (pI) [__MINGW32__]: Provide definition that will
94350         hopefully DTRT with both MinGW64 and mingw.org's MinGW.  See
94351         https://lists.gnu.org/r/emacs-devel/2017-09/msg00171.html
94352         for the details.
94353         * src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
94354         definition specific to MinGW64.
94355         (PRINTF_ARCHETYPE) [__MINGW32__]: For mingw.org's MinGW, use
94356         __mingw_printf__ in ANSI-compatible mode.
94358 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
94360         Support lcms2 in MS-Windows builds
94362         * lisp/term/w32-win.el (dynamic-library-alist): Include
94363         association for the lcms2 library.
94365         * src/lcms.c [WINDOWSNT]: Include windows.h and w32.h.  Use
94366         DEF_DLL_FN to define pointers to dynamically loaded lcms2
94367         functions.
94368         (cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
94369         (cmsCIECAM02Done): New macros.
94370         (init_lcms_functions, Flcms2_available_p): New functions.
94371         (Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
94372         init_lcms_functions.
94373         (syms_of_lcms2): Defsubr lcms2-available-p.
94374         * src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.
94376         * configure.ac: Include lcms2 in the final report and in
94377         emacs_config_features.
94379         * nt/INSTALL:
94380         * nt/INSTALL.W64: Update with the information about lcms2 library.
94382 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
94384         Port renameat_noreplace to openSUSE 12.3
94386         Problem reported by M. Nomiya in:
94387         https://lists.gnu.org/r/emacs-devel/2017-09/msg00363.html
94388         * src/sysdep.c (renameat_noreplace):
94389         Call renameat2 only if CYGWIN.
94391 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
94393         Prefer HTTPS to FTP and HTTP in documentation
94395         Most of this change is to boilerplate commentary such as license URLs.
94396         This change was prompted by ftp://ftp.gnu.org's going-away party,
94397         planned for November.  Change these FTP URLs to https://ftp.gnu.org
94398         instead.  Make similar changes for URLs to other organizations moving
94399         away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
94400         fsf.org when this works, as this will further help defend against
94401         man-in-the-middle attacks (for this part I omitted the MS-DOS and
94402         MS-Windows sources and the test tarballs to keep the workload down).
94403         HTTPS is not fully working to lists.gnu.org so I left those URLs alone
94404         for now.
94406 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
94408         Prefer HTTPS to HTTP for gnu.org
94410         This patch just changes code files; a followup companion patch
94411         (much larger) will affect the commentary.  This part is
94412         separated out to make it easier to review.
94413         * .dir-locals.el (change-log-mode):
94414         * lisp/org/org-info.el (org-info-other-documents)
94415         (org-info-map-html-url):
94416         * lisp/org/ox-html.el (org-html-creator-string):
94417         * lisp/startup.el (fancy-startup-text, fancy-about-text)
94418         (fancy-splash-head):
94419         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
94420         * test/lisp/thingatpt-tests.el (thing-at-point-test-data):
94421         Use HTTPS instead of HTTP.
94423 2017-09-13  Simen Heggestøyl  <simenheg@gmail.com>
94425         Add tests for color.el
94427         * lisp/color.el (color-name-to-rgb, color-complement): Clarify in
94428         docstrings that RGB triplets should use four digits per component.
94429         (color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
94430         warning.
94432         * test/lisp/color-tests.el: New file.
94434 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
94436         Make gnutls-verify-error work again with url-retrieve-synchronously
94438         * lisp/url/url-gw.el (url-open-stream): Only use :nowait if
94439         we're doing async connections (bug#26835).
94441         * lisp/url/url-parse.el (url): Add an asynchronous slot.
94443         * lisp/url/url.el (url-asynchronous): New variable.
94444         (url-retrieve-internal): Store the value.
94445         (url-retrieve-synchronously): Bind the variable.
94447 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
94449         Improve backward compatibility of tramp-tests
94451         * test/lisp/net/tramp-tests.el (seq): Don't require.
94452         (tramp--test-emacs26-p): New defun.
94453         (tramp-test10-write-region, tramp-test11-copy-file)
94454         (tramp-test12-rename-file, tramp-test15-copy-directory)
94455         (tramp-test21-file-links): Use it.
94456         (tramp-test16-file-expand-wildcards): Use `copy-sequence'.
94458 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
94460         * lisp/net/trampver.el (customize-package-emacs-version-alist):
94462         Add Tramp version integrated in Emacs 25.3.
94464 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
94466         Add clarification to if-let* docstring
94468         Also make its behavior consistent with and-let* in that empty bindings
94469         results in success, not failure.
94470         * lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.
94472 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
94474         Make fully qualified domain names more fully qualified
94476         * lisp/gnus/message.el (message-make-fqdn): Don't try to use a
94477         system-name without any periods as a fully qualified domain name.
94479 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
94481         Remove unused file lib/getopt_.h
94483         * lib/getopt_.h: Remove.  It was renamed to lib/getopt.in.h etc.
94484         on 2011-01-08, but I forgot to remove the old file.
94486 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
94488         Remove "baroque" use of prefix argument from gensym
94490         'cl-gensym' was simply moved here, but let us take an opportunity to
94491         shed some historical baggage.
94492         * lisp/subr.el (gensym): Remove special treatment of PREFIX as a
94493         number.  Use "g" as prefix to differentiate from cl-gensym defaults.
94494         * doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
94495         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.
94497 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
94499         Provide an lcms2 feature
94501         * src/lcms.c (syms_of_lcms2): Provide "lcms2".
94503 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
94505         Add lcms2 interface
94507         configure.ac: Add boilerplate for configuring and detecting liblcms2.
94508         etc/NEWS: Mention new configure option and color-distance change.
94509         src/Makefile.in: Add references to lcms.c and liblcms.
94510         src/emacs.c: Define lcms2 symbols.
94511         src/lcms.c: New file.
94512         src/lisp.h: Add declaration for lcms2.
94513         src/xfaces.c: Add optional METRIC argument.
94515 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
94517         Add other D series white points and some simple conversions
94519         * lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
94520         constants.
94521         (color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
94522         (color-lch-to-lab): New functions.
94524 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
94526         Permit non-integral color gradients
94528         * lisp/color.el (color-gradient): Float the step-number.
94530 2017-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
94532         Protect against malformed MIME messages that cause inf-loop (bugfix)
94534         * lisp/gnus/gnus-art.el (gnus-article-mime-handles):
94535         Protect against malformed MIME messages that cause inf-loop.
94537 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
94539         Merge from Gnulib
94541         This incorporates:
94542         2017-09-13 all: prefer https: URLs
94543         This just changes http: to https: in comments,
94544         in files copied from Gnulib.
94546 2017-09-13  Dmitry Gutov  <dgutov@yandex.ru>
94548         Call vc-resynch-buffer in vc-git-resolve-when-done
94550         * lisp/vc/vc-git.el (vc-git-resolve-when-done):
94551         Call vc-resynch-buffer on the current file (bug#28121).
94552         Move its autoload to before this function.
94554 2017-09-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
94556         Allow write-contents-functions to short-circuit buffer save
94558         Bug#28412
94560         * lisp/files.el (basic-save-buffer): Re-arrange function so that
94561           write-contents-functions are run earlier. If they return non-nil,
94562           consider the buffer saved without requiring the buffer to be
94563           visiting a file.
94564           (save-some-buffers): This function should consider any buffer with a
94565           buffer-local value for write-contents-functions eligible for
94566           saving.
94567         * test/lisp/files-tests.el (files-test-no-file-write-contents): New
94568           test.
94569         * doc/lispref/files.texi (Saving Buffers): Mention in docs.
94570         * etc/NEWS: And in NEWS.
94572 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
94574         * etc/NEWS.25: Copy from emacs-25 etc/NEWS.
94576 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
94578         Less chatter for ’make info/dir’
94580         * Makefile.in (${srcdir}/info/dir): Tweak shell command so
94581         that an ordinary make says just "GEN info/dir" rather than
94582         also having a seemingly-unrelated mv line.
94584 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
94586         Tweak Gnus doc re gnus-copy-file
94588         * doc/misc/gnus.texi (Saving Articles):
94589         Document behavior with directory name targets (Bug#27986).
94590         Problem reported by Katsumi Yamaoka in:
94591         https://lists.gnu.org/r/emacs-devel/2017-09/msg00216.html
94593 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
94595         Update uses of if-let and when-let
94597         * lisp/dom.el (dom-previous-sibling):
94598         * lisp/emacs-lisp/package.el (package--with-work-buffer):
94599         (package--sort-deps-in-alist, package--sort-by-dependence):
94600         (package-install-from-archive, package-install):
94601         (package-menu-execute, package-menu--populate-new-package-list):
94602         * lisp/filenotify.el (file-notify--rm-descriptor):
94603         (file-notify--event-watched-file, file-notify--event-file-name):
94604         (file-notify--event-file1-name, file-notify-rm-watch):
94605         (file-notify-valid-p):
94606         * lisp/gnus/message.el (message-toggle-image-thumbnails):
94607         * lisp/gnus/nnimap.el (nnimap-request-move-article):
94608         * lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
94609         * lisp/mpc.el (mpc-format):
94610         * lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
94611         (eww-save-history):
94612         * lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
94613         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
94614         * lisp/svg.el (svg-remove):
94615         * lisp/textmodes/css-mode.el (css--named-color):
94616         (css--colon-inside-funcall):
94617         * lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
94618         (html-current-buffer-ids): Use if-let* and when-let* instead.
94620 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
94622         Implement and-let*
94624         This also includes changes to if-let and when-let.  The single tuple
94625         special case is ambiguous, and binding a symbol to nil is not as
94626         useful as binding it to its value outside the lexical scope of the
94627         binding.  (Bug#28254)
94628         * etc/NEWS: Mention.
94629         * lisp/emacs-lisp/subr-x.el (internal--listify):
94630         (internal--build-binding-value-form): Extend to account for
94631         solitary symbols and (EXPR) items in binding varlist.
94632         (if-let*, when-let*): Nix single tuple case and incumbent
94633         bind-symbol-to-nil behavior.
94634         (and-let*): New macro.
94635         (if-let, when-let): Mark obsolete.  Redefine in terms of if-let*, so
94636         they implicitly gain the new features without breaking existing code.
94637         * test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
94638         single-tuple special case, lack of binding solitary symbols to nil,
94639         and the introduction of uninterned symbols for (EXPR) bindings.  Add
94640         SRFI-2 test suite adapted to Elisp.
94642 2017-09-12  Eli Zaretskii  <eliz@gnu.org>
94644         Fix minor typos in the Emacs manual
94646         * doc/emacs/text.texi (Org Organizer):
94647         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.
94649 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
94651         Merge Emacs 25.3 fixes
94653         The security patches released for Emacs 25.3 were less drastic
94654         than what we had immediately put into master.  Adjust master to
94655         match 25.3 (Bug#28350).
94656         * lisp/textmodes/enriched.el (enriched-translations):
94657         Re-enable FUNCTION and display translations that are safe.
94658         (enriched-handle-display-prop): Bring back.
94659         (enriched-decode-display-prop): Bring back, but disable
94660         the unsafe part.
94662 2017-09-12  Alan Mackenzie  <acm@muc.de>
94664         Don't match C++ template delims starting within a token.  FIxes bug #28418.
94666         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
94667         attempted match from the start of a token (in particular, "<<"), move to the
94668         next token rather than the nex character before searching for the next "<".
94670 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
94672         Move gensym to core Elisp
94674         * doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
94675         after make-symbol.
94676         * etc/NEWS: Mention.
94677         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
94678         gensym-counter.
94679         (cl-gensym): Alias to gensym.
94680         * lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
94681         * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
94682         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
94683         (ert--expand-should-1, ert--expand-should):
94684         (ert--should-error-handle-error):
94685         * lisp/emacs-lisp/generator.el (cps--gensym):
94686         * lisp/emacs-lisp/gv.el (setf):
94687         * lisp/emacs-lisp/inline.el (inline--do-letlisteval):
94688         * lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
94689         (pcase--funcall, pcase--u1): Use gensym.
94690         * lisp/subr.el (gensym-counter): New variable.
94691         (gensym): New function, assimilated from cl-lib.
94693 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
94695         Fix cl-gentemp
94697         * lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
94698         (cl-gentemp): Use it.  Change prefix to "T".
94700 2017-09-12  Sam Steingold  <sds@gnu.org>
94702         gnus-score-file-name: Do not append empty suffix.
94704 2017-09-12  Michael Albinus  <michael.albinus@gmx.de>
94706         Extend tramp-tests according to bug#27986
94708         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
94709         (tramp-test12-rename-file, tramp-test15-copy-directory)
94710         (tramp-test21-file-links): Extend tests.
94711         (tramp-test13-make-directory, tramp-test14-delete-directory):
94712         Specify error symbol in `should-error'.
94714 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
94716         Add cl-print method for hash tables
94718         * lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
94720 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
94722         Add docstrings to cl-print entry points
94724         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
94725         (cl-prin1, cl-prin1-to-string): Add docstrings.
94727 2017-09-12  Glenn Morris  <rgm@gnu.org>
94729         Improve reproducibility of generated leim-list.el
94731         * lisp/international/quail.el (quail-update-leim-list-file):
94732         Sort the quail directory listing, for more stable output.
94734 2017-09-11  Mark Oteiza  <mvoteiza@udel.edu>
94736         Include sxhash of object with printed bytecode
94738         This printing, while succinct, is rather opaque.  At least give an
94739         immediate clue of whether different byte code printouts are for the
94740         same or different byte code objects.
94741         * lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
94742         printed token "#<bytecode>".
94744 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
94746         Update documentation of 'max-lisp-eval-depth'
94748         * doc/lispref/eval.texi (Eval): Update the documented default
94749         value of 'max-lisp-eval-depth'.
94751 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
94753         Another place to produce debugging output in etags
94755         * lib-src/etags.c (Ruby_functions): One more place to print
94756         debugging output under --debug.
94758 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
94760         Improve documentation of etags-related features
94762         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
94763         'xref-prompt-for-identifier'.  (Bug#28403)
94764         (Etags Regexps): Document \D back references in etags regexps.
94766 2017-09-11  Alan Third  <alan@idiocy.org>
94768         Fix macOS compatibility versions for vibrant dark theme (bug#28415)
94770         * src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs):
94771         Change macOS compatibility from 10.9 to 10.10.
94773 2017-09-11  Michael Albinus  <michael.albinus@gmx.de>
94775         Further optimization in Tramp's file name decomposition
94777         * lisp/net/tramp.el (tramp-syntax): Recompute all file name
94778         components.  Call `custom-set-variables' after loading.
94779         (tramp-build-prefix-format, tramp-build-prefix-regexp)
94780         (tramp-build-method-regexp)
94781         (tramp-build-postfix-method-format)
94782         (tramp-build-postfix-method-regexp)
94783         (tramp-build-prefix-ipv6-format)
94784         (tramp-build-prefix-ipv6-regexp)
94785         (tramp-build-postfix-ipv6-format)
94786         (tramp-build-postfix-ipv6-regexp)
94787         (tramp-build-postfix-host-format)
94788         (tramp-build-postfix-host-regexp)
94789         (tramp-build-file-name-regexp)
94790         (tramp-build-completion-file-name-regexp): New defuns.
94791         (tramp-prefix-format, tramp-prefix-regexp)
94792         (tramp-method-regexp, tramp-postfix-method-format)
94793         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
94794         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
94795         (tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
94796         (tramp-postfix-host-regexp)
94797         (tramp-remote-file-name-spec-regexp)
94798         (tramp-file-name-structure, tramp-file-name-regexp)
94799         (tramp-completion-file-name-regexp): Convert defuns into defvars.
94800         (tramp-prefix-regexp-alist)
94801         (tramp-postfix-method-regexp-alist)
94802         (tramp-prefix-ipv6-regexp-alist)
94803         (tramp-postfix-ipv6-regexp-alist)
94804         (tramp-postfix-host-regexp-alist)
94805         (tramp-remote-file-name-spec-regexp-alist): Remove.
94806         (tramp-build-remote-file-name-spec-regexp)
94807         (tramp-build-file-name-structure): Simplify.
94808         (tramp-completion-file-name-regexp-alist): New defconst.
94809         (tramp-tramp-file-p, tramp-dissect-file-name)
94810         (tramp-make-tramp-file-name)
94811         (tramp-completion-make-tramp-file-name)
94812         (tramp-rfn-eshadow-update-overlay-regexp)
94813         (tramp-register-file-name-handlers)
94814         (tramp-completion-handle-file-name-all-completions)
94815         (tramp-completion-dissect-file-name, tramp-clear-passwd):
94816         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
94817         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
94818         (tramp-compute-multi-hops): Use variables but functions for
94819         file name components.
94821         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
94822         Use variables but functions for file name components.
94824 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
94826         Port tramp-tests to new copy-directory behavior
94828         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
94829         Use directory name as arg for copy-directory when we want
94830         the special behavior.
94832 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
94834         Adjust thumbs to new rename-file behavior
94836         * etc/NEWS: Mention this.
94837         * lisp/thumbs.el (thumbs-rename-images): Treat the destination
94838         as special only if it is a directory name.  When there is
94839         a marked list, turn the destination into a directory name
94840         if it is not already.
94842 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
94844         Adjust ob-tangle to new copy-file behavior
94846         * lisp/org/ob-tangle.el (org-babel-tangle-publish):
94847         Port to new copy-file behavior.
94849 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
94851         Make gnus-copy-file act like copy-file etc.
94853         * etc/NEWS: Mention this.
94854         * lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
94855         as special only if it is a directory name.
94857 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
94859         Make write-file act like copy-file etc.
94861         Change write-file to be consistent with the new behavior
94862         of copy-file, etc.
94863         * etc/NEWS: Mention this.
94864         * lisp/files.el (write-file): Treat the destination as special
94865         only if it is a directory name.
94867 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
94869         Make copy-directory act like copy-file etc.
94871         Do the special dance with the destination only if it is a
94872         directory name, for consistency with copy-file etc. (Bug#27986).
94873         * doc/emacs/files.texi (Copying and Naming):
94874         * doc/lispref/files.texi (Create/Delete Dirs):
94875         * etc/NEWS: Document this.
94876         * lisp/files.el (copy-directory): Treat NEWNAME as special
94877         only if it is a directory name.
94879 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
94881         Fix some make-directory bugs
94883         * lisp/files.el (files--ensure-directory): New function.
94884         (make-directory): Use it to avoid bugs when (make-directory FOO t)
94885         is invoked on a non-directory, or on a directory hierarchy that
94886         is being built by some other process while Emacs is running.
94887         * test/lisp/files-tests.el (files-tests--make-directory): New test.
94889 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
94891         Fix race with rename-file etc. with dir NEWNAME
94893         This changes the behavior of rename-file etc. slightly.
94894         The old behavior mostly disagreed with the documentation, and had
94895         a race condition bug that could allow attackers to modify victims'
94896         write-protected directories (Bug#27986).
94897         * doc/lispref/files.texi (Changing Files): Document that in
94898         rename-file etc., NEWFILE is special if it is a directory name.
94899         * etc/NEWS: Document the change in behavior.
94900         * src/fileio.c (directory_like): Remove.  All uses removed.
94901         (expand_cp_target): Test only whether NEWNAME is a directory name,
94902         not whether it is currently a directory.  This avoids a race.
94903         (Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
94904         Document behavior if NEWNAME is a directory name.
94905         (Frename_file): Simplify now that the destdir behavior occurs
94906         only when NEWNAME is a directory name.
94907         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
94908         (tramp-test12-rename-file, tramp--test-check-files):
94909         Adjust tests to match new behavior.
94911 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
94913         Extend --debug printouts in etags
94915         * lib-src/etags.c (regex_tag_multiline, readline): Under
94916         "--debug", print tags found via regexps.
94918 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
94920         Add --debug option to etags
94922         * lib-src/etags.c (make_tag): Print found tags under --debug.
94923         (longopts): Add --debug.
94925 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
94927         Spelling fixes
94929         * lisp/progmodes/cc-langs.el:
94930         (c-ambiguous-overloadable-or-identifier-prefixes): Rename from
94931         c-ambiguous-overloadable-or-identifier-prefices.  Caller changed.
94933 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
94935         Merge from gnulib
94937         This incorporates:
94938         2017-09-08 stddef: Avoid conflict with system-defined max_align_t
94939         2017-08-24 warnings: fix compilation with old autoconf
94940         2017-08-23 glob: merge from glibc with Zanella glob changes
94941         2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
94942         * doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
94943         * lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
94944         * m4/warnings.m4:
94945         Copy from Gnulib.
94946         * lib/gnulib.mk.in: Regenerate.
94948 2017-09-10  Ken Brown  <kbrown@cornell.edu>
94950         Implement renameat_noreplace on recent Cygwin
94952         * src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
94953         (renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
94954         (Bug#27986)
94956 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
94958         Avoid warnings about file names in autoloads on MS-Windows
94960         * configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
94961         avoid warnings from find-file-noselect when making autoloads.  For
94962         the details, see
94963         https://lists.gnu.org/r/emacs-devel/2017-09/msg00049.html.
94965 2017-09-10  Mark Oteiza  <mvoteiza@udel.edu>
94967         Avoid looking at localized strings
94969         * lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
94970         localized strings.
94971         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
94972         parsing l10n strings doesn't error but is essentially a no-op.
94974 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
94976         * etc/NEWS.25: Document 25.3 changes.
94978 2017-09-10  Lars Ingebrigtsen  <larsi@gnus.org>
94980         Remove unsafe enriched mode translations
94982         * lisp/gnus/mm-view.el (mm-inline-text):
94983         Do not worry about enriched or richtext type.
94984         * lisp/textmodes/enriched.el (enriched-translations):
94985         Remove translations for FUNCTION, display (Bug#28350).
94986         (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
94988 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
94990         Be more consistent about "directory name" in manual
94992         This clarifies the documentation, partly in response to the
94993         discussion in Bug#27986.
94995 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
94997         Remove more compilation warnings in MinGW64 build
94999         * src/w32.c (faccessat, map_w32_filename):
95000         * src/w32fns.c (w32_wnd_proc):
95001         * src/w32term.c (w32_horizontal_scroll_bar_handle_click)
95002         (w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler
95003         warnings with GCC 7 and later.
95005 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
95007         Improve --enable-gcc-warnings for MinGW64
95009         This partially reverts my 2016-05-30 patch.  Apparently MinGW64
95010         still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
95011         does not.  Also, pacify tparam.c, which isn’t used on Fedora.
95012         * lib-src/etags.c (process_file_name, TeX_commands):
95013         * src/buffer.c (fix_overlays_before):
95014         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
95015         (cons_to_signed):
95016         * src/editfns.c (Ftranslate_region_internal):
95017         Prefer UNINIT to some stray value, as this simplifies
95018         code-reading later.
95019         * src/eval.c (CACHEABLE): New macro.
95020         (internal_lisp_condition_case): Use it.
95021         * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
95023 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
95025         Fix font-lock in Compilation mode
95027         * lisp/progmodes/compile.el (compilation-face): Restore function
95028         lost during recent changes.  (Bug#28349)
95030 2017-09-09  Mark Oteiza  <mvoteiza@udel.edu>
95032         Add function to read all entries in a group
95034         Use that to extend xdg-desktop-read-file.  Also fix a bug where all
95035         entries in all groups were read and returned by xdg-desktop-read-file.
95036         * lisp/xdg.el (xdg-desktop-read-group): New function.
95037         (xdg-desktop-read-file): Use it.
95038         * test/data/xdg/malformed.desktop: New file.
95039         * test/data/xdg/test.desktop: Add another section.
95040         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
95041         in another group.  Test reading a prescribed group.  Test detecting a
95042         malformed key=value.
95044 2017-09-09  Gemini Lasswell  <gazally@runbox.com>
95046         Reduce Tramp's memory usage
95048         Construct Tramp syntax strings and regular expressions once instead
95049         of every time they are used, and store them in alists keyed by Tramp
95050         syntax.
95051         * lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp)
95052         (tramp-build-file-name-structure): New functions.
95053         (tramp-prefix-format-alist, tramp-prefix-regexp-alist)
95054         (tramp-method-regexp-alist)
95055         (tramp-postfix-method-format-alist)
95056         (tramp-postfix-method-regexp-alist)
95057         (tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist)
95058         (tramp-postfix-ipv6-format-alist)
95059         (tramp-postfix-ipv6-regexp-alist)
95060         (tramp-postfix-host-format-alist)
95061         (tramp-postfix-host-regexp-alist)
95062         (tramp-remote-file-name-spec-regexp-alist)
95063         (tramp-file-name-structure-alist): New constants.
95064         (tramp-lookup-syntax): New function.
95065         (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
95066         (tramp-postfix-method-format, tramp-postfix-method-regexp)
95067         (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
95068         (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
95069         (tramp-postfix-host-format, tramp-postfix-host-regexp)
95070         (tramp-remote-file-name-spec-regexp, tramp-file-name-structure):
95071         Use it.
95073 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
95075         Fix compilation warnings in MinGW64 build using GCC 7
95077         Reported by Richard Copley <rcopley@gmail.com>.
95078         * src/w32heap.c (init_heap): Declare enable_lfh only for
95079         mingw.org's MinGW build.
95081         * src/w32console.c (w32con_write_glyphs):
95082         * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
95083         mismatches of data type vs format spec.
95085         * src/w32fns.c (compute_tip_xy):
95086         * src/w32proc.c (stop_timer_thread):
95087         * src/w32notify.c (remove_watch):
95088         * src/eval.c (internal_lisp_condition_case):
95089         * src/editfns.c (Ftranslate_region_internal):
95090         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
95091         (cons_to_signed):
95092         * src/buffer.c (fix_overlays_before): Initialize variables to
95093         avoid compiler warnings.
95095         * lib-src/etags.c (TeX_commands, process_file_name): Initialize
95096         variables to avoid compilation warnings.
95098 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
95100         Avoid infloop when scrolling under scroll-preserve-screen-position
95102         * src/window.c (window_scroll_pixel_based): If screen position is
95103         to be preserved, make sure its recorded Y coordinate is outside
95104         the scroll margin.  (Bug#28342)
95106 2017-09-09  Michael Albinus  <michael.albinus@gmx.de>
95108         Clarification in tramp-texi
95110         * doc/misc/tramp.texi (Connection caching): Two connections are
95111         regarded as different now when they differ in the port number only.
95113 2017-09-09  Miles Bader  <miles@gnu.org>
95115         * admin/quick-install-emacs: Tweak configure.ac parsing
95117 2017-09-09  Miles Bader  <miles@gnu.org>
95119         Use text-property buttons in rcirc-markup-urls
95121         * lisp/net/rcirc.el (rcirc-markup-urls): Use `make-text-button'
95122         instead of `make-button'; the former is much more efficient in large
95123         buffers, and for the purposes of rcirc, changes no functionality.
95125 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
95127         Fix line-pixel-height for lines of variable height
95129         * src/xdisp.c (Fline_pixel_height): Start moving from the
95130         beginning of the screen line, to capture the full metrics of the
95131         line.  (Bug#28391)
95133 2017-09-08  Alex Branham  <branham@utexas.edu>  (tiny change)
95135         New variable 'dired-confirm-killing-deleted-buffers'
95137         * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
95138         New variable.
95139         * lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
95140         visiting deleted files without confirming if
95141         dired-clean-confirm-killing-deleted-buffers is nil.  (Bug#28373)
95142         * etc/NEWS: Document the change.
95144 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
95146         Support SVN files with svn:externals property
95148         * lisp/vc/vc-svn.el (vc-svn-parse-status): Don't ignore files
95149         marked with the svn:externals property.
95151 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
95153         List locally removed files in vc-dir with SVN back-end
95155         * lisp/vc/vc-svn.el (vc-svn-after-dir-status): List files marked
95156         with ?! as needs-update.
95158 2017-09-08  Ken Olum  <kdo@cosmos.phy.tufts.edu>
95160         Fix Rmail editing with reapplying encoding to message body
95162         * lisp/mail/rmailedit.el (rmail-cease-edit):  If no
95163         content-type in edited headers, look for one in original
95164         headers and add it to edited headers.  (Bug #26918)
95165         Use a marker to track start of new body, so that
95166         content-transfer-encoding gets applied only to body.  (Bug #27353).
95167         Ensure blank line at end of message after encoding, not
95168         before.
95170 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
95172         Document last change in dired.el
95174         * etc/NEWS (Dired): Document the last change in dired.el.
95175         (Bug#27435)
95177 2017-09-08  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
95179         Make mouse clicks in Dired more customizable
95181         * lisp/dired.el (dired-mouse-find-file): Allow callers to
95182         specify functions to visit file/directory.
95183         (dired-mouse-find-file-other-window)
95184         (dired-mouse-find-file-other-frame): New functions to visit
95185         files in another window/frame.  (Bug#27435)
95187 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
95189         Avoid compiler warnings on MS-Windows with GCC 6 and 7
95191         * src/w32font.c (SUBRANGE): Use unsigned arithmetic for
95192         bit-shifting, to avoid compiler warnings.
95193         (w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
95194         a warning.  For details of the warning, see
95195         https://lists.gnu.org/r/emacs-devel/2017-09/msg00093.html.
95196         * src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
95197         in that build.
95198         * src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
95199         function is not used in that build.
95201         * configure.ac: Disable -Wsuggest-attribute=format on MS-Windows.
95203 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
95205         Fix 'directory-file-name' on DOS_NT systems as well
95207         * src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
95208         to be consistent with last change.
95210         * test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
95211         Disable on MS-Windows.
95212         (fileio-tests--directory-file-name-dos-nt)
95213         (fileio-tests--file-name-as-directory-dos-nt): New tests.
95215 2017-09-08  Wilson Snyder  <wsnyder@wsnyder.org>
95217         Fix various verilog-mode.el issues.
95219         * lisp/progmodes/verilog-mode.el (verilog-expand-dirnames): Fix expanding
95220         "*/*", msg2284. Reported by Jonathan Ferguson.
95221         (ignore-errors): Fix ignore-errors error on Emacs 22.3, bug1177. Reported
95222         by Victor Lau.
95223         (verilog-getopt, verilog-getopt-file) (verilog-library-flags,
95224         verilog-substitute-file-name-path): Support -F in verilog getopt files,
95225         bug1171. Reported by George Cuan.
95226         (verilog-do-indent): Fix misindenting symbols starting with t,
95227         bug1169. Reported by Hoai Tran.
95228         (verilog-read-auto-template-middle): Fix slow template matching on
95229         AUTOINST. Reported by Jeffrey Huynh.
95230         (verilog-pretty-expr): The extra whitespace addition before "=" operators
95231         is now done only if the whole assignment block contains the 2-character
95232         "<=" operator.  Remove the unused argument _myre.  Use `unless',
95233         `save-excursion' and `when' functions where possible.  Internal variables
95234         refactored for clarity.  Follow elisp convention for closing parentheses.
95235         By Kaushal Modi.
95236         (verilog-get-lineup-indent-2): Update docstring.  Internal variables
95237         refactored for clarity.  Earlier EDPOS argument was expected to be a
95238         marker; it is now renamed to END and is now expected to be a position.
95239         Use `when' instead of `if'.  By Kaushal Modi.
95240         (electric-verilog-terminate-line): Remove the unused second argument from
95241         `verilog-pretty-expr' call.  By Kaushal Modi.
95242         (verilog-calc-1): Fix indentation of a virtual class definition after a
95243         typedef class, bug1080.  By Kaushal Modi.
95245 2017-09-08  Katsumi Yamaoka  <yamaoka@jpl.org>
95247         Don't use summary window to visit group buffer (bugfix)
95249         * lisp/gnus/gnus-sum.el (gnus-summary-jump-to-group): Make sure that
95250         the window to open the group buffer doesn't visit the summary buffer.
95251         This fixes a bug: `gnus-summary-next-article' sometimes causes an error
95252         by trying to select nonexistent summary window.
95254 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
95256         Fix bug: (directory-file-name "///") returned "//"
95258         * src/fileio.c (directory_file_name): For "///" and longer,
95259         return "/", not "//", as per POSIX.
95260         * test/src/fileio-tests.el (fileio-tests--directory-file-name)
95261         (fileio-tests--file-name-as-directory): New tests.
95263 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
95265         Remove obsolete vc-mistrust-permissions doc
95267         * doc/emacs/vc1-xtra.texi (RCS and SCCS): Remove documentation
95268         for vc-mistrust-permissions, which no longer exists.
95270 2017-09-07  Alan Third  <alan@idiocy.org>
95272         Set frame size to actual requested size (bug#18215)
95274         * src/nsterm.m (x_set_window_size): Don't use
95275         FRAME_TEXT_TO_PIXEL_WIDTH or FRAME_TEXT_TO_PIXEL_HEIGHT.
95277 2017-09-07  Paul Eggert  <eggert@cs.ucla.edu>
95279         autogen.sh: omit bogus chatter if no .git
95281         Problem reported by Angelo Graziosi in:
95282         https://lists.gnu.org/r/emacs-devel/2017-09/msg00045.html
95283         * autogen.sh (git_config): Do not execute 'git' if $do_git fails.
95285 2017-09-07  Glenn Morris  <rgm@gnu.org>
95287         Skip emacsclient tests if --enable-profiling was used
95289         * test/lib-src/emacsclient-tests.el
95290         (emacsclient-test-call-emacsclient): Make it a macro.
95291         Handle "Profiling timer expired" return from emacsclient.  (Bug#28319)
95292         (emacsclient-test-alternate-editor-allows-arguments)
95293         (emacsclient-test-alternate-editor-allows-quotes): Update for above.
95295 2017-09-06  Eli Zaretskii  <eliz@gnu.org>
95297         Fix a minor markup problem in ELisp manual
95299         * doc/lispref/functions.texi (Mapping Functions): Fix the order of
95300         @example and @group.  For the details, see
95301         https://lists.gnu.org/r/bug-texinfo/2017-09/msg00007.html.
95303 2017-09-06  Mark Oteiza  <mvoteiza@udel.edu>
95305         Add XDG desktop file parsing and tests
95307         * lisp/xdg.el: Add support for Desktop Entry Specification.
95308         (xdg--user-dirs-parse-line): Check if file is readable.
95309         (xdg-desktop-group-regexp, xdg-desktop-entry-regexp): New variables.
95310         (xdg--desktop-parse-line, xdg-desktop-read-file, xdg-desktop-strings):
95311         New functions.
95312         * test/lisp/xdg-tests.el:
95313         * test/data/xdg/test.desktop:
95314         * test/data/xdg/wrong.desktop: New files.
95316 2017-09-06  Glenn Morris  <rgm@gnu.org>
95318         Allow for adjusting line length of test backtraces
95320         * test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
95321         (%.log): Respect backtrace line length.
95323 2017-09-06  Glenn Morris  <rgm@gnu.org>
95325         Allow customizing line length of ert backtraces in batch mode
95327         * lisp/emacs-lisp/ert.el (ert-batch-backtrace-right-margin):
95328         Make it a user option.
95329         (ert-run-tests-batch): Handle ert-batch-backtrace-right-margin nil.
95331 2017-09-06  Glenn Morris  <rgm@gnu.org>
95333         Minor emacsclient-tests simplification
95335         * test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
95336         Simplify.  Also work when running installed.
95338 2017-09-06  Alan Third  <alan@idiocy.org>
95340         Revert "Force screen update after drawing cursor glyph (bug#23774)"
95342         This reverts commit 1b492fa5456e2b6face8d0856f11d17e432693b0.
95344         See bug#28358
95346 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
95348         Refactor some loops in mailcap.el
95350         * lisp/net/mailcap.el (mailcap-mime-types):
95351         (mailcap-file-default-commands): Convert nested maps to loops.
95353 2017-09-05  Glenn Morris  <rgm@gnu.org>
95355         emacsclient-tests: remove some debug statements
95357         * test/lib-src/emacsclient-tests.el
95358         (emacsclient-test-call-emacsclient): Remove debug statements.
95360 2017-09-05  Simen Heggestøyl  <simenheg@gmail.com>
95362         Handle non-zero exit status from psql more gracefully
95364         * lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
95365         exit statuses from `psql -ltX' more gracefully by returning nil.
95367         * test/lisp/progmodes/sql-tests.el
95368         (sql-tests-postgres-list-databases-error): New test.
95370 2017-09-05  Eli Zaretskii  <eliz@gnu.org>
95372         Avoid losing Ctrl-C keystrokes in compilation mode on MS-Windows
95374         * src/w32proc.c (sys_kill): Preserve the up/down state of the
95375         Ctrl key across the simulated Ctrl-C keystroke.  (Bug#28348)
95377 2017-09-05  Andreas Schwab  <schwab@linux-m68k.org>
95379         * src/image.c (Fimagemagick_types): Doc fix.
95381 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
95383         Move soundex.el test to a proper test
95385         * test/lisp/soundex-tests.el: New file.
95386         * lisp/soundex.el: Use lexical-binding.  Remove commented test.
95388 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
95390         Add tests for mailcap.el
95392         * test/data/mailcap/mime.types: New file.
95393         * test/lisp/net/mailcap-tests.el: New file.
95395 2017-09-05  Michael Albinus  <michael.albinus@gmx.de>
95397         Doc precisment about remote link targets
95399         * doc/lispref/files.texi (Truenames): Explain handling of
95400         targets of `file-truename' and `make-symbolic-link', which
95401         look like a remote file name.
95403         * etc/NEWS: Precise examples for symlinks which look like
95404         remote file names.  MUSTBENEW of `write-region' is not
95405         propagated to file name handlers.
95407 2017-09-05  John Wiegley  <johnw@newartisans.com>
95409         Remove an opinionated section on "What Eshell is not"
95411         I don't find this information to accurately reflect possible use cases
95412         for Eshell; plus, it doesn't offer much in the way of information,
95413         just opinion.
95415 2017-09-05  Ken Brown  <kbrown@cornell.edu>
95417         Fix configure test for Xpm
95419         Problem reported by Ashish Shukla in
95420         https://lists.gnu.org/r/emacs-devel/2017-09/msg00020.html.
95421         * configure.ac (HAVE_XPM) [HAVE_X11]: Include X11/xpm.h instead of
95422         noX/xpm.h in configure test.
95424 2017-09-04  Paul Eggert  <eggert@cs.ucla.edu>
95426         Revert recent float→double Motif change
95428         Problem reported by Martin Rudalics in:
95429         https://lists.gnu.org/r/emacs-devel/2017-09/msg00014.html
95430         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
95431         (x_set_toolkit_scroll_bar_thumb)
95432         (x_set_toolkit_horizontal_scroll_bar_thumb):
95433         Go back to using ‘float’ temporaries rather than ‘double’.
95434         Although quite possibly this masks an underlying bug,
95435         we lack time to look into that now.
95437 2017-09-04  Glenn Morris  <rgm@gnu.org>
95439         emacsclient-tests: add some debug statements
95441         * test/lib-src/emacsclient-tests.el
95442         (emacsclient-test-call-emacsclient): Add debug statements.
95444 2017-09-04  Michael Albinus  <michael.albinus@gmx.de>
95446         Work on Tramp's (symbolic) links
95448         * doc/misc/tramp.texi (Traces and Profiles): Mention the
95449         backtrace when tramp-verbose is greater than or equal to 10.
95451         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
95452         Use `tramp-handle-add-name-to-file'.
95454         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
95455         `tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.
95457         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.
95459         * lisp/net/tramp-smb.el (tramp-smb-errors):
95460         Add "NT_STATUS_CONNECTION_DISCONNECTED" and
95461         "NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
95462         (tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
95463         (tramp-smb-do-file-attributes-with-stat): Return non-nil only
95464         if one of the attributes is non-nil.
95465         (tramp-smb-handle-file-local-copy): Use `file-truename'.
95466         (tramp-smb-handle-file-truename): Move to tramp.el.
95467         (tramp-smb-handle-insert-directory): Show symlinks.
95468         (tramp-smb-handle-make-symbolic-link): Improve.
95469         (tramp-smb-read-file-entry): Handle extended file modes in Samba.
95471         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
95472         (tramp-handle-file-truename): New defuns.
95474         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
95475         (tramp--test-check-files): Make check for "smb".
95477 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
95479         Embed JSON readtable into json-read
95481         Also unroll dispatch into a cond.
95482         * lisp/json.el (json-readtable): Remove.
95483         (json-readtable-dispatch): New macro.  Assimilate json-readtable.
95484         (json-read): Use the macro.
95486 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
95488         Hexify strings in EWW search queries
95490         Previously, inputting "cats & dogs" would lose dogs because the
95491         ampersand signifies a query parameter.  Instead, hexify each word while
95492         preserving quotes with split-string.
95493         * lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
95494         with + separators, instead of replacing whitespace with +.
95496 2017-09-03  Glenn Morris  <rgm@gnu.org>
95498         emacsclient-tests: call-process may return non-integer
95500         * test/lib-src/emacsclient-tests.el
95501         (emacsclient-test-alternate-editor-allows-arguments)
95502         (emacsclient-test-alternate-editor-allows-quotes):
95503         Handle non-integer return from call-process.
95505 2017-09-03  Eli Zaretskii  <eliz@gnu.org>
95507         * lisp/simple.el (visual-line-mode): Doc fix.  (Bug#28337)
95509 2017-09-03  Alan Third  <alan@idiocy.org>
95511         Force screen update after drawing cursor glyph (bug#23774)
95513         * src/nsterm.m (ns_draw_window_cursor): Force a screen update after
95514         drawing the glyph over the cursor.
95516 2017-09-03  Alan Mackenzie  <acm@muc.de>
95518         Correct the fontification of quote marks after buffer changes in CC Mode.
95520         * lisp/progmodes/cc-defs.el
95521         (c-search-forward-char-property-with-value-on-char): New macro.
95523         * lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
95524         (c-parse-quotes-after-change): Rewrite the functions, simplifying
95525         considerably, and removing unnecessary optimizations.
95526         Invalidate two caches after manipulating text properties.
95528 2017-09-03  Alan Mackenzie  <acm@muc.de>
95530         Fix fontification of "operator~" in C++ Mode.
95532         * lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
95533         (c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.
95535         * lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
95536         two other symbols) as a cast without good evidence.  Prefer an overloaded
95537         operator in ambiguous cases.
95539 2017-09-03  Martin Rudalics  <rudalics@gmx.at>
95541         In delete_frame do not delete terminal for any toolkit build
95543         * src/frame.c (delete_frame): Neither delete terminal for
95544         non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
95545         Bug#27816).
95547 2017-09-02  Philipp Stephani  <phst@google.com>
95549         Improve error messages for improper plists (Bug#27726)
95551         * src/fns.c (Fplist_put, Flax_plist_get, Flax_plist_put)
95552         (Fplist_member, syms_of_fns): Use ‘plistp’ as pseudo-predicate for
95553         improper plists instead of ‘listp.’
95555         * test/src/fns-tests.el (plist-get/odd-number-of-elements)
95556         (lax-plist-get/odd-number-of-elements)
95557         (plist-put/odd-number-of-elements)
95558         (lax-plist-put/odd-number-of-elements)
95559         (plist-member/improper-list): Add unit tests.
95561 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
95563         Fix decrypting in plstore.el on MS-Windows
95565         * lisp/plstore.el (plstore-open): Bind coding-system-for-read to
95566         raw-text, instead of using insert-file-contents-literally.
95567         (Bug#28114)
95569 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
95571         * src/fileio.c (Fexpand_file_name): Doc fix.  (Bug#27982)
95573 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
95575         Rewrite Antinews for Emacs 26
95577         * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
95578         * doc/lispref/elisp.texi (Top): Update the top-level menu's
95579         Antinews entry.
95580         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
95581         * doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
95582         entry.
95584         * etc/NEWS: Rearrange some entries in a more reasonable order.
95586 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
95588         Fix a mis-binding in a test
95590         * test/lisp/progmodes/python-tests.el
95591         (python-shell-calculate-process-environment-3): Fix binding of
95592         process-environment.  A level of parens was missing.
95594         This was found after Glenn Morris noticed a similar problem with the
95595         patch for Bug#28319.
95597 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
95599         Fix a mis-binding and a bad defun name in a test (Bug#28319)
95601         test/lib-src/emacs-client-tests.el (call-emacsclient): Rename
95602         emacsclient-test-call-emacsclient.
95603         (emacsclient-test-alternate-editor-allows-arguments)
95604         (emacsclient-test-alternate-editor-allows-quotes): Fix let-binding of
95605         process-environment.
95607         Thanks to Glenn Morris for noticing these errors.
95609 2017-09-02  Glenn Morris  <rgm@gnu.org>
95611         * test/Makefile.in (check-no-automated-subdir): Silence by default.
95613         * test/Makefile.in (ELFILES): Sort, for a reproducible order.
95615 2017-09-01  Mark Oteiza  <mvoteiza@udel.edu>
95617         Turn off checkdoc complaint about default argument order
95619         * etc/NEWS: Mention change.
95620         * lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
95621         Disable by default, note version.
95623 2017-09-01  Reuben Thomas  <rrt@sc3d.org>
95625         Stop emacsclient tests hanging (Bug#28319)
95627         * test/lib-src/emacsclient-tests.el
95628         (emacsclient-test-alternate-editor-allows-arguments): Use a
95629         non-existent file to communicate with server, so that any existing
95630         default server will not be hijacked (in fact, the test does
95631         not need a server).
95632         (emacsclient-test-alternate-editor-allows-quotes): Likewise.
95634 2017-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
95636         * lisp/obsolete/html2text.el: Don't require CL
95638         (html2text-clean-anchor): Mark unused arg.
95640 2017-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
95642         Don't remove undisplayers from inlined MIME parts (bugfix)
95644         * lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
95645         Don't remove undisplayers from inlined MIME parts (bugfix);
95646         Simplify criterion that finds attachments.
95648 2017-08-31  Mark Oteiza  <mvoteiza@udel.edu>
95650         Make ucs-names a hash table (Bug#28302)
95652         * etc/NEWS: Mention the type change.
95653         * lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
95654         Hardcode BEL's name into the function instead of needlessly mapping
95655         over the hash table in the spirit of rassoc.
95656         * lisp/international/mule-cmds.el (ucs-names): Fix variable and
95657         function docstrings.  Initialize a hash table for ucs-names--the
95658         number of entries is 42845 here.  Switch to hash-table
95659         getters/setters.
95660         (mule--ucs-names-annotation): Use hash-table getter.
95661         (char-from-name): Upcase the string if ignore-case is truthy.
95662         * lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
95664 2017-08-31  Alan Third  <alan@idiocy.org>
95666         Remove unneeded version checks (bug#28222)
95668         * src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
95669         check.
95670         * src/macfont.m (macfont_draw): Remove version check, and test for
95671         existence of CGContextSetFontSmoothingStyle.
95673 2017-08-31  Alan Mackenzie  <acm@muc.de>
95675         Fix a glitch in CC Mode's syntactic whitespace cache.
95677         * lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
95678         comment close at the end of a macro.
95680 2017-08-31  Alan Mackenzie  <acm@muc.de>
95682         Correct the fontification of C++ Mode enclosed declarations.
95684         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
95685         spurious check that the character before the start of an enclosed declaration
95686         must be ; or }.  It might also be {.
95688 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
95690         In xterm.c fix some recently introduced compiler warnings
95692         * src/xterm.c (xaw_jump_callback)
95693         (x_set_toolkit_scroll_bar_thumb): Fix some recently introduced
95694         -Wdouble-promotion warnings.
95696 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
95698         Restrict fix of Bug#24963 and Bug#25887 to GTK builds
95700         * src/xterm.c (handle_one_xevent): Restrict earlier fix of
95701         Bug#24963 and Bug#25887 to avoid that a non-GTK Emacs won't
95702         react to state changes received via ConfigureNotify.
95704 2017-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
95706         Respect directory a user enters (bug#28299)
95708         * lisp/gnus/mm-decode.el (mm-save-part):
95709         Respect directory a user enters (bug#28299).
95711 2017-08-31  Samuel Freilich  <sfreilich@google.com>
95713         Do not split line before width of fill-prefix
95715         When auto-filling a paragraph, don't split a line before the width of the
95716         fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
95717         * lisp/simple.el (do-auto-fill): Only consider break-points that are later in
95718         the line than the width of the fill-prefix.  This is a more general solution
95719         than the previous logic, which only skipped over the exact fill-prefix.  The
95720         fill-prefix doesn't necessarily match the prefix of the first line of a
95721         paragraph in adaptive-fill-mode.
95723 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
95725         Support lazy loading for autogenerated usage docstrings too (Bug#27748)
95727         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
95728         Consider any documentation that ended up in code as a docstring (e.g.,
95729         autogenerated (fn ARG1 ARG2) type things), not just what the user
95730         passed.
95732 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
95734         Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
95736         * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
95737         to drop the docstring.  Add a simple docstring to the compiler-macro.
95739 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
95741         Quote file-truename symlink to "../foo:bar:"
95743         Problem reported by Michael Albinus (Bug#28264#19).
95744         * lisp/files.el (files--splice-dirname-file): Fix bug where
95745         a relative symlink to "../foo:bar:" did not quote the result.
95747 2017-08-30  Reuben Thomas  <rrt@sc3d.org>
95749         Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)
95751         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
95752         corresponding command-line argument, into quote- or space-separated
95753         tokens.  If a token starts with a quote, then it naturally is expected
95754         to end with a quote; escaping is not supported. This is enough to cope
95755         with the typical case of requiring the initial path to be quoted,
95756         common on Windows where it may contain spaces.
95757         * etc/NEWS: Document.
95758         * doc/emacs/misc.texi: Likewise.
95759         * doc/man/emacsclient.1: Tweak to remove the implication that only an
95760         editor can be specified (the manual already mentions a “command”).
95761         Fix a small error where “EDITOR” is referred to rather than
95762         “ALTERNATE_EDITOR”.
95763         * test/lib-src/emacsclient-tests.el: Add tests.
95765 2017-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
95767         * lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte.
95769 2017-08-30  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>  (tiny change)
95771         Correct "hide others" shortcut on macOS (bug#28215)
95773         * lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.
95775 2017-08-30  Eli Zaretskii  <eliz@gnu.org>
95777         Sync NEWS with the documentation
95779         * etc/NEWS: Mark entries according to documentation.
95781         * doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.
95783 2017-08-30  Michael Albinus  <michael.albinus@gmx.de>
95785         Improve symlinks for Tramp
95787         * lisp/files.el (files--splice-dirname-file): Quote whole file.
95789         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
95790         Do not expand TARGET, it could be remote.
95791         (tramp-sh-handle-file-truename): Check for cyclic symlink also
95792         in case of readlink.  Quote result if it looks remote.
95793         (tramp-sh-handle-file-local-copy): Use `file-truename'.
95795         * test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
95796         (tramp-test09-insert-file-contents): Test also file missing.
95797         (tramp-test21-file-links): Extend test.
95799 2017-08-30  Martin Rudalics  <rudalics@gmx.at>
95801         Preserve display's foreground color when clearing internal borders (Bug#28278)
95803         * src/xterm.c (x_after_update_window_line): Preserve display's
95804         foreground color when clearing internal borders (Bug#28278).
95806 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
95808         Use cl-print for all values printed by `describe-variable'
95810         * lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
95811         global values too.
95813 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
95815         Minor simplification for byte-compile-constant-push
95817         * lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
95818         of the code from here...
95819         (byte-compile-constant-push): ... to here.  No need to bind
95820         byte-compile--for-effect anymore.
95822 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
95824         Prefer file-name-quote to concat "/:"
95826         Suggested by Michael Albinus (Bug#28264#13).
95827         * lisp/files.el (files--splice-dirname-file): Use file-name-quote
95828         rather than attempting to do it by hand.
95830 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
95832         * configure.ac: fix typo in previous change
95834 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
95836         Be more conservative in link time optimization doc
95838         While testing --enable-link-time-optimization with GCC 7.1.1
95839         I ran into a serious GCC code-generation bug which makes me
95840         think that --enable-link-time-optimization should be
95841         discouraged for typical installs (Bug#28213).  See:
95842         https://bugzilla.redhat.com/show_bug.cgi?id=1486455
95844 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
95846         Make garbage collection more conservative
95848         Check for a pointer anywhere within the object, as opposed to just
95849         the start of the object.  This is needed for gcc -Os -flto on
95850         x86-64 (Bug#28213).  This change means that the garbage collector
95851         is more conservative, and will incorrectly keep objects that it
95852         does not need to, but that is better than incorrectly discarding
95853         objects that should be kept.
95854         * src/alloc.c (ADVANCE, VINDEX): Now functions, not macros;
95855         this is easier to debug.
95856         (setup_on_free_list): Rename from SETUP_ON_FREE_LIST.
95857         Now a function with two args, not a macro with three.
95858         All callers changed.
95859         (live_string_holding, live_cons_holding, live_symbol_holding)
95860         (live_misc_holding, live_vector_holding, live_buffer_holding):
95861         New functions, which check for any object containing the addressed
95862         byte, not just for an object at the given address.
95863         (live_string_p, live_cons_p, live_symbol_p, live_misc_p)
95864         (live_vector_p, live_buffer_p):
95865         Redefine in terms of the new functions.
95866         (live_float_p): Refactor slightly to match the new functions.
95867         (mark_maybe_object, mark_maybe_pointer): Use the new functions.
95868         Don’t bother checking mark bits, as mark_object already does that,
95869         and omitting the checks here simplifies the code.  Although
95870         mark_maybe_object can continue to insist that tagged pointers
95871         still address the start of the object, mark_maybe_pointer now is
95872         more conservative and checks for pointers anywhere into an object.
95874 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
95876         Improve stack-top heuristic
95878         This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
95879         of the stack when scanning for heap roots, causing Emacs to crash
95880         later (Bug#28213).  The problem is that Emacs's hack for getting an
95881         address near the stack top does not work when link-time optimization
95882         moves stack variables around.
95883         * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
95884         * lib-src/make-docfile.c (DEFUN_noinline): New constant.
95885         (write_globals, scan_c_stream): Support noinline.
95886         * src/alloc.c (NEAR_STACK_TOP): New macro.
95887         (SET_STACK_TOP_ADDRESS): Use it.
95888         (flush_stack_call_func, Fgarbage_collect): Now noinline.
95890 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
95892         Align stack bottom properly.
95894         This is needed for gcc -Os -flto on x86-64 (Bug#28213).
95895         * src/emacs.c (main): Align stack-bottom variable as a pointer,
95896         since mark_memory requires this.
95898 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
95900         Avoid spinning waiting for git-gui.exe on Windows
95902         * src/w32proc.c (waitpid): If GetExitCodeProcess returns
95903         STILL_ACTIVE, and we were called with WNOHANG, pretend that the
95904         process exited.  (Bug#28268)
95906 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
95908         Document '--module-assertions'
95910         * doc/emacs/cmdargs.texi (Initial Options): Document the
95911         '--module-assertions' command-line option.
95912         * doc/lispref/loading.texi (Dynamic Modules): Add a
95913         cross-reference to the description of '--module-assertions'.
95915         * etc/NEWS: Update the NEWS entry for --module-assertions.
95917 2017-08-29  Alan Third  <alan@idiocy.org>
95919         Add news entry about new macOS features
95921         * etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
95922         ns-use-thin-smoothing.
95924 2017-08-29  Alan Third  <alan@idiocy.org>
95926         Fix cross macOS version building (bug#28222)
95928         * src/macfont.h (CGContextSetFontSmoothingStyle): Function
95929         declaration.
95930         * src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
95932 2017-08-29  Ben Bonfil  <bonfil@gmail.com>  (tiny change)
95934         Enable thin font smoothing in macOS (bug#28222)
95936         * src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
95937         * src/macfont.m (macfont_draw): Use font smoothing.
95939 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
95941         Minor improvement in documentation of display-line-numbers
95943         * doc/emacs/display.texi (Display Custom): Document the
95944         display-line-numbers-mode and related options.
95946 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
95948         Avoid aborting in 'waitpid' on MS-Windows
95950         * src/w32proc.c (waitpid): Don't allow quitting if called with
95951         WNOHANG in OPTIONS.  (Bug#28268)
95953 2017-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
95955         * lisp/progmodes/sh-script.el: Test "in-string" of the right char!
95957         (sh-syntax-propertize-function): Fix off-by-one error.
95958         Fixes bug#23526.
95960 2017-08-29  Rasmus  <rasmus@gmx.us>
95962         Update Org to v9.0.10
95964         Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
95965         release.
95967 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
95969         Silence false alarms for symlinks to sources
95971         Problem reported by Glenn Morris (Bug#28264).
95972         * lisp/files.el (files--splice-dirname-file): New function.
95973         (file-truename, file-chase-links): Use it.
95975 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
95977         Simplify remove_slash_colon
95979         * src/process.c (remove_slash_colon): Simplify
95980         and avoid a special case for "/:" by itself.
95982 2017-08-28  Tassilo Horn  <tsdh@gnu.org>
95984         Remove font family from minibuffer-prompt face
95986         * etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from
95987         minibuffer-prompt face.
95989 2017-08-28  Michael Albinus  <michael.albinus@gmx.de>
95991         Further fixes in tramp-smb.el
95993         * lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
95994         (tramp-smb-file-name-handler-alist): Use it.
95995         (tramp-smb-handle-make-symbolic-link): Unquote target.
95997         * test/lisp/net/tramp-tests.el
95998         (tramp--test-ignore-make-symbolic-link-error): New defmacro.
95999         (tramp-test18-file-attributes, tramp-test21-file-links)
96000         (tramp--test-check-files): Use it.
96002 2017-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96004         Don’t assume -g3 in .gdbinit
96006         * src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG):
96007         Use reasonable defaults if not in the symbol table.
96009 2017-08-28  Robert Pluim  <rpluim@gmail.com>  (tiny change)
96011         Use string-match to check for dotfiles in ido
96013         * lisp/ido.el (ido-make-file-list): Use string-match to check
96014         for dotfiles instead of substring, as when using tramp
96015         simplified syntax ido-temp-list may contain empty strings.
96017 2017-08-28  Mark Oteiza  <mvoteiza@udel.edu>
96019         Font-lock FDO desktop files correctly
96021         Single and double quotes do not have a special meaning in
96022         desktop files.
96023         https://standards.freedesktop.org/desktop-entry-spec/latest/
96024         * etc/NEWS: Mention new mode.
96025         * lisp/files.el (auto-mode-alist): Split out an entry for handling
96026         the .desktop extension with conf-desktop-mode.
96027         * lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
96028         variable with rules for booleans and format specifiers.
96029         (conf-unix-mode): Remove desktop file entry example from docstring.
96030         (conf-desktop-mode): New derived major mode.
96032 2017-08-27  Tom Tromey  <tom@tromey.com>
96034         Fix auto-fill bug in js-mode
96036         * lisp/progmodes/js.el (js-do-auto-fill): New function.
96037         (js-mode): Set normal-auto-fill-function.
96038         * test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
96039         test.
96041 2017-08-27  Noam Postavsky  <npostavs@gmail.com>
96043         Disable completion while entering python multiline statements
96045         The "legacy" completion mechanism sends newlines to the running python
96046         process to get the list of completions, which confuses things if the
96047         user is in the middle of entering a multiline statement (Bug#28051).
96048         It's better to disable completion in this case.
96049         * lisp/progmodes/python.el (python-shell--block-prompt): New variable.
96050         (python-shell-prompt-set-calculated-regexps): Set it.
96051         (python-shell-completion-at-point): Return 'ignore' as the completion
96052         function when the current prompt is a block prompt.
96054 2017-08-27  Michael Albinus  <michael.albinus@gmx.de>
96056         Tramp cleanup
96058         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
96059         (tramp-sh-handle-make-symbolic-link): More robust check for
96060         TARGET remoteness.
96062         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
96063         Disable copying by tar temporarily, it doesn't work reliably.
96064         (tramp-smb-do-file-attributes-with-stat): Resolve symlink.
96065         (tramp-smb-handle-make-symbolic-link): Fix implementation.
96067         * lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.
96069         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
96070         Extend test.
96072 2017-08-27  Glenn Morris  <rgm@gnu.org>
96074         Fix previous xterm.h change for non-gtk builds
96076         * src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.
96078 2017-08-27  Philipp Stephani  <phst@google.com>
96080         Fix GdkSettings-related deprecation warnings
96082         * src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored
96083         gtk-menu-bar-accel setting in new versions of GTK+.  Use g_object_set
96084         instead of deprecated gtk_settngs_set_string_property otherwise.
96086 2017-08-27  Philipp Stephani  <phst@google.com>
96088         Always use gtk_window_move in new versions
96090         * src/gtkutil.c (my_log_handler): Don’t define in new versions of
96091         GTK+.
96092         (xg_set_geometry): Always use gtk_window_move in new versions of GTK+.
96094         * src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
96095         is ignored.
96097         * lisp/subr.el (x-gtk-use-window-move): Make obsolete.
96099 2017-08-27  Charles A. Roelli  <charles@aurox.ch>
96101         Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)
96103         * lisp/vc/diff-mode.el (diff-find-file-name): Save the current
96104         narrowing, and widen the buffer before searching for the name of the
96105         file corresponding to the diff.
96107         With thanks to Noam Postavsky.
96109 2017-08-27  Philipp Stephani  <phst@google.com>
96111         Remove use of a deprecated GTK+ function in new versions
96113         * src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click
96114         if available
96116 2017-08-27  Philipp Stephani  <phst@google.com>
96118         Stop using deprecated GdkScreen monitor functions in newer GDK
96120         * src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor
96121         objects instead of the deprecated GdkScreen functions in GDK 3.22+
96123 2017-08-27  Philipp Stephani  <phst@google.com>
96125         Use GdkSeat in new GDK versions
96127         * src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of
96128         GdkDeviceManager in GDK 3.20+
96130 2017-08-27  Philipp Stephani  <phst@google.com>
96132         * src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+
96134 2017-08-27  Philipp Stephani  <phst@google.com>
96136         Remove call of deprecated GDK function
96138         * src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in
96139         GDK 3.22 or later.
96141 2017-08-27  Alan Mackenzie  <acm@muc.de>
96143         Amend the CC Mode macro cache to cope with changes at the macro start
96145         Fixes bug #28233.
96147         * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
96148         error.
96150 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
96152         Fix over-protection of byte-compiled files
96154         Problem reported by Sven Joachim (Bug#28244).
96155         Also, fix similar problem for autoload files.
96156         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
96157         Set temp file modes to the buffer-file-name file modes (or 666
96158         if not available) as adjusted by umask.
96159         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
96160         Set temp file modes to 666 as adjusted by umask.
96162 2017-08-27  Tom Tromey  <tom@tromey.com>
96164         Refine conf-toml-mode font-lock
96166         Bug#28218
96167         * lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
96168         conf-toml-recognize-section.  Use \s- in variable regexp.
96169         (conf-toml-recognize-section): New function.
96171 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
96173         Do not munge contents of local symbolic links
96175         This lets Emacs deal with arbitrary local symlinks without
96176         mishandling their contents (Bug#28156).  For example,
96177         (progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
96178         now consistently creates a symbolic link from '/tmp/x' to '~'.
96179         Formerly, it did that only if the working directory was on the
96180         same filesystem as /tmp; otherwise, it expanded the '~' to
96181         the user's home directory.
96182         * lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
96183         instead of rolling our own code.
96184         * lisp/files.el (files--name-absolute-system-p): New function.
96185         (file-truename, file-chase-links): Use it to avoid mishandling
96186         symlink contents that begin with ~.
96187         (copy-directory, move-file-to-trash):
96188         Use concat rather than expand-file-name, to avoid mishandling
96189         symlink contents that begin with ~.
96190         * src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
96191         target unless interactive.  Strip leading "/:" if interactive.
96192         (emacs_readlinkat): Do not prepend "/:" to the link target if
96193         it starts with "/" and contains ":" before NUL.
96194         * test/src/fileio-tests.el (try-link): Rename from try-char,
96195         and accept a string instead of a char.  All uses changed.
96196         (fileio-tests--symlink-failure): Also test leading ~, and "/:",
96197         to test the new behavior.
96199 2017-08-27  Reuben Thomas  <rrt@sc3d.org>
96201         Remove invalid regexp for shell builtins for wksh
96203         * lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
96204         be literal strings, so remove a regexp for wksh. In any case, it’s a
96205         defunct proprietary shell.
96207 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
96209         Improve doc for file-name-absolute-p.
96211 2017-08-26  Michael Albinus  <michael.albinus@gmx.de>
96213         Fix Tramp part of Bug#28156
96215         * lisp/files.el (file-name-non-special): Use `file-name-quote'
96216         instead prefixing "/:", the file could already be quoted.
96218         * lisp/net/tramp.el (tramp-error): Handle null arguments.
96219         (tramp-handle-make-symbolic-link):
96220         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
96221         (tramp-sh-handle-add-name-to-file):
96222         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
96223         (tramp-smb-handle-make-symbolic-link): Adapt implementation to
96224         stronger semantics in Emacs.  (Bug#28156)
96226         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
96227         Extend test.
96229 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
96231         Fix bugs merged with bug#25428
96233         * lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
96234         (Bug#13926)  (Bug#25434)  (Bug#25435)
96236 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
96238         Improve documentation of Info virtual files and nodes
96240         * lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
96241         (Bug#28237)
96243 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
96245         * lisp/delsel.el (delete-selection-mode): Doc fix.  (Bug#25428)
96247 2017-08-26  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
96249         Support multi-lingual detection of SEE ALSO man sections
96251         * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
96252         section detection in several langages: French, German, Spanish,
96253         Portuguese, Italian, Polish, Turkish, Japanese, Chinese.  (Bug#28142)
96255 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
96257         Improve expand-file-name doc
96259         * doc/lispref/files.texi (Relative File Names, Directory Names)
96260         (File Name Expansion):
96261         * doc/lispref/minibuf.texi (Reading File Names):
96262         Document expand-file-name behavior with ~ more clearly
96263         and accurately.
96264         * doc/misc/org.texi (Batch execution): Simplify example
96265         script so that it does not need expand-file-name and thus
96266         will not mishandle file names with leading ~.
96268 2017-08-26  Jefferson Carpenter  <jeffersoncarpenter2@gmail.com>  (tiny change)
96270         Support all perl variable declarators and prefixes (Bug#27613)
96272         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
96273         (perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has',
96274         'local', 'state', 'supersede', 'let', and 'temp'.
96276 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
96278         Fix file-attributes race on GNU hosts
96280         * doc/lispref/files.texi (File Attributes):
96281         Document file-attributes atomicity.
96282         * etc/NEWS: Document the fix.
96283         * src/dired.c (file_attributes): New args DIRNAME and FILENAME,
96284         for diagnostics.  All callers changed.  On platforms like
96285         GNU/Linux that support O_PATH, fix a race condition in
96286         file-attributes and similar functions, so that these functions do
96287         not return nonsense if a directory entry is replaced while getting
96288         its attributes.  On non-GNU platforms, do a better (though not
96289         perfect) job of detecting the race, and return nil if detected.
96291 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
96293         Simplify expand_and_dir_to_file
96295         * src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
96296         argument, since in practice it always has the default value.  All
96297         callers changed.  Prefer C99 style decls in nearby code.
96299 2017-08-25  Eli Zaretskii  <eliz@gnu.org>
96301         Fix file-name completion on network shares
96303         * src/w32.c (faccessat): Don't assume that F_OK is non-zero.
96304         (Bug#28207)
96306 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
96308         Fix a FIXME with an exegetical comment
96310         * lisp/progmodes/sh-script.el (sh-builtins): Explain why we have a
96311         regexp for wksh builtins.
96313 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
96315         Minor docstring language fix
96317         * lisp/progmodes/sh-script.el (sh-show-indent): Remove spurious “the”.
96319 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
96321         Remove old commented code from sh-script.el
96323         * lisp/progmodes/sh-script.el (sh-abbrevs): Remove commented function
96324         and variable, commented since 2001.
96326 2017-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
96328         * lisp/emacs-lisp/package.el: Don't let failure stop us
96330         (package-activate-1): Don't throw an error for missing deps.
96331         (package-unpack): Don't bother compiling if activation failed.
96332         (package-initialize): Report failures but keep activating other packages.
96334 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
96336         Prefer ‘double’ for FP temps in xterm.c
96338         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
96339         (x_set_toolkit_scroll_bar_thumb)
96340         (x_set_toolkit_horizontal_scroll_bar_thumb): Prefer ‘double’ to
96341         ‘float’ for individual local floating-point temporaries.
96343 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
96345         Avoid using string-to-multibyte in ispell.el
96347         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
96348         decode-coding-string instead. Note that decode-coding-string returns a
96349         string that satisfies multibyte-string-p even if its input is pure
96350         ASCII and the third argument is t, so the result of
96351         ispell-get-decoded-string is always a multibyte string.
96353 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
96355         Store the regexp just when there are matches
96357         * lisp/hi-lock.el (hi-lock-set-pattern): When font-lock-mode is
96358         disabled and there are no matches do not store REGEXP
96359         in hi-lock-interactive-patterns.
96361 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
96363         Keep face available if there are no matches
96365         If font-lock-mode is disabled in the current buffer, and
96366         there are no matches for REGEXP, then keep FACE available
96367         for a next search.
96368         * lisp/hi-lock.el (hi-lock-set-pattern): Add FACE into
96369         hi-lock--unused-faces if font-lock-mode is disabled and
96370         there are no matches.
96371         * test/lisp/hi-lock-tests.el (hi-lock-test-set-pattern): Add test.
96373 2017-08-24  Michael Albinus  <michael.albinus@gmx.de>
96375         Minor improvements for tramp-interrupt-process, documentation
96377         * doc/lispref/processes.texi (Signals to Processes):
96378         * etc/NEWS: Document interrupt-process-functions.
96380         * lisp/net/tramp.el (tramp-interrupt-process): Test also for
96381         `process-live-p'.
96383         * src/process.c (Vinterrupt_process_functions): Fix docstring.
96385         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
96386         Extend test.
96388 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
96390         Fix a comment whitespace typo.
96392         src/fileio.c: A double space was added after "..", used in a code
96393         example. Make it a single space.
96395 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
96397         Remove old commented code and obsolete comments
96399         * lisp/files.el (locate-dominating-files): Remove old commented
96400         implementation from 9 years ago.  Since the current version
96401         appears (at least to me) not just more efficient but clearer than the
96402         version removed, also delete a comment in the new version referring to
96403         the old version. Remove old commented heuristic code,
96404         and explanatory comments.
96406 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
96408         Remove old duplicate commented code
96410         * lisp/files.el (file-relative-name): Remove old commented version,
96411         replaced 14 years ago in commit 753ad9889.
96413 2017-08-24  Tom Tromey  <tom@tromey.com>
96415         Add conf-toml-mode
96417         * etc/NEWS: Mention conf-toml-mode.
96418         * lisp/files.el (auto-mode-alist): Add entry for .toml.
96419         * lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
96420         (conf-toml-font-lock-keywords): New defvars.
96421         (conf-toml-mode): New mode.
96423 2017-08-23  Alan Third  <alan@idiocy.org>
96425         Use lisp type in log message (bug#28176)
96427         * src/nsimage.m (ns_load_image): Use make_number on index.
96429 2017-08-23  Alan Third  <alan@idiocy.org>
96431         Fix PNGs on macOS (bug#28176)
96433         * src/nsimage.m (ns_load_image): Remove index check.
96434         (EmacsImage::getAnimatedBitmapImageRep): New function.
96435         (EmacsImage::getMetadata): Use getAnimatedBitmapImageRep.
96436         (EmacsImage::setFrame): Use getAnimatedBitmapImageRep and check index
96437         is valid.
96439 2017-08-23  Alan Third  <alan@idiocy.org>
96441         Add ability to change macOS WM theme (bug#27973)
96443         * src/frame.c (make_frame, frame_parms, syms_of_frame)
96444         [NS_IMPL_COCOA]: Add ns-appearance and ns-transparent-titlebar
96445         options.
96446         * src/frame.h (ns_appearance_type) [NS_IMPL_COCOA]: Add enum to
96447         represent NSAppearance options.
96448         (struct frame) [NS_IMPL_COCOA]: Add ns_appearance and
96449         ns_transparent_titlebar frame parameters.
96450         * src/nsfns.m (ns_frame_parm_handlers) [NS_IMPL_COCOA]: Add
96451         ns_set_appearance and ns_set_transparent_titlebar handlers.
96452         (Sx_create_frame): Handle ns-appearance and ns-transparent-titlebar
96453         frame parameters.
96454         (Qdark): Add new symbol for use with ns-appearance.
96455         * src/nsterm.h (ns_set_appearance, ns_set_transparent_titlebar)
96456         [NS_IMPL_COCOA]: Add prototypes.
96457         * src/nsterm.m (ns_set_appearance, ns_set_transparent_titlebar)
96458         [NS_IMPL_COCOA]: New functions.
96459         (initFrameFromEmacs) [NS_IMPL_COCOA]: Handle ns-appearance and
96460         ns-transparent-titlebar frame parameters.
96461         * doc/lispref/frames.texi (Window Management Parameters): Document
96462         ns-apperance and ns-transparent-titlebar.
96464 2017-08-22  Alan Mackenzie  <acm@muc.de>
96466         When looking for the end of a declarator, prevent macros fouling up the search
96468         The practical implication of this bug was a random jit-lock chunk remaining
96469         entirely unfontified.
96471         * lisp/progmodes/cc-mode.el (c-fl-decl-end): If point starts inside a macro,
96472         restrict two forward searches to the end of that macro.
96474 2017-08-22  Michael Albinus  <michael.albinus@gmx.de>
96476         Test `file-expand-wildcards' for Tramp
96478         * lisp/net/tramp-compat.el (tramp-advice-file-expand-wildcards):
96479         Remove, not needed anymore.
96481         * test/lisp/net/tramp-tests.el (top): Require seq.el.
96482         (tramp-test16-directory-files): Simplify.
96483         (tramp-test16-file-expand-wildcards): New test.
96484         (tramp-test28-interrupt-process): Skip for older Emacsen.
96486 2017-08-22  Alexander Gramiak  <agrambot@gmail.com>
96488         Add tests for cl-macs.el (Bug#27559)
96490         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-loop): Remove
96491         duplicate.
96492         (cl-loop-destructuring-with): Move to cl-macs-tests.el.
96493         * test/lisp/emacs-lisp/cl-macs-tests.el: New file.
96495 2017-08-22  Noam Postavsky  <npostavs@gmail.com>
96497         Optimize skkdic conversion (Bug#28043)
96499         The primary speedup comes from the optimizing lookup-nested-alist and
96500         set-nested-alist for the case where the key is a string.  This brings
96501         the time down to less than half the original.
96503         * lisp/international/mule-util.el (lookup-nested-alist)
96504         (set-nested-alist): Use `assq' instead of `assoc' when KEYSEQ is a
96505         string.
96507         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
96508         (skkdic-convert-okuri-nasi): Use progress-reporter functions instead
96509         of calculating ratio of work done inline.
96511         (skkdic-reduced-candidates): Call `char-category-set' on the first
96512         character of the string directly, instead of using a regexp for the
96513         character category.
96514         (skkdic--japanese-category-set): New constant.
96515         (skkdic-collect-okuri-nasi): Just set
96516         `skkdic-okuri-nasi-entries-count' at once at the end rather than
96517         updating it throughout the loop.
96519         (skkdic-convert-postfix skkdic-convert-prefix)
96520         skkdic-get-candidate-list, skkdic-collect-okuri-nasi)
96521         (skkdic-extract-conversion-data): Use `match-string-no-properties'
96522         instead of `match-string'.
96524 2017-08-22  Reuben Thomas  <rrt@sc3d.org>
96526         Treat tests in lib-src like tests in src
96528         * test/Makefile.in (test_template): Depend on a .c source file for a
96529         test under lib-src, as for src.  (Thanks, Glenn Morris for pointing me
96530         in the right direction.)
96532 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
96534         Port /bin/sh scripts to Solaris 10
96536         Its /bin/sh builtin ‘test’ command does not support -e.
96537         * autogen.sh, build-aux/git-hooks/pre-commit:
96538         * build-aux/gitlog-to-emacslog, make-dist:
96539         Use test -r, not test -e.
96541 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
96543         Avoid losing the buffer restriction in flyspell-mode
96545         * src/intervals.c (get_local_map): Don't allow C-g to quit as long
96546         as we have the buffer widened, to make sure the restriction is
96547         preserved.  (Bug#28161)
96549 2017-08-21  Sven Joachim  <svenjoac@gmx.de>
96551         Fix the 'versionclean' target in src/Makefile
96553         * src/Makefile.in (versionclean): Don't accidentally remove
96554         emacs-module.h.  (Bug#28169)
96556 2017-08-21  Michael Albinus  <michael.albinus@gmx.de>
96558         Implement `interrupt-process-functions'
96560         * lisp/net/tramp.el (tramp-interrupt-process): Rename from
96561         `tramp-advice-interrupt-process'.  Adapt according to changed API.
96562         (top): Add it to `interrupt-process-functions'.
96564         * src/process.c (Finternal_default_interrupt_process): New defun.
96565         (Finterrupt_process): Change implementation, based on
96566         Vinterrupt_process_functions.
96567         (Vinterrupt_process_functions): New defvar.
96569         * test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
96570         test removal of advice.
96572 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
96574         Avoid floating-point exceptions while drawing underwave
96576         * src/w32term.c (x_get_scale_factor):
96577         * src/xterm.c (x_get_scale_factor): Don't let the scale factors
96578         become less than 1.  Reported by Yuri D'Elia <wavexx@thregr.org> in
96579         https://lists.gnu.org/r/emacs-devel/2017-08/msg00459.html.
96581 2017-08-21  Sam Steingold  <sds@gnu.org>
96583         mark flymake-mode as safe local variable when the value is nil
96585 2017-08-21  Sam Steingold  <sds@gnu.org>
96587         allow nil init in flymake-allowed-file-name-masks to disable flymake
96589         (flymake-allowed-file-name-masks): Update doc and :type.
96590         (flymake-get-file-name-mode-and-masks): Handle nil init.
96592 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
96594         Remove the workaround for bug#20719
96596         * lisp/cedet/semantic/symref/grep.el
96597         (semantic-symref-grep-use-template): Remove the workaround for
96598         bug#20719, it's been fixed for a while now.
96600 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
96602         Fix byte-compilation warnings in semantic/symref/grep
96604         * lisp/cedet/semantic/symref/grep.el (greppattern): Remove.
96605         (grepflags): Rename to semantic-symref-grep-flags.
96606         (semantic-symref-grep-expand-keywords): Update accordingly.
96607         (semantic-symref-grep-use-template): Remove the last two
96608         arguments to make sure they don't shadow the (not renamed)
96609         global variables.
96610         (semantic-symref-perform-search)
96611         (semantic-symref-parse-tool-output-one-line): Use slot names
96612         instead of keywords, like the byte-compiler wants us to.
96614 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
96616         Simplify eldoc-message
96618         * lisp/emacs-lisp/eldoc.el (eldoc-message): Simplify.
96619         Don't use ARGS because no callers pass them.  Discussed in bug#27230.
96621 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
96623         Work around w32-python-2.x bug to fix prompt detection (Bug#21376)
96625         * lisp/progmodes/python.el (python-shell-prompt-detect): Don't put
96626         carriage returns into the temporary file when running in unbuffered
96627         mode, the w32 build of python 2.7 chokes on them.
96629 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
96631         Add missing require
96633         * lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)
96635 2017-08-20  Michael Albinus  <michael.albinus@gmx.de>
96637         Implement `interrupt-process' for remote processes (Bug#28066)
96639         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process):
96640         Support sending signals remotely.
96641         (tramp-open-connection-setup-interactive-shell):
96642         Trace "remote-tty" connection property.
96644         * lisp/net/tramp.el (tramp-advice-interrupt-process): New defun.
96645         (top): Add advice to `interrupt-process'.  (Bug#28066)
96647         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
96648         New test.
96649         (tramp-test29-shell-command)
96650         (tramp-test30-environment-variables)
96651         (tramp-test30-environment-variables-and-port-numbers)
96652         (tramp-test31-explicit-shell-file-name)
96653         (tramp-test32-vc-registered)
96654         (tramp-test33-make-auto-save-file-name)
96655         (tramp-test34-make-nearby-temp-file)
96656         (tramp-test35-special-characters)
96657         (tramp-test35-special-characters-with-stat)
96658         (tramp-test35-special-characters-with-perl)
96659         (tramp-test35-special-characters-with-ls, tramp-test36-utf8)
96660         (tramp-test36-utf8-with-stat, tramp-test36-utf8-with-perl)
96661         (tramp-test36-utf8-with-ls)
96662         (tramp-test37-asynchronous-requests)
96663         (tramp-test38-recursive-load, tramp-test39-remote-load-path)
96664         (tramp-test40-unload): Rename.
96665         (tramp-test40-unload): Test also removal of advice.
96667 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
96669         Document Enchant support
96671         * doc/emacs/fixit.texi: Mention Enchant.
96672         * doc/misc/efaq.texi: Likewise.
96673         * etc/NEWS: Add an item on Enchant support.
96675 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
96677         Remove old comments and a redundant FIXME
96679         * lisp/textmodes/ispell.el (ispell-process-line): Remove some old
96680         commented code, a redundant FIXME, and outdated usage instructions.
96682 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
96684         Add Enchant support to ispell.el (Bug#17742)
96686         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
96687         (ispell-really-enchant): Add variable.
96688         (ispell-check-version): If using Enchant, check it’s new enough (at
96689         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
96690         without.)
96691         (ispell-enchant-dictionary-alist): Add variable.
96692         (ispell-find-enchant-dictionaries): Add function, based on
96693         ispell-find-aspell-dictionaries.
96694         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
96695         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
96696         old ispell name to locale mapping code for Enchant too.
96697         (ispell-send-replacement): Make it work with Enchant.
96699 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
96701         * lisp/term.el (term-mode): Use `window-text-height' (Bug#5615).
96703 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
96705         Stop printing '4' in .elc files after 'define-symbol-prop' calls
96707         * lisp/emacs-lisp/bytecomp.el (byte-compile-define-symbol-prop):
96708         Return nil in case we have compiled the form, to prevent a redundant
96709         constant from getting added to the compiled output.
96711 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
96713         Change recent symlink tests to just test ASCII
96715         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
96716         Be less ambitious about testing non-ASCII chars and encoding
96717         errors, as there are too many portability issues.
96719 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
96721         Don’t adjust CRLF in file names
96723         * doc/misc/gnus.texi (Non-ASCII Group Names):
96724         * etc/NEWS:
96725         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
96726         Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
96727         that CRLF in file names is left alone.
96728         * lisp/international/mule-cmds.el (set-default-coding-systems):
96729         Do not alter CRLF in file name coding systems.
96730         (prefer-coding-system): Ignore differences in CRLF processing when
96731         checking whether we used the user-specified file name coding system.
96732         * test/src/fileio-tests.el: New file.
96734 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
96736         Make list-processes support display-line-numbers
96738         * lisp/simple.el (process-menu-mode): Move the call to
96739         tabulated-list-init-header from here...
96740         (list-processes--refresh): ...to here.  (Bug#27895)
96742 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
96744         Improve support of display-line-numbers in package.el
96746         * lisp/emacs-lisp/package.el (package-menu--refresh): Redisplay
96747         the header.  (Bug#27895)
96748         * lisp/emacs-lisp/tabulated-list.el
96749         (tabulated-list-line-number-width): Fix the case when
96750         display-line-numbers is nil.
96752 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
96754         Improve support of display-line-numbers in tabulated-list-mode
96756         * lisp/emacs-lisp/tabulated-list.el
96757         (tabulated-list-line-number-width): New function.
96758         (tabulated-list-init-header, tabulated-list-print-entry): Use it.
96759         (Bug#27895)
96761 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
96763         Fix one more issue reported by Alex (Bug#27999)
96765         * doc/lispref/windows.texi (Preserving Window Sizes)
96766         (Window Parameters): Use the term `window-preserved-size'
96767         instead of `preserved-size' (Bug#27999).
96769 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
96771         Rename `no-delete-other-window' to `no-delete-other-windows'
96773 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
96775         Fix two side window problems noted by Alex (Bug#27999)
96777         * lisp/window.el (display-buffer-in-side-window): Fix doc-string
96778         typo.
96779         (delete-other-windows): Rename the `no-delete-other-window'
96780         parameter to `no-delete-other-windows' (see the discussion in
96781         Bug#27999 for the rationale of this change).
96782         * doc/lispref/windows.texi (Deleting Windows)
96783         (Frame Layouts with Side Windows, Window Parameters): Rename
96784         `no-delete-other-window' to `no-delete-other-windows'.
96786 2017-08-19  Alex Schroeder  <alex@gnu.org>
96788         Use define-minor-mode for rcirc-omit-mode
96790 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
96792         Clarify behavior of symlinks and directories
96794         * doc/lispref/files.texi (Saving Buffers): Document how functions
96795         like rename-file work with symlinks and directories.  This patch
96796         attempts to document the current behavior better, in preparation
96797         for possibly changing it.  See Bug#27986.
96799 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
96801         Fix recently-introduced file descriptor leak
96803         * src/fileio.c (Fmake_temp_file_internal):
96804         Don’t leak a file descriptor if write_region signals an error.
96806 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
96808         Improve make-temp-file performance on local files
96810         * lisp/files.el (make-temp-file): Let make-temp-file-internal do
96811         the work of inserting the text.
96812         * src/fileio.c (Fmake_temp_file_internal): New arg TEXT.
96813         All callers changed.
96815 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
96817         Don't lose arguments to eshell aliases (Bug#27954)
96819         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use ARGS.
96821 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
96823         * lisp/files.el (make-temp-file): Fix directory use case.
96825 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
96827         Fix and document make-temp-file optional text parameter
96829         * lisp/files.el (make-temp-file): Fix initial TEXT parameter.
96830         (files--make-magic-temp-file): Support optional TEXT parameter.
96831         * etc/NEWS: Document it.
96832         * doc/lispref/files.texi: Document it.
96833         * test/lisp/auth-source-tests.el: Minor reformat.
96835 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
96837         * test/lisp/auth-source-tests.el: Avoid `string-join' to be simple.
96839         * test/lisp/auth-source-tests.el: Minor cleanups to use CL.
96841 2017-08-19  João Távora  <joaotavora@gmail.com>
96843         Fix default value of electric-pair-pairs and electric-pair-text-pairs
96845         (Bug#24901)
96847         A previous change, titled "Add support for curly quotation marks to
96848         electric-pair-mode", attempted to add these characters to the default
96849         value of these variables.  But it did so in a quoted list, preventing
96850         evaluation of the relevant expressions and resulting in an invalid
96851         format.
96853         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs):
96854         Use backquote and comma.
96856 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
96858         * lisp/elec-pair.el (electric-pair-text-pairs): Don't autoload (Bug#24901).
96860         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
96861         explicitly in the interactive case.
96863 2017-08-19  Mats Lidell  <mats.lidell@cag.se>
96865         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
96867 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
96869         Add auth-source tests and codify its API better
96871         The auth-source behavior was unclear in some API use cases, so these
96872         extra tests codify and test it. For details see
96873         https://github.com/DamienCassou/auth-password-store/issues/29
96875         * lisp/files.el (make-temp-file): Add new initial TEXT parameter.
96876         * test/lisp/auth-source-tests.el (auth-source-test-searches): Add
96877           auth-source tests and simplify them with the new `make-temp-file'.
96879 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
96881         Don't call the same hook twice due to obsolete aliases
96883         * lisp/international/robin.el (robin-activate):
96884         * lisp/international/quail.el (quail-activate):
96885         * lisp/international/mule-cmds.el (deactivate-input-method):
96886         * lisp/emulation/viper-init.el (viper-deactivate-input-method):
96887         Don't call the same hook twice, when the obsolete and the
96888         advertised symbols are aliased.  (Bug#28118)
96890 2017-08-18  Felipe Ochoa  <felipe@fov.space>  (tiny change)
96892         A new face for show-paren in expression mode
96894         * lisp/faces.el (show-paren-match-expression): Define the new face.
96895         * lisp/paren.el (show-paren-function): Apply the different face
96896         when in expression mode.  (Bug#28047)
96898 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
96900         Non-ASCII support for man page section and header names
96902         * lisp/man.el (Man-name-regexp, Man-page-header-regexp)
96903         (Man-heading-regexp): Replace ASCII character classes by
96904         equivalent classes that allow non-ASCII characters.  Suggested by
96905         Grégory Mounié <Gregory.Mounie@imag.fr>.  (Bug#27978)
96907 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
96909         Implement HiDPI support for underwave on MS-Windows
96911         * src/w32term.c (x_get_scale_factor): New function.
96912         (w32_draw_underwave): Use it.
96913         * src/xterm.c (x_draw_underwave): Offset the wave starting point
96914         to make it identical with original code.
96916 2017-08-18  Stephen Pegoraro  <spegoraro@tutive.com>  (tiny change)
96918         Support HiDPI displays for wave style underlines
96920         * src/xterm.c (x_draw_underwave): Compute height, length and thickness
96921         based on scale factor.
96922         (x_get_scale_factor): New function.
96924 2017-08-18  Bastien  <bzg@gnu.org>
96926         Delete library-of-babel.org
96928         * etc/org/library-of-babel.org: Delete file.
96930 2017-08-18  Glenn Morris  <rgm@gnu.org>
96932         * doc/emacs/files.texi (Copying and Naming): Avoid confusing texi2pdf.
96934 2017-08-18  Noam Postavsky  <npostavs@gmail.com>
96936         Remove custom version parsing from epg-config.el (Bug#27963)
96938         * lisp/epg-config.el (epg-config--compare-version)
96939         (epg-config--parse-version): Remove.
96940         (epg-check-configuration): Use `version<=' instead.
96942 2017-08-18  Mark Oteiza  <mvoteiza@udel.edu>
96944         Treat control characters in JSON strings as invalid
96946         * lisp/json.el (json-peek): Reduce to following-char.
96947         (json-pop, json-read): Zero (null char) means end of file.
96948         (json-read-escaped-char): Delimit URL properly.
96949         (json-read-string): Signal error for ASCII control characters.
96950         * test/lisp/json-tests.el (test-json-peek): Check for zero instead of
96951         :json-eof symbol.
96952         (test-json-read-string): New test for control characters in JSON
96953         strings.
96955 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
96957         Support Posix semantics of 'rename' on MS-Windows
96959         * src/w32.c (sys_rename_replace): Support Posix semantics of
96960         'rename': return an error if OLD is a directory while NEW is not,
96961         or vice versa.
96963 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
96965         * src/w32.c (sys_rename_replace): Support renaming a directory.
96967 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
96969         Fix the MS-Windows build
96971         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
96972         'open'.
96974         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
96976 2017-08-17  João Távora  <joaotavora@gmail.com>
96978         Add flymake-backends defcustom
96980         * lisp/progmodes/flymake-proc.el (flymake-proc-can-syntax-check-buffer):
96981         Rename from flymake-can-syntax-check-file.  Suitable for adding to
96982         flymake-backends.
96983         (flymake-proc-start-syntax-check): Rename from
96984         flymake-start-syntax-check.  Don't check again if buffer can be
96985         checked.
96986         (add-to-list flymake-backends): Hook only flymake-ui.el
96988         * lisp/progmodes/flymake-ui.el (flymake-backends): New
96989         defcustom.
96990         (flymake-on-timer-event, flymake-after-change-function)
96991         (flymake-after-save-hook, flymake-find-file-hook): Call new
96992         flymake--start-syntax-check-buffer and
96993         flymake--can-syntax-check-buffer.
96994         (flymake-mode): Call flymake--can-syntax-check-buffer and set
96995         flymake-backend.
96996         (flymake--backend): New buffer-local variable.
96998 2017-08-17  João Távora  <joaotavora@gmail.com>
97000         Split flymake.el into flymake-proc.el and flymake-ui.el
97002         flymake.el is now a stub that requires both files.
97004         * lisp/progmodes/flymake-proc.el: New file.
97006         * lisp/progmodes/flymake-ui.el: New file.
97008         * lisp/progmodes/flymake.el: Split into flymake-ui.el and
97009           flymake-proc.el.  Require both files.
97011 2017-08-17  Michael Albinus  <michael.albinus@gmx.de>
97013         Set `default-directory' for watchdog in tramp-test.el
97015         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
97016         Set `default-directory' for watchdog.
97018 2017-08-17  Andreas Schwab  <schwab@suse.de>
97020         * lisp/term/konsole.el: New file.
97022 2017-08-17  Noam Postavsky  <npostavs@gmail.com>
97024         * lisp/woman.el (woman-push, woman-pop): Remove.  (Bug#27962)
97026         (woman2-RS): Use plain `push' instead of `woman-push'.
97027         (woman2-RE): Conditionally `pop' instead of `woman-pop'.
97029 2017-08-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
97031         Merge from Gnulib; use ‘open’ for O_CLOEXEC
97033         This incorporates:
97034         2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
97035         2017-08-15 extensions: enable NetBSD specific extensions
97036         2017-08-14 open: support O_CLOEXEC
97037         2017-08-13 reallocarray: new module
97038         * admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
97039         it now supports O_CLOEXEC and this simplifies Emacs.
97040         * build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
97041         * lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
97042         Copy from Gnulib.
97043         * lib/cloexec.c, lib/cloexec.h, lib/open.c:
97044         * m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
97045         New files, copied from Gnulib.
97046         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
97047         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
97048         Remove, as Gnulib does this for us.
97049         * src/filelock.c (create_lock_file):
97050         * src/sysdep.c (emacs_open, emacs_pipe):
97051         Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
97053 2017-08-16  Alan Third  <alan@idiocy.org>
97054             Charles A. Roelli  <charles@aurox.ch>
97056         Allow use of run-time OS version checks on macOS (bug#27810)
97058         * src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
97059         (MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
97060         MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
97061         defines.
97062         (NSWindowStyleMaskFullScreen,
97063         NSWindowCollectionBehaviorFullScreenPrimary,
97064         NSApplicationPresentationFullScreen,
97065         NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
97066         * src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
97067         check_native_fs, ns_read_socket, ns_select, runAlertPanel,
97068         initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
97069         windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
97070         toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
97071         Allow use of run-time checks and replace version check macros.
97072         * src/nsfns.m (ns_screen_name): Use run-time OS version checks.
97073         * src/macfont.m (macfont_draw): Use run-time OS version checks.
97074         * src/nsmenu.m (menuWillOpen): Use run-time OS version checks.
97076 2017-08-16  Alan Third  <alan@idiocy.org>
97078         Add multiframe image support to NS port (bug#21714)
97080         * src/nsimage.m (ns_load_image): Handle multiple frames.
97081         (EmacsImage::getMetadata, EmacsImage::setFrame): New functions.
97082         * src/nsterm.h (EmacsImage::getMetadata, EmacsImage::setFrame): New
97083         function prototypes.
97085 2017-08-16  Tino Calancha  <tino.calancha@gmail.com>
97087         files-tests.el: Remove unused lexical variable
97089         * test/lisp/files-tests.el (file-test--do-local-variables-test);
97090         Remove unused var 'files-test-queried'.
97092 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
97094         * doc/emacs/files.texi (Copying and Naming): Mention
97096         restrictions to add-name-to-file and make-symbolic-link on
97097         remote systems.
97099 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
97101         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Further support ftp-ssl.
97103 2017-08-16  Noam Postavsky  <npostavs@gmail.com>
97105         Add tests for previous commit
97107         * test/lisp/progmodes/elisp-mode-tests.el
97108         (elisp-mode-tests--face-propertized-string): New function.
97109         (elisp--highlight-function-argument-indexed)
97110         (elisp--highlight-function-argument-keyed-1)
97111         (elisp--highlight-function-argument-keyed-2): New tests.
97113 2017-08-16  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
97115         Fix eldoc highlighting for &key args (Bug#27272)
97117         * lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
97118         Only switch to keyword-based searching if INDEX point beyond `&key' in
97119         the argument list.  All arguments prior to the `&key' are position
97120         based.  Additionally, be more strict about what is a keyword when
97121         searching for the current keyword.
97123 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97125         Do not assume regular Git .git/hooks dir
97127         Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
97128         Problem reported by Ted Zlatanov in:
97129         https://lists.gnu.org/r/emacs-devel/2017-08/msg00380.html
97130         * autogen.sh (git_sample_hook_src): New function.  Use it to work
97131         even if .git/hooks or its samples do not exist.
97133 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97135         New manual section "Copying and Naming"
97137         * doc/emacs/files.texi (Copying and Naming):
97138         New section, split off from Misc File Ops and containing the
97139         operations that copy, name or rename files.  This fixes some
97140         confusion caused by the incorrect phrase "The same rule applies
97141         to all the remaining commands in this section" in the old manual.
97142         This change does not affect the confusion about directories (see
97143         Bug#27986 for ongoing discussion).
97145 2017-08-15  Eli Zaretskii  <eliz@gnu.org>
97147         Fix the MS-Windows build
97149         * src/fileio.c (Frename_file): Don't use ENOTSUP if it is equal to
97150         ENOSYS.  (Bug#28097)  (Bug#27986)
97152 2017-08-15  Ted Zlatanov  <tzz@lifelogs.com>
97154         * .gitlab-ci.yml: run "autogen.sh autoconf" to avoid Git.
97156         * .gitlab-ci.yml: add Git to the installed packages.
97158 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
97160         Support indentation of detached Less CSS rulesets
97162         * lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
97163         for indentation of detached rulesets passed to Less mixins.
97165         * test/manual/indent/less-css-mode.less: New file.
97167 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
97169         Fixes and tweaks for the new Less CSS mode
97171         * etc/NEWS: Add an entry for the new mode.
97173         * lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
97174         (less-css-lessc-command): Tweak docstring. Don't mark it as
97175         safe. Don't autoload.
97176         (less-css-compile-at-save, less-css-lessc-options)
97177         (less-css-output-directory): Tweak docstrings. Don't autoload.
97178         (less-css-output-file-name): Tweak docstring. Don't mark it as safe.
97179         (less-css-input-file-name): Tweak docstring. Don't autoload.
97180         (less-css-compile-maybe): Use `when' for one-armed `if'.
97181         (less-css--output-path): Tweak docstring.
97182         (less-css--maybe-shell-quote-command): Remove function.
97183         (less-css-compile): Don't autoload. Tweak docstring and message. Fix
97184         compiler warning. Use `string-join' instead of `mapconcat'.
97185         (less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
97186         variables.
97187         (less-css-mode-syntax-table, less-css-mode-map): New variables.
97188         (less-css-mode): Change status line mode name from "LESS" to
97189         "Less". Tweak docstring. Move syntax table definitions to
97190         `less-css-mode-syntax-table'.
97191         (less-css-indent-line): Remove function.
97193 2017-08-15  Steve Purcell  <steve@sanityinc.com>
97195         New major mode: Less CSS mode
97197         * lisp/textmodes/less-css-mode.el: New file.
97199 2017-08-15  Tino Calancha  <tino.calancha@gmail.com>
97201         archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits
97203         * lisp/arc-mode.el (archive-int-to-mode):
97204         Swap order of 2048 and 1024 tests (Bug#28092).
97205         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
97206         Update test.
97208 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97210         Improve rename-file port to macOS
97212         * src/fileio.c (Frename_file): On macOS, renameat_noreplace can
97213         fail with errno == ENOTSUP on file systems where it is not
97214         supported, according to the Apple documentation.
97216 2017-08-15  Noam Postavsky  <npostavs@gmail.com>
97218         Speed up ./configure with more caching (Bug#27960)
97220         * configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
97221         'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
97222         'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
97223         characters', and 'Windows API header' checks.  Remove pause after
97224         warning about GTK bug.
97226 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97228         Improve rename-file behavior on macOS
97230         Problem reported by Philipp Stephani (Bug#27986).
97231         * src/fileio.c (Frename_file):
97232         Worry about file name case sensitivity only if CYGWIN or DOS_NT.
97233         * src/sysdep.c (renameat_noreplace): Use renameatx_np on macOS,
97234         since this provides the necessary atomicity guarantees.
97236 2017-08-14  Glenn Morris  <rgm@gnu.org>
97238         Clean up temp files after some tests
97240         * test/lisp/emacs-lisp/bytecomp-tests.el
97241         (bytecomp-tests--with-temp-file): Also delete .elc file if present.
97242         * test/lisp/progmodes/etags-tests.el
97243         (etags-buffer-local-tags-table-list): Delete temp file at end.
97245 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
97247         Implement renameat_noreplace for MS-Windows
97249         * src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
97250         emulation for MS-Windows.  (Bug#27986)
97252 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
97254         Fix 'rename' on MS-Windows
97256         * src/w32.c (sys_rename_replace): Use the FORCE argument only if
97257         the primitive rename errors out with EEXIST.
97259 2017-08-14  Michael Albinus  <michael.albinus@gmx.de>
97261         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Support ftp-ssl.
97263 2017-08-14  Mark Oteiza  <mvoteiza@udel.edu>
97265         Tiny JSON performance improvement
97267         Get rid of some needless uses of apply.  Measuring with
97268           (benchmark-run 10 (json-read-file "test.json"))
97269         showed 1.5-2.5% reduction of execution time.
97270         * lisp/json.el (json-peek): Nix let-binding.
97271         (json-read-string): Use concat for making a string from chars.
97272         (json-read-array): Use cond and more appropriate conversion instead
97273         of blindly applying.
97275 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
97277         Be consistent in spelling 'ok-if-already-exists'.
97279 2017-08-13  Alexander Gramiak  <agrambot@gmail.com>
97281         Use 'header-line-highlight' face in proced and erc
97283         * lisp/erc/erc-list.el (erc-list-button):
97284         * lisp/proced.el (proced-format): Use the 'header-line-highlight
97285         face.  (Bug#28033)
97287 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
97289         Remove feeds with dead uris from newsticker--raw-url-list-defaults
97291         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
97292           Remove feeds with dead uris.
97294 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
97296         Fix vertical cursor motion when cursor is on the fringe
97298         * lisp/simple.el (line-move-visual): Fix an off-by-one error in
97299         setting temporary-goal-column when newline overflows into the
97300         fringe.  Support that use case in R2L paragraphs as well.
97302 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
97304         Fix vertical cursor motion across too wide images
97306         * src/indent.c (Fvertical_motion): If lines are truncated and we
97307         end up beyond the right margin of the window, don't assume we are
97308         in the next screen line, unless VPOS actually says so.  (Bug#28071)
97310 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
97312         Add test suites for arc-mode and tar-mode
97314         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
97315         * test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
97316         New tests.
97318 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
97320         * lisp/tar-mode.el (tar-grind-file-mode): Fix docstring
97322 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
97324         Fix uri of Emacs Wiki
97326         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): Fix
97327           uri of Emacs Wiki.  (Bug#27981)
97329 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
97331         Fix make-temp-file bug with ""/"."/".." prefix
97333         The bug with "." and ".." has been present for a while; I
97334         introduced the bug with "" earlier today in my patch for Bug#28023.
97335         * lisp/files.el (make-temp-file): Do not use expand-file-name if
97336         PREFIX is empty or "." or "..", as it does the wrong thing.
97337         Compute absolute-prefix here ...
97338         (files--make-magic-temp-file): ... instead of here ...
97339         * src/fileio.c (Fmake_temp_file_internal): ... or here.
97341         * lisp/files.el (make-temp-file): If the prefix is empty, append
97342         "/" to the absolute prefix so that the new files are children
97343         rather than siblings of temporary-file-directory.  This fixes a
97344         bug introduced in the previous change.
97345         * test/lisp/files-tests.el (files-test-make-temp-file-empty-prefix):
97346         New test, for the bug.
97348 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
97350         Improve make-temp-file performance on local files
97352         For the motivation behind this patch, please see Bug#28023 and:
97353         http://emacshorrors.com/posts/make-temp-name.html
97354         Although, given the recent changes to Tramp, the related security
97355         problem in make-temp-file is already fixed, make-temp-file still has
97356         several unnecessary system calls.  In the typical case on GNU/Linux,
97357         this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
97358         getpid, unlink, umask) by 2 (open, close).
97359         * admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
97360         that Emacs is using it directly.
97361         * configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
97362         no longer needed.
97363         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
97364         * lisp/files.el (files--make-magic-temp-file): Rename from
97365         make-temp-file.
97366         (make-temp-file): Use make-temp-file-internal for
97367         non-magic file names.
97368         * src/fileio.c: Include tempname.h.
97369         (make_temp_name_tbl, make_temp_name_count)
97370         (make_temp_name_count_initialized_p, make_temp_name): Remove.
97371         (Fmake_temp_file_internal): New function.
97372         (Fmake_temp_name): Use it.
97373         * src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
97374         instead of make_temp_name.
97376 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
97378         Document internal-use naming conventions
97380         * doc/lispref/functions.texi (Function Names):
97381         * doc/lispref/variables.texi (Tips for Defining):
97382         Document naming conventions for internal-use functions and vars.
97383         See Bug#28023#59.
97385 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
97387         Simplify re and document 'autoconf.sh all'
97389         * GNUmakefile (ALL_IF_GIT): Remove; no longer needed, now that
97390         ./autogen.sh defaults to "all".  All uses removed.
97391         * README: Mention autoconf.sh's effect on Git configuration.
97393 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
97395         Default autogen.sh to 'all'
97397         This addresses a problem noted by RMS in:
97398         https://lists.gnu.org/r/emacs-devel/2017-08/msg00052.html
97399         * autogen.sh (do_git): Set to true if this script is invoked
97400         with no arguments and there is a .git subdirectory.
97402 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
97404         Adjust jka-compr to recent Tramp changes.
97406         * lisp/jka-compr.el (jka-compr-write-region):
97407         Two new args LOCKNAME and MUSTBENEW.
97409 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
97411         Improve doc strings of 2 functions in simple.el
97413         * lisp/simple.el (beginning-of-visual-line)
97414         (move-beginning-of-line): Doc fix.  Reported by
97415         Justin Burkett <justin@burkett.cc>.
97417 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
97419         Fix completion on directory names on MS-DOS/MS-Windows
97421         * src/msdos.c (faccessat):
97422         * src/w32.c (faccessat): Support relative file names, and add D_OK
97423         to 'mode' if the argument is a directory.  This unbreaks file-name
97424         completion when the completion result is a directory.
97426 2017-08-12  Michael Albinus  <michael.albinus@gmx.de>
97428         Implement EXCL of write-region for Tramp
97430         * lisp/net/ange-ftp.el (ange-ftp-write-region):
97431         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
97432         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
97433         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region)
97434         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
97435         Implement MUSTBENEW.
97437         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
97438         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
97439         (tramp-sh-handle-add-name-to-file)
97440         (tramp-do-copy-or-rename-file)
97441         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
97442         Adapt error message for `file-already-exists'.
97444         * src/lisp.h:
97445         * src/eval.c (call8): New function.
97447         * src/fileio.c (write_region): Pass also lockname and
97448         mustbenew to the file name handler.
97450         * test/lisp/net/tramp-tests.el (tramp-test10-write-region):
97451         Add tests for MUSTBENEW.
97453 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
97455         Adapt Proced display to display-line-numbers
97457         * lisp/proced.el (proced-header-line): Account for the width taken
97458         by display-line-numbers.  (Bug#27895)
97460 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
97462         Adapt tabulated list when display-line-number is turned on
97464         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Add
97465         a hook to revert the display when display-line-numbers is turned
97466         on.  (Bug#27895)
97468 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
97470         Use Gnulib 'tempname' on MS-Windows
97472         * lib-src/ntlib.h (mkdir, open): Remove redefinitions.  They are
97473         now in nt/inc/ms-w32.h.
97474         * lib-src/ntlib.c (sys_mkdir, sys_open): New functions.
97475         (mkostemp): Remove.
97477         * src/w32.c (mkostemp): Remove.
97478         (sys_mkdir): Accept a second (unused) argument.
97479         * src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT
97480         specific call to mkdir.  (Bug#28023)
97482         * nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine
97483         to accept 2 arguments.
97484         (open): Remove from "#ifdef emacs".
97485         * nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove.
97486         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp)
97487         (OMIT_GNULIB_MODULE_tempname): Remove.
97489 2017-08-12  Alexander Gramiak  <agrambot@gmail.com>
97491         Add new face 'header-line-highlight'
97493         * lisp/faces.el: Define the face.
97494         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
97495         * lisp/info.el (Info-fontify-node): Use the new face.
97496         * doc/emacs/display.texi (Standard Faces):
97497         * etc/NEWS: Document the new face.  (Bug#28033)
97499 2017-08-12  Arash Esbati  <arash@gnu.org>
97501         Make a case-sensitive match for strings
97503         * lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
97504         let-bind `case-fold-search' to nil in order to be case-sensitive
97505         when matching a string.  (Bug#27518)
97507 2017-08-11  Stephen Berman  <steve@rosalinde.fritz.box>
97509         Fix a minor todo-mode regression
97511         * lisp/calendar/todo-mode.el (todo-get-overlay): Wrap in
97512         save-excursion.  This fixes a regression introduced by the fix
97513         for bug#27609, whereby trying to raise the priority of the
97514         first item or lower the priority of the last item, which
97515         should be noops, moves point to the item's start.  Clarify
97516         comment.
97518         * test/lisp/calendar/todo-mode-tests.el
97519         (todo-test-raise-lower-priority): Add test cases for trying to
97520         raise first item and lower last item.
97521         (with-todo-test): Clear abbreviated-home-dir, since we change HOME.
97522         (todo-test-toggle-item-header02): Remove ":expected-result
97523         :failed" and tests of point after todo-next-item, since the
97524         effect when using Todo mode is not reproducible in the test
97525         environment.  Add commentary about this.
97527 2017-08-11  Paul Eggert  <eggert@cs.ucla.edu>
97529         Improve performance for rename-file etc.
97531         Although this does not fix Bug#27986, it is a step forward.
97532         I plan to propose a more-significant patch later.
97533         * lisp/files.el (directory-name-p): Move from here ...
97534         * src/fileio.c (Fdirectory_name_p): ... to here.
97535         (directory_like, cp_like_target): New static functions.
97536         (Fcopy_file, Frename_file, Fadd_name_to_file)
97537         (Fmake_symbolic_link):
97538         Use them, to avoid directory-testing syscalls on file names that
97539         must be directories if they exist.  Omit unnecessary
97540         initializations and CHECK_STRING calls.
97541         (Frename_file): Don't call file_name_case_insensitive_p
97542         twice on the same file.  Compare both file names expanded, instead
97543         of the old name expanded and the new one unexpanded.
97545 2017-08-11  Noam Postavsky  <npostavs@gmail.com>
97547         Respect buffer-local value of tags-table-list (Bug#27772)
97549         * lisp/progmodes/etags.el (visit-tags-table-buffer): Save the current
97550         buffer around the `tags-table-including' calls so as to get buffer
97551         local variables from the right buffer later.
97552         * test/lisp/progmodes/etags-tests.el (etags-visit-tags-table-buffer):
97553         New test.
97554         * test/lisp/progmodes/etags-tests.el (etags-tests--test-dir): New
97555         constant.
97556         (etags-bug-158, etags-bug-23164): Use it so that when running the test
97557         interactively, setting EMACS_TEST_DIRECTORY is not needed.
97559 2017-08-10  Tom Tromey  <tom@tromey.com>
97561         Fix auto-filling regression
97563         Bug#28003
97564         * lisp/newcomment.el (comment-indent-new-line): Check
97565         comment-auto-fill-only-comments.  Reverts earlier change.
97566         * lisp/simple.el (internal-auto-fill): Call auto-fill-function, not
97567         do-auto-fill.
97569 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
97571         Merge from gnulib
97573         This incorporates:
97574         2017-08-09 tempname: do not depend on secure_getenv
97575         2017-08-08 extensions: add _OPENBSD_SOURCE
97576         2017-08-06 manywarnings: Add support for C++
97577         2017-08-06 warnings, manywarnings: Add support for multiple languages
97578         * admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
97579         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
97580         * lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
97581         * lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
97582         Copy from gnulib.
97584 2017-08-09  Eli Zaretskii  <eliz@gnu.org>
97586         Fix crashing emacs-module tests on MS-Windows
97588         * src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
97589         variable.
97590         (emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
97591         away, without displaying the Abort dialog, which waits for the user.
97593         * test/src/emacs-module-tests.el (module--test-assertion): Run the
97594         inferior Emacs with the w32 abort dialog disabled.  Expect the
97595         status of the aborted Emacs sub-process to be 3 on MS-Windows and
97596         2 on MS-DOS.
97598 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
97600         dired-delete-file:  Don't ask for empty dirs
97602         * lisp/dired.el (dired--yes-no-all-quit-help): New defun.
97603         (dired-delete-file): Use it.  Don't ask for empty dirs (Bug#27940).
97605         * test/lisp/dired-tests.el (dired-test-with-temp-dirs):
97606         New auxiliary macro.
97607         (dired-test-bug27940): Add new test.
97609 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
97611         Ask files for deletion in buffer order: top first, botton later
97613         * lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
97614         Call `nreverse' t invert the output of `dired-map-over-marks'.
97616 2017-08-09  Alexander Gramiak  <agrambot@gmail.com>
97618         Use help-mode xrefs in describe-font
97620         * lisp/international/mule-diag.el (describe-font): Use help-setup-xref
97621         (Bug#27890).
97623 2017-08-09  Katsumi Yamaoka  <yamaoka@jpl.org>
97625         Don't try to jump to non-existent part (bug#28013)
97627         * lisp/gnus/gnus-art.el (gnus-article-edit-part): Don't try to jump to
97628         the next part if there is the only one part in the article (bug#28013).
97630 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
97632         Replace some uses of eval
97634         There are a number of places where eval is used unnecessarily to get
97635         or set the value of a symbol.
97636         * lisp/calendar/calendar.el (diary-date-forms): Use default-value in
97637         custom setter.
97638         * lisp/desktop.el (desktop-clear): Use set-default instead.
97639         * lisp/international/ogonek.el (ogonek-read-encoding): Use
97640         symbol-value.
97642 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
97644         Convert uses of looking-at in viper-ex to following-char
97646         * lisp/emulation/viper-ex.el (viper-get-ex-token): Bind
97647         (following-char) and use it in the subsequent cond's clauses.
97648         (viper-ex, ex-quit, viper-get-ex-file): Use following-char instead.
97649         Convert single branch ifs to when
97651 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
97653         Some cleanup in message.el
97655         * lisp/gnus/message.el (message-cross-post-insert-note):
97656         (message-strip-forbidden-properties): Mark unused args.
97657         (message-canlock-generate): Remove extinct variable
97658         sha1-maximum-internal-length.
97659         (message-make-mail-followup-to): Use loop's thereis clause.
97661 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
97663         Document make-temp-name magic limitations
97665         * doc/lispref/files.texi (Unique File Names):
97666         * src/fileio.c (Fmake_temp_name): Document that make-temp-name
97667         does not guarantee uniqueness on magic file names.
97669 2017-08-08  Tom Tromey  <tom@tromey.com>
97671         Show number of errors in compilation-mode mode-line
97673         Bug#25354
97674         * lisp/progmodes/compile.el (compilation-num-errors-found): Provide
97675         default value.
97676         (compilation-num-warnings-found, compilation-num-infos-found): New
97677         defvars.
97678         (compilation-mode-line-errors): New defconst.
97679         (compilation-face): Remove.
97680         (compilation-type, compilation--note-type): New functions.
97681         (compilation-parse-errors): Call compilation--note-type.
97682         (compilation-start): Include compilation-mode-line-errors in
97683         mode-line-process.
97684         (compilation-setup): Initialize compilation-num-* variables to 0.
97685         (compilation-handle-exit): Include compilation-mode-line-errors in
97686         mode-line-process.
97687         * doc/emacs/building.texi (Compilation): Document new feature.
97689 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
97691         Do some cleanup in mailcap.el
97693         * lisp/net/mailcap.el: Use lexical-binding.
97694         (mailcap--set-user-mime-data, mailcap-possible-viewers): Use pcase
97695         destructuring.
97696         (mailcap-mime-data): Remove some entries for ancient functions.
97697         (mailcap-parse-mailcaps, mailcap-mime-info): Nix single-branch ifs.
97698         (mailcap-parse-mimetype-file): Just use append.
97699         (mailcap-command-p): Remove unused function.
97701 2017-08-08  Tino Calancha  <tino.calancha@gmail.com>
97703         query-replace: Undo replacements performed with 'comma
97705         During a `query-replace', the char ',' replaces the character
97706         at point and doesn't move point;  right after, the char 'u'
97707         must undo such replacement (Bug#27268).
97708         * lisp/replace.el (replace--push-stack):
97709         New macro extracted from `perform-replace'.
97710         (perform-replace): Use it.
97711         * test/lisp/replace-tests.el (query-replace--undo): Add test.
97713 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
97715         Don't define gv expanders in compiler's runtime (Bug#27016)
97717         This prevents definitions being compiled from leaking into the current
97718         Emacs doing the compilation.
97719         * lisp/emacs-lisp/gv.el (gv-define-expander): Use function-put instead
97720         of `put' with `eval-and-compile'.
97721         * test/lisp/emacs-lisp/gv-tests.el: New tests.
97723 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
97725         Let the cl-typep effects of defclass work during compilation (Bug#27718)
97727         * lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop'
97728         instead of `put'.
97729         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
97730         (eieio-tests--dummy-function): Remove.
97731         (eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't
97732         expect to fail if compiled.
97734 2017-08-08  Stefan Monnier  <monnier@IRO.UMontreal.CA>
97735             Noam Postavsky  <npostavs@gmail.com>
97737         Let `define-symbol-prop' take effect during compilation
97739         * src/fns.c (syms_of_fns): New variable `overriding-plist-environment'.
97740         (Fget): Consult it.
97741         * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): Let-bind
97742         it to nil.
97743         (byte-compile-define-symbol-prop): New function, handles compilation
97744         of top-level `define-symbol-prop' and `function-put' calls by putting
97745         the symbol setting into `overriding-plist-environment'.
97747 2017-08-08  Gemini Lasswell  <gazally@runbox.com>
97749         Add a test of handling of circular values to testcover-tests
97751         * test/lisp/emacs-lisp-testcover-resources/testcases.el
97752         (testcover-testcase-cyc1): New function.
97753         (testcover-tests-circular-lists-bug-24402): New test.
97755 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
97757         Don't error on circular values in testcover
97759         * lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value):
97760         Consider circular lists to be non-equal instead of signaling error.
97762 2017-08-08  Alexander Gramiak  <agrambot@gmail.com>
97764         Catch argument and macroexpansion errors in ert
97766         This kludge catches errors caused by evaluating arguments in ert's
97767         should, should-not, and should-error macros; it also catches
97768         macroexpansion errors inside of the above macros (Bug#24402).
97770         * lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
97771         (ert--expand-should-1): Catch macroexpansion errors.
97772         * test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
97773         (ert-test-should-error-macroexpansion): Tests for argument and
97774         expansion errors.
97776 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
97778         Revert "Add Enchant support to ispell.el (Bug#17742)"
97780         This reverts commit 7136e6723d87b51ae3089f5ceef6b14621bfaf87.
97782 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
97784         Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"
97786         This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.
97788 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
97790         Add support for arguments in ALTERNATE_EDITOR to emacsclient
97792         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
97793         corresponding command-line argument, into space-separated tokens.
97794         * etc/NEWS: Document.
97795         * test/lib-src/emacsclient-tests.el: Add a test.
97797 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
97799         Add Enchant support to ispell.el (Bug#17742)
97801         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
97802         (ispell-really-enchant): Add variable.
97803         (ispell-check-version): If using Enchant, check it’s new enough (at
97804         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
97805         without.)
97806         (ispell-enchant-dictionary-alist): Add variable.
97807         (ispell-find-enchant-dictionaries): Add function, based on
97808         ispell-find-aspell-dictionaries.
97809         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
97810         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
97811         old ispell name to locale mapping code for Enchant too.
97812         (ispell-send-replacement): Make it work with Enchant.
97814 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
97816         Allow async command output buffer to be shown only on output
97818         * lisp/simple.el (async-shell-command-display-buffer): Add
97819         defcustom.
97820         (shell-command): Use the new defcustom to determine whether to show
97821         the buffer immediately, or add a process filter that shows it only
97822         when there is some output.
97823         * etc/NEWS: Document the new variable.
97824         * doc/emacs/misc.texi: Likewise.
97826         Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.
97828 2017-08-07  Eli Zaretskii  <eliz@gnu.org>
97830         Fix infinite recursion under prettify-symbols-mode and linum-mode
97832         * src/xdisp.c (get_overlay_strings_1)
97833         (handle_single_display_spec, push_prefix_prop): Invalidate the
97834         composition information before starting to iterate on a string.
97835         Otherwise we might think in set_iterator_to_next that we are
97836         delivering characters from a composition, and do all kinds of
97837         nonsensical things, like over-step the string end.  (Bug#27761)
97839 2017-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
97841         * lisp/gnus/gnus-bcklg.el (gnus-backlog-request-article): Fix thinko.
97843 2017-08-07  Martin Rudalics  <rudalics@gmx.at>
97845         Fix doc-string of `delete-other-windows'
97847         * lisp/window.el (delete-other-windows): Fix doc-string.
97849 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
97851         Fix a couple more make-temp-file races
97853         * lisp/files.el (basic-save-buffer-2, move-file-to-trash):
97854         Use make-temp-name, not make-temp-file with retry.
97855         (basic-save-buffer-2): Use condition-case, instead of
97856         unwind-protect with a success flag.
97858 2017-08-07  Noam Postavsky  <npostavs@gmail.com>
97860         Merge null and without-null regexp alists (Bug#27840, Bug#27873)
97862         * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
97863         characters following filename in grep context lines.
97864         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
97865         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
97866         (grep-regexp-alist): Recombine their contents here.
97867         (grep-mode):
97868         * lisp/cedet/semantic/symref/grep.el
97869         (semantic-symref-parse-tool-output-one-line):
97870         * lisp/progmodes/xref.el (xref-collect-matches): Use the variable
97871         `grep-regexp-alist' rather than the function.
97873 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
97875         Fix some crashes on self-modifying Elisp code
97877         Prompted by a problem report by Alex in:
97878         https://lists.gnu.org/r/emacs-devel/2017-08/msg00143.html
97879         * src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
97880         Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
97881         it is likely to run a bit faster with typical hardware caches.
97882         (Fif): Use Fcdr instead of XCDR, to avoid crashing on
97883         self-modifying S-expressions.
97884         (Fsetq, Flet, eval_sub): Count the number of arguments as we go
97885         instead of trusting an Flength prepass, to avoid problems when the
97886         code is self-modifying.
97887         (Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
97888         where either will do.  This is mostly to document the fact that
97889         the value must be a proper list.  It's also a tiny bit faster on
97890         typical machines nowadays.
97891         (Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
97892         (eval_sub): Check that the args are a list as opposed to some
97893         other object that has a length. This prevents e.g. (if . "string")
97894         from making Emacs dump core in some cases.
97895         * test/src/eval-tests.el (eval-tests--if-dot-string)
97896         (eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
97897         New tests.
97899 2017-08-06  Eli Zaretskii  <eliz@gnu.org>
97901         * etc/tutorials/TUTORIAL.he: Update to match recent changes to TUTORIAL.
97903 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
97905         Minor tweak in a dired test
97907         * test/lisp/dired-tests.el (dired-test-bug27968):
97908         Ensure the new header has different length than the original one.
97910 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
97912         dired-delete-file: Do not TAB complete the user answer
97914         This action might delete directories containing valuable information.
97915         Before previous commit, we prompted users with `yes-or-no-p'
97916         which doesn't TAB complete the user answer.  Let's play safe and
97917         keep requiring full answers.
97918         * lisp/dired.el (dired-delete-file): Use `read-string'
97919         instead of `completing-read' to read the user answers.
97921 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
97923         dired-do-delete: Allow to delete dirs recursively without prompts
97925         * lisp/dired.el (dired-delete-file): Accept 2 additional answers:
97926         'all', to delete all directories recursively and no prompt anymore.
97927         'quit', to cancel directory deletions (Bug#27940).
97928         Show help message when user inputs 'help'.
97929         (dired-do-flagged-delete): Bind locally dired-recursive-deletes
97930         so that we can overwrite its global value.
97931         Wrap the loop within a catch '--delete-cancel to catch when
97932         the user abort the directtry deletion.
97933         * doc/emacs/dired.texi (Dired Deletion): Update manual.
97934         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
97935         Announce this change.
97937 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
97939         Fix a couple of make-temp-file races
97941         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
97942         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
97943         Use make-temp-file, not make-temp-name, to avoid an unlikely race
97944         that could lose data.  Remove the deletion hook as quickly as
97945         possible after the file is renamed; though a race still remains
97946         here, it is smaller than before.
97948 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
97950         Dired w/ eshell-ls: Handle shell wildcards in file name
97952         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
97953         Use eshell-extended-glob (Bug#27844).
97954         * test/lisp/dired-tests.el (dired-test-bug27844): Add test.
97956 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
97958         dired-revert: save line numbers instead of positions
97960         Positions might change if the length of one dired header line
97961         changes; this happen, for instance, if we add new files.
97962         Instead, line numbers are invariant under shrinks/enlargements
97963         of the file header.
97964         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
97965         * lisp/dired.el (dired-save-positions): Save the line numbers at point.
97966         (dired-restore-positions): Use forward-line to restore the original
97967         position (Bug#27968).
97968         * test/lisp/dired-tests.el (dired-test-bug27968): Add test.
97970 2017-08-06  Tom Tromey  <tom@tromey.com>
97972         Respect comment-auto-fill-only-comments
97974         Respect comment-auto-fill-only-comments when auto-filling and a
97975         comment syntax is defined.
97977         * lisp/newcomment.el (comment-indent-new-line): Do not check
97978         comment-auto-fill-only-comments.
97979         * lisp/simple.el (internal-auto-fill): New defun.
97980         * src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
97981         auto_fill_function.
97982         (syms_of_cmds): Define Qinternal_auto_fill.
97984 2017-08-05  Richard Stallman  <rms@gnu.org>
97986         * etc/tutorials/TUTORIAL: Update.
97988 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
97990         Unify CNS11643-15 in a way that avoids segfaults
97992         * lisp/international/mule-conf.el: Redo unification of
97993         cns11643-15.  (Bug#27964)
97994         (chinese-cns11643-15): Add the missing :unify-map attribute.
97996 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
97998         Avoid segfaults while producing Punct.el
98000         * lisp/international/mule-conf.el: Undo unification of
98001         cns11643-15, as that causes segfaults during bootstrap.
98002         (Bug#27964)
98004 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
98006         Make header line in some modes be sensitive to display-line-numbers
98008         * lisp/ruler-mode.el (ruler-mode-ruler, ruler-mode-window-col):
98009         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header)
98010         (tabulated-list-print-entry): Account for the width taken by
98011         line-number display.  (Bug#27895)
98013 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
98015         Fix a bug in 'generate-new-buffer-name'
98017         * src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
98018         nil before calling string-equal, since the latter will compare
98019         "nil and 'nil' as equal.  (Bug#27966)
98021         * test/src/buffer-tests.el
98022         (test-generate-new-buffer-name-bug27966): New test.
98024 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
98026         Unify CNS11643-15
98028         * lisp/international/mule-conf.el (chinese-cns11643-15): Add a
98029         unify-charset form for it.  (Bug#27964)
98031 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
98033         Improve test of error message when Emacs cannot be suspended
98035         * lisp/term/x-win.el (x-win-suspend-error):
98036         * lisp/term/ns-win.el (ns-suspend-error): Improve the error
98037         message.  (Bug#27901)
98039 2017-08-05  Alexander Gramiak  <agrambot@gmail.com>
98041         Make "C-h o" show faces as well as variables
98043         * lisp/faces.el (describe-face): Return (buffer-string).  Reorder
98044         the placement of variables/faces in describe-symbol, to put more
98045         emphasis on the variable entry rather than the face.  (Bug#24543)
98047 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
98049         Fix files-tests.el for MS-Windows
98051         * test/lisp/files-tests.el
98052         (files-tests--file-name-non-special--subprocess): Fix this test
98053         for MS-Windows.
98055 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
98057         Improve documentation of 'region-extract-function'
98059         * lisp/simple.el (region-extract-function): Rename the argument to
98060         METHOD.  Doc fix.  (Bug#27927)
98062 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
98064         Merge from gnulib
98066         This incorporates:
98067         2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
98068         2017-08-01 manywarnings: port to 32-bit GCC bug
98069         * lib/gnulib.mk.in: Regenerate.
98070         * m4/manywarnings.m4: Copy from gnulib.
98072 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
98074         Port recent rename changes to Ubuntu 14.04
98076         * src/sysdep.c (renameat_noreplace) [!RENAME_NOREPLACE]:
98077         Don’t use syscall.  Problem reported by Tino Calancha (Bug#27946#10).
98079 2017-08-05  Tino Calancha  <tino.calancha@gmail.com>
98081         insert-directory-wildcard-in-dir-p: Tweak regexp
98083         This function must return non-nil for a wildcard like '/*/*.txt'.
98084         * lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
98085         * test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
98086         Add test.
98088 2017-08-04  Toby S. Cubitt  <tsc25@cantab.net>
98090         Implement iterator generator for avl-trees.
98092         * lisp/emacs-lisp/avl-tree.el (avl-tree-iter): New iter-defun.
98094 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
98096         ls-lisp: Drop eshell dependencies
98098         Use 'file-expand-wildcards' instead of 'eshell-extended-glob' to
98099         expand the wildcards.
98100         Suggested by Fabrice Popineau in:
98101         https://lists.gnu.org/r/emacs-devel/2017-08/msg00108.html
98102         * lisp/ls-lisp.el (ls-lisp--dired): Use file-expand-wildcards.
98104 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
98106         Fix dired-test-bug27631 on MS-Windows
98108         Skip the test if Dired use 'ls' emulation with lisp.  The same
98109         bug is tested in their respective test suites: ls-lisp-tests.el
98110         and em-ls-tests.el.
98111         * test/lisp/dired-tests.el (dired-test-bug27631): Skip test if 'ls-lisp'
98112         or 'eshell' features are enabled.
98114 2017-08-04  Eli Zaretskii  <eliz@gnu.org>
98116         Fix dired-test-bug25609 on MS-Windows
98118         * test/lisp/dired-tests.el (dired-test-bug25609): On MS-Windows,
98119         pass temporary files through file-truename, to avoid bogus
98120         failures due to file-name comparison as strings.
98122 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
98124         Fix 2 tests that fail in MS-Windows
98126         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
98127         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
98128         Add comments to explain the test logic.
98129         Pass '--binary' option to 'patch' program in windows environments.
98130         Check explicitly that a backup is created before compare file contents.
98132         * test/lisp/dired-tests.el (dired-test-bug25609):
98133         Declare variable 'dired-dwim-target' right before the test.
98134         Add comments to explain the test logic.
98135         Ensure, before test the bug condition, that we are displaying the
98136         2 dired buffers created in this test, and no other dired buffer
98137         is shown.
98139 2017-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
98141         * lisp/shell.el (explicit-shell-file-name): Mention shell-file-name
98143         * lisp/files.el (insert-directory): Don't hardcode "-c".
98144         * lisp/term.el (term, ansi-term): Use shell-file-name.
98146 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
98148         Fix version numbers for some GnuTLS features
98150         Problem reported by Glenn Morris (Bug#27708#58).
98151         * src/gnutls.c (HAVE_GNUTLS_X509_SYSTEM_TRUST):
98152         New macro.  Use it instead of low-level version number checks.
98153         (HAVE_GNUTLS_AEAD): Move here from gnutls.h, and rename from
98154         HAVE_GNUTLS3_AEAD.  All uses changed.  Indent preprocessor lines.
98155         * src/gnutls.h (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST)
98156         (HAVE_GNUTLS3_HMAC): Remove, since these were available
98157         before GnuTLS 3.0.0 and the code checks them only if HAVE_GNUTLS3
98158         is defined.  Remove all uses; this simplifies the code a bit.
98160 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
98162         Port recent rename changes to RHEL 7 + NFS
98164         Problem reported by Ted Zlatanov in:
98165         https://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
98166         * src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
98167         with errno == EINVAL when it is not supported.  So treat that case
98168         like errno == ENOSYS.  Also, when ok_if_already_exists is neither
98169         nil nor an integer, just call plain rename; this avoids an extra
98170         syscall to renameat2 when the latter fails with errno == EINVAL or
98171         ENOSYS or ENOENT.
98173 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
98175         Port GnuTLS usage to Ubuntu 16.04.2 LTS
98177         * src/gnutls.h (HAVE_GNUTLS3_AEAD): Define only if GnuTLS 3.5.1 or
98178         later, as opposed to the old 3.4.0 or later.
98180 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
98182         Simplify configuration of HAVE_GNUTLS3 etc.
98184         There's only one GnuTLS, so configuring these symbols at
98185         'configure' time is overkill.  Simplify things by moving their
98186         configuration to src/gnutls.h (Bug#27708).
98187         * configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
98188         (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
98189         from here ...
98190         * src/gnutls.h: ... to here, and simplify.
98192 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
98194         Default to --with-mailutils if it is installed
98196         * configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
98197         is installed.  See:
98198         https://lists.gnu.org/r/emacs-devel/2017-08/msg00054.html
98200 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
98202         Clarify when autogen.sh should run only autoconf
98204         * Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
98205         not plain ‘./autogen.sh’, to make it clear that only
98206         autoconf-related tools should be run here.
98208 2017-08-02  Toon Claes  <toon@iotcl.com>
98210         .gitlab-ci.yml: Use stretch Debian image instead of unstable
98212 2017-08-02  Stephen Berman  <stephen.berman@gmx.net>
98214         Add debugging messages to a Dired test
98216         * test/lisp/dired-tests.el (dired-test-bug27243-01): Log
98217         positions saved and restored by dired-revert to try and find
98218         out why the test fails on Hydra.
98220 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
98222         ls-lisp: Autoload call instead of cookie
98224         * lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.
98226 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
98228         When renaming a file, ask only if EEXIST or ENOSYS
98230         * src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
98231         more than once on FILE.  Use renameat_noreplace, so that we can
98232         ask the user (and unlink and retry) only if this fails with errno
98233         == EEXIST or ENOSYS.  This avoids the need to ask the user for
98234         permission to do an operation that will fail anyway.  Simplify
98235         computation of ok_if_already_exists for subsidiary functions.
98236         * src/filelock.c (rename_lock_file): Prefer renameat_noreplace
98237         if it works, as this avoids the need to link and unlink.
98238         * src/lisp.h (renameat_noreplace): New decl.
98239         * src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
98240         (renameat_noreplace): New function.
98242 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
98244         When creating a link, ask only if EEXIST
98246         * src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
98247         Ask the user (and unlink and retry) only if link creation fails
98248         with errno == EEXIST.  This avoids the need to ask the user for
98249         permission to do an operation that will fail anyway.
98251 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
98253         dired-align-file: Inherit text properties in inserted spaces
98255         * lisp/dired.el (dired-align-file): Inherit text
98256         properties in inserted spaces (Bug#27899).
98257         * test/lisp/dired-tests.el (dired-test-bug27899): Add test.
98259 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
98261         Don't assume /bin/sh as the 'sh' location in the local host
98263         * lisp/dired.el (dired-insert-directory): Use executable-find in
98264         a local host.
98266 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
98268         Move dired tests using ls emulation to different files
98270         Suggested in:
98271         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
98272         * test/lisp/dired-tests.el (dired-test-bug27693)
98273         (dired-test-bug27762, dired-test-bug27817)
98274         (dired-test-bug27631, dired-test-bug27843): Delete those
98275         parts requiring either ls-lisp or eshell-ls.
98277         * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
98278         (ls-lisp-test-bug27631, ls-lisp-test-bug27693):
98279         Add all dired tests using ls-lisp here.
98281         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
98282         (em-ls-test-bug27817, em-ls-test-bug27843): New test file.  Add
98283         all dired tests using eshell-ls here.
98285 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
98287         * test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el
98289 2017-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>
98291         * lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
98292         Say the handle is already decoded.
98293         cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.
98295 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
98297         Don’t worry about unlink if errno == ENOENT
98299         * src/fileio.c (Fdelete_file):
98300         * src/keyboard.c (Fopen_dribble_file): Do not report failure to
98301         remove a file if unlink fails with errno == ENOENT.  This can
98302         happen even if Emacs is the only program removing the file, in
98303         case an NFS cache overflows.  The file does not exist if errno ==
98304         ENOENT, so it is OK to proceed.
98306 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
98308         Fix misalignment in Dired when dired-directory is a cons
98310         * lisp/dired.el (dired--need-align-p, dired--align-all-files):
98311         New defuns.
98312         (dired-internal-noselect): Call dired--align-all-files when
98313         dired-directory is a cons (Bug#27762).
98314         * test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.
98316 2017-08-01  Eli Zaretskii  <eliz@gnu.org>
98318         Fix some dired-tests.el on MS-Windows
98320         * test/lisp/dired-tests.el (dired-test-bug27243-01)
98321         (dired-test-bug27243-02): On MS-Windows, pass test-dir through
98322         file-truename, to avoid bogus failures due to file-name comparison
98323         as strings.
98325 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
98327         Insert subdir content if dir-or-list is a string w/o wildcards
98329         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
98330         Append '("-d") into 'eshell-ls-dired-initial-args'
98331         if 'dired-directory' is a cons or there are wildcars (Bug#27843).
98332         * test/lisp/dired-tests.el (dired-test-bug27843): Add test.
98334 2017-08-01  Stephen Berman  <stephen.berman@gmx.net>
98336         Update todo-mode defcustoms in a less hideous way
98338         * lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
98339         (todo-reevaluate-default-file-defcustom)
98340         (todo-reevaluate-category-completions-files-defcustom)
98341         (todo-reevaluate-filter-files-defcustom): Delete these functions.
98342         (todo-update-filelist-defcustoms): New function.  This replaces
98343         todo-reevaluate-filelist-defcustoms, using the 'custom-type'
98344         property instead of re-evaluating the defcustoms.
98345         (todo-add-file, todo-rename-file, todo-delete-file)
98346         (todo-delete-category, todo-move-category)
98347         (todo-convert-legacy-files, todo-check-file): Replace call of
98348         todo-reevaluate-filelist-defcustoms by
98349         todo-update-filelist-defcustoms.
98350         (todo-show, todo-category-completions): Replace call of
98351         todo-reevaluate-* function by use of 'custom-type' property.
98353 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
98355         Add more should form calls in a failing dired test
98357         Some dired tests fail intermittently in hydra.  Add few
98358         more should form calls for debugging.
98359         See:
98360         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
98361         * test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
98362         forms for debugging.
98364 2017-08-01  Michael Albinus  <michael.albinus@gmx.de>
98366         Follow SAUNA recommendations for display-line-numbers-type
98368         * lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.
98370         * lisp/menu-bar.el (display-line-numbers-type): Declare.
98372 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
98374         Avoid most stat calls when completing file names
98376         * admin/merge-gnulib (GNULIB_MODULES): Add d-type.
98377         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
98378         * m4/d-type.m4: New file, copied from gnulib.
98379         * src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
98380         [!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
98381         (dirent_type): New function.
98382         (file_name_completion): Use it, to avoid unnecessary calls to
98383         stat-like functions on GNU/Linux and other platforms with d_type.
98384         (file_name_completion_stat): Just follow the link; there is no
98385         need to try first with AT_SYMLINK_NOFOLLOW since the directory
98386         entry was already checked to exist.
98388 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
98390         dired-tests: Unload tested features after test them
98392         Some tests are for Dired with ls-lisp or eshell-ls.
98393         Requiring these features add an advice on `dired' and
98394         might affect other tests.
98395         Do not require these features at the top of the file; require
98396         then inside the tests and unload then at the end.
98397         * test/lisp/dired-tests.el (dired-test-bug27693)
98398         (dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
98399         require ls-lisp and/or eshell-ls inside the test; unload the
98400         features at the end.
98402 2017-07-31  Michael Albinus  <michael.albinus@gmx.de>
98404         Small adaptions for directory wildcards
98406         * lisp/dired.el (dired-insert-directory): Remove "--dired"
98407         when there are wildcards, and the directory is remote.
98409         * test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
98410         Adapt docstring.
98411         (tramp-test17-dired-with-wildcards): Skip for all methods but
98412         those from tamp-sh.p.
98414 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
98416         * lisp/dired.el (dired-trivial-filenames): Use \` and \' to match
98417         string bounds.
98419 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
98421         Merge from gnulib
98423         This incorporates:
98424         2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
98425         * lib/tempname.c: Copy from gnulib.
98427 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
98429         ls-lisp: Do not require em-glob at top of the file
98431         Require em-glob inside 'ls-lisp--dired'.  This is necessary to
98432         not break the Emacs build.
98433         See following thread for details:
98434         https://lists.gnu.org/r/emacs-devel/2017-07/msg01083.html
98435         * lisp/ls-lisp.el (dired-goto-next-file)
98436         (dired-read-dir-and-switches, eshell-extended-glob):
98437         Add function declarations.
98438         * lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.
98440 2017-07-30  Michael Albinus  <michael.albinus@gmx.de>
98442         * lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.
98444         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.
98446 2017-07-30  Simen Heggestøyl  <simenheg@gmail.com>
98448         Change default CSS property face
98450         * lisp/textmodes/css-mode.el (css-property): Inherit from
98451         `font-lock-keyword-face' instead of `font-lock-variable-name-face' to
98452         distinguish CSS properties from variables.
98454 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
98456         Dired: Handle posix wildcards in directory part
98458         Allow Dired to handle calls like
98459         \(dired \"~/foo/*/*.el\"), that is, with wildcards within
98460         the directory part of the file argument (Bug#27631).
98461         * lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
98462         (insert-directory-clean): New defun extracted from insert-directory.
98463         (insert-directory)
98464         * lisp/dired.el (dired-internal-noselect)
98465         (dired-insert-directory): Use the new predicate; when it's true,
98466         handle the directory wildcards with a shell call.
98467         * lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
98468         (eshell-ls-unload-hook): New defun.  Use it in
98469         eshell-ls-unload-hook instead of an anonymous function.
98470         (eshell-ls--dired)
98471         * lisp/ls-lisp.el (ls-lisp--dired):
98472         Advice dired to handle wildcards in the directory part with both
98473         eshell-ls and ls-lisp.
98474         * etc/NEWS: Announce it.
98475         * doc/emacs/dired.texi (Dired Enter): Update manual.
98476         * test/lisp/dired-tests.el (dired-test-bug27631): Add test.
98478 2017-07-29  Tino Calancha  <tino.calancha@gmail.com>
98480         * lisp/find-lisp.el: Enable lexical binding
98482         * lisp/find-dired.el: Enable lexical binding
98484 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
98486         * lisp/kmacro.el: Use lexical binding.
98488 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
98490         Use lexical-binding in dired-aux.el
98492         * lisp/dired.el: Use lexical binding.
98493         (dired-do-shell-command): Remove unused bindings.
98495 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
98497         * lisp/ido.el: Use lexical binding.
98499         * lisp/whitespace.el: Use lexical binding.
98501 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
98503         artist.el: Avoid error with keyboard command invocation
98505         * lisp/textmodes/artist.el (artist-mouse-choose-operation):
98506         Call x-popup-menu with t instead of last-nonmenu-event as the
98507         value of the position argument; this allows invoking the
98508         command from the keyboard without raising an error (bug#27819).
98510 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
98512         Preserve point under 'dired-auto-revert-buffer' (third case)
98514         * lisp/files.el (find-file): Use pop-to-buffer-same-window
98515         instead of switch-to-buffer.  This preserves Dired window
98516         point when dired-auto-revert-buffer is non-nil.  (Bug#27243)
98518         * test/lisp/dired-tests.el (dired-test-bug27243-01)
98519         (dired-test-bug27243-02, dired-test-bug27243-03): New tests.
98520         The first two replace a previous test that combined them; that
98521         test intermittently fails in the Hydra build system, so maybe
98522         separating the two cases will help locate the point of
98523         failure.  The third test involves find-file but is here
98524         because it, like the others, is testing the effect of
98525         dired-auto-revert-buffer.
98527 2017-07-29  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
98529         Do not unset user key remaps in dired-x
98531         * lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
98532         sets dired-x-hands-off-my-keys.  (Bug#27828)
98534 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
98536         Improve documentation of 'occur'
98538         * doc/emacs/search.texi (Other Repeating Search):
98539         * lisp/replace.el (occur): Make the documentation of 'occur' be
98540         more accurate when matches overlap.  (Bug#27818)
98542 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
98544         Minor copyedits of comments in faces.el
98546         * lisp/faces.el (face-font-family-alternatives): More info about
98547         requirements from "Monospace Serif".
98549 2017-07-29  Paul Eggert  <eggert@cs.ucla.edu>
98551         Do not worry about paxctl on newer NetBSD
98553         Problem reported privately by Thomas Klausner.
98554         * configure.ac (emacs_uname_r): New var.  Use it to avoid paxctl
98555         on newer NetBSD platforms, where it is not needed.  Also use it to
98556         simplify Cygwin diagnostic.
98558 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
98560         Clarify documentation of ':inherit' face attribute
98562         * doc/lispref/display.texi (Face Attributes): Document the special
98563         treatment of 'unspecified' in the ':inherit' attribute.
98565 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
98567         * lisp/password-cache.el (password-data): Use a hash-table
98569         * lisp/auth-source.el (auth-source-magic): Remove.
98570         (auth-source-forget+, auth-source-forget-all-cached): Adjust to new
98571         format of password-data.
98572         (auth-source-format-cache-entry): Just use a cons.
98574         (password-cache-remove, password-cache-add, password-reset)
98575         (password-read-from-cache, password-in-cache-p): Adjust accordingly.
98577         (Bug#26699)
98579 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
98581         * lisp/subr.el (define-symbol-prop): New function
98583         (symbol-file): Make it find symbol property definitions.
98585         * lisp/emacs-lisp/pcase.el (pcase-defmacro):
98586         * lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
98587         (ert-describe-test): Adjust call to symbol-file accordingly.
98589 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
98591         * lisp/subr.el (method-files): Move function to cl-generic.el
98593         * lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
98594         (cl--generic-method-files): New function, moved from subr.el.
98595         * lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
98596         * test/lisp/emacs-lisp/cl-generic-tests.el:
98597         * test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
98599 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
98601         Preserve this-command-keys across recursive-edit invocations
98603         * src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
98604         restore this-command-keys, to preserve it across recursive-edit.
98605         (Bug#27470)
98607 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
98609         Improve doc string of 'locate-dominating-file'
98611         * lisp/files.el (locate-dominating-file): Doc fix.  (Bug#27798)
98613 2017-07-28  Drew Adams  <drew.adams@oracle.com>
98615         New commands 'apropos-local-variable', 'apropos-local-value'
98617         * lisp/apropos.el (apropos-local-variable, apropos-local-value):
98618         New functions.  (Bug#27424)
98620         * doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
98621         and 'apropos-local-value'.
98622         * etc/NEWS: Mention the new commands.
98624 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
98626         * lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code
98628         * lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.
98630 2017-07-27  Alan Mackenzie  <acm@muc.de>
98632         Fix C++ class initializers not always being fontified at mode start.
98634         The problem here happened when an "outer list" of declarations moved beyond an
98635         "inner list" containing class initializers.  These weren't being checked for
98636         by the code.
98638         Also, fix places in c-get-fontification-context where point is undefined.
98640         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
98641         not-front-decl is set, test for class initializers.  Also, anchor point in
98642         places where it is moved and is otherwise undefined.
98644 2017-07-27  Alan Mackenzie  <acm@muc.de>
98646         Fix variables in C++ "for" statement not always being fontified.
98648         The error happened when there was a comma inside template delimiters.
98650         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
98651         statements, recognize template delimiters containing "," and "&".
98653 2017-07-27  Michael Albinus  <michael.albinus@gmx.de>
98655         Add watchdog process to tramp-test36-asynchronous-requests
98657         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
98658         New defun.
98659         (tramp-test36-asynchronous-requests): Use a watchdog process,
98660         listening for SIGUSR1.
98662 2017-07-27  Alan Mackenzie  <acm@muc.de>
98664         CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk
98666         If a declarator is so cut off, extend the fontification chunk to include it.
98668         * lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
98669         (c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.
98671 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
98673         * lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases
98675         (smerge--refine-long-words): New var.
98676         (smerge--refine-chopup-region): Use it.
98678 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
98680         * lisp/url/url-cookie.el: Use lexical-binding
98682         (url-cookie-host-can-set-p): Remove unused var `last'.
98683         Use string-suffix-p.
98684         (url-cookie-list): De morgan.
98685         (url-cookie-quit): Remove.
98686         (url-cookie-mode): Inherit from special-mode.
98687         (url-cookie-mode-map): Simplify accordingly.
98689 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
98691         * lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.
98693         * lisp/ruler-mode.el (ruler-mode-ruler): Document problem.
98695 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
98697         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
98699         Record this as the function's definition site if it's the first def.
98701 2017-07-26  Glenn Morris  <rgm@gnu.org>
98703         * doc/lispref/loading.texi (When to Autoload): New section.
98705 2017-07-26  Glenn Morris  <rgm@gnu.org>
98707         Stop using unibyte buffers for ert backtraces
98709         * lisp/emacs-lisp/ert.el
98710         (ert-results-pop-to-backtrace-for-test-at-point):
98711         Set multibyte true, not false.  This copies a
98712         debugger-setup-buffer change from 2009-08-30, and stops the
98713         "Backtrace for" header line containing ^X and ^Y.
98715 2017-07-26  Dmitry Gutov  <dgutov@yandex.ru>
98717         Fix semantic-symref-parse-tool-output-one-line after 644cdd1aa0
98719         * lisp/cedet/semantic/symref/grep.el
98720         (semantic-symref-grep--line-re): Delete.
98721         (semantic-symref-parse-tool-output-one-line):
98722         Use regexp and group numbers from (grep-regexp-alist).
98724 2017-07-26  Grégoire Jadi  <daimrod@omecha.info>
98726         Fix cl-defmethod indentation
98728         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
98729         Declare (indent defun).  Fixes bug#23994.
98731 2017-07-26  Martin Rudalics  <rudalics@gmx.at>
98733         Fix two customization types in frame.el
98735         * lisp/frame.el (window-divider-default-bottom-width)
98736         (window-divider-default-right-width): Fix customization types.
98738 2017-07-26  Tino Calancha  <tino.calancha@gmail.com>
98740         Dired: Support eshell-ls from the beginning if the user wants to
98742         * lisp/dired.el (dired-insert-directory): Check for eshell-ls
98743         as well (Bug#27817).
98744         * test/lisp/dired-tests.el (dired-test-bug27817): Add test.
98746 2017-07-26  Mark Oteiza  <mvoteiza@udel.edu>
98748         * lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.
98750 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
98752         * lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):
98754         Adjust to change in cl-generic-ensure-function.
98756 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
98758         ls-lisp: Add an unload function and enable lexical binding
98760         Enable lexical binding.
98761         * lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
98762         * test/lisp/ls-lisp-tests.el (ls-lisp-unload): Add test.
98764 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
98766         register-read-with-preview: Quit if user input C-g or ESC
98768         * lisp/register.el (register-read-with-preview):
98769         Quit if user input C-g or ESC (bug#27634).
98770         * doc/emacs/regs.texi (Registers): Update manual.
98771         * test/lisp/register-tests.el (register-test-bug27634): Add test.
98773 2017-07-25  Mark Oteiza  <mvoteiza@udel.edu>
98775         Recognize MirBSD Korn shell rc file
98777         * lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
98779 2017-07-25  Glenn Morris  <rgm@gnu.org>
98781         * configure.ac: Be explicit about ImageMagick version in summary.
98783 2017-07-25  Andreas Schwab  <schwab@linux-m68k.org>
98785         Properly align global lispsym
98787         * lib-src/make-docfile.c (close_emacs_globals): Wrap struct
98788         Lisp_Symbols inside struct.
98789         * src/alloc.c (sweep_symbols): Update use of lispsym.
98790         * src/lisp.h (builtin_lisp_symbol): Likewise.
98792 2017-07-25  Paul Eggert  <eggert@cs.ucla.edu>
98794         Do not use ImageMagick 7 and later
98796         Suggested by Glenn Morris (Bug#25967#15).
98797         * configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.
98799 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
98801         * lisp/progmodes/perl-mode.el: Add support for indented here docs
98803         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
98804         Recognize the new <<~ syntax for indented here docs.
98805         (perl-syntax-propertize-special-constructs): Adjust search of the
98806         end of here docs accordingly.
98808         * test/manual/indent/perl.perl: Add test for indented here docs.
98810 2017-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
98812         (loadhist-unload-element): Move ERT and cl-generic methods
98814         * lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
98815         and ert methods here.
98816         (loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.
98818         * lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
98819         unload method for cl-defmethod.
98820         (cl-generic-ensure-function): Remove redundant `defalias'.
98822         * lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
98823         setting here...
98824         (ert-deftest): ...from here.
98825         (loadhist-unload-element): Define unload method for ert-deftest.
98827 2017-07-24  Michael Albinus  <michael.albinus@gmx.de>
98829         Fix Bug#27371
98831         * lisp/loadhist.el (loadhist-unload-element): Declare for
98832         different entry types of `load-history'.
98833         (loadhist--restore-autoload): New variable.
98834         (loadhist--unload-function): New defun.
98835         (unload-feature): Use `loadhist-unload-element'.  Recommended by
98836         Stefan Monnier.  (Bug#27371)
98838         * test/lisp/net/tramp-tests.el (tramp-test39-unload):
98839         Check, that the `tramp-file-name' structure has been unloaded.
98841 2017-07-24  Grégoire Jadi  <gjadi@omecha.info>
98843         Ensure that we parse images right in shr.el
98845         * lisp/net/shr.el (shr-image-fetched): Go back to the
98846         beginning of the buffer before trying to parse the image
98847         fetched.
98849 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
98851         Update .gitignore for Valgrind and no Automake
98853         * .gitignore: Remove .deps/ since we no longer use Automake.
98854         Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.
98856 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
98858         Merge from gnulib
98860         This incorporates:
98861         2017-07-23 Rename module 'strftime' to 'nstrftime'
98862         * admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
98863         * build-aux/config.guess: Copy from gnulib.
98864         * lib/nstrftime.c: Rename from lib/strftime.c.
98865         * m4/nstrftime.m4: Rename from m4/strftime.m4.
98866         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
98868 2017-07-23  Philipp Stephani  <phst@google.com>
98870         Add 'rx' pattern for pcase.
98872         * lisp/emacs-lisp/rx.el (rx): New pcase macro.
98873         * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
98875 2017-07-23  Mark Oteiza  <mvoteiza@udel.edu>
98877         Use a named function for global minor mode turn-on argument
98879         * lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
98880         New function.
98881         (global-display-line-numbers-mode): Use it.
98883 2017-07-23  Charles A. Roelli  <charles@aurox.ch>
98885         Enable GUI Emacs without 'make install' on macOS (Bug #27645)
98887         * nextstep/INSTALL: Correct it, and mention that Emacs can be run
98888         from 'src/emacs'.
98890         * src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
98891         launched outside of a macOS application bundle, change its
98892         activation policy from the default 'prohibited' to 'regular'.
98894 2017-07-23  Alan Mackenzie  <acm@muc.de>
98896         Convert CC Mode's c-found-types from an obarray to a hash table.
98898         * lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
98899         rather than an obarray.
98900         (c-copy-found-types): Remove.
98901         (c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
98902         the new hash table.
98903         (c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
98905 2017-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
98907         Fix image/svg+xml display in shr
98909         * lisp/net/shr.el (shr-put-image): Display svg images as svg
98910         (bug#27799).  I suspect the previous change was checked in by
98911         accident in conjunction with some other svg changes.
98913 2017-07-23  Michael Albinus  <michael.albinus@gmx.de>
98915         * lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.
98917 2017-07-23  Glenn Morris  <rgm@gnu.org>
98919         Don't automatically enable Gconf if Gsettings was found
98921         * configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
98922         Don't test for Gconf unless specifically requested.
98923         Gconf was deprecated in favor of Gsettings several years ago.
98925 2017-07-23  Glenn Morris  <rgm@gnu.org>
98927         * configure.ac (MODULES_SUFFIX): Always give it a value.
98929         This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".
98931 2017-07-23  Glenn Morris  <rgm@gnu.org>
98933         * doc/emacs/frames.texi (Fonts): Mention Gsettings.
98935 2017-07-22  Michael Albinus  <michael.albinus@gmx.de>
98937         Add line numbers display to the Options menu
98939         * lisp/menu-bar.el (toggle-display-line-numbers): Remove.
98940         (menu-bar-display-line-numbers-mode): New defun.
98941         (menu-bar-showhide-line-numbers-menu): New defvar.
98942         (menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
98944 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
98946         Signal error for symbol names with strange quotes (Bug#2967)
98948         * src/lread.c (read1): Signal an error when a symbol starts with a
98949         non-escaped quote-like character.
98950         * test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
98951         test.
98952         * etc/NEWS: Announce change.
98954 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
98956         Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
98958         It turns out that this change is not needed, and it leaves several
98959         command loops settings not done.
98961         https://lists.gnu.org/r/emacs-devel/2017-07/msg00757.html
98962         https://lists.gnu.org/r/emacs-devel/2017-07/msg00840.html
98964 2017-07-22  Alexander Gramiak  <agrambot@gmail.com>
98966         Add a minor mode interface for display-line-numbers
98968         * lisp/cus-start.el: Use the new display-line-numbers group.
98969         * lisp/display-line-numbers.el: New file.
98971         * doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
98972         belong to linum-mode.
98973         * doc/emacs/modes.texi (Minor Modes): Summarize the mode.
98974         * etc/NEWS: Document display-line-numbers-mode and its customization
98975         variables, and mention that display-line-numbers-width is
98976         buffer-local.
98978         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
98979         typo.
98981 2017-07-22  vividsnow  <vividsnow@gmail.com>  (tiny change)
98983         Support indented HERE-DOCs in cperl-mode
98985         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
98986         indented here-docs.  (Bug#27254) (Bug#27697)
98988 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
98990         Document the support for "scrollBar" X resource
98992         * doc/emacs/xresources.texi (Table of Resources): Document the new
98993         'scrollBar' setting.
98994         * etc/NEWS: Document the new 'scrollBar' setting.
98996 2017-07-22  Matthew Bauer  <mjbauer95@gmail.com>  (tiny change)
98998         Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'
99000         * lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
99001         settings.
99003 2017-07-22  Alexander Kuleshov  <kuleshovmail@gmail.com>
99005         Update ld-script mode (bug#27629)
99007         * lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
99008         NOCROSSREFS_TO and HIDDEN added.  Fix documentation sections
99009         numbers for PROVIDE/PROVIDE_HIDDEN commands.
99010         (ld-script-builtins): New builtin function LOG2CEIL added.
99012 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
99014         Index 'rectangle' in the ELisp manual
99016         * doc/lispref/text.texi (Registers): Index the "rectangle" value.
99017         (Bug#27541)
99019 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
99021         * lisp/subr.el (add-to-history): Doc fix.  (Bug#27494)
99023 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
99025         Doc fixes for kmacro.el functions
99027         * lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
99028         (kmacro-end-and-call-macro): Don't use "permanent name", as that
99029         could be misinterpreted.  (Bug#27492)
99031 2017-07-22  Charles A. Roelli  <charles@aurox.ch>
99033         ElDoc: add docstrings and minor refactoring
99035         * lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
99036         docstring.
99037         (turn-on-eldoc-mode): Fix capitalization.
99038         (eldoc--supported-p): Add docstring.
99039         (eldoc-schedule-timer): Add docstring and use
99040         'eldoc--supported-p'.
99041         (eldoc-message): Add docstring and make calling convention
99042         clearer.
99043         (eldoc--message-command-p):
99044         (eldoc-pre-command-refresh-echo-area):
99045         (eldoc-display-message-p):
99046         (eldoc-display-message-no-interference-p):
99047         (eldoc-print-current-symbol-info):
99048         (eldoc-docstring-format-sym-doc):
99049         (eldoc-add-command, eldoc-add-command-completions):
99050         (eldoc-remove-command, eldoc-remove-command-completions):
99051         Add docstring.  (Bug#27230)
99053 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
99055         Mention 'C-M-i' as key binding for 'ispell-complete-word'
99057         * doc/emacs/fixit.texi (Spelling): ispell-complete-word
99058         can also be invoked by C-M-i.  (Bug#27349)
99060 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
99062         Fix the eww-search-words description in the Emacs manual
99064         * doc/emacs/search.texi (Word Search):
99065         Include the key binding for eww-search-words in the manual.
99066         Fix the spelling of the 'eww-search-words' command.
99068 2017-07-22  Andrew L. Moore  <slewsys@gmail.com>
99070         Introduce defcustom 'executable-prefix-env'
99072         * lisp/progmodes/executable.el (executable-prefix): Update the doc
99073         string.
99074         (executable-prefix-env): New defcustom.
99075         (executable-set-magic): Use executable-prefix-env.
99077         * etc/NEWS: Document the new variable.
99079 2017-07-22  Glenn Morris  <rgm@gnu.org>
99081         * test/lisp/ibuffer-tests.el: Delete temporary files.
99083 2017-07-21  Glenn Morris  <rgm@gnu.org>
99085         Further attempt to avoid hang in network-stream-tests
99087         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait):
99088         Limit the time we wait for the external process.
99090 2017-07-21  Glenn Morris  <rgm@gnu.org>
99092         Stop skipping many ibuffer tests by default
99094         * test/lisp/ibuffer-tests.el (ibuffer-0autoload):
99095         Rename so it sorts first.
99096         (ibuffer-save-filters, ibuffer-filter-inclusion-1)
99097         (ibuffer-filter-inclusion-2, ibuffer-filter-inclusion-3)
99098         (ibuffer-filter-inclusion-4, ibuffer-filter-inclusion-5)
99099         (ibuffer-filter-inclusion-6, ibuffer-filter-inclusion-7)
99100         (ibuffer-filter-inclusion-8, ibuffer-decompose-filter)
99101         (ibuffer-and-filter, ibuffer-or-filter, ibuffer-format-qualifier)
99102         (ibuffer-unary-operand): Require ibuf-ext so tests not skipped.
99104 2017-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
99106         Use lexical-binding in todo-mode.el
99108         Adjust code accordingly and make various minor improvements.
99110         * lisp/calendar/todo-mode.el: Enable lexical-binding.
99111         (dayname, monthname, day, month, year): Make forward defvars
99112         of these keywords from macros defined in calendar.el; wrap
99113         them in with-no-warnings.
99114         (todo-files, todo-files-function, todo-date-pattern)
99115         (todo-mode-line-function, todo-show, todo-forward-category)
99116         (todo-edit-item--header, todo-set-category-number)
99117         (todo-adjusted-category-label-length)
99118         (todo-total-item-counts, todo-filter-items)
99119         (todo-print-buffer-function, todo-convert-legacy-date-time)
99120         (todo-category-number, todo-category-completions)
99121         (todo-read-file-name, todo-read-category)
99122         (todo-validate-name, todo-read-date)
99123         (todo-set-show-current-file, todo-modes-set-1)
99124         (todo-modes-set-2, todo-modes-set-3, todo-mode):
99125         Use #' instead of ' to quote functions.
99126         (todo-files): Use \' instead of $ in regexp.
99127         (todo--files-type-list): New function.
99128         (todo-default-todo-file, todo-category-completions-files)
99129         (todo-filter-files, todo-multiple-filter-files)
99130         (todo-reevaluate-default-file-defcustom)
99131         (todo-reevaluate-category-completions-files-defcustom)
99132         (todo-reevaluate-filter-files-defcustom): Use it.
99133         (todo-show, todo-rename-file, todo-move-category)
99134         (todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
99135         (todo-item-undone, todo-unarchive-items, todo-search)
99136         (todo-filter-items, todo-filter-items-1, todo-find-item)
99137         (todo-category-select, todo-read-date)
99138         (todo-nondiary-marker-matcher, todo-date-string-matcher)
99139         (todo-diary-expired-matcher, todo-convert-legacy-files)
99140         (todo-read-category): Reformat to avoid code hiding behind a
99141         more deeply embedded element.
99142         (todo-forward-category, todo-set-category-number):
99143         Use 'funcall' instead of 'apply'.
99144         (todo-toggle-mark-item, todo-edit-item--diary-inclusion)
99145         (todo-edit-category-diary-inclusion)
99146         (todo-insert-sort-button, todo-insert-category-line)
99147         (todo-multiple-filter-files): Mark unused local variables.
99148         (todo-edit-item--header, todo-move-item, todo-print-buffer)
99149         (todo-edit-item--header, todo-move-item, todo-check-file)
99150         (todo-edit-item--next-key): Remove unused local variables.
99151         (todo-insert-sort-button, todo-insert-category-line):
99152         Use a closure instead of a backquoted lambda.
99153         (todo-update-categories-display, todo-print-buffer): Simplify code.
99154         (todo-print-buffer-function): Document calling convention.
99155         (todo-category-completions): Use cl-pushnew instead of add-to-list.
99156         (todo-mode-map, todo-archive-mode-map)
99157         (todo-categories-mode-map, todo-filtered-items-mode-map):
99158         Remove superfluous call of suppress-keymap, since it's already
99159         in the parent special-mode-map.
99161 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
99163         dired: Revert buffer when DIRNAME is a cons
99165         * lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
99166         is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
99167         Update the comments.
99168         * test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.
99170 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
99172         Handle when dired-directory is a cons in some Dired functions
99174         * lisp/dired-aux.el (dired-rename-subdir-1)
99175         * lisp/dired-x.el (dired-mark-omitted):
99176         Handle when dired-directory is a cons.
99178 2017-07-21  Noam Postavsky  <npostavs@gmail.com>
99180         Make eshell-next-prompt more reliable (Bug#27405)
99182         * lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
99183         `eshell-prompt-regexp' (and `read-only' text-property if
99184         `eshell-highlight-prompt' is set) rather than trying to use
99185         `forward-paragraph'.
99186         (eshell-previous-prompt): Don't count prompt on current line.
99188 2017-07-21  Paul Eggert  <eggert@cs.ucla.edu>
99190         Simplify recent gnutls.c changes
99192         * src/gnutls.c (clear_storage) [HAVE_GNUTLS3_AEAD]: Remove.
99193         All uses replaced by calls to explicit_bzero; that’s clear enough.
99194         (gnutls_symmetric_aead) [HAVE_GNUTLS3_AEAD]: Simplify by
99195         coalescing duplicate actions.  There is no need to invoke
99196         SAFE_FREE before calling ‘error’.
99198 2017-07-20  Michael Albinus  <michael.albinus@gmx.de>
99200         Stylistic changes in tramp-cache.el
99202         * lisp/net/tramp-cache.el (tramp-get-file-property)
99203         (tramp-set-file-property): Use `bound-and-true-p'.  Add
99204         counter variables to `tramp-cache-unload-hook'.
99206 2017-07-20  Glenn Morris  <rgm@gnu.org>
99208         * admin/notes/hydra: Small updates.
99210 2017-07-20  Glenn Morris  <rgm@gnu.org>
99212         Make tramp unloading handle debug counter variables
99214         * lisp/net/tramp-cache.el (tramp-get-file-property)
99215         (tramp-set-file-property): Add counter variables to tramp-unload-hook.
99217 2017-07-20  Eli Zaretskii  <eliz@gnu.org>
99219         Fix hscrolling calculations when display-line-numbers is set
99221         * src/xdisp.c (move_it_in_display_line_to): Account for line
99222         numbers in hscrolled lines.  (Bug#27756)
99224 2017-07-20  Katsumi Yamaoka  <yamaoka@jpl.org>
99226         Fix the bogus change made 13 years ago (bug#27084)
99228         * lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
99229         Fix the way to test if there is no visible header (bug#27084).
99231 2017-07-20  Noam Postavsky  <npostavs@gmail.com>
99233         Use grep's --null option (Bug#6843)
99235         * lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
99236         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
99237         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
99238         constants, replacing `grep-regexp-alist'.
99239         (grep-regex-alist): Mark the variable obsolete, add a new function of
99240         the same name to replace it.
99241         (grep-compute-defaults): Compute default for
99242         `grep-use-null-filename-separator'.
99243         (grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
99244         value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
99245         according to `grep-use-null-filename-separator'.
99246         * lisp/progmodes/xref.el (xref-collect-matches): Call
99247         `grep-regex-alist' instead of the obsolete variable.  Don't hardcode
99248         grep-regexp-alist match groups.
99249         * etc/NEWS: Announce new use of --null.  Move 'grep-save-buffers'
99250         item under "Grep" heading as well.
99252 2017-07-19  Philipp Stephani  <phst@google.com>
99254         * src/gnutls.c (clear_storage): Define only if needed.
99256 2017-07-19  Stephen Berman  <stephen.berman@gmx.net>
99258         Adjust todo-quit to recent change in dired
99260         * lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
99261         bury-buffer to exit todo-mode.  This restores the desired behavior
99262         of not immediately returning to the exited todo-mode buffer on
99263         quitting another buffer, which a dired bug fix had changed (see
99264         https://lists.gnu.org/r/emacs-devel/2017-07/msg00739.html).
99266 2017-07-19  Tino Calancha  <tino.calancha@gmail.com>
99268         Add test for bugs 7131, 27762
99270         Require 'ls-lisp' at top of the file.
99271         * test/lisp/dired-tests.el (dired-test-bug7131, dired-test-bug27762):
99272         New tests.
99273         (dired-test-bug27693): Delete Dired buffer at the end.
99275 2017-07-18  Michael Albinus  <michael.albinus@gmx.de>
99277         * admin/notes/hydra: Mention environment variable EMACS_HYDRA_CI.
99279 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
99281         * lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices
99283         This tries to make sure that (defalias F (symbol-function F)) stays a no-op.
99285 2017-07-18  Glenn Morris  <rgm@gnu.org>
99287         Use a more specific test for running on hydra.nixos.org
99289         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
99290         * test/Makefile.in (WRITE_LOG):
99291         * test/lisp/filenotify-tests.el:
99292         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
99293         (eieio-test-method-order-list-6):
99294         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
99295         (eieio-test-37-obsolete-name-in-constructor):
99296         * test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
99298 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
99300         Avoid infloop due to Eshell's "smart" redisplay
99302         * src/xdisp.c (pos_visible_p): Save and restore the window's
99303         mode-line and header-line height.  (Bug#27752)
99305 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
99307         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]'
99309 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
99311         Fix indentation when display-line-numbers is non-nil
99313         * src/xdisp.c (x_produce_glyphs): Fix a typo in deciding whether
99314         to go one more tab stop to display a TAB.  (Bug#27743)
99316 2017-07-18  Lars Ingebrigtsen  <larsi@gnus.org>
99318         Don't use gtk_widget_get_scale_factor on old GTK3 versions
99320         * src/gtkutil.c (xg_get_scale): gtk_widget_get_scale_factor is
99321         only present since GTK 3.10.
99323 2017-07-18  Noam Postavsky  <npostavs@gmail.com>
99325         Let delete-selection-mode work with popup-menu commands (Bug#27569)
99327         * lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
99328         `this-command' set to the selected command.
99330 2017-07-18  Paul Eggert  <eggert@cs.ucla.edu>
99332         Port gnutls.c to older (buggier?) GnuTLS
99334         Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
99335         https://lists.gnu.org/r/emacs-devel/2017-07/msg00716.html
99336         https://lists.gnu.org/r/emacs-devel/2017-07/msg00742.html
99337         Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
99338         perhaps hydra was using a modified GnuTLS.
99339         * src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
99340         is at the end of the list returned by gnutls_cipher_list,
99341         or that the earlier ciphers all have non-null names.
99343 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
99345         Fix relocation with named cell referred to by a one-symbol formula.
99347         * lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
99348         work also with one symbol formulas.
99350         * test/lisp/ses-tests.el
99351         (ses-tests-renaming-cell-with-one-symbol-formula): Add new
99352         test for renaming with relocating a one symbol formula.
99354 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
99356         Fix symbol completion and document it.
99358         * doc/misc/ses.texi (Configuring what printer function
99359         applies): Add description of keys for completing local printer
99360         symbols and listing local printers in a help buffer.
99361         (Formulas): Add description for key to list the named cell
99362         symbols in a help buffer.
99364         * lisp/ses.el (ses-completion-keys): New constant.
99365         (ses--completion-table): New defvar.
99366         (ses--list-orig-buffer): New defvar.
99367         (ses-mode-edit-map): Fixed for symbol completion, plus add
99368         help functions to list named cells or local printers.
99369         (ses-edit-cell-complete-symbol)
99370         (ses--edit-cell-completion-at-point-function): New defuns for
99371         completion during formula edition.
99372         (ses-edit-cell): Redefine dynamically edit keymap for
99373         completion keys to point at the right function.
99374         (ses-read-printer-complete-symbol)
99375         (ses--read-printer-completion-at-point-function): New defuns
99376         for completion during printer edition.
99377         (ses-read-printer): Redefine dynamically edit keymap for
99378         completion keys to point at the right function.
99379         (ses-list-local-printers): New defun.
99380         (ses-list-named-cells): New defun.
99382 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
99384         Move comments around
99386 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
99388         Make scaling work (?) on pre-GTK3 systems
99390         * src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
99391         (xg_get_scale): Use it on non-GTK3 systems.
99393 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
99395         Always return the GDK scale
99397         * src/gtkutil.c (xg_get_scale): Return the GDK scale always.
99399 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
99401         Remove usage of the GDK_SCALE variable
99403         * src/gtkutil.c (xg_get_gdk_scale): Remove.
99404         (xg_get_default_scrollbar_height)
99405         (xg_get_default_scrollbar_width): Pass in a frame to check for
99406         scaling.
99407         (xg_frame_set_char_size): Use the API for querying scale
99408         instead of looking at the GDK_SCALE variable.
99409         (xg_get_default_scrollbar_width): Ditto.
99410         (xg_get_default_scrollbar_height): Ditto.
99411         (xg_update_scrollbar_pos): Ditto.
99413         * src/xfns.c (x_set_scroll_bar_default_height): Pass in the
99414         frame to get the width.
99416 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
99418         Get positions of menus and tooltips right on HiDPI
99420         * src/gtkutil.c (xg_get_scale): New function.
99421         (xg_show_tooltip): Use it.
99423         * src/xmenu.c (create_and_show_popup_menu): Put menus in the
99424         right place.
99426 2017-07-17  Eli Zaretskii  <eliz@gnu.org>
99428         Allow user control on what starts and ends a paragraph for bidi
99430         * src/buffer.h (struct buffer): New members
99431         bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
99432         * src/buffer.c (bset_bidi_paragraph_start_re)
99433         (bset_bidi_paragraph_separate_re): New setters/
99434         (Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
99435         bidi-paragraph-separate-re.
99436         (init_buffer_once): Init the values of bidi-paragraph-start-re and
99437         bidi-paragraph-separate-re.
99438         (syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
99439         New per-buffer variables.
99440         * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
99441         Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
99442         (bidi_move_to_visually_next): Handle correctly the case when the
99443         separator matches an empty string.  (Bug#27526)
99445         * doc/emacs/mule.texi (Bidirectional Editing):
99446         * doc/lispref/display.texi (Bidirectional Display): Document
99447         bidi-paragraph-start-re and bidi-paragraph-separate-re.
99449         * etc/NEWS: Mention bidi-paragraph-start-re and
99450         bidi-paragraph-separate-re.
99452 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
99454         * lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring.
99456 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
99458         alist-get: Add optional arg TESTFN
99460         If TESTFN is non-nil, then it is the predicate to lookup
99461         the alist.  Otherwise, use 'eq' (Bug#27584).
99462         * lisp/subr.el (alist-get): Add optional arg FULL.
99463         * lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
99464         * lisp/emacs-lisp/gv.el (alist-get): Update expander.
99465         * doc/lispref/lists.texi (Association Lists): Update manual.
99466         * etc/NEWS: Announce the changes.
99467         * test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
99468         (test-map-elt-testfn): New tests.
99470 2017-07-17  Michael Albinus  <michael.albinus@gmx.de>
99472         Fix `tramp-test39-unload'
99474         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p)
99475         (tramp--test-instrument-test-case): Rename.  Adapt all callees.
99476         (tramp-test36-asynchronous-requests): Bind `timer-max-repeats'.
99477         (tramp-test39-unload): Expect it to pass.  Ignore buffer-local
99478         variables and autoload functions; they are not removed.  Check
99479         also for `-function(s)'.
99481 2017-07-17  Stephen Berman  <stephen.berman@gmx.net>
99483         Preserve point under 'dired-auto-revert-buffer' (second case)
99485         * lisp/dired.el (dired): Use pop-to-buffer-same-window instead
99486         of switch-to-buffer.  This preserves Dired window point when
99487         dired-auto-revert-buffer is non-nil.  (Bug#27243)
99489         * test/lisp/dired-tests.el (dired-test-bug27243): New test.
99491 2017-07-17  Martin Rudalics  <rudalics@gmx.at>
99493         Have Fgnutls_available_p return Qnil when GNUTLS is undefined
99495         * src/gnutls.c (Fgnutls_available_p): Return Qnil when GNUTLS is
99496         undefined to allow --with-gnutls=no builds to proceed.
99498 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
99500         * src/gnutls.c: Restore some comments.
99502 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
99504         Use memset, not bzero
99506         * src/ftcrfont.c (ftcrfont_glyph_extents): Use memset instead
99507         of the (less-portable) bzero.
99509 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
99511         Use explicit_bzero to clear GnuTLS keys
99513         * admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
99514         * lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
99515         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
99516         * src/gnutls.c (clear_storage): New function.
99517         (gnutls_symmetric_aead): Use it instead of memset.
99519 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
99521         Merge from gnulib
99523         This incorporates:
99524         2017-07-16 explicit_bzero: new module
99525         2017-07-15 getdtablesize: Add minimal support for OpenVMS.
99526         * lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
99527         * m4/string_h.m4:
99528         Copy from Gnulib.
99529         * lib/gnulib.mk.in: Regenerate.
99531 2017-07-17  Dieter Deyke  <dieter.deyke@gmail.com>
99533         Fix vc-src-dir-status-files
99535         * lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
99536         copy-paste from b1a765b3 (bug#27641).
99538 2017-07-16  Wilfred Hughes  <me@wilfred.me.uk>
99540         Fix mismatched parens
99542         * etc/NEWS.21: Remove excess parenthesis in code example
99544 2017-07-16  Alan Third  <alan@idiocy.org>
99546         Add missing declare-function for new function
99548         * lisp/frame.el: Add declare function for
99549         ns-mouse-absolute-pixel-position.
99551 2017-07-16  R. Bernstein  <rocky@gnu.org>
99553         Realgud for tango themes
99555 2017-07-16  Noam Postavsky  <npostavs@gmail.com>
99557         Fix test when running from test/lisp/subr-tests.elc
99559         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests): Don't
99560         assume a lambda expression will be `equal' to its quoted form.  That's
99561         not true if the lambda expression has been compiled.
99563 2017-07-15  Alan Third  <alan@idiocy.org>
99565         Fix some frame handling issues on NS
99567         * lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
99568         * src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
99569         * src/nsterm.m (x_make_frame_visible): Re-establish parent-child
99570         relationship if it's broken.
99572 2017-07-15  Tino Calancha  <tino.calancha@gmail.com>
99574         ls-lisp: Fix file size format
99576         * lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
99577         (ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
99578         * test/lisp/dired-tests.el (dired-test-bug27693): Add test.
99580 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
99582         Avoid link errors with older versions of GnuTLS
99584         * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
99585         (Fgnutls_macs, Fgnutls_digests): Conditionally compile code that
99586         calls GnuTLS functions which might be unavailable in older
99587         versions of GnuTLS.
99589 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
99591         Improve comments in faces.el
99593         * lisp/faces.el (face-font-family-alternatives): Improve
99594         commentary.
99596 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
99598         Improve some GnuTL error messages
99600         * src/gnutls.c (gnutls_symmetric_aead, gnutls_symmetric):
99601         * src/fns.c (Fsecure_hash_algorithms): Fix error messages.
99603 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
99605         Fix the Elisp manual wrt GnuTL cryptography
99607         * doc/lispref/elisp.texi (Top): Update the master menu.
99608         * doc/lispref/text.texi (GnuTLS Cryptography): Add a @menu, to
99609         avoid errors in makeinfo.
99611 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
99613         Fix compilation of gnutls.c with older GnuTLS
99615         * src/gnutls.c (syms_of_gnutls): Condition some defsubr's
99616         on HAVE_GNUTLS3, to avoid compilation errors when GnuTLS
99617         v3.X is not available.  Reported by Colin Baxter <m43cap@yandex.com>.
99619 2017-07-15  rocky  <rb@dustyfeet.com>
99621         Realgud for two more light themes
99623 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
99625         Rearrange MS-Windows code that dynamically loads GnuTLS functions
99627         * src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
99628         of functions using the same preprocessing directives as in the code.
99630 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
99632         Fix the MS-Windows build broken in gnutls.c
99634         * src/gnutls.c (Fgnutls_available_p) [WINDOWSNT]: Move the DLL
99635         loading code to after 'capabilities' has been calculated.  Remove
99636         redundant comments.
99638 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
99640         src/image.c (compute_image_size): Remove superfluous checks.
99642         * src/image.c (compute_image_size): Remove superfluous checks.
99644 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
99646         Make combinations of :width/:max-height image specs work reliably
99648         * doc/lispref/display.texi (ImageMagick Images): Document
99649         :width/:max-height combinations (etc) (bug #25583).
99651         * src/image.c (compute_image_size): Handle :width/:max-height
99652         (etc) combinations consistently (by letting "max" win and
99653         preserve ratio).
99655         * test/manual/image-size-tests.el (image-size-tests): Add
99656         tests for :width/:max-height (etc) combinations.
99658 2017-07-15  Glenn Morris  <rgm@gnu.org>
99660         Fix recent theme changes
99662         * etc/themes/manoj-dark-theme.el, etc/themes/tsdh-dark-theme.el:
99663         Fix typos in recent changes.
99665 2017-07-15  Paul Eggert  <eggert@cs.ucla.edu>
99667         GnuTLS integer-overflow and style fixes
99669         This tweaks the recently-added GnuTLS improvements so that
99670         they avoid some integer-overflow problems and follow typical
99671         Emacs style a bit better.
99672         * configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
99673         (HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
99674         configure-time results are displayed.
99675         * src/fns.c (extract_data_from_object): Return char *, not char
99676         const *, since one gnutls caller wants a non-const pointer.  Use
99677         CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
99678         instead of rolling our own code.  Prefer signed types to unsigned
99679         when either will do.  Report problems for lengths out of range,
99680         instead of silently mishandling them.
99681         * src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
99682         callers.  All callers of gnutls_sterror changed.
99683         (Fgnutls_boot): Check for integers out of range rather than
99684         silently truncating them.
99685         (gnutls_symmetric_aead): Check for integer overflow in size
99686         calculations.
99687         (gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
99688         Prefer signed to unsigned integers where either will do.
99689         (gnutls_symmetric_aead, gnutls_symmetric):
99690         Work even if ptrdiff_t is wider than ‘long’.
99691         (gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
99692         Check for integer overflow in algorithm selection.
99694 2017-07-14  Noam Postavsky  <npostavs@gmail.com>
99696         * .gitlab-ci.yml: Don't install a C++ compiler.  Suppress apt interaction.
99698 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
99700         Fix the MS-Windows build due to added GnuTLS functions
99702         * src/gnutls.c [WINDOWSNT]: Add DEF_DLL_FN for new functions.
99703         (init_gnutls_functions) [WINDOWSNT]: Add LOAD_DLL_FN for new
99704         functions.  Add #define redirections for new functions.
99705         (gnutls_symmetric_aead): Fix format specs to be more portable when
99706         printing ptrdiff_t arguments.
99707         * src/fns.c (gnutls_rnd) [WINDOWSNT]: Redirect to w32_gnutls_rnd
99708         wrapper.
99709         * src/gnutls.h [WINDOWSNT]: Add prototype for w32_gnutls_rnd.
99711         * test/lisp/net/gnutls-tests.el (gnutls-tests-tested-macs)
99712         (gnutls-tests-tested-digests, gnutls-tests-tested-ciphers): Call
99713         gnutls-available-p, otherwise GnuTLS functions might not be loaded
99714         from the DLL on MS-Windows.
99716 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
99718         * lisp/emacs-lisp/bytecomp.el: Fix bug#14860.
99720         * lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
99721         Dig into advice wrappers to find the "real" signature.
99722         (byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
99723         (byte-compile-arglist-signature): Don't bother with "new-style" arglists,
99724         since bytecode functions are now handled in byte-compile--function-signature.
99726         * lisp/files.el (create-file-buffer, insert-directory):
99727         Remove workaround introduced for (bug#14860).
99729         * lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.
99731         * lisp/help.el (help-function-arglist):
99732         Dig into advice wrappers to find the "real" signature.
99734 2017-07-14  Ted Zlatanov  <tzz@lifelogs.com>
99736         GnuTLS HMAC and symmetric cipher support
99738             * etc/NEWS: Add news for new feature.
99740             * doc/lispref/text.texi (GnuTLS Cryptography): Add
99741             documentation.
99743             * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
99744             HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.
99746             * src/fns.c (Fsecure_hash_algorithms): Add function to list
99747             supported `secure-hash' algorithms.
99748             (extract_data_from_object): Add data extraction function that
99749             can operate on buffers and strings.
99750             (secure_hash): Use it.
99751             (Fsecure_hash): Mention `secure-hash-algorithms'.
99753             * src/gnutls.h: Include gnutls/crypto.h.
99755             * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
99756             (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
99757             (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
99758             (Fgnutls_available_p): Implement GnuTLS cryptographic integration.
99760             * test/lisp/net/gnutls-tests.el: Add tests.
99762 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
99764         * lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well
99766         It's also defined in cl-extra.el.
99768 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
99770         Do not convert ij and IJ to compatibility chars
99772         * lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
99773         Problem reported by James Cloos (Bug#518#10).
99775 2017-07-14  Toon Claes  <toon@iotcl.com>
99777         Remove Turkish ligatures from Dutch input method
99779         * lisp/leim/quail/latin-alt.el: Remove Turkish ligatures (Bug#518).
99781 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
99783         Improve stack-overflow heuristic on GNU/Linux
99785         Problem reported by Steve Kemp (Bug#27585).
99786         * src/eval.c (near_C_stack_top): Remove.  All uses replaced
99787         by current_thread->stack_top.
99788         (record_in_backtrace): Set current_thread->stack_top.
99789         This is for when the Lisp interpreter calls itself.
99790         * src/lread.c (read1): Set current_thread->stack_top.
99791         This is for recursive s-expression reads.
99792         * src/print.c (print_object): Set current_thread->stack_top.
99793         This is for recursive s-expression printing.
99794         * src/thread.c (mark_one_thread): Get stack top first.
99795         * src/thread.h (struct thread_state.stack_top): Now void *, not char *.
99797 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
99799         Remove duplicate cl--random-state definition
99801         * lisp/emacs-lisp/cl-lib.el (cl--random-state): Remove.
99802         This variable is now defined in cl-extra.el (Bug#27617).
99804 2017-07-14  Michael Albinus  <michael.albinus@gmx.de>
99806         Adjust timer in tramp-test36-asynchronous-requests
99808         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
99809         Adjust timer if it takes too much time.
99811 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
99813         Always display rmail progress report under user control
99815         * lisp/mail/rmail.el (rmail-show-message-1): Delete the second
99816         copy of '(message "Showing message %d..." msg)'.  (Bug#27535)
99818 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
99820         Avoid byte-compilation warnings for advised functions
99822         * lisp/files.el (insert-directory, create-file-buffer): Add an
99823         advertised-calling-convention form to shut up byte-compilation
99824         warnings.  (Bug#14860)
99826 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
99828         Add assertion related to display-line-numbers
99830         * src/xdisp.c (maybe_produce_line_number): Add assertion for the
99831         condition regarding IT->glyph_row->used[TEXT_AREA] expected by the
99832         code.  (Bug#27668)
99834 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
99836         Prevent display corruption when display-line-numbers is set
99838         * src/xdisp.c (try_window_reusing_current_matrix): If giving up
99839         due to display-line-numbers, clear the window's desired glyph
99840         matrix before returning, as the following call to try_window will
99841         call display_line, which expects rows of the desired matrix
99842         cleared.  (Bug#27668)
99844 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
99846         Revert "Use fixed-pitch font for display-line-numbers"
99848         This reverts commit d014a5e15c1110af77e7a96f06ccd0f0cafb099f.
99849         * lisp/faces.el (line-number): Don't use a fixed-pitch font, by
99850         popular demand.  For relevant discussions, see
99852          https://lists.gnu.org/r/emacs-devel/2017-07/msg00433.html
99853          https://lists.gnu.org/r/emacs-devel/2017-07/msg00445.html
99855 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
99857         Merge from gnulib
99859         This incorporates:
99860         2017-07-13 Improve cross-compilation guesses for native Windows
99861         2017-07-11 More systematic m4 quoting and indentation
99862         2017-07-10 Make sure $host and $host_os are defined when used
99863         2017-07-03 stdioext: Port to OpenVMS
99864         2017-06-24 xalloc-oversized: port to icc
99865         * doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
99866         * lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
99867         * m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
99868         * m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
99869         Copy from Gnulib.
99871 2017-07-13  Alan Mackenzie  <acm@muc.de>
99873         C++ Mode.  Fix anomaly occurring when a ">" is deleted then reinserted.
99875         This fontification anomaly happened because after deleting the ">",
99876         c-forward-<>-arglist parses the preceding identifier as a putative type but
99877         stores it in c-found-types before it becomes clear it is not an unambiguous
99878         type.  c-forward-<>-arglist fails, leaving the spurious type id in
99879         c-found-types.  Fix this by "binding" c-found-types "to itself" in
99880         c-forward-<>-arglist, and restoring the original value when that function call
99881         fails.
99883         * lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
99884         (c-forward-<>-arglist): Record the original value of c-found-types at the
99885         beginning of the function, and restore it at the end on failure.
99887         * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
99888         accurately.
99890 2017-07-13  Vincent Belaïche  <vincentb1@users.sourceforge.net>
99892         Add tests for SES, and fix one more cell renaming bug.
99894         * lisp/ses.el (ses-relocate-all): In case of insertion, do not
99895         relocate value for named cells as they keep the same symbol.
99896         (ses-rename-cell): Set new cell name symbol to cell value --- do not
99897         rely on recalculating.  Push cells with updated data --- cell name,
99898         cell reference list, or cell formula --- to deferred write list.
99900         * test/lisp/ses-tests.el: New file, with 7 tests for SES.
99902 2017-07-12  Alan Mackenzie  <acm@muc.de>
99904         Fix some bugs in c-defun-name.  This fixes bug #25623.
99906         * lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
99907         etc.
99909 2017-07-12  Vasilij Schneidermann  <mail@vasilij.de>
99911         Make prog-mode-map the parent of c-mode-base-map.  Fixes bug #26658.
99913         * lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
99914         c-mode-base-map if possible.
99916 2017-07-12  Alan Mackenzie  <acm@muc.de>
99918         CC Mode: create and use c-set-keymap-parent.
99920         * lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.
99922         * lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
99923         set-keymap-parents.
99924         (c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.
99926 2017-07-12  Martin Rudalics  <rudalics@gmx.at>
99928         Minor tweaks of new line number display variables
99930         * src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
99931         (Vdisplay_line_number_width): Rename to
99932         Vdisplay_line_numbers_width.
99933         (maybe_produce_line_number): Comply with above rename.
99934         * lisp/cus-start.el (standard):
99935         * lisp/frame.el (top-level):
99936         * etc/NEWS: Comply with renaming of
99937         `display-line-number-width' to `display-line-numbers-width'.
99939 2017-07-12  Eli Zaretskii  <eliz@gnu.org>
99941         Avoid assertion violations in close_infile_unwind
99943         * src/lread.c (close_infile_unwind): A temporary band-aid solution
99944         for bug#27642: allow 'infile' be NULL.
99946 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
99948         Use fixed-pitch font for display-line-numbers
99950         * lisp/faces.el (line-number): Use a fixed-pitch font by default,
99951         even if the default face uses a variable-pitch font.  Reported by
99952         James Cloos <cloos@jhcloos.com>.
99954 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
99956         Improve documentation of display-line-numbers
99958         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Improve the
99959         doc string.  Suggested by Alex <agrambot@gmail.com>.
99961 2017-07-11  Nicolas Petton  <nicolas@petton.fr>
99963         Add an optional testfn parameter to assoc
99965         * src/fns.c (assoc): New optional testfn parameter used for comparison
99966         when provided.
99967         * test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
99968         'testfn' parameter.
99969         * src/buffer.c:
99970         * src/coding.c:
99971         * src/dbusbind.c:
99972         * src/font.c:
99973         * src/fontset.c:
99974         * src/gfilenotify.c:
99975         * src/image.c:
99976         * src/keymap.c:
99977         * src/process.c:
99978         * src/w32fns.c:
99979         * src/w32font.c:
99980         * src/w32notify.c:
99981         * src/w32term.c:
99982         * src/xdisp.c:
99983         * src/xfont.c: Add a third argument to Fassoc calls.
99984         * etc/NEWS:
99985         * doc/lispref/lists.texi: Document the new 'testfn' parameter.
99987 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
99989         Use `with-demoted-errors' in Tramp
99991         * lisp/net/tramp.el (tramp-with-demoted-errors): New defmacro.
99993         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Use it.
99995 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
99997         Add Quick Start Guide to Tramp manual
99999         * doc/misc/tramp.texi: Use consequently "@value{tramp}" and
100000         "MS Windows".
100001         (Quick Start Guide): New node.
100003         * doc/misc/trampver.texi:
100004         * lisp/net/trampver.el: Change version to "2.3.3-pre".
100006 2017-07-10  Glenn Morris  <rgm@gnu.org>
100008         Fix failing module tests on GNU/Linux
100010         * test/src/emacs-module-tests.el
100011         (module--test-assertions--load-non-live-object)
100012         (module--test-assertions--call-emacs-from-gc):
100013         Avoid test failures due to backtraces.
100015 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
100017         Fix core dump in substitute-object-in-subtree
100019         Without this fix, (substitute-object-in-subtree #0=(#0# 'a) 'a)
100020         would dump core, since the C code would recurse indefinitely through
100021         the infinite structure.  This patch adds an argument to the function,
100022         and renames it to lread--substitute-object-in-subtree as the function
100023         is not general-purpose and should not be relied on by outside code.
100024         See Bug#23660.
100025         * src/intervals.c (traverse_intervals_noorder): ARG is now void *,
100026         not Lisp_Object, so that callers need not cons unnecessarily.
100027         All callers changed.  Also, remove related #if-0 code that was
100028         “temporary” in the early 1990s and has not been compilable for
100029         some time.
100030         * src/lread.c (struct subst): New type, for substitution closure data.
100031         (seen_list): Remove this static var, as this info is now part of
100032         struct subst.  All uses removed.
100033         (Flread__substitute_object_in_subtree): Rename from
100034         Fsubstitute_object_in_subtree, and give it a 3rd arg so that it
100035         doesn’t dump core when called from the top level with an
100036         already-cyclic structure.  All callers changed.
100037         (SUBSTITUTE): Remove.  All callers expanded and then simplified.
100038         (substitute_object_recurse): Take a single argument SUBST rather
100039         than a pair OBJECT and PLACEHOLDER, so that its address can be
100040         passed around as part of a closure; this avoids the need for an
100041         AUTO_CONS call.  All callers changed.  If the COMPLETED component
100042         is t, treat every subobject as potentially circular.
100043         (substitute_in_interval): Take a struct subst * rather than a
100044         Lisp_Object, for the closure data.  All callers changed.
100045         * test/src/lread-tests.el (lread-lread--substitute-object-in-subtree):
100046         New test, to check that the core dump does not reoccur.
100048 2017-07-10  Philipp Stephani  <phst@google.com>
100050         Minor simplification of module_free_global_ref
100052         * src/emacs-module.c (module_free_global_ref): Remove unused variable
100053         'hashcode'.  Inline variable 'value' that's only used once.
100055 2017-07-10  Philipp Stephani  <phst@google.com>
100057         Re-add a useful assertion
100059         * src/emacs-module.c (module_free_global_ref): Re-add assertion that
100060         the reference count is zero.  This assertion was removed in commit
100061         8afaa1321f8088bfb877fe4b6676e8517adb0bb7, but it's not included in the
100062         test performed by XFASTINT before, because the previous reference
100063         count could have been zero already in the case of a buggy
100064         implementation.  This assertion might have detected Bug#27587.
100066 2017-07-10  Valentin Gatien-Baron  <vgatien-baron@janestreet.com>  (tiny change)
100068         Fix bug in module_free_global_ref (Bug#27587)
100070         * src/emacs-module.c (module_free_global_ref): Actually remove entry
100071         from hash table.
100073 2017-07-09  Philipp Stephani  <phst@google.com>
100075         Further improve electric quote support for Markdown (Bug#24709)
100077         Markdown sets both 'comment-start' and 'comment-use-syntax' to non-nil
100078         values.  Therefore 'electric-quote-mode' recognized it as a
100079         programming mode.  Fix this by first checking whether the current
100080         major mode is derived from 'text-mode'.
100082         * lisp/electric.el (electric-quote-post-self-insert-function): Treat
100083         'text-mode' as stronger signal than comment syntax.
100085         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
100086         (electric-quote-markdown-in-code): Adapt unit tests.
100088 2017-07-09  Philipp Stephani  <phst@google.com>
100090         Remove pointless code in 'electric-quote-mode'
100092         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
100093         pointless form.
100095 2017-07-09  Philipp Stephani  <phst@google.com>
100097         Refactor 'electric-quote-mode'
100099         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
100100         local variable 'start', which was misnamed and only used once.
100102 2017-07-09  Saulius Menkevičius  <saulius.menkevicius@gmail.com>  (tiny change)
100104         Avoid crashes on MS-Windows starting 64-bit .NET executables
100106         * src/w32proc.c (w32_executable_type): Don't assume that the
100107         import directory in a DLL will always be non-NULL.  (Bug#27527)
100109 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
100111         Avoid compilation warning in files.el
100113         * lisp/files.el (auto-save-visited-file-name): Avoid obsoletion
100114         warning due to its use in auto-save-visited-mode.
100116 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
100118         Improve indexing of VC-related stuff in the Emacs manual
100120         * doc/emacs/maintaining.texi (Version Control): Add a "VC" index
100121         entry.  (Bug#27627)
100123 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
100125         Speed up display of line numbers for very large buffers
100127         * src/xdisp.c (maybe_produce_line_number): Speed up line counting
100128         using values cached by mode-line display of line numbers.
100129         (Bug#27622)
100131 2017-07-09  Alexander Kuleshov  <kuleshovmail@gmail.com>
100133         Define internal_border_parts for window systems only (Bug#27615)
100135         * src/keyboard.c: (internal_border_parts): Define only
100136         when HAVE_WINDOW_SYSTEM is enabled.  (Bug#27615)
100138 2017-07-09  R. Bernstein  <rocky@gnu.org>
100140         Add realgud faces faces to whiteboard...
100142         Adjust wheatgrass to use underline for enabled/disabled breakpoints
100144 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
100146         Optimize UCS normalization tests
100148         Brings the time for `ucs-normalize-part1' from 200s down to 130s.
100149         * test/lisp/international/ucs-normalize-tests.el
100150         (ucs-normalize-tests--parse-column): Use character instead of string
100151         of length 1 for terminator.  Convert return value into string since
100152         all callers need that form anyway.
100153         (ucs-normalize-tests--normalization-equal-p): Rename from
100154         ucs-normalize-tests--normalize.  Use dedicated buffer instead of
100155         messing with narrowing.  Take string to compare against and insert it
100156         into buffer so that compare-buffer-substrings can be used instead of
100157         allocating a new string from buffer contents.
100158         (ucs-normalize-tests--normalization-chareq-p): New macro, specialized
100159         for comparing single character.
100160         (ucs-normalize-tests--rule1-holds-p)
100161         (ucs-normalize-tests--rule2-holds-p): Turn into defsubst.
100162         (ucs-normalize-tests--rule1-failing-for-partX): Use `eq' instead of
100163         `='.
100165 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
100167         Update failing lines for UCS normalize tests
100169         * test/lisp/international/ucs-normalize-tests.el
100170         (ucs-normalize-tests--failing-lines-part2): Update for new
100171         admin/unidata/NormalizationTest.txt version.
100173 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
100175         Semi-automate the procedure for updating UCS normalize test bad lines
100177         * test/lisp/international/ucs-normalize-tests.el: Remove incorrect
100178         commentary describing a manual procedure for producing the updated
100179         failing lines, it did not actually work.  Replace it with pointer to
100180         new function which prints the updated values.
100181         (ucs-normalize-tests--rule1-holds-p): Renamed from
100182         ucs-normalize-tests--invariants-hold-p.
100183         (ucs-normalize-tests--rule2-holds-p): Renamed from
100184         ucs-normalize-tests--invariants-rule2-hold-p.
100185         (ucs-normalize-tests--rule1-failing-for-partX): Renamed from
100186         ucs-normalize-tests--invariants-failing-for-part.
100187         (ucs-normalize-tests--rule1-failing-for-lines): Renamed from
100188         ucs-normalize-tests--invariants-failing-for-lines.
100189         (ucs-normalize-tests--part2-rule1-failed-lines): New variable.
100190         (ucs-normalize-part2): Set it.
100191         (ucs-normalize-part1): Always run through to end of test before
100192         checking for failures.
100193         (ucs-normalize-tests--insert-failing-lines)
100194         (ucs-normalize-check-failing-lines): New functions, used to update
100195         the *--failing-lines-part* variables.
100197 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
100199         * lisp/cus-start.el (standard): Spelling fix.
100201 2017-07-08  Philipp Stephani  <phst@google.com>
100203         Module assertions: check for garbage collections
100205         It's technically possible to write a user pointer finalizer that calls
100206         into Emacs module functions.  This would be disastrous because it
100207         would allow arbitrary Lisp code to run during garbage collection.
100208         Therefore extend the module assertions to check for this case.
100210         * src/emacs-module.c (module_assert_thread): Also check whether a
100211         garbage collection is in progress.
100213         * test/data/emacs-module/mod-test.c (invalid_finalizer)
100214         (Fmod_test_invalid_finalizer): New test module functions.
100215         (emacs_module_init): Register new test function.
100217         * test/src/emacs-module-tests.el (module--test-assertion)
100218         (module--with-temp-directory): New helper macros.
100219         (module--test-assertions--load-non-live-object): Rename existing
100220         unit test, use helper macros.
100221         (module--test-assertions--call-emacs-from-gc): New unit test.
100223 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
100225         Capitalize the menu entry for display-line-numbers
100227         * lisp/menu-bar.el (menu-bar-showhide-menu): Capitalize menu item
100228         for display-line-numbers.  Suggested by Martin Rudalics
100229         <rudalics@gmx.at>.
100231 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
100233         Update Unicode data and files to Unicode 10.0
100235         * admin/notes/unicode:
100236         * admin/unidata/README:
100237         * admin/unidata/BidiBrackets.txt:
100238         * admin/unidata/BidiMirroring.txt:
100239         * admin/unidata/Blocks.txt:
100240         * admin/unidata/IVD_Sequences.txt:
100241         * admin/unidata/NormalizationTest.txt:
100242         * admin/unidata/SpecialCasing.txt:
100243         * admin/unidata/UnicodeData.txt:
100244         * lisp/international/characters.el:
100245         * lisp/international/fontset.el (script-representative-chars):
100246         * lisp/international/mule-cmds.el (ucs-names): Update per Unicode 10.0.
100248 2017-07-08  Alexander Gramiak  <agrambot@gmail.com>
100250         Support '=' in Scheme and Lisp tags in 'etags'
100252         * lib-src/etags.c (get_lispy_tag): New function.
100253         (L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
100254         * test/manual/etags/CTAGS.good:
100255         * test/manual/etags/ETAGS.good_1:
100256         * test/manual/etags/ETAGS.good_2:
100257         * test/manual/etags/ETAGS.good_3:
100258         * test/manual/etags/ETAGS.good_4:
100259         * test/manual/etags/ETAGS.good_5:
100260         * test/manual/etags/ETAGS.good_6:
100261         * test/manual/etags/Makefile:
100262         * test/manual/etags/el-src/TAGTEST.EL: Update tests.
100263         * test/manual/etags/scm-src/test.scm: New tests for Scheme.
100265 2017-07-08  Alexander Kuleshov  <kuleshovmail@gmail.com>
100267         Avoid compiler warnings in xdisp.c debugging code
100269         * src/xdisp.c (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
100270         Use pD directives for ptrdiff_t values instead of pI, to avoid
100271         compilation warnings on 64-bit hosts.  (Bug#27597)
100273 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
100275         Commentary enhancement in frame.el
100277         * lisp/frame.el: Explain how to test whether a variable needs to
100278         be added to the list of those which are watched for buffer
100279         redisplay.
100281 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
100283         Support display of line numbers natively
100285         This merges branch 'line-numbers'.
100286         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
100287         function.
100288         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
100289         * src/dispextern.h (struct it): New members pt_lnum, lnum,
100290         lnum_bytepos, lnum_width, and lnum_pixel_width.
100291         * src/indent.c (line_number_display_width): New function,
100292         refactored from line-number width calculations in vertical-motion.
100293         (Fvertical_motion): Call line_number_display_width when the width
100294         of line-number display is needed.
100295         (Fline_number_display_width): New defun.
100296         (syms_of_indent): Defsubr it.
100297         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
100298         the width used up by line numbers by looking near the window-start
100299         point.  If window-start is outside of the accessible portion,
100300         temporarily widen the buffer.
100301         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
100302         space taken by the line-number display.
100303         * src/xdisp.c (display_count_lines_logically)
100304         (display_count_lines_visually, maybe_produce_line_number)
100305         (should_produce_line_number, row_text_area_empty): New functions.
100306         (try_window_reusing_current_matrix): Don't use this method when
100307         display-line-numbers is in effect.
100308         (try_window_id, try_cursor_movement): Disable these optimizations
100309         when the line-number-current-line face is different from
100310         line-number face and for relative line numbers.
100311         (try_window_id, redisplay_window, try_cursor_movement): For
100312         visual line-number display, disable the same redisplay
100313         optimizations as for relative.
100314         (x_produce_glyphs): Adjust tab stops for the horizontal
100315         space taken by the line-number display.
100316         (hscroll_window_tree): Adjust hscroll calculations to line-number
100317         display.
100318         (DISP_INFINITY): Renamed from INFINITY to avoid clashes with
100319         math.h; all users changed.
100320         (set_cursor_from_row): Fix calculation of cursor X coordinate in
100321         R2L rows with display-produced glyphs at the beginning.
100322         (display_line): Use should_produce_line_number to determine
100323         whether a line number should be produced for each glyph row, and
100324         maybe_produce_line_number to produce line numbers.
100325         Don't display line numbers in the minibuffer and in tooltip
100326         frames.
100327         Call row_text_area_empty to verify that a glyph
100328         row's text area is devoid of any glyphs that came from a buffer or
100329         a string.  This fixes a bug with empty-lines indication
100330         disappearing when line numbers or line-prefix are displayed.
100331         (syms_of_xdisp) <display-line-numbers, display-line-numbers-widen>
100332         <display-line-number-width>: New buffer-local variables.
100333         <display-line-numbers-current-absolute>: New variable.
100335         * lisp/cus-start.el (standard): Provide customization forms for
100336         display-line-numbers and its sub-features.
100337         * lisp/faces.el (line-number, line-number-current-line): New faces.
100338         * lisp/frame.el: Add display-line-numbers, display-line-numbers-widen,
100339         display-line-numbers-current-absolute, and
100340         display-line-number-width to the list of variables that should
100341         trigger redisplay of the current buffer.
100342         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
100343         turn display-line-numbers on and off.
100344         (toggle-display-line-numbers): New function.
100345         * lisp/simple.el (last--line-number-width): New internal variable.
100346         (line-move-visual): Use it to adjust temporary-goal-column when
100347         line-number display changes its width.
100349         * doc/emacs/basic.texi (Position Info): Add cross-reference to
100350         "Display Custom", for line-number display.
100351         * doc/emacs/custom.texi (Init Rebinding):
100352         * doc/emacs/modes.texi (Minor Modes): Remove references to
100353         linum-mode.
100354         * doc/emacs/display.texi (Display Custom): Describe the
100355         line-number display.
100356         * doc/lispref/display.texi (Size of Displayed Text): Document
100357         line-number-display-width.
100359         * etc/NEWS: Document display-line-numbers and its customizations.
100361 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
100363         Fix more ungetc bugs with encoding errors
100365         * src/lread.c (infile): New variable, replacing ...
100366         (instream): ... this.  All uses changed.
100367         (readbyte_from_stdio): New function, which deals with lookahead.
100368         (readbyte_from_file, Fget_file_char): Use it.
100369         (Fget_file_char): When misused, signal an error instead of
100370         relying on undefined behavior.
100371         (close_infile_unwind): New function.
100372         (Fload): Use it.
100373         (readevalloop): 2nd arg is now struct infile *, not FILE *.
100374         All callers changed.
100375         (read1): Handle lookahead when copying doc strings with
100376         encoding errors.
100378 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
100380         Avoid ungetc when loading charset maps from files
100382         * src/charset.c (read_hex): New args LOOKAHEAD and TERMINATOR,
100383         replacing the old EOF.  All callers changed.  This avoids the
100384         need to call ungetc.
100386 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
100388         Fix ungetc bug when reading an encoding error
100390         * src/lread.c (readchar, read_emacs_mule_char): Fix off-by-one
100391         error when reading an encoding error from a file, e.g., a symbol
100392         in an .elc file whose name is "\360\220\200\360".
100394 2017-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
100396         * lisp/wid-edit.el (widget-color--choose-action): Use a closure
100398         * lisp/window.el (display-buffer--special-action): Use a closure.
100400 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
100402         Add new todo-mode.el tests
100404         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
100405         Declare an Edebug spec.  Restore pre-test-run state of test files.
100406         (todo-test--show, todo-test--move-item)
100407         (todo-test--insert-item): New functions.
100408         (todo-test-get-archive): Remove, as subsumed by
100409         todo-test--show.  Adjust all callers.
100410         (todo-test--is-current-buffer): Rename from
100411         todo-test-is-current-buffer and adjust uses.
100412         (todo-test-item-highlighting): Use todo-test--show.
100413         (todo-test-revert-buffer01, todo-test-revert-buffer02)
100414         (todo-test-raise-lower-priority)
100415         (todo-test-todo-mark-unmark-category, todo-test-move-item01)
100416         (todo-test-move-item02, todo-test-move-item03)
100417         (todo-test-move-item04, todo-test-move-item05)
100418         (todo-test-toggle-item-header01)
100419         (todo-test-toggle-item-header02)
100420         (todo-test-toggle-item-header03)
100421         (todo-test-toggle-item-header04)
100422         (todo-test-toggle-item-header05)
100423         (todo-test-toggle-item-header06)
100424         (todo-test-toggle-item-header07): New tests.
100426         * test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
100427         * test/lisp/calendar/todo-mode-resources/todo-test-1.todo:
100428         Modify to accommodate new tests.
100430 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
100432         todo-mode.el: Fix handling of hidden item headers (bug#27609)
100434         * lisp/calendar/todo-mode.el (todo--item-headers-hidden): New variable.
100435         (todo-toggle-item-header): Use it.  Make this command a noop
100436         if the file has no items.
100437         (todo-move-item, todo-item-done): Instead of concatenating the
100438         items to move into one string, make a list of them to
100439         facilitate handling hidden headers.  Adjust insertion accordingly.
100440         (todo-archive-done-item): Handle hidden headers in archive file.
100441         (todo-unarchive-items): Handle hidden headers in todo file.
100442         (todo-backward-item): Use todo--item-headers-hidden and handle
100443         moving backward work when item date-time headers are hidden.
100444         (todo-remove-item): Delete date-time header overlay.
100445         (todo-get-overlay, todo-insert-with-overlays): Make them work
100446         with hidden date-time headers.
100447         (todo-modes-set-2): Make todo--item-headers-hidden buffer local.
100449 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
100451         Fix several todo-mode bugs found while debugging bug#27609
100453         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Calculate
100454         current category only once.
100455         (todo-mark-category): Update number of marked items to avoid
100456         spurious duplication in todo-categories-with-marks alist and
100457         corruption of the todo-categories alist.  Handle empty line
100458         when there are no todo items and done items are shown.
100459         (todo-set-item-priority): Make noop if called from
100460         todo-raise-item-priority or todo-lower-item-priority when
100461         point is on a done todo item or an empty line.
100462         (todo-move-item): Use markers instead of integer positions to
100463         correctly handle deleting the now moved items from the source
100464         category (without markers an infinite loop arises when moving
100465         marked item to a preceding category).
100466         (todo-unarchive-items): Put point on the (first) restored done
100467         item, instead of leaving it at the end of the done items
100468         separator string.
100469         (todo-revert-buffer): Ensure buffer remains read-only after
100470         reverting.
100472 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
100474         Exclude blank columns from value of line-number-display-width
100476         * src/indent.c (Fline_number_display_width): Don't add 2 to the
100477         number of columns we return, to make this consistent with
100478         display-line-number-width.
100480 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
100482         Fix vertical-motion across the place where line-number width changes
100484         * src/indent.c (line_number_display_width): New function,
100485         refactored from line-number width calculations in vertical-motion.
100486         (Fvertical_motion): Call line_number_display_width when the width
100487         of line-number display is needed.
100488         (Fline_number_display_width): New defun.
100489         (syms_of_indent): Defsubr it.
100491         * doc/lispref/display.texi (Size of Displayed Text): Document
100492         line-number-display-width.
100494         * etc/NEWS: Mention line-number-display-width.
100496         * lisp/simple.el (last--line-number-width): New internal variable.
100497         (line-move-visual): Use it to adjust temporary-goal-column when
100498         line-number display changes its width.
100500 2017-07-07  Martin Rudalics  <rudalics@gmx.at>
100502         Remove Vwindow_text_change_functions and related code
100504         Vwindow_text_change_functions had been provided for implementing
100505         line numbers but apparently was never functional or in use.
100507         * src/xdisp.c (redisplay_window): Remove handling of
100508         Vwindow_text_change_functions.
100509         (syms_of_xdisp): Remove Qwindow_text_change_functions.
100510         (Vwindow_text_change_functions): Remove variable.
100511         * doc/lispref/hooks.texi (Standard Hooks): Remove entry for
100512         `window-text-change-functions'.
100514 2017-07-07  Mark Oteiza  <mvoteiza@udel.edu>
100516         Convert more uses of looking-at to following-char
100518         More followup to Karl Fogel's commit a84da83c1.
100519         * lisp/dired-aux.el (dired-add-entry, dired-subdir-hidden-p):
100520         * lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
100521         * lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
100522         * lisp/proced.el (proced-toggle-marks):
100523         * lisp/progmodes/f90.el (f90-indent-line):
100524         * lisp/ses.el (ses-load):
100525         * lisp/tar-mode.el (tar-expunge): Replace instances of looking-at with
100526         char comparisons using following-char.
100528 2017-07-07  Noam Postavsky  <npostavs@gmail.com>
100530         Don't skip epg tests (Bug#23561)
100532         * test/lisp/epg-tests.el (with-epg-tests): Ignore REQUIRE-PASSPHRASE
100533         parameter, since we supply the passphrase via pinentry-program for all
100534         GPG versions (as of 2017-02-28 "Fix epg-tests with dummy-pinentry
100535         program (Bug#23619)").
100536         (epg-tests-program-alist-for-passphrase-callback): Remove.
100538 2017-07-06  Eli Zaretskii  <eliz@gnu.org>
100540         Implement line numbers that disregard narrowing
100542         * src/xdisp.c (display_count_lines_logically): New function,
100543         counts line numbers disregarding narrowing.  Suggested by Andy
100544         Moreton <andrewjmoreton@gmail.com>.
100545         (maybe_produce_line_number): Call display_count_lines_logically
100546         instead of display_count_lines.  Adapt BEGV, ZV, etc. to
100547         display-line-numbers-widen.
100548         (syms_of_xdisp) <display-line-numbers-widen>: New buffer-local
100549         variable.
100551         * lisp/cus-start.el (standard): Provide a customization form for
100552         display-line-numbers-widen.
100553         * lisp/frame.el: Add display-line-numbers-widen,
100554         display-line-numbers-current-absolute, and
100555         display-line-number-width to the list of variables that should
100556         trigger redisplay of the current buffer.
100558         * doc/emacs/display.texi (Display Custom): Document
100559         display-line-numbers-widen.
100561 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
100563         Fix lisp-comment-indent for single-semicolon case
100565         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
100566         open paren if we're looking at multiple comment characters.
100567         * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
100568         (lisp-comment-indent-2): New tests.
100570 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
100572         Spelling fixes
100574         * lisp/org/org-table.el (org-table-sort-lines):
100575         Fix misspelling in prompt.
100576         * lisp/org/ox-ascii.el (org-ascii--describe-datum):
100577         Fix misspelling in call to org-element-lineage.
100579 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
100581         Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)
100583         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current
100584         line's code ends in open paren, set comment indentation exactly to
100585         column following it.
100586         (lisp-mode-variables): Set `comment-indent-function' to
100587         `lisp-comment-indent'.
100589 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
100591         Allow comment-indent-functions to specify exact indentation (Bug#385)
100593         * lisp/newcomment.el (comment-choose-indent): Interpret a cons of two
100594         integers as indicating a range of acceptable indentation.
100595         (comment-indent): Don't apply `comment-inline-offset',
100596         `comment-choose-indent' already does that.
100597         (comment-indent-function):
100598         * doc/emacs/programs.texi (Options for Comments): Document new
100599         acceptable return values.
100600         * etc/NEWS: Announce it.
100602 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
100604         Check for integer overflow in xbm images
100606         * src/image.c (XBM_TK_OVERFLOW): New constant.
100607         (xbm_scan): Check for integer overflow instead of relying on
100608         undefined behavior.  Check that octal digits are actually octal.
100610 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
100612         Convert hex digits more systematically
100614         This makes the code a bit smaller and presumably faster, as
100615         it substitutes a single lookup for conditional jumps.
100616         * src/character.c (hexdigit): New constant.
100617         (syms_of_character) [HEXDIGIT_IS_CONST]: Initialize it.
100618         * src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST): New macros.
100619         (hexdigit): New decl.
100620         (char_hexdigit): New inline function.
100621         * src/charset.c: Do not include c-ctype.h.
100622         * src/charset.c (read_hex):
100623         * src/editfns.c (styled_format):
100624         * src/image.c (xbm_scan):
100625         * src/lread.c (read_escape):
100626         * src/regex.c (ISXDIGIT) [emacs]:
100627         Use char_hexdigit instead of doing it by hand.
100629 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
100631         Don’t use -Woverride-init
100633         I have some further changes in mind that would also need to
100634         disable the -Woverride-init warnings.  In practice these warnings
100635         seem to be more trouble than they’re worth, so disable them in the
100636         cc command line.
100637         * configure.ac: Disable -Woverride-init here ...
100638         * src/bytecode.c: ... rather than here.
100640 2017-07-05  Glenn Morris  <rgm@gnu.org>
100642         * lisp/progmodes/python.el (auto-mode-alist): Add .pyi.  (Bug#27847)
100644         * lisp/org/ox-html.el (org-html-infojs-template): Update copyright.
100646 2017-07-05  Glenn Morris  <rgm@gnu.org>
100648         Small fix for bug-reference.el
100650         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
100651         Autoload safety property.  (Bug#27481)
100653 2017-07-05  Michael Albinus  <michael.albinus@gmx.de>
100655         Suppress timers in Tramp
100657         * lisp/net/tramp.el (tramp-file-name-handler): Don't trigger timers.
100659         * test/lisp/net/tramp-tests.el
100660         (tramp-test36-asynchronous-requests): Trigger timers.
100661         (tramp-test37-recursive-load, tramp-test38-remote-load-path):
100662         Set `default-directory' to a trustworthy value.
100664 2017-07-05  rocky  <rb@dustyfeet.com>
100666         Add realgud face definitions
100668         Add realgud faces to tdsh-dark-theme
100670 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
100672         * lisp/progmodes/cc-awk.el: Mark unused args
100674         * lisp/progmodes/cc-bytecomp.el: Mark unused args
100676 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
100678         * lisp/progmodes/cc-defs.el (lookup-syntax-properties): Move ...
100680         ... before first use
100682 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
100684         * lisp/progmodes/cc-vars.el: Mark unused args
100686 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
100688         * lisp/progmodes/cc-langs.el: Mark unused args
100690         (c-primary-expr-regexp): Remove unused vars ambiguous-prefix-ops and
100691         unambiguous-prefix-ops.
100693 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
100695         * lisp/progmodes/cc-engine.el: Mark unused args
100697         (c-beginning-of-statement-1, c-guess-basic-syntax):
100698         Remove unused var c-in-literal-cache.
100699         (c-debug-sws-msg): Silence byte-compiler, even if we don't use the arg.
100700         (c-append-to-state-cache): Remove unused var `bra+1s'.
100701         (c-remove-stale-state-cache): Remove unused var `pps-point-state'.
100702         (c-invalidate-state-cache-1): Remove unused var `pa'.
100703         (c-forward-decl-or-cast-1): Change comments so they don't look like
100704         outline headers.
100705         (c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
100706         Declare before first use.
100707         (c-forward-decl-or-cast-1): Remove unused var `backup-kwd-sym'.
100708         (c-backward-over-enum-header): Remove unused var `up-sexp-pos'.
100710 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
100712         * lisp/progmodes/cc-cmds.el: Remove unused vars
100714         (c-syntactic-context): Declare as dynbound.
100715         (c-beginning-of-defun, c-end-of-defun): Remove unused var `start'.
100717 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
100719         * lisp/progmodes/cc-guess.el: Remove unused var
100721         (c-guess-view-reorder-offsets-alist-in-style): Remove redundantly bound
100722         and computed variable `guessed-syntactic-symbols'.
100724 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
100726         * lisp/progmodes/cc-align.el: Mark unused arguments
100728 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
100730         * lisp/progmodes/cc-mode.el: Mark unused arguments
100732         (c-parse-quotes-before-change, c-parse-quotes-after-change):
100733         Remove unused vars.
100735 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
100737         Mention `ffap-url-unwrap-local' in find-file-at-point's docstring (Bug#27564)
100739         * lisp/ffap.el (find-file-at-point): Mention `ffap-url-unwrap-local'
100740         and `ffap-url-unwrap-remote'.
100742 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
100744         Fix infloop in uncomment-region-default (Bug#27112)
100746         When `comment-continue' has only blanks, `comment-padright' produces a
100747         regexp that matches the empty string, so `uncomment-region-default'
100748         will loop infinitely.
100749         * lisp/newcomment.el (comment-padright): Only return a regexp if STR
100750         has nonblank characters.
100752 2017-07-04  Eli Zaretskii  <eliz@gnu.org>
100754         Fix display of current line number in visual mode
100756         * src/xdisp.c (maybe_produce_line_number): Fix visual-mode display
100757         of current line when line-number-current-line face was customized.
100758         Reported by Filipe Silva <filipe.silva@gmail.com>.
100760 2017-07-03  Philipp Stephani  <phst@google.com>
100762         Use hook instead of face list to inhibit electric quoting
100764         This is more flexible and doesn't couple electric quoting to font
100765         locking.
100766         Give that 'electric-quote-code-faces' was just introduced, remove it
100767         without formal deprecation.
100769         * lisp/electric.el (electric-quote-inhibit-functions): New abnormal
100770         hook variable.
100771         (electric-quote-post-self-insert-function): Run the hook.  Remove
100772         use of old 'electric-quote-code-faces' variable.
100774         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
100775         (electric-quote-markdown-in-code): Adapt unit tests.
100777 2017-07-03  Ingo Lohmar  <i.lohmar@gmail.com>
100779         Offer non-aligned indentation in lists in js-mode (Bug#27503)
100781         * lisp/progmodes/js.el (js--proper-indentation):
100782         New customization option 'js-indent-align-list-continuation'.
100783         Affects argument lists as well as arrays and object properties.
100784         * test/manual/indent/js-indent-align-list-continuation-nil.js:
100785         Test the change.
100787 2017-07-03  Eli Zaretskii  <eliz@gnu.org>
100789         Avoid errors in vertical-motion when buffer is narrowed
100791         * src/indent.c (Fvertical_motion): If need to start from
100792         window-start, and it is outside of the accessible portion,
100793         temporarily widen the buffer.  This avoids errors in evil-mode.
100794         Reported by James Nguyen <james@jojojames.com>.
100796 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
100798         (Re-)activate remote tests of filenotify-tests.el
100800         * test/lisp/filenotify-tests.el
100801         (file-notify-test-remote-temporary-file-directory):
100802         Declare default host for mock method.  Offer home directory
100803         for mock method if it doesn't exist.
100804         (file-notify-test09-watched-file-in-watched-dir-remote):
100805         Remove, it doesn't work reliably.
100807 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
100809         Reset ansi escape context before printing eshell prompt (Bug#27407)
100811         * lisp/eshell/em-prompt.el (eshell-emit-prompt): Reset
100812         `ansi-color-context-region'.
100814 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
100816         Let ansi-color overlay hooks work in eshell (Bug#27407)
100818         * lisp/ansi-color.el (ansi-color-make-extent): Add
100819         `ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
100820         * lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
100821         `inhibit-modification-hooks' to nil while inserting the string.
100823 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
100825         Fix and simplify ansi escape detection (Bug#21381)
100827         * lisp/ansi-color.el (ansi-color-regexp, ansi-color-drop-regexp):
100828         Remove.
100829         (ansi-color-control-seq-regexp): New constant, matches all escape
100830         sequences.
100831         (ansi-color-filter-apply, ansi-color-apply)
100832         (ansi-color-filter-region, ansi-color-apply-on-region): Use it instead
100833         of matching color sequences separately from ignored sequences.
100834         Differentiate color sequences simply by checking the last character.
100836 2017-07-03  Damien Cassou  <damien@cassou.me>
100838         Add absolute optional parameter to line-number-at-pos (Bug#26417)
100840         * lisp/simple.el (line-number-at-pos): Add a second optional
100841           argument 'absolute'.
100842         * test/lisp/simple-tests.el: Add tests for 'line-number-at-pos'.
100844 2017-07-03  R. Bernstein  <rocky@gnu.org>
100846         Add realgud faces
100848 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
100850         Fix tramp-tests.el for hydra
100852         * test/Makefile.in: Remove instrumentation for tramp-tests.
100854         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
100855         Remove instrumentation.  Wrap with a timeout.  Give hydra
100856         another timer value.  Set `default-directory' in timer.
100858 2017-07-03  Bastien  <bzg@gnu.org>
100860         Merge branch 'master' into scratch/org-mode-merge
100862         Merge branch 'master' into scratch/org-mode-merge
100864 2017-07-03  Tino Calancha  <tino.calancha@gmail.com>
100866         dired-do-shell-command: Fix check for wildcards
100868         * lisp/dired-aux.el (dired-do-shell-command): Replace just '?', '*'
100869         and '`?' i.e., keep the whitespaces.
100870         * test/lisp/dired-aux-tests.el (dired-test-bug27496): Add test.
100872 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
100874         Split shr-copy-url dwim behavior into separate functions (Bug#26826)
100876         * lisp/net/shr.el (shr-url-at-point, shr-probe-url)
100877         (shr-probe-and-copy-url, shr-maybe-probe-and-copy-url): New functions,
100878         split out from `shr-copy-url'.
100879         (shr-copy-url): Only copy the url, don't fetch it.
100880         (shr-map): Bind 'w' and 'u' to `shr-maybe-probe-and-copy-url', which
100881         has the same behavior as the old `shr-copy-url'.
100882         * etc/NEWS: Announce changes.
100884 2017-07-02  Alex Branham  <branham@utexas.edu>  (tiny change)
100886         Make eww-search-words prompt for query if nothing selected
100888         * lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the
100889         user for a search query if the region is inactive or if the region is
100890         just whitespace.
100892 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
100894         * lisp/emacs-lisp/cl-print.el (cl-print-compiled-button): t by default.
100896         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
100897         * lisp/help-fns.el (describe-variable): No need to let-bind
100898         `cl-print-compiled-button' to t anymore.
100900 2017-07-02  Philipp Stephani  <phst@google.com>
100902         Electric quotes: Improve support for Markdown mode (Bug#24709)
100904         Introduce a new user option 'electric-quote-context-sensitive'.  If
100905         non-nil, have ' insert an opening quote if sensible.
100907         Also introduce a new variable 'electric-quote-code-faces'.  Major
100908         modes such as 'markdown-mode' can add faces to this list to treat text
100909         as inline code and disable electric quoting.
100911         * lisp/electric.el (electric-quote-context-sensitive): New user
100912         option.
100913         (electric-quote-code-faces): New variable.
100914         (electric-quote-post-self-insert-function): Treat ' as ` if
100915         desired and applicable; disable electric quoting for given faces.
100917         * test/lisp/electric-tests.el (electric-quote-opening-single)
100918         (electric-quote-closing-single, electric-quote-opening-double)
100919         (electric-quote-closing-double)
100920         (electric-quote-context-sensitive-backtick)
100921         (electric-quote-context-sensitive-bob-single)
100922         (electric-quote-context-sensitive-bob-double)
100923         (electric-quote-context-sensitive-bol-single)
100924         (electric-quote-context-sensitive-bol-double)
100925         (electric-quote-context-sensitive-after-space-single)
100926         (electric-quote-context-sensitive-after-space-double)
100927         (electric-quote-context-sensitive-after-letter-single)
100928         (electric-quote-context-sensitive-after-letter-double)
100929         (electric-quote-context-sensitive-after-paren-single)
100930         (electric-quote-context-sensitive-after-paren-double)
100931         (electric-quote-markdown-in-text)
100932         (electric-quote-markdown-in-code): New unit tests.
100934 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
100936         * doc/misc/tramp.texi: Replace ftp:// and http:// URLs by https://.
100938 2017-07-02  Eli Zaretskii  <eliz@gnu.org>
100940         Avoid off-by-one errors in column C-n/C-p calculations
100942         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
100943         the width used up by line numbers by looking near the window-start
100944         point.
100946 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
100948         Ask confirmation for all suspicious wildcards
100950         * lisp/dired-aux.el (dired-do-shell-command): Check that all
100951         the wildcards are right.  Otherwise, ask for confirmation (Bug#27496).
100953 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
100955         Extend dired-do-shell-command substitutions
100957         Substitute "`?`" inside command with the current file name.
100958         See details in:
100959         https://lists.gnu.org/r/emacs-devel/2017-06/msg00618.html
100960         * lisp/dired-aux.el (dired-quark-subst-regexp, dired-star-subst-regexp):
100961         Mark as obsolete.
100962         (dired-isolated-string-re): New defun.
100963         (dired--star-or-qmark-p): New predicate.
100964         (dired-do-shell-command): Use dired--star-or-qmark-p.  Substitute "`?`"
100965         with the current file name.
100966         * doc/emacs/dired.texi (Shell Commands in Dired): Update manual.
100968 2017-07-02  Alan Mackenzie  <acm@muc.de>
100970         Fix bug in yesterday's CC Mode commit.
100972         * lisp/progmodes/cc-mode.el (c-quoted-number-head-before-point): Check a
100973         search has succeeded before using the match data.
100974         (c-quoted-number-head-before-point, c-quoted-number-head-after-point):
100975         Specify that the position of the extremity of the head or tail is in the
100976         match data.
100978 2017-07-02  Philipp Stephani  <phst@google.com>
100980         Remove FIXME comments about sentinel values
100982         These FIXMEs can't be addressed because they would require breaking
100983         changes to the module API.  Furthermore, other module functions don't
100984         return sentinel values as well, so users generally have to call
100985         non_local_exit_check anyway.
100987         * src/emacs-module.c (module_set_user_ptr)
100988         (module_set_user_finalizer, module_vec_set, module_vec_size): Remove
100989         FIXME comments.
100991 2017-07-02  Philipp Stephani  <phst@google.com>
100993         Adapt Lisp reference to reader changes
100995         The reader now warns about some unescaped character literals, but
100996         still allows them for compatibility reasons.  Slightly adapt the
100997         manual to forbid them officially.
100999         * doc/lispref/objects.texi (Basic Char Syntax): Document that
101000         backslashes are now required before some characters.
101002 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
101004         Fix Bug#27502
101006         * lisp/autorevert.el (auto-revert-find-file-function): New defun.
101007         (find-file-hook): Use it.  (Bug#27502)
101008         (auto-revert-remove-current-buffer): New defun.
101009         (auto-revert-mode, auto-revert-buffers): Use it.
101011 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
101013         Let test summary go through even if some logs were not generated
101015         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Check
101016         for existence of log files before reading.
101018 2017-07-01  Philipp Stephani  <phst@google.com>
101020         * src/module-env-25.h (copy_string_contents): Fix comment.
101022 2017-07-01  Philipp Stephani  <phst@google.com>
101024         Also mark module init function as noexcept if possible
101026         * src/emacs-module.h.in (emacs_module_init): Mark as noexcept if
101027         possible.
101029 2017-07-01  Philipp Stephani  <phst@google.com>
101031         Improve C++98 compatibility
101033         * src/emacs-module.h.in (emacs_funcall_exit): Lose trailing comma.
101034         C++98 doesn't allow trailing commas in enumerations.
101036 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
101038         Minor copyedits of manuals regarding bidi conformance
101040         * doc/emacs/mule.texi (Bidirectional Editing):
101041         * doc/lispref/display.texi (Bidirectional Display): Update the
101042         bidi conformance text.
101044 2017-07-01  Alan Mackenzie  <acm@muc.de>
101046         Make C++ digit separators work.  Amend the handling of single quotes generally
101048         Single quotes, even in strings and comments, are now marked with the
101049         "punctuation" syntax-table property, except where they are validly bounding a
101050         character literal.  They are font locked with font-lock-warning-face except
101051         where they are valid.  This is done in C, C++, ObjC, and Java Modes.
101053         * lisp/progmodes/cc-defs.el (c-clear-char-property-with-value-on-char-function)
101054         (c-clear-char-property-with-value-on-char, c-put-char-properties-on-char): New
101055         functions/macros.
101057         * lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes): New function.
101058         (c-basic-matchers-before): invoke c-font-lock-invalid-single-quotes.
101060         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
101061         c-before-after-change-digit-quote from wherever it occurs.  Insert
101062         c-parse-quotes-before-change into the entries for the languages where it is
101063         needed.
101064         (c-before-font-lock-functions): Remove c-before-after-change-digit-quote from
101065         wherever it occurs.  Insert c-parse-quotes-after-change into the entries for
101066         the languages which need it.
101067         (c-has-quoted-numbers): New lang-defconst/-defvar.
101069         * lisp/progmodes/cc-mode.el (c-before-after-change-digit-quote): Remove.
101070         (c-maybe-quoted-number-head, c-maybe-quoted-number-tail)
101071         (c-maybe-quoted-number): New defconsts.
101072         (c-quoted-number-head-before-point, c-quoted-number-tail-after-point)
101073         (c-quoted-number-straddling-point, c-parse-quotes-before-change)
101074         (c-parse-quotes-after-change): New functions.
101076 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
101078         Ignore mouse-movement for describe-key-briefly (Bug#12204)
101080         * lisp/help.el (help-read-key-sequence): Add optional argument ot
101081         ignore `mouse-movement' events.
101082         (describe-key-briefly): Use it.
101083         * doc/emacs/help.texi (Key Help):
101084         * etc/NEWS: Mention that mouse movement is ignored.
101086 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
101088         Refactor key describing commands
101090         * lisp/help.el (help-read-key-sequence, help--analyze-key): New
101091         functions, extracted from `describe-key' and `describe-key-briefly'.
101092         (describe-key, describe-key-briefly): Use them.
101094 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
101096         Improve display of tabs with line numbers
101098         * src/xdisp.c (x_produce_glyphs): Improve calculation of next tab
101099         stop in hscrolled lines.  Prevent aborts in compute_line_metrics.
101101 2017-07-01  Alan Third  <alan@idiocy.org>
101103         Fix threads on NS (bug#25265)
101105         src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
101106         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
101107         src/nsterm.m (ns_select): Call thread_select from within ns_select.
101108         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
101109         (ns_send_appdefined): Don't wait for main thread when sending app
101110         defined event.
101111         src/process.c (wait_reading_process_output): Call thread_select from
101112         within ns_select.
101113         src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
101114         its event loop using ns_run_loop_break.
101116 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
101118         Avoid slow redisplay under 'visual' mode of line numbers
101120         * src/xdisp.c (display_count_lines_visually): Avoid very slow
101121         redisplay when this function is invoked very far from point.
101122         Reported by Alex <agrambot@gmail.com>.
101124 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
101126         * lisp/help-fns.el (describe-variable): Let-bind cl-print-compiled-button.
101128 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
101130         * lisp/emacs-lisp/cl-extra.el (cl--random-state): New defstruct
101132         (cl--random-state, cl--random-time): Move from cl-lib.el.
101133         (cl-random): Use struct accessors.
101134         (cl-random-state-p): Remove, provided by the defstruct.
101135         (cl-make-random-state): Rewrite to struct constructor.
101137 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
101139         * lisp/emacs-lisp/debug.el (debugger-list-functions): Remove obsolete msg
101141 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
101143         Improve documentation of faces related to display-line-numbers
101145         * lisp/faces.el (line-number, line-number-current-line): Warn
101146         against using non-monospaced fonts.
101148 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
101150         Fix relative-number display with non-nil display-line-number-width
101152         * src/xdisp.c (maybe_produce_line_number): Don't treat a zero
101153         value of display-line-number-width as acceptable.
101154         Handle the case of 'relative' with display-line-number-width
101155         non-nil and smaller than the absolute line number requires.
101156         Reported by Alex <agrambot@gmail.com>.
101158 2017-06-30  Michael Albinus  <michael.albinus@gmx.de>
101160         Release Tramp 2.3.2
101162         * doc/misc/tramp.texi (Android shell setup): Show default file name.
101163         Structure section.
101165         * doc/misc/trampver.texi:
101166         * lisp/net/trampver.el: Change version to "2.3.2".
101168         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
101169         Offer home directory for mock method if it doesn't exist.
101171 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
101173         Add documentation for display-line-numbers
101175         * doc/emacs/custom.texi (Init Rebinding):
101176         * doc/emacs/modes.texi (Minor Modes): Remove references to
101177         linum-mode.
101178         * doc/emacs/display.texi (Display Custom): Describe the
101179         line-number display.
101180         (Optional Mode Line): Fix the index entry to not conflict with
101181         that in "Display Custom".
101182         * doc/emacs/basic.texi (Position Info): Add cross-reference to
101183         "Display Custom", for line-number display.
101185         * src/xdisp.c (syms_of_xdisp): <display-line-numbers>: Mention
101186         display-line-numbers-disable in the doc string.
101188         * lisp/cus-start.el (standard): Fix lst change.
101190 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
101192         Support displaying zero as the number of the current line
101194         * src/xdisp.c (syms_of_xdisp)
101195         <display-line-numbers-current-absolute>: New variable.
101196         <display-line-numbers>: Doc fix.
101197         (maybe_produce_line_number): Support nil value of
101198         display-line-numbers-current-absolute.
101200         * lisp/cus-start.el (standard): Add customization form for
101201         display-line-numbers-current-absolute.
101203         * etc/NEWS: Document recently introduced features.
101205 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
101207         Speed up the visual-mode relative line numbers
101209         * src/xdisp.c (display_count_lines_visually): Introduce a
101210         shortcut: if a relative line number was already calculated for
101211         this iterator object, just increase it instead of the
101212         expensive call to move_it_to.  Argument list changed to pass a
101213         pointer to the iterator object.
101214         (maybe_produce_line_number): Adjust for change in signature of
101215         display_count_lines_visually.  Record the relative line number and
101216         the corresponding byte position in the iterator object also in the
101217         'visual' mode.
101219 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
101221         Fix hscrolling with line numbers on TTY frames
101223         * src/xdisp.c (hscroll_window_tree): Correct the X offset
101224         calculations on TTY frames.
101225         * src/term.c (produce_glyphs): Use it->lnum_pixel_width instead of
101226         a kludge using it->lnum_width.
101228 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
101230         Fix TAB display when the line-number face uses a smaller/larger font
101232         * src/dispextern.h (struct it): New member lnum_pixel_width.
101233         * src/xdisp.c (maybe_produce_line_number): Compute the width of
101234         the line-number display in pixels.
101235         (x_produce_glyphs): Use it->lnum_pixel_width instead of a kludge
101236         that used it->lnum_width and made assumptions about pixel width.
101238 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
101240         Escape NUL bytes in X selections (Bug#6991)
101242         * lisp/term/w32-win.el (w32--set-selection):
101243         * lisp/select.el (xselect--encode-string): Replace NUL bytes with
101244         "\0".
101245         * doc/emacs/killing.texi: Document new behavior.
101246         * etc/NEWS (times): Announce it.
101248 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
101250         Hide byte code in backtraces (Bug#6991)
101252         * lisp/emacs-lisp/debug.el (debugger-print-function): New defcustom,
101253         defaulting to `cl-print'.
101254         (debugger-insert-backtrace, debugger-setup-buffer): Use it instead of
101255         `prin1'.
101256         * etc/NEWS: Announce it.
101258 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
101260         Don't redundantly cl-print arglist in function docstring again
101262         * lisp/emacs-lisp/cl-print.el (cl-print-object): Don't print arglist
101263         part of docstring.
101264         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Update
101265         test accordingly.
101267 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
101269         Escape control characters in backtraces (Bug#6991)
101271         * src/print.c (syms_of_print): Add new variable,
101272         print-escape-control-characters.
101273         (print_object): Print control characters with octal escape codes when
101274         print-escape-control-characters is true.
101275         * lisp/subr.el (backtrace):
101276         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
101277         `print-escape-control-characters' to t.
101279 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
101281         Improve ert backtrace recording
101283         Change ert to use the new `backtrace-frames' function instead of
101284         collecting frames one by one with `backtrace-frame'.  Additionally,
101285         collect frames starting from `signal' instead the somewhat arbitrary
101286         "6 from the bottom".  Skipping 6 frames would skip the expression that
101287         actually caused the signal that triggered the debugger.  Possibly 6
101288         was chosen because in the case of a failed test, the triggering frame
101289         is an `ert-fail' call, which is not so interesting.  But in case of a
101290         test throwing an error, this drops the `error' call which is too much.
101292         * lisp/emacs-lisp/debug.el (debugger-make-xrefs): Remove.
101293         * lisp/emacs-lisp/ert.el (ert--make-xrefs-region): Bring in relevant
101294         code from `debugger-make-xrefs'.
101295         (ert--print-backtrace): Add DO-XREFS parameter, delegate to
101296         `debugger-insert-backtrace'.
101297         (ert--run-test-debugger): Record the backtrace frames starting from
101298         the instigating `signal' call.
101299         (ert-run-tests-batch): Pass nil for `ert--print-backtrace's new
101300         DO-XREFS parameter.
101301         (ert-results-pop-to-backtrace-for-test-at-point): Pass t as DO-XREFS
101302         to `ert--print-backtrace' and remove call to `debugger-make-xrefs'.
101303         * test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Check
101304         the backtrace list instead of comparing its string representation.
101305         Expect `signal' to be the first frame.
101307 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
101309         Operate on frame list instead of printed backtrace
101311         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function,
101312         prints the given backtrace frames.
101313         (debugger-setup-buffer): Use it instead of editing the backtrace
101314         buffer text.
101316 2017-06-29  Eli Zaretskii  <eliz@gnu.org>
101318         Minor fixes
101320         * src/xdisp.c (maybe_produce_line_number): Fix bug that caused
101321         line numbers to be displayed in empty lines beyond ZV.
101322         (x_produce_glyphs): Start fixing TAB display in truncated lines.
101324 2017-06-29  Michael Albinus  <michael.albinus@gmx.de>
101326         Improve timer handling when Tramp accepts output
101328         * lisp/net/tramp-compat.el: Avoid compiler warning.
101330         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
101331         Remove lock machinery.
101333         * lisp/net/tramp.el (tramp-locked, tramp-locker): Move up.
101334         (tramp-file-name-handler): Add lock machinery from
101335         `tramp-sh-file-name-handler'.  Allow timers to run.
101336         (tramp-accept-process-output): Remove nasty workaround.
101337         Suppress timers.
101339         * test/lisp/net/tramp-tests.el (shell-command-sentinel):
101340         Suppress run in tests.
101341         (tramp--instrument-test-case-p): New defvar.
101342         (tramp--instrument-test-case): Use it in order to allow nested calls.
101343         (tramp--test-message, tramp--test-backtrace): New defsubst,
101344         will be used for occasional test instrumentation.
101345         (tramp-test00-availability, tramp-test31-vc-registered): Use them.
101346         (tramp-test28-shell-command)
101347         (tramp--test-shell-command-to-string-asynchronously): Suppress
101348         nasty messages.  Don't overwrite sentinel.
101349         (tramp-test36-asynchronous-requests): Rewrite major parts.
101350         Expect :passed.
101352 2017-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
101354         * lisp/url/url-history.el: Use lexical-binding
101356         (url-completion-function): Mark as obsolete.
101357         Mark unused args accordingly.
101359 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
101361         Don't assume url structs are vectors (Bug#27333)
101363         * lisp/url/url-history.el (url-history-update-url): Use `url-p'
101364         instead of `vectorp'.
101366 2017-06-28  Mark Oteiza  <mvoteiza@udel.edu>
101368         Replace with dolist some uses of while
101370         * lisp/calc/calc-units.el (calc-permanent-units):
101371         (math-compare-unit-names, math-simplify-units-quotient):
101372         (math-build-units-table-buffer): Use dolist to replace extra bindings
101373         and some while loops.
101375 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
101377         Make tcl-auto-fill-mode obsolete (Bug#10772)
101379         * lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
101380         * etc/NEWS: Announce it.
101382 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
101384         Don't read eshell/which output from *Help* buffer (Bug#26894)
101386         * lisp/help-fns.el (help-fns--analyse-function)
101387         (help-fns-function-description-header): New functions, extracted from
101388         describe-function-1.
101389         (describe-function-1): Use them.
101390         * lisp/eshell/esh-cmd.el (eshell/which): Use
101391         `help-fns-function-description-header' instead of
101392         `describe-function-1'.
101394 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
101396         Support default-text-properties
101398         * src/xdisp.c (should_produce_line_number): Call get-char-property
101399         at ZV as well, to support default-text-properties.
101401 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
101403         Avoid segfaults when some display vector is an empty string
101405         * src/xdisp.c (next_element_from_display_vector): Don't try
101406         accessing the dpvec[] array if its size is zero.  (Bug#27504)
101408 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
101410         Initial support for visually-relative line numbers
101412         Works very slowly.
101414         * src/xdisp.c (display_count_lines_visually): New function.
101415         (maybe_produce_line_number): Support 'visual' mode of line-number
101416         display.
101417         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
101418         also when glyph_row is NULL.  This is important for move_it_*
101419         functions.
101420         (syms_of_xdisp) <display-line-number-width>: Now buffer-local.
101421         (try_window_id, redisplay_window, try_cursor_movement): For
101422         'visual' line-number display, disable the same redisplay
101423         optimizations as for 'relative'.
101425         * lisp/cus-start.el (standard): Add new value for the
101426         customization form of display-line-numbers.
101428 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
101430         Update IT's metrics while simulating display
101432         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
101433         also when glyph_row is NULL.  This is important for move_it_*
101434         functions.
101436 2017-06-26  Teemu Likonen  <tlikonen@iki.fi>
101438         Fix bug in handling GnuPG's TRUST_MARGINAL status
101440         * lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
101441         to `good'.
101443 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
101445         Prefer `when' instead of 1-branch `if'
101447         * lisp/dired-aux.el (dired-do-shell-command): Store condition value
101448         in local variable ok.
101449         Use `when' instead of 1-branch `if'.
101451 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
101453         Use #' instead of (function ...)
101455         * lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
101456         (dired-mark-confirm, dired-query, dired-byte-compile)
101457         (dired-load, dired-update-file-line, dired-after-subdir-garbage)
101458         (dired-relist-file, dired-rename-subdir, dired-do-create-files)
101459         (dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
101460         (dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
101461         (dired-do-copy-regexp, dired-do-hardlink-regexp)
101462         (dired-do-symlink-regexp, dired-create-files-non-directory)
101463         (dired-upcase, dired-downcase)
101465         * lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
101466         (dired-internal-do-deletions, dired-internal-do-deletions):
101467         Prefer #' instead of (function ...).
101469 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
101471         Don't quote lambda forms
101473         * lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
101474         (dired-mark, dired-desktop-buffer-misc-data)
101476         * lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
101477         (dired-create-files-non-directory, dired-insert-subdir-validate)
101478         (dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.
101480 2017-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
101482         * lisp/progmodes/cc-fonts.el: Remove/mark unused vars
101484         (c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
101485         and `brackets-after-id'.
101486         (c-font-lock-objc-methods): Mark unused args.
101488 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
101490         Omit null-pointer test in intervals.h FRAME
101492         * src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
101493         (INTERVAL_LAST_POS): Omit unnecessary parens.
101494         (LENGTH): Omit test for null pointer.  The argument is never null.
101495         The unnecessary test causes GCC 7.1.0 to assume that the argument
101496         might be null, and therefore to issue false alarms when the
101497         argument is dereferenced in other expressions.
101499 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
101501         Parenthesize frame.h macro definitions
101503         * src/frame.h (FRAME_TOOL_BAR_POSITION)
101504         (FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
101505         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
101506         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
101507         (FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
101508         (FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
101509         (FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
101510         (FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
101511         (FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
101512         to allow arbitrary expression arguments.
101514 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
101516         Port recent frame changes to GCC 7
101518         * src/frame.c (keep_ratio): New arg P.  Caller changed.  Since it
101519         is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
101520         might return null.  This also avoids a run-time test.
101522 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
101524         Minor aesthetic fix of last change.
101526 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
101528         Allow to disable display of line numbers beyond EOB
101530         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
101531         function.
101532         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
101533         * src/xdisp.c (should_produce_line_number): When at ZV, call
101534         disable_line_numbers_overlay_at_eob to determine whether line
101535         numbers should be displayed beyond ZV.
101537 2017-06-25  Michael Albinus  <michael.albinus@gmx.de>
101539         Fix Android 6/7 problems in Tramp
101541         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
101542         (tramp-adb-handle-directory-files-and-attributes)
101543         (tramp-adb-handle-file-name-all-completions): Insert "."  and
101544         ".." only when needed.
101545         (tramp-adb-get-ls-command): Force one column output for toybox.
101547 2017-06-25  Stefan-W. Hahn  <stefan.hahn@s-hahn.de>  (tiny change)
101549         * lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
101551 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
101553         Fix line number display for overlay/display strings with newlines
101555         * src/xdisp.c (maybe_produce_line_number): Fix the condition for
101556         producing space glyphs instead of a line number to include the
101557         case of display strings and overlays.
101559 2017-06-25  Alan Mackenzie  <acm@muc.de>
101561         Make CC Mode load cl-lib rather than cl in Emacs 26.
101563         * lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
101564         variable.
101566         * lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
101567         (c--cl-library): New variable.
101568         (Top level): Amend the form which requires library cl or cl-lib.
101569         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
101570         (c--delete-duplicate): Amend to use c--cl-library instead of
101571         c--mapcan-status.
101573         * lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
101574         (c-back-over-compound-identifier): Remove unused local variables.
101576         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
101577         local variable.
101579         * lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
101580         of c--mapcan-status.
101582         * lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
101583         silence a compiler warning.
101585 2017-06-25  Martin Rudalics  <rudalics@gmx.at>
101587         Provide additional support for child frames
101589         Provide mouse dragging and resizing of frames.  Allow resizing
101590         frames proportionally.  Provide additional functionality for
101591         child frames.  Minor bug fixes.
101593         * lisp/frame.el (frame-border-width, frame-pixel-width)
101594         (frame-pixel-height): Alias to `frame-internal-border-width',
101595         `frame-native-width' and `frame-native-height'.
101596         (frame-inner-width, frame-inner-height, frame-outer-width)
101597         (frame-outer-height): New functions.
101598         * lisp/minibuffer.el (completion-auto-help): Fix typo.
101599         * lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
101600         (mouse-drag-header-line): Allow moving a frame by dragging the
101601         mode line of its bottommost window (on a minibuffer-less frame)
101602         or the header line of its topmost window.
101603         (mouse-drag-vertical-line): Mention argument in doc-string.
101604         (mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
101605         (mouse-drag-top-left-corner, mouse-drag-top-edge)
101606         (mouse-drag-top-right-corner, mouse-drag-right-edge)
101607         (mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
101608         (mouse-drag-bottom-left-corner): New functions for resizing a
101609         frame by dragging its internal border together with
101610         corresponding key bindings.
101611         * lisp/tooltip.el (tooltip-frame-parameters): Add
101612         'no-special-glyphs' to default parameters and update version
101613         tag.
101614         * lisp/window.el (frame-auto-hide-function): Add choice to make
101615         frame invisible and update version tag.
101616         (window--delete): Handle 'auto-hide-function' frame parameter.
101617         (window--maybe-raise-frame): Respect 'no-focus-on-map' and
101618         'no-accept-focus' frame parameters.
101619         (display-buffer--action-function-custom-type): Add
101620         `display-buffer-in-child-frame'.
101621         (display-buffer): Mention `display-buffer-in-child-frame' in
101622         doc-string.
101623         (display-buffer-in-child-frame): New action function for
101624         `display-buffer'.
101625         (window--sanitize-margin): Return zero when MARGIN cannot be
101626         sanitized.
101627         (fit-frame-to-buffer): Major rewrite to handle child frames and
101628         'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
101629         frame parameters.
101630         (window-largest-empty-rectangle--maximums-1)
101631         (window-largest-empty-rectangle--maximums)
101632         (window-largest-empty-rectangle--disjoint-maximums)
101633         (window-largest-empty-rectangle): New functions.
101635         * src/dispextern.h (WINDOW_WANTS_MODELINE_P)
101636         (WINDOW_WANTS_HEADER_LINE_P): Remove.  Functionality is now
101637         provided by corresponding functions window_wants_modeline and
101638         window_wants_header_line in window.c.  Adjust users.
101639         * src/dispnew.c (adjust_glyph_matrix)
101640         (buffer_posn_from_coords): Use window_wants_modeline and
101641         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
101642         WINDOW_WANTS_HEADER_LINE_P.
101643         * src/frame.c (keep_ratio): New function.
101644         (adjust_frame_size): Call keep_ratio for each of F's child
101645         frames.
101646         (make_frame): Initialize no_special_glyphs slot.
101647         (frame_internal_border_part): New function.
101648         (Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
101649         to Fframe_native_width, Fframe_native_height mand
101650         Fframe_internal_border_width.
101651         (frame_parm_table): Add Qno_special_glyphs entry.
101652         (frame_float_type): New enumeration type.
101653         (frame_float): New function to handle frame size and position
101654         ratios.
101655         (x_set_frame_parameters): Handle size and position ratios.
101656         (x_set_no_special_glyphs): New function
101657         (x_figure_window_size): Handle size and position ratios.
101658         (syms_of_frame): Add Qdisplay_monitor_attributes_list,
101659         Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
101660         Qheight_only, Qleft_only and Qtop_only.
101661         * src/frame.h (internal_border_part): New enumeration type.
101662         (struct frame): New slot no_special_glyphs.
101663         (FRAME_NO_SPECIAL_GLYPHS): New macro.
101664         * src/gtkutil.c (xg_frame_restack): Return immediately for
101665         GTK versions before 2.18.0.
101666         * src/keyboard.c (internal_border_parts): New array constant.
101667         (make_lispy_position): For frames with border dragging enabled
101668         return internal border part.
101669         (syms_of_keyboard): New symbols Qdrag_internal_border,
101670         Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
101671         Qright_edge, Qbottom_right_corner, Qbottom_edge and
101672         Qbottom_left_corner.
101673         * src/minibuf.c (read_minibuf_unwind): When exiting the
101674         minibuffer deal with frames that have the 'minibuffer-exit'
101675         parameter set.
101676         (syms_of_minibuf): New symbol Qminibuffer_exit.
101677         * src/nsfns.m (frame_parm_handler): Add entry for
101678         x_set_no_special_glyphs.
101679         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
101680         Initialize new cursor types for dragging frame borders.
101681         * src/nsterm.h (struct ns_output): Add new cursor types for
101682         dragging frame borders.
101683         * src/w32fns.c (w32_frame_parm_handlers): Add entry for
101684         x_set_no_special_glyphs.
101685         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
101686         Initialize new cursor types for dragging frame borders.
101687         * src/w32term.h (struct w32_output): Add new cursor types for
101688         dragging frame borders.
101689         * src/window.c (coordinates_in_window)
101690         (Fwindow_line_height, window_internal_height): Use
101691         window_wants_modeline and window_wants_header_line instead of
101692         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
101693         (Fwindow_lines_pixel_dimensions): New function.
101694         (window_parameter): New function.
101695         (Fwindow_parameter): Call window_parameter.
101696         (window_wants_mode_line, window_wants_header_line): New
101697         functions replacing the macros WINDOW_WANTS_MODELINE_P and
101698         WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
101699         (syms_of_window): New symbols Qmode_line_format and
101700         Qheader_line_format.
101701         * src/window.h: Reorganize and re-comment macros.  Use
101702         window_wants_modeline and window_wants_header_line instead of
101703         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
101704         (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
101705         (WINDOW_BUFFER): New macro.
101706         (WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
101707         * src/xdisp.c (window_text_bottom_y, window_box_height)
101708         (window_box, start_display)
101709         (compute_window_start_on_continuation_line)
101710         (try_cursor_movement, redisplay_window)
101711         (try_window_reusing_current_matrix, try_window_id)
101712         (display_line, expose_window): Use window_wants_modeline and
101713         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
101714         WINDOW_WANTS_HEADER_LINE_P.
101715         (pos_visible_p, display_mode_lines): Respect W's
101716         'mode-line-format' and 'header-line-format' window parameters.
101717         (init_iterator): Use window_wants_modeline and
101718         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
101719         WINDOW_WANTS_HEADER_LINE_P.  For tip frames respect
101720         no_special_glyphs value.
101721         (note_mouse_highlight): Set frame border cursors when on
101722         internal border.
101723         (x_draw_right_divider, x_draw_bottom_divider): Try to improve
101724         drawing of window dividers.
101725         * src/xfns.c (mouse_cursor): Add entries for border parts.
101726         (mouse_cursor_types): Add entries for cursor types to drag
101727         frame borders.
101728         (INSTALL_CURSOR): Add entries for new cursor types to drag
101729         frame borders.
101730         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
101731         (x_frame_parm_handlers): Add entry for
101732         x_set_no_special_glyphs.
101733         (Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
101734         (Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
101735         (Vx_window_right_edge_shape)
101736         (Vx_window_bottom_right_corner_shape)
101737         (Vx_window_bottom_edge_shape)
101738         (Vx_window_bottom_left_corner_shape): New variables.
101739         (x_frame_restack): Call xg_frame_restack only for GTK versions
101740         starting with 2.18.0.
101741         * src/xterm.c (x_free_frame_resources): Remove new cursors for
101742         dragging frame borders.
101743         * src/xterm.h (struct x_output): Add new cursor types for
101744         dragging frame borders.
101746         * doc/lispref/display.texi (Size of Displayed Text): Document
101747         `window-lines-pixel-dimensions'.
101748         * doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
101749         Parameters".
101750         * doc/lispref/frames.texi (Frame Size): Replace
101751         frame-pixel-width/-height by frame-native-width/-height.  Add
101752         frame-inner-width/-height and frame-outer-width/-height docs.
101753         (Position Parameters): Describe specifying position as ratios.
101754         Clarify remark about positions relative to bottom/ridge display
101755         edge.
101756         (Size Parameters): Describe specifying sizes as ratios.
101757         Describe 'fit-frame-to-buffer-margins' and
101758         'fit-frame-to-buffer-sizes' parameters.
101759         (Layout Parameters): Describe 'no-special-glyphs' parameter.
101760         (Frame Interaction Parameters): Describe 'auto-hide-function',
101761         'minibuffer-exit' and 'keep-ratio' parameters.
101762         (Mouse Dragging Parameters): New section describing
101763         'drag-internal-border', 'drag-with-header-line',
101764         'drag-with-mode-line', 'snap-width', 'top-visible' and
101765         'bottom-visible' parameters.
101766         (Management Parameters): Mention that `override-redirect' has
101767         no effect on MS Windows.
101768         (Font and Color Parameters): Mention child frames for `alpha'
101769         parameter.
101770         (Child Frames): Rewrite section with description and cross
101771         references to new frame parameters added.
101772         * doc/lispref/modes.texi (Mode Line Basics): Mention
101773         'mode-line-format' and 'header-line-format' window parameters.
101774         * doc/lispref/windows.texi (Resizing Windows): Mention effect
101775         of `fit-frame-to-buffer-margins' for child frames.
101776         (Display Action Functions): New action function
101777         `display-buffer-in-child-frame'.
101778         (Quitting Windows): Mention `make-frame-invisible' as optional
101779         value of `frame-auto-hide-function' and `auto-hide-function'
101780         frame paameter.
101781         (Coordinates and Windows): Describe new function
101782         `window-largest-empty-rectangle'.
101783         (Window Parameters): Describe new parameters 'mode-line-format'
101784         and 'header-line-format'.  Index all window parameters described
101785         in this section.
101787 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
101789         Adjust lm-verify to accept current notices
101791         Problem reported by Mike Kupfer in:
101792         https://lists.gnu.org/r/emacs-devel/2017-06/msg00512.html
101793         * lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
101794         Do not require later lines in a copyright notice to have more
101795         indentation than earlier lines.
101797 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
101799         Minor change in NEWS.
101801         Improve documentation in NEWS.
101803 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
101805         Move additional hscrolling code into a suitable 'if'
101807         * src/xdisp.c (hscroll_window_tree): Make additional calculations
101808         regarding glyphs produced for line numbers conditional on
101809         line-number display.
101811 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
101813         Partial fix of hscroll of truncated lines with line numbers
101815         * src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
101816         hscroll calculations to line-number display.
101817         * src/term.c (produce_glyphs): Adjust tab stop to window's
101818         hscroll.  These two changes fix horizontal scrolling when line
101819         numbers are displayed.  But there's still a bug: the horizontal
101820         shift of lines that begin with a TAB is different from the rest.
101821         * src/xdisp.c (move_it_in_display_line_to): Call
101822         should_produce_line_number to determine whether a line number
101823         should be produced for this screen line.
101825 2017-06-24  Noam Postavsky  <npostavs@gmail.com>
101827         Don't change byte-compile-delete-errors at runtime (Bug#27340)
101829         * lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
101830         time.
101832 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
101834         Allow Lisp program to disable line-number display for specific lines
101836         * etc/NEWS: Update the documentation.
101838         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
101839         symbol.
101840         (should_produce_line_number): New function.
101841         (display_line): Use should_produce_line_number to determine
101842         whether a line number should be produced for each glyph row.
101844 2017-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
101846         * lisp/net/html2text.el: Move to obsolete/.
101848 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
101850         Support a separate face for displaying the current line's number
101852         * lisp/faces.el (line-number-current-line): New face.
101854         * src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
101855         symbol.
101856         (try_window_id, try_cursor_movement): Disable these optimizations
101857         when the line-number-current-line face is different from
101858         line-number face.
101859         (maybe_produce_line_number): Display the current line in the
101860         line-number-current-line face, if it's different from line-number.
101862 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
101864         Change display of current line in relative mode
101866         * src/xdisp.c (maybe_produce_line_number): In relative mode
101867         display the current line number as its absolute value, not as zero.
101869 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
101871         Rename display-line-width
101873         * etc/NEWS:
101874         * src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
101875         * lisp/cus-start.el: Rename display-line-width to
101876         display-line-number-width.
101878 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
101880         Fix tab stops when line numbers are displayed
101882         * src/xdisp.c (x_produce_glyphs):
101883         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
101884         space taken by the line-number display.
101886 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
101888         Fix crashes on TTY frames due to negative lnum_width.
101890         Don't display line numbers in the minibuffer and in tooltip frames.
101892 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
101894         Fix problems with line-number updates in Follow mode
101896         * src/xdisp.c (redisplay_window): If forced window-start requires
101897         to move a window's point, and the window is under relative
101898         line-number display, force another round of redisplay to update
101899         the relative line numbers.  This fixes follow-mode "redisplay" of
101900         its window group.
101902         * lisp/frame.el: Add display-line-numbers to the list of variables
101903         that should trigger redisplay of the current buffer.
101905 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
101907         Fix display of line numbers with fonts larger than the default
101909         * src/xdisp.c (maybe_produce_line_number): Update the metrics in
101910         IT, not in IT->glyph_row, since the latter gets overwritten in
101911         display_line.  Fixes display of line numbers when the font used
101912         for them is larger than that of the default face.
101914 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
101916         Fix background color beyond EOB and cursor display
101918         * src/xdisp.c:  (maybe_produce_line_number): Use the default face
101919         for background of the blank glyphs in the line-number area which
101920         are drawn beyond EOB.
101921         (display_line): Reset the glyph row's displays_text_p flag only on
101922         empty lines that don't display line numbers.  This fixes cursor
101923         display beyond EOB.  Fix the bidi information in the glyphs
101924         produced for line numbers.  Set the avoid_cursor_p flag of glyphs
101925         produced for line numbers.
101927 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
101929         Fix display of indicate-empty-lines when line numbers are displayed
101931         * src/xdisp.c (row_text_area_empty): New function.
101932         (display_line): Call row_text_area_empty to verify that a glyph
101933         row's text area is devoid of any glyphs that came from a buffer or
101934         a string.  This fixes a bug with empty-lines indication
101935         disappearing when line numbers or line-prefix are displayed.
101936         (display_line): Delete the argument FORCE; all callers changed.
101937         Remove the condition for actually producing the glyphs for the
101938         line number, as even if the number didn't change we need to
101939         produce empty space.
101941 2017-06-23  Vincent Belaïche  <vincentb1@users.sourceforge.net>
101943         Fix symbol relocation when the relocated cell is renamed.
101945         * lisp/ses.el (ses-sym-rowcol):  Check that the renamed cell
101946         hashmap has been instantiated before getting data from it.  When
101947         editing several spreadsheets, and you have spreadsheet #1 with a
101948         cell named `foo', and no renamed cell in spreadsheet #2, then if
101949         you make a formula with `foo' in spreadsheet #2, not doing this
101950         check will make an error.
101951         (ses-cell-set-formula): Robustify versus incorrect cell references
101952         given in the user provided formula.  An explicit error message is
101953         provided after the action when the user gives an incorrect cell
101954         reference, but the formula edition is not changed.  This means that
101955         if the incorrect reference is to a cell that is created someday,
101956         then this new cell will not have the edited cell in its reference
101957         list.  Fixing this can still be done by editing again the first
101958         cell formula.
101959         (ses-relocate-symbol): Do not create symbol of referred-to cell
101960         when this is a renamed cell.
101962 2017-06-23  Rasmus  <rasmus@gmx.us>
101964         Synchronize with the "emacs-sync" branch from Org
101966 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
101968         Remove getc_unlocked configure-time check
101970         * configure.ac (getc_unlocked): Remove check, as unlocked-io now
101971         does this for us.
101973 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
101975         Use unlocked stdio more systematically
101977         This can improve performance significantly on stdio-bottlenecked code.
101978         E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
101979         * admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
101980         * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
101981         * lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
101982         * lib-src/profile.c, lib-src/update-game-score.c:
101983         Include unlocked-io.h instead of stdio.h, since these programs are
101984         single-threaded.
101985         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
101986         * lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
101987         * src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
101988         * src/lread.c, src/term.c:
101989         Include sysstdio.h, possibly instead of stdio.h, to define
101990         the unlocked functions if the system does not provide them.
101991         * src/charset.c, src/lread.c (getc_unlocked):
101992         Remove, since sysstdio.h now defines it if needed.
101993         * src/cm.c (cmputc, cmcheckmagic):
101994         * src/dispnew.c (update_frame, update_frame_with_menu)
101995         (update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
101996         * src/emacs.c (main, Fdump_emacs):
101997         * src/fileio.c (Fdo_auto_save, Fset_binary_mode):
101998         * src/image.c (slurp_file, png_read_from_file, png_load_body)
101999         (our_stdio_fill_input_buffer):
102000         * src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
102001         * src/lread.c (readbyte_from_file):
102002         * src/minibuf.c (read_minibuf_noninteractive):
102003         * src/print.c (printchar_to_stream, strout)
102004         (Fredirect_debugging_output):
102005         * src/sysdep.c (reset_sys_modes, procfs_ttyname)
102006         (procfs_get_total_memory):
102007         * src/term.c (tty_ring_bell, tty_send_additional_strings)
102008         (tty_set_terminal_modes, tty_reset_terminal_modes)
102009         (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
102010         (tty_write_glyphs_with_face, tty_insert_glyphs)
102011         (tty_menu_activate):
102012         * src/xfaces.c (Fx_load_color_file):
102013         Use unlocked stdio when it should be safe.
102014         * src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
102015         (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
102016         (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
102017         (putc_unlocked, putchar_unloced): Provide substitutes if not declared.
102019 2017-06-22  Glenn Morris  <rgm@gnu.org>
102021         * lisp/net/shr.el (shr-fill-text): Actually fill the text.  (Bug#27399)
102023 2017-06-22  Michal Nazarewicz  <mina86@mina86.com>
102025         unidata: don’t check special casing in unidata-check  (bug#26656)
102027         * admin/unidata/unidata-gen.el (unidata-check): Do not test special
102028         casing mapping of characters since that mapping is not constructed from
102029         the unidata.txt file.
102030         Also, check for integer decoder and cons char earlier so that less
102031         unnecessary processing is performed.
102033 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
102035         * lisp/descr-text.el (describe-char): Avoid string-*-multibyte
102037         Avoid string-to-multibyte and string-as-unibyte.
102038         Don't make *Help* unibyte just because the char was in a unibyte buffer.
102040 2017-06-22  Rasmus  <rasmus@gmx.us>
102042         Add Org schemas.xml contents to Emacs schemas.xml
102044         Entries from the Org version of schemas.xml have been added to
102045         the Emacs version of schemas.xml.
102047 2017-06-22  Rasmus  <rasmus@gmx.us>
102049         Update Org to v9.0.9
102051         Please see etc/ORG-NEWS for details.
102053 2017-06-22  Vincent Belaïche  <vincentb1@users.sourceforge.net>
102055         Do not hard code A1 cell reference, as it may be renamed.
102057         * lisp/ses.el (ses-recalculate-all): `A1' -> `(ses-cell-symbol 0 0)'
102059 2017-06-22  Martin Rudalics  <rudalics@gmx.at>
102061         Fix make_hash_table calls in lread.c
102063         * src/lread.c (readevalloop, read_internal_start): Fix
102064         make_hash_table calls to make build succeed.
102066 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
102068         Merge several Lisp reader speedups.
102070 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
102072         Create less garbage to collect while reading symbols.
102074         * src/lread.c (read1): When interning a symbol, only create a new
102075         string object for the name if we're going to use it for a new symbol
102076         object.
102078 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
102080         Replace read_objects assoc list with two hash tables.
102082         For larger input files with lots of shared data structures, an
102083         association list is too slow.
102085         * src/lread.c (read_objects_map, read_objects_completed): New
102086         variables, replacing read_objects.
102087         (readevalloop): Initialize them with hash tables before starting a
102088         top-level read, if they're not already empty hash tables, and reset
102089         them to Qnil afterwards if something was added to the hash tables.
102090         (read_internal_start): Likewise.
102091         (read1): Store first the placeholder and later the newly read object
102092         into read_objects_map under the specified object number.  If the new
102093         object can contain a reference to itself, store it in
102094         read_objects_completed.
102095         (substitute_objects_recurse): Check read_objects_completed instead of
102096         read_objects for the known possibly-recursive objects.
102097         (syms_of_lread): Update initializations.
102099 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
102101         Use getc_unlocked.
102103         * configure.ac: Check for getc_unlocked.
102104         * src/charset.c (read_hex, load_charset_map_from_file): Use
102105         getc_unlocked instead of getc.
102106         (getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
102107         * src/lread.c (readbyte_from_file, Fget_file_char, read1,
102108         getc_unlocked): Likewise.
102110 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
102112         Reduce lread substitutions.
102114         * src/lread.c (read1): After reading an object using the "#n=" syntax,
102115         if the read object is a cons cell, instead of recursively substituting
102116         the placeholder with the new object, mutate the placeholder cons cell
102117         itself to have the correct car and cdr values.
102119 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
102121         Short-circuit substitutions for some simple types.
102123         Values that don't contain other values cannot be circular, so checking
102124         for circular objects is a waste of cycles.
102126         * src/lread.c (substitute_object_recurse): If the subtree being
102127         examined is a symbol, number, or property-less string, just return
102128         it.
102130 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
102132         Limit style_format to MAX_ALLOCA
102134         * src/editfns.c (styled_format): Subtract initial buffer size
102135         from sa_avail, since it is nontrivial.
102137 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
102139         Limit bidi_find_bracket_pairs to MAX_ALLOCA
102141         * src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
102142         Shrink it to allow for the two struct bidi_it objects in
102143         the same frame.
102144         (PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
102145         (bidi_find_bracket_pairs): Use compile-time check instead of runtime.
102147 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
102149         Limit insert-file-contents to MAX_ALLOCA
102151         * src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
102152         MAX_ALLOCA bytes in a single stack array.
102154 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
102156         Remove malloc_find_address relic
102158         * src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
102159         Omit unnecessary initialization.
102161 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
102163         Fix temacs hybrid_malloc core dump
102165         Without this patch, ./temacs would dump core sometimes on Fedora
102166         25 x86-64.  The problem was that the hybrid allocator assumed that
102167         all pointers into bss_sbrk_buffer are allocated via gmalloc.  This
102168         assumption is not true on Fedora, because the standard memory
102169         allocator calls gdefault_morecore, which means its blocks are
102170         interleaved with our blocks.  Usually the code happened to work,
102171         because our data structures agreed with the glibc data structures,
102172         but this was merely luck due to a shared pedigree, and as glibc
102173         mutates our luck has run out.
102174         * src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [HYBRID_MALLOC]:
102175         Remove; no longer needed.
102176         (BLOCK): Use unsigned division, as that does the right thing near zero.
102177         (register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
102178         (_realloc_internal_nolock):
102179         Big blocks now have type -1, not 0, as 0 now means the block is
102180         not ours.
102181         (morecore_nolock): Omit now-unnecessary casts to size_t.
102182         (allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
102183         (hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
102184         avoid calling the wrong free or realloc function in some cases.
102186 2017-06-21  Katsumi Yamaoka  <yamaoka@jpl.org>
102188         Make gnus-article-date-user work
102190         * lisp/gnus/gnus-art.el (article-date-ut):
102191         Work for unfolded multi-line Date header.
102192         (article-transform-date):
102193         Refactor; add header name if it is missing in user-defined date line.
102194         (article-date-user): Fix name of date type.
102196 2017-06-21  Noam Postavsky  <npostavs@gmail.com>
102198         Keep order of completion candidates (Bug#25995, Bug#24676)
102200         * lisp/minibuffer.el (completion-pcm--filename-try-filter)
102201         (completion-pcm--all-completions): Use nreverse to undo the reversing
102202         caused by using push in the loop.
102204 2017-06-21  Glenn Morris  <rgm@gnu.org>
102206         * src/lread.c (syms_of_lread) <load-history>: Doc fix.
102208 2017-06-21  Alex Gramiak  <agrambot@gmail.com>
102210         Mark prolog indent variables as safe (bug#27369)
102212         * lisp/progmodes/prolog.el (prolog-indent-width)
102213         (prolog-left-indent-regexp, prolog-paren-indent-p)
102214         (prolog-paren-indent): Add :safe property.
102216 2017-06-20  Simen Heggestøyl  <simenheg@gmail.com>
102218         Remove `:options' from `css-electric-keys'
102220         * lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
102221         since it just duplicates the default value.
102223 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
102225         Fix crash when built by GNU Gold linker on x86
102227         Problem reported by Andrés Musetti (Bug#27248).
102228         * src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
102229         (emacsFrameClass): Now a function (which initializes the
102230         superclass) instead of a variable.  All uses changed.
102232 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
102234         Simplify autogen.sh version checking
102236         * autogen.sh (get_version): Simplify and make more reliable
102237         by using expr rather than echo | sed.  Check exit status of program.
102238         Run program in subshell in case it cannot be executed.
102239         (check_version): Check exit status of command rather than its output.
102240         Check return status of get_version.
102242 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
102244         Delete old Date header in a simple way
102246         * lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
102247         when searching the old Date header boundary in order to delete it.
102249 2017-06-20  Bastien  <bzg@gnu.org>
102251         Revert "Don't bind org-agenda key to an anonymous function"
102253         This reverts commit 49c0ff29c2e0243ba35ec17e3e3af49369be43db.
102255 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
102257         Bind enable-local-variables to nil globally (fix dbe3e41)
102259         * lisp/gnus/mm-view.el (mm-display-inline-fontify):
102260         Bind enable-local-variables to nil globally instead of making it
102261         buffer-local; remove let-bind of local-enable-local-variables.
102262         cf. <b4mtw3bbfp5.fsf@jpl.org> in the emacs-devel list.
102264 2017-06-20  Glenn Morris  <rgm@gnu.org>
102266         kill-matching-buffers to optionally not confirm
102268         * lisp/files.el (kill-matching-buffers):
102269         Add option to not confirm killing.  (Bug#27286)
102271 2017-06-20  Glenn Morris  <rgm@gnu.org>
102273         * lisp/files.el (local-enable-local-variables): Doc fix.
102275 2017-06-20  Glenn Morris  <rgm@gnu.org>
102277         autogen.sh: try to check for tool being present but broken
102279         * autogen.sh (get_version): Check return status of "--version".
102280         (check_version): Try to distinguish between a missing tool
102281         and a broken one.  (Bug#27288)
102283 2017-06-19  Glenn Morris  <rgm@gnu.org>
102285         Avoid a custom-variable-type error (bug#27363)
102287         * lisp/cus-edit.el (custom-variable-type):
102288         Avoid an error due to plist-put becoming stricter of late.
102290 2017-06-19  Glenn Morris  <rgm@gnu.org>
102292         Don't put deleted packages in the trash (bug#14967)
102294         * lisp/emacs-lisp/package.el (package-delete):
102295         Don't pay attention to delete-by-moving-to-trash.
102297 2017-06-19  Nicolas Petton  <nicolas@petton.fr>
102299         Revert "Add current-line in simple.el"
102301         This reverts commit ae98cdf9431604d0f722f1db217ca06debfbb7b6.
102303 2017-06-19  Damien Cassou  <damien@cassou.me>
102305         Add current-line in simple.el
102307         * lisp/simple.el (current-line): New function.
102308         * test/lisp/simple-tests.el: Add tests for current-line.
102310 2017-06-19  Katsumi Yamaoka  <yamaoka@jpl.org>
102312         Don't try to eval local variables in Gnus article
102314         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.
102316 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
102318         Fix emacs-module.h cleaning
102320         * src/Makefile.in (clean): Do not remove emacs-module.h.in.
102321         (bootstrap-clean): Remove emacs-module.h.
102323 2017-06-18  Andreas Schwab  <schwab@linux-m68k.org>
102325         * lisp/url/url-util.el (url-get-url-at-point): Add missing group
102326         in regex.
102328 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
102330         * lib/gettext.h: Merge from gnulib.
102332 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
102334         Merge from gnulib
102336         This (and my previous patch) incorporate:
102337         2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
102338         2017-06-15 gettext-h: Update comment
102339         * lib/diffseq.h: Copy from gnulib.
102341 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
102343         * test/Makefile.in: Don't suppress test failure for single tests.
102345 2017-06-17  Philipp Stephani  <phst@google.com>
102347         emacs-module.h: Create emacs_env_26
102349         This was part of the original design of the module
102350         API (https://lists.gnu.org/r/emacs-devel/2015-02/msg00960.html),
102351         but I didn't take it into account when adding the should_quit
102352         function.
102354         Instead of duplicating the environment fields or using the C
102355         preprocessor, use configure to build emacs-module.h.
102357         * configure.ac: Expand emacs-module.h template.
102359 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
102361         Improve documentation of replace-buffer-contents
102363         * etc/NEWS (replace-buffer-contents): Fix formatting.
102365         * src/editfns.c (Freplace_buffer_contents): Doc fix.
102367 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
102369         Finish up native display of line numbers
102371         * src/xdisp.c (maybe_produce_line_number): Produce a blank before
102372         the number, for R2L rows.  Increment 'g' in the loop even if
102373         glyph_row is NULL.  Accept 2nd argument FORCE and produce the
102374         line-number glyphs if it is non-zero.
102375         (move_it_in_display_line_to): Account for the space taken by the
102376         line-number glyphs.  Call maybe_produce_line_number with 2nd
102377         argument non-zero.
102378         (set_cursor_from_row): Fix calculation of cursor X coordinate in
102379         R2L rows with display-produced glyphs at the beginning.
102380         (syms_of_xdisp) <line-number>: New face symbol.
102381         <relative, display-line-width>: New symbols.
102382         (maybe_produce_line_number): Use the line-number face for
102383         displaying line numbers.  Support relative line-number display.
102384         Support user-defined width for displaying line numbers.
102385         (try_cursor_movement, try_window_id): Disable these optimizations
102386         when displaying relative line numbers.
102387         * src/dispextern.h (struct it): New member 'pt_lnum'.
102389         * lisp/faces.el (line-number): New face.
102390         * lisp/cus-start.el (standard): Provide customization forms for
102391         display-line-numbers and display-line-width.
102392         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
102393         turn display-line-numbers on and off.
102395         * etc/NEWS: Document the new feature.
102397 2017-06-17  Philipp Stephani  <phst@google.com>
102399         Allow local variables section to begin with a square bracket
102401         Fixes Bug#27391.
102403         * lisp/international/mule.el (find-auto-coding): Fix regular
102404         expression for "Local Variables" section.
102406         * test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
102407         Add unit test.
102409 2017-06-17  Philipp Stephani  <phst@google.com>
102411         Remove unnecessary point motion
102413         * src/editfns.c (Freplace_buffer_contents): Remove unnecessary point
102414         motion.
102416 2017-06-17  Philipp Stephani  <phst@google.com>
102418         Add command to replace buffer contents
102420         Add a new command 'replace-buffer-contents' that uses the Myers diff
102421         algorithm to non-destructively replace the accessible portion of the
102422         current buffer.  The Myers algorithm is implemented in Gnulib.
102424         * src/editfns.c (Freplace_buffer_contents): New command.
102425         (set_bit, bit_is_set, buffer_chars_equal): New helper functions.
102426         (syms_of_editfns): Define new command.
102428         * test/src/editfns-tests.el (replace-buffer-contents-1)
102429         (replace-buffer-contents-2): New unit tests.
102431         * src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.
102433         * admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
102435 2017-06-17  Andreas Schwab  <schwab@linux-m68k.org>
102437         * lisp/international/characters.el: Update list of zero and full
102438         width characters according to Unicode 9.0.0.
102440 2017-06-17  Simen Heggestøyl  <simenheg@gmail.com>
102442         Complete CSS property values less eagerly (Bug#27392)
102444         * lisp/textmodes/css-mode.el (css--complete-property-value): Be less
102445         eager by looking for a colon after the property which values are being
102446         completed for.
102448         * test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
102449         Add a test case ensuring that properties that are prefixes of other
102450         properties don't hinder further completion.
102452 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
102454         Handle integer indices for eshell variables (Bug#26055)
102456         * lisp/eshell/esh-var.el (eshell-index-value): Convert index to number
102457         if it's been marked as one, just like `eshell-lisp-command' does.
102459 2017-06-17  Mark Oteiza  <mvoteiza@udel.edu>
102461         Don't bind org-agenda key to an anonymous function
102463         * lisp/org/org-agenda.el: Bind "g" to named command.
102464         (org-agenda-redo-all): New command.  Extend the previous functionality
102465         through a prefix argument.
102467 2017-06-17  Dmitry Gutov  <dgutov@yandex.ru>
102469         Add test for the fix in the parent commit
102471         * test/src/undo-tests.el (undo-test-skip-invalidated-markers):
102472         New test, for the fix in the parent commit.
102474 2017-06-17  Nitish Chandra  <nitishchandrachinta@gmail.com>  (tiny change)
102476         primitive-undo: Update only the currently valid markers
102478         * lisp/simple.el (primitive-undo):
102479         Update only the currently valid markers (bug#25599).
102481 2017-06-16  Eli Zaretskii  <eliz@gnu.org>
102483         Initial version of native display of line numbers
102485         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: New
102486         buffer-local variable.
102487         Include <math.h>.
102488         (maybe_produce_line_number): New function.
102489         (DISP_INFINITY): Rename from INFINITY, since math.h defines INFINITY.
102490         (try_window_reusing_current_matrix): Don't use this method when
102491         display-line-numbers is in effect.
102492         * src/dispextern.h (struct it): New members 'lnum'.
102494 2017-06-16  Philipp Stephani  <phst@google.com>
102496         Correctly detect URLs surrounded by parentheses in comments
102498         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url):
102499         Make parentheses match work inside comments.
102501         * test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add
102502         unit test.
102504 2017-06-16  Michael Albinus  <michael.albinus@gmx.de>
102506         Fix load-path issue when it contains remote directories
102508         * lisp/net/tramp.el (tramp-file-name-handler): Use `autoloadp'.
102509         (tramp-use-absolute-autoload-file-names): New defun.  Call it
102510         after loading tramp.el.
102512         * test/lisp/net/tramp-tests.el (tramp-test38-remote-load-path):
102513         New test.
102514         (tramp-test39-unload): Rename.
102516 2017-06-16  Alan Mackenzie  <acm@muc.de>
102518         Ensure C++ initializer lists don't get fontified.
102520         * lisp/progmodes/cc-cmds.el (c-block-comment-flag): Move declaration to solve
102521         compiler warning.
102523         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add an extra
102524         clause to handle C++ member initialization lists.
102525         (c-font-lock-single-decl): New function, extracted from
102526         c-font-lock-declarations.
102527         (c-font-lock-declarations): Call c-font-lock-single-decl in place of inline
102528         code.
102529         (c-font-lock-cut-off-declarators): Make more rigorous by calling
102530         c-get-fontification-context, c-forward-decl-or-cast-1, and
102531         c-font-lock-single-decl in place of rather approximate code.
102533 2017-06-16  Alan Mackenzie  <acm@muc.de>
102535         Fix hang in CC Mode when ":" is typed after identifier at EOB.
102537         * lisp/progmodes/cc-engine.el (c-forward-declarator): Fix coding error
102538         confusing ":" and EOB.
102540 2017-06-15  Alan Mackenzie  <acm@muc.de>
102542         Create a toggle between block and line comments in CC Mode.
102544         Also (unrelated change) initialize the modes' keymaps at each loading.
102546         * lisp/progmodes/cc-cmds.el (c-update-modeline): amend for the new information
102547         on the modeline.
102548         (c-block-comment-flag): New variable.
102549         (c-toggle-comment-style): New function.
102551         * lisp/progmodes/cc-langs.el (c-block-comment-starter)
102552         (c-line-comment-starter): Make them c-lang-defvars.
102553         (c-block-comment-is-default): New c-lang-defvar.
102554         (comment-start, comment-end): Make the default values dependent on
102555         c-block-comment-is-default.
102557         * lisp/progmodes/cc-mode.el (c-mode-base-map): Define C-c C-k in this map.
102558         (c-basic-common-init): Initialize c-block-comment-flag.
102559         (c-mode-map, c++-mode-map, objc-mode-map, java-mode-map, idl-mode-map)
102560         (pike-mode-map, awk-mode-map): Make entries in these key maps each time the
102561         mode is loaded rather than just once per Emacs session.
102563         * doc/misc/cc-mode.texi (Comment Commands): Introduce the notion of comment
102564         style.
102565         (Minor Modes): Define comment style.  Describe how comment style influences
102566         the information displayed on the modeline.  Document c-toggle-comment-style.
102567         (FAQ): Add a question about toggling the comment style.
102569 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
102571         Pacify clang without munging C source
102573         * configure.ac (WARN_CFLAGS): With Clang, use
102574         -Wno-tautological-compare regardless of --enable-gcc-warnings.
102575         (WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
102576         * lib/strftime.c: Copy from gnulib, reverting Clang-specific
102577         change which I hope is no longer needed.
102578         * src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
102579         some older non-POSIX hosts.
102581 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
102583         No need to complicate make-docfile.c for Clang
102585         * lib-src/make-docfile.c (put_filename): Undo recent change.
102586         The Clang false alarm occurs only with CFLAGS=-save-temps and
102587         we needn’t worry about pacifying unusual compiler configurations.
102589 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
102591         Port './configure CC=clang' to Fedora 25
102593         * configure.ac (HAVE_IMAGEMAGICK): Disable if even a
102594         standard function like MagickRelinquishMemory does not link.
102596 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
102598         Don’t worry about __STDC_VERSION__ in emacs-module
102600         * src/emacs-module.h: Remove __STDC_VERSION__ check.  In the past
102601         we’ve found that some compilers do not define this symbol even
102602         when they work well enough.  If necessary features like stdbool.h
102603         are missing the compiler will complain eventually anyway.
102605 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
102607         Port cleanup check to Oracle Studio 12.5
102609         * src/conf_post.h (__has_attribute_cleanup): Resurrect.
102610         * src/emacs-module.c: Verify __has_attribute (cleanup), but in an
102611         #if this time.
102613 2017-06-14  Bastien  <bzg@gnu.org>
102615         Fix misformatted changelog entry
102617 2017-06-14  Eli Zaretskii  <eliz@gnu.org>
102619         Avoid compiler warning in image.c on MS-Windows
102621         * src/image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Avoid
102622         compilation warning under -Warray-bounds by temporarily disabling
102623         the -Warray-bounds option.
102625 2017-06-14  Michael Albinus  <michael.albinus@gmx.de>
102627         Fix Bug#27315
102629         * lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
102630         New defvar.
102631         (top): Use it.
102633         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
102634         Check for connected, not for connectable.  (Bug#27315)
102635         (tramp-process-actions):
102636         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
102637         Use `tramp-cache-read-persistent-data'.
102639         * test/lisp/net/tramp-tests.el (top): Set also
102640         `tramp-cache-read-persistent-data'.
102642 2017-06-14  Noam Postavsky  <npostavs@gmail.com>
102644         Give a fixed default value for icomplete-prospects-height (Bug#26939)
102646         * lisp/icomplete.el (icomplete-prospects-height): Default to 2.
102647         (icomplete-prospects-length): Remove.
102648         * etc/NEWS: Announce removal.
102650 2017-06-14  Philipp Stephani  <phst@google.com>
102652         Remove some tautological comparisons involving rlim_t
102654         Clang on macOS warns about these with -Wtautological-compare.  POSIX
102655         guarantees that rlim_t is
102656         unsigned (cf.
102657         http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
102658         so these resource limits can never be negative.
102660         * src/emacs.c (main): Remove tautological comparisons.
102662 2017-06-14  Philipp Stephani  <phst@google.com>
102664         Use --module-assertions if modules are available
102666         Using --module-assertions helps us find bugs in the test module.  But
102667         we can use it only if Emacs was compiled with module support.
102669         * test/Makefile.in (MODULES_EMACSOPT): New variable.
102670         (emacs): Use it.
102672 2017-06-14  Philipp Stephani  <phst@google.com>
102674         Define --module-assertions only of modules are available
102676         Fixes Bug#27352.
102678         * src/emacs.c (usage_message, standard_args): Define
102679         --module-assertions only if Emacs has been compiled with module
102680         support.
102682 2017-06-14  Katsumi Yamaoka  <yamaoka@jpl.org>
102684         gnus-article-read-summary-keys: Don't move point for WDD and WDW commands
102686         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys):
102687         No need to restore window config for WDD and WDW commands.
102689 2017-06-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
102691         lisp/net/soap-client.el: Bump version to 3.1.3
102693         * lisp/net/soap-client.el: Bump version to 3.1.3.
102694         (soap-name-p): Fix checkdoc issue.
102696 2017-06-14  Alex Harsanyi  <AlexHarsanyi@gmail.com>
102698         Fix an HTTP encoding error in soap-client.el
102700         * lisp/net/soap-client.el (soap-invoke-internal): Make
102701         SOAPAction header a UTF-8 encoded string.
102703 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
102705         Port cleanup attribute to Oracle Studio 12.5
102707         * INSTALL (--with-modules): List cleanup attribute as prereq.
102708         * src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
102709         * src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
102710         (__has_attribute (cleanup)), as Oracle Studio 12.5 supports
102711         __has_attribute only inside preprocessor expressions.  The C
102712         compiler should check the cleanup attribute in the next line anyway.
102713         (module_reset_handlerlist): Remove an unnecessary ‘const’
102714         that causes Oracle Studio 12.5 to refuse to compile.
102716 2017-06-14  Glenn Morris  <rgm@gnu.org>
102718         Fix running tests in without-modules builds
102720         * test/Makefile.in (EMACSOPT): Remove option that is only defined
102721         with-modules.  emacs-module-tests.el passes it where needed.
102723 2017-06-13  Glenn Morris  <rgm@gnu.org>
102725         * test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.
102727 2017-06-13  Philipp Stephani  <phst@google.com>
102729         Inline test module Makefile into main test Makefile
102731         The test/data/emacs-module/Makefile only built a single target, and
102732         inlining it into test/Makefile simplifies dependency tracking and
102733         reduces code duplication.
102735         * configure.ac: Don't build test/data/emacs-module/Makefile.
102737         * Makefile.in ($(test_module)): Inline compilation.
102738         (clean): Also clean test module outputs.
102740 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
102742         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.
102744 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
102746         Minor tweaks in Tramp manual
102748         * doc/misc/trampver.texi: Add prefixwithspace flag.
102750         * doc/misc/tramp.texi (Password handling): Harmonize example.
102751         (File name completion): Use prefixwithspace flag.
102752         (Frequently Asked Questions): Explain `tramp-histfile-override'.
102754 2017-06-13  Philipp Stephani  <phst@google.com>
102756         Silence two Clang warnings by introducing additional local variables
102758         * lib/strftime.c (libc_hidden_def):
102759         * lib-src/make-docfile.c (put_filename): Introduce local variables to
102760         silence Clang warnings.
102762 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
102764         Fix wrong indentation after string literal (Bug#27306)
102766         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-state)
102767         (lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead.
102768         * test/lisp/emacs-lisp/lisp-mode-tests.el
102769         (lisp-indent-region-after-string-literal): New test.
102771 2017-06-13  Philipp Stephani  <phst@google.com>
102773         Fix version checks for emacs-module.h
102775         We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we
102776         don't need it at all.
102778 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
102780         Buttonize #<bytecode> part of printed functions (Bug#25226)
102782         * lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'.
102783         (cl-print-compiled-button): New variable.
102784         (help-byte-code): New button type, calls `disassemble' in its action.
102785         (cl-print-object): Use it if `cl-print-compiled-button' is
102786         non-nil.
102788 2017-06-12  Philipp Stephani  <phst@google.com>
102790         Print module structure sizes when initializing test module
102792         * test/data/emacs-module/mod-test.c (emacs_module_init): Print
102793         compile-time and runtime sizes of module structures to ease debugging
102795 2017-06-12  Glenn Morris  <rgm@gnu.org>
102797         Small portability fix for emacs-module.h (bug#27346)
102799         * src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]:
102800         Avoid 'error: missing binary operator before token "("'.
102802 2017-06-12  Glenn Morris  <rgm@gnu.org>
102804         Give a more informative failure in module assertion test
102806         * test/src/emacs-module-tests.el (module--test-assertions):
102807         Rephrase final check to give a more informative failure.
102809 2017-06-12  Philipp Stephani  <phst@google.com>
102811         Fix off-by-one error
102813         * test/data/emacs-module/mod-test.c (emacs_module_init): Fix
102814         off-by-one error.
102816 2017-06-12  Glenn Morris  <rgm@gnu.org>
102818         Clean up after module assertion tests
102820         * test/src/emacs-module-tests.el (module--test-assertions):
102821         Use a temporary directory to contain any core dumps.
102823 2017-06-12  Glenn Morris  <rgm@gnu.org>
102825         Small improvement for module assertion test
102827         * test/src/emacs-module-tests.el (module--test-assertions):
102828         Don't rely on the precise form of an "Abort" message.
102830 2017-06-12  Glenn Morris  <rgm@gnu.org>
102832         Improve previous test/data/emacs-module/Makefile change
102834         * test/data/emacs-module/Makefile.in (clean):
102835         Avoid doing unpleasant things if run in a build without modules.
102837 2017-06-12  Glenn Morris  <rgm@gnu.org>
102839         Small improvements for test/data/emacs-module/Makefile
102841         * test/data/emacs-module/Makefile.in (%.o):
102842         Fix emacs-module dependency.
102843         (SECONDARY): Stop make automatically deleting *.o.
102844         (clean): New rule.
102846 2017-06-12  Glenn Morris  <rgm@gnu.org>
102848         * make-dist: Skip some more generated files in test/.
102850 2017-06-12  Alan Third  <alan@idiocy.org>
102852         Note how fullscreen differs on the NS port
102854         doc/lispref/frames.texi (Size Parameters):
102855         doc/emacs/frames.texi (Tool Bars): Add a description of how macOS
102856         hides the tool-bar and menu-bar in fullscreen.
102858 2017-06-12  Alan Third  <alan@idiocy.org>
102860         Add no-focus-on-map to NS build (bug#25408)
102862         * src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map.
102863         (x-create-frame): Check for no-focus-on-map.
102864         * src/nsterm.h (x_set_no_focus_on_map): New function.
102865         * src/nsterm.m (x_set_no_focus_on_map): New function.
102866         (ns_raise_frame): Add parameter for specifying whether to focus the
102867         frame.
102868         (ns_frame_raise_lower):
102869         (x_make_frame_visible): Handle new parameter for ns_raise_frame.
102871 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
102873         _Noreturn not noreturn
102875         _Noreturn is more portable to non-C11 platforms.  See:
102876         https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html
102877         * src/emacs-module.c: Use _Noreturn, not noreturn.  No need to
102878         include <stdnoreturn.h>.  Reindent to fit in 80 columns.
102880 2017-06-12  Glenn Morris  <rgm@gnu.org>
102882         Update make-dist for recent test/ changes
102884         * make-dist: No longer distribute test/data/emacs-module/Makefile.
102886 2017-06-12  Michael Albinus  <michael.albinus@gmx.de>
102888         Handle port and domain in Tramp's password cache
102890         * doc/misc/tramp.texi (Password handling): Explain port and
102891         domain handling in authinfo.
102893         * lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd):
102894         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword):
102895         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
102896         (tramp-maybe-open-connection):
102897         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
102898         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
102899         (tramp-smb-maybe-open-connection): Handle also domain and port.
102901 2017-06-12  Eli Zaretskii  <eliz@gnu.org>
102903         Avoid compilation warnings with pre-C99 libc
102905         * src/emacs-module.c (module_free_global_ref)
102906         (module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD'
102907         instead of C99 't' format descriptor.
102909 2017-06-12  Philipp Stephani  <phst@google.com>
102911         Flush all output streams before aborting
102913         Maybe the stdout buffer still contains something interesting that
102914         should be flushed.
102916         * src/emacs-module.c (module_abort): Flush all output streams before
102917         aborting.
102919 2017-06-12  Philipp Stephani  <phst@google.com>
102921         Remove an assertion that doesn't test Emacs invariants
102923         * src/emacs-module.c (module_copy_string_contents): Remove an
102924         assertion that doesn't test Emacs invariants.
102926 2017-06-12  Philipp Stephani  <phst@google.com>
102928         Test module: add necessary version checks
102930         * test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary
102931         version checks.
102933 2017-06-12  Philipp Stephani  <phst@google.com>
102935         Use additional CFLAGS from configure
102937 2017-06-12  Philipp Stephani  <phst@google.com>
102939         Use Autoconf to generate the test module Makefile
102941         This makes it easier to pass compilation flags around.
102943         * configure.ac: Also build test module Makefile.
102945         * test/data/emacs-module/Makefile.in: New makefile template.
102947         * test/Makefile.in ($(test_module)): No longer necessary to pass
102948         @MODULES_SUFFIX@ around.
102950         * .gitignore: Test module Makefile can now be ignored.
102952 2017-06-12  Philipp Stephani  <phst@google.com>
102954         Also compile test module as C11
102956         * test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11
102958 2017-06-12  Philipp Stephani  <phst@google.com>
102960         Implement module assertions for users
102962         Add a new command-line option '-module-assertions' that users can
102963         enable developing or debugging a module.  If this option is present,
102964         Emacs performs additional checks to verify that modules fulfill their
102965         requirements.  These checks are expensive and crash Emacs if modules
102966         are invalid, so disable them by default.
102968         This is a command-line option instead of an ordinary variable because
102969         changing it while Emacs is running would cause data structure
102970         imbalances.
102972         * src/emacs.c (main): New command line option '-module-assertions'.
102974         * src/emacs-module.c (module_assert_main_thread)
102975         (module_assert_runtime, module_assert_env, module_assert_value):
102976         New functions to assert module requirements.
102977         (syms_of_module): New uninterned variable 'module-runtimes'.
102978         (init_module_assertions, in_main_thread, module_abort): New helper
102979         functions.
102980         (initialize_environment): Initialize value list.  If assertions are
102981         enabled, use a heap-allocated environment object.
102982         (finalize_environment): Add assertion that environment list is never
102983         empty.
102984         (finalize_runtime_unwind): Pop module runtime object stack.
102985         (value_to_lisp): Assert that the value is valid.
102986         (lisp_to_value): Record new value if assertions are enabled.
102987         (mark_modules): Mark allocated object list.
102988         (MODULE_FUNCTION_BEGIN_NO_CATCH)
102989         (module_non_local_exit_check, module_non_local_exit_clear)
102990         (module_non_local_exit_get, module_non_local_exit_signal)
102991         (module_non_local_exit_throw): Assert thread and environment.
102992         (module_get_environment): Assert thread and runtime.
102993         (module_make_function, module_funcall, module_intern)
102994         (module_funcall, module_make_integer, module_make_float)
102995         (module_make_string, module_make_user_ptr, module_vec_get)
102996         (funcall_module, Fmodule_load): Adapt callers.
102997         (module_make_global_ref): If assertions are enabled, use the global
102998         environment to store global values.
102999         (module_free_global_ref): Remove value from global value list.
103001         * test/Makefile.in (EMACSOPT): Enable module assertions when testing
103002         modules.
103004         * test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
103005         (Fmod_test_invalid_load): New functions to test module assertions.
103006         (emacs_module_init): Bind the new functions.
103008         * test/src/emacs-module-tests.el (mod-test-emacs): New constant for
103009         the Emacs binary file.
103010         (mod-test-file): New constant for the test module file name.
103011         (module--test-assertions): New unit test.
103013 2017-06-12  Philipp Stephani  <phst@google.com>
103015         emacs-module: Use __attribute__((nonnull))
103017         Annotate all parameters with __attribute__((nonnull)) that may not be
103018         NULL.
103020 2017-06-12  Philipp Stephani  <phst@google.com>
103022         Explicitly require C11 or C++11 in emacs-module.h
103024         We already implicitly require them by including stdbool.h.  Just make
103025         the error message a bit clearer, and remove an unnecessary version
103026         comparison.
103028 2017-06-12  Philipp Stephani  <phst@google.com>
103030         Add missing 'require' forms to prevent compiler warnings.
103032         * lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing
103033         requirements.
103035 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
103037         Merge from gnulib
103039         This incorporates:
103040         2017-06-11 getopt-posix: port to glibc 2.25.90
103041         2017-06-04 same-inode: port better to VMS 8.2 and later
103042         * doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
103043         * m4/sys_types_h.m4: Copy from gnulib.
103045 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
103047         Remove Lisp_Misc_Float
103049         * src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float.
103050         * src/lisp.h (Lisp_Misc_Float): Remove.  This placeholder has been
103051         unused for two decades; if we ever want to change floats to be a
103052         misc type we can bring it back then.
103054 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
103056         Make two symbols private to emacs-module.c
103058         * src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION):
103059         Move from here ...
103060         * src/emacs-module.c: ... to here.
103062 2017-06-12  Glenn Morris  <rgm@gnu.org>
103064         Merge from origin/emacs-25
103066         da62c1532e4 (origin/emacs-25) Improve the documentation of filesets
103068 2017-06-12  Glenn Morris  <rgm@gnu.org>
103070         Merge from origin/emacs-25
103072         e80f6a210b0 Describe problems with Microsoft Intellipoint
103073         a73ec1edb07 More accurate documentation of the ':box' face attribute
103075 2017-06-12  Glenn Morris  <rgm@gnu.org>
103077         Merge from origin/emacs-25
103079         eaa00584ceb Improve documentation of 'gnutls-verify-error'
103080         908498cc01b ; etc/PROBLEMS: Describe GTK-related crashes on elementar...
103081         741daec617e ; Describe the problem with ksh when resizing shell window
103083 2017-06-11  Michael Albinus  <michael.albinus@gmx.de>
103085         Some further improvements for tramp-gvfs.el
103087         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
103088         (tramp-gvfs-get-file-attributes)
103089         (tramp-gvfs-maybe-open-connection): Handle davs? properly.
103090         (tramp-gvfs-handler-askquestion): Improve `yes-or-no-p' prompt.
103091         Show question also in batch mode.  Cache result.
103093         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
103094         Support completion for host names and ports.
103096 2017-06-11  Simen Heggestøyl  <simenheg@gmail.com>
103098         Fix highlighting of CSS selectors with double hyphens
103100         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
103101         highlighting of selectors that contain double hyphens.  They would be
103102         mistaken for a variable.
103104 2017-06-11  Philipp Stephani  <phst@google.com>
103106         Support threads in modules
103108         Rather than checking for the main thread, check for the current
103109         thread.
103111         * src/emacs-module.c (check_thread): New function.
103112         (MODULE_FUNCTION_BEGIN_NO_CATCH, module_get_environment)
103113         (module_non_local_exit_check, module_non_local_exit_clear)
103114         (module_non_local_exit_get, module_non_local_exit_signal)
103115         (module_non_local_exit_throw, module_is_not_nil, module_eq): Use it.
103117 2017-06-11  Philipp Stephani  <phst@google.com>
103119         Allow non-local exits in module initializers
103121         Previously signals, throws, and quits from module initialization
103122         functions were ignored.  These function aren't special, and better
103123         errors can be reported using signals than with the initialization
103124         return code, so allow non-local exits.
103126         * src/emacs-module.c (module_signal_or_throw): New helper function.
103127         (Fmodule_load, funcall_module): Use it.
103128         (Fmodule_load): Also allow quitting.
103130 2017-06-11  Noam Postavsky  <npostavs@gmail.com>
103132         Let eshell/sudo handle absolute command names (Bug#27167)
103134         * lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
103135         absolute paths into relative ones.
103137 2017-06-10  Alan Third  <alan@idiocy.org>
103139         Don't wait for toolbar in NS native fullscreen
103141         * src/nsterm.m (EmacsView:updateFrameSize): Don't short-circuit the
103142         function when in fullscreen.
103144 2017-06-10  Alexander Gramiak  <agrambot@gmail.com>
103146         Fix the placement of GTK menus on multi-monitor systems
103148         menu_position_func did not properly use the current monitor's
103149         resolution.  Also see commit '2016-02-06 22:12:53 +0100'.
103151         * lisp/frame.el (frame-monitor-attribute, frame-monitor-geometry)
103152         (frame-monitor-workarea): New functions.
103154         * src/xmenu.c (menu_position_func): Take into account the workarea of
103155         the monitor that contains the mouse.  (Bug#23568)
103157 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
103159         Clarify documentation of 'face-spec-set'
103161         * lisp/faces.el (face-spec-set): Clarify the description of
103162         SPEC-TYPE in the doc string.
103164         * doc/lispref/display.texi (Defining Faces): Clarify the
103165         description of 'face-spec-set's SPEC-TYPE argument.  (Bug#27246)
103167 2017-06-10  Michael Albinus  <michael.albinus@gmx.de>
103169         Fix domain port and handling in tramp-gvfs.el
103171         * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
103172         Return nil if BYTE-ARRAY is nil.
103173         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
103174         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
103175         Fix domain and port handling.
103177         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
103178         Ignore errors.
103180 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
103182         Improve documentation of 'face-spec-set-2'
103184         * lisp/faces.el (face-spec-recalc, face-spec-set-2): Rename 'spec'
103185         to 'face-attrs'.
103186         (face-spec-choose, face-spec-set-2): Doc fix.  (Bug#27238)
103188 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
103190         Fix handling of Python/Guile commands with arguments in gdb-mi.el
103192         * lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp): New
103193         variable.
103194         (gdb-control-commands-regexp): Use it.
103195         (gdb-send): Don't increment gdb-control-level if the command
103196         matches gdb-python-guile-commands-regexp and has non-empty
103197         arguments.  Reported by David Boles <boles@ieee.org> in
103198         https://lists.gnu.org/r/emacs-devel/2017-06/msg00009.html.
103200 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
103202         Preserve point in Dired windows under 'dired-auto-revert-buffer'
103204         * lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
103205         is non-nil, bind switch-to-buffer-preserve-window-point to nil
103206         while calling find-file.  (Bug#27243)
103208 2017-06-09  Philipp Stephani  <phst@google.com>
103210         Give test files a -tests.el suffix
103212         Rename a couple of test files that have the same name as the library
103213         they test.  This harmonizes the naming pattern and makes it possible
103214         to have the tests directories in the load path.
103216 2017-06-09  Philipp Stephani  <phst@google.com>
103218         Fix another compiler warning on macOS
103220         * src/image.c (x_query_frame_background_color): Don't define if we
103221         have NextStep but no image support.
103223 2017-06-09  Philipp Stephani  <phst@google.com>
103225         Add garbage collection support for module environments
103227         * src/emacs-module.c (mark_modules): New function.
103228         (initialize_environment): Properly initialize Lisp objects.
103229         * src/alloc.c (garbage_collect_1): Call it.
103231 2017-06-08  Glenn Morris  <rgm@gnu.org>
103233         Make autogen.sh report relevant environment variables
103235         * autogen.sh (check_version):
103236         Indicate if using an environment variable.
103238 2017-06-08  Noam Postavsky  <npostavs@gmail.com>
103240         Split variable macro env from function env
103242         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove.
103243         (cl-symbol-macrolet): Instead of adding each binding directly into the
103244         main environment with a special key format, put all symbol macro
103245         bindings into a single entry in the main environment under
103246         `:cl-symbol-macros'.
103247         (cl--sm-macroexpand): Look up symbol bindings in the
103248         `:cl-symbol-macros' entry of the environment.
103250 2017-06-07  Glenn Morris  <rgm@gnu.org>
103252         * make-dist: Directory modules/mod-test no longer exists.
103254 2017-06-07  Glenn Morris  <rgm@gnu.org>
103256         More authors.el updates
103258         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
103259         (authors-renamed-files-alist): Additions.
103261 2017-06-07  Glenn Morris  <rgm@gnu.org>
103263         * make-dist: Check a release has a ChangeLog with a release notice.
103265         * make-dist: Use existing ChangeLog if present.
103267 2017-06-07  Michael Albinus  <michael.albinus@gmx.de>
103269         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Fix port handling.
103271 2017-06-07  Lars Ingebrigtsen  <larsi@gnus.org>
103273         (url-cookie-host-can-set-p): Protect against zero-length domains
103275         * lisp/url/url-cookie.el (url-cookie-host-can-set-p): Protect
103276         against zero-length domains.
103278         Backtrace of a real-world site that triggers a bug:
103280         Debugger entered--Lisp error: (args-out-of-range "" 0)
103281           url-cookie-host-can-set-p("www.washingtonpost.com" "")
103282           url-cookie-handle-set-cookie("utm_term=0;Expires=Thursday,
103283           01-January-1970 00:00:00 GMT; path=/; domain=")
103284           url-http-handle-cookies()
103286 2017-06-06  Glenn Morris  <rgm@gnu.org>
103288         More authors.el updates
103290         * admin/authors.el (authors-obsolete-files-regexps)
103291         (authors-valid-file-names, authors-renamed-files-alist)
103292         (authors-renamed-files-regexps): Additions.
103294 2017-06-06  Glenn Morris  <rgm@gnu.org>
103296         More small authors.el updates
103298         * admin/authors.el (authors-aliases): Fix recent addition.
103299         (authors-obsolete-files-regexps, authors-no-scan-regexps)
103300         (authors-ignored-files, authors-valid-file-names)
103301         (authors-renamed-files-alist): Additions.
103303 2017-06-06  Glenn Morris  <rgm@gnu.org>
103305         Make authors.el report names that were ignored
103307         * admin/authors.el (authors-ignored-names): New.
103308         (authors-canonical-author-name): Add file and position arguments.
103309         Record ignored authors.
103310         (authors-scan-change-log, authors-scan-el):
103311         Pass file and position to authors-canonical-author-name.
103312         (authors): Also print authors that were ignored.
103314 2017-06-06  Glenn Morris  <rgm@gnu.org>
103316         * admin/authors.el (authors-aliases): Additions.
103318 2017-06-06  Tino Calancha  <tino.calancha@gmail.com>
103320         * test/lisp/subr-tests.el (subr-tests-bug22027): Add test.
103322 2017-06-06  Noam Postavsky  <npostavs@gmail.com>
103324         * lisp/subr.el (read-passwd): Don't delete return value (Bug#22027).
103326 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
103328         Enable ElDoc messages after the newline command
103330         * lisp/emacs-lisp/eldoc.el:
103331         Add "newline" to the eldoc-add-command-completions call (bug#27228).
103333 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
103335         Enable eldoc-mode explicitly inside read--expression
103337         * lisp/simple.el (read--expression): Call eldoc-mode (bug#27202).
103339 2017-06-06  Andy Moreton  <andrewjmoreton@gmail.com>
103341         Fix check for package-unsigned-archives during retrieval
103343         * lisp/emacs-lisp/package.el (package--download-one-archive):
103344         Fix check for package-unsigned-archives.
103346 2017-06-05  Noah Friedman  <friedman@splode.com>
103348         Merge etc/emacs-buffer.gdb from emacs-25 to master.
103350 2017-06-05  Philipp Stephani  <phst@google.com>
103352         Fix undefined behavior in mapbacktrace
103354         * src/eval.c (Fmapbacktrace): Don't assume that PDL is still valid.
103356 2017-06-05  Eli Zaretskii  <eliz@gnu.org>
103358         Fix emacs-module-tests on MS-Windows
103360         * src/print.c (print_vectorlike): Make sure module function's
103361         address prints with a leading "0x".  This fixes emacs-module-tests
103362         on MS-Windows.  Fix whitespace.
103363         * src/dynlib.c (dynlib_addr): Remove unused variable.  Update
103364         commentary.
103366 2017-06-05  Philipp Stephani  <phst@google.com>
103368         Use unwind protection to clean up data structures in modules
103370         Reuse existing functionality and simplify the code a bit.
103372         * src/emacs-module.c (Fmodule_load): Use unwind protection to clean up
103373         runtime object.
103374         (funcall_module): Use unwind protection to clean up environment
103375         object.
103376         (finalize_environment): Simplify signature.
103377         (finalize_environment_unwind, finalize_runtime_unwind): New functions.
103379 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
103381         Some minor tweaks in tramp-tests.el
103383         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-relative):
103384         Let it pass for all gfvs based methods.
103385         (tramp-test24-file-name-completion): Run method and host
103386         completion for all syntaxes only when expensive tests are enabled.
103387         Do not check host completion for gvfs based methods.
103388         (tramp--test-gvfs-p): Add optional METHOD argument.
103389         (tramp--test-afp-or-smb-p): Remove.
103391 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
103393         Fix error in Tramp rsync method
103395         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-c" argument.
103396         Otherwise, `tramp-test10-write-region' could fail.
103398 2017-06-05  Philipp Stephani  <phst@google.com>
103400         Inline module_has_cleanup
103402         This constant is only used once, and we fail compilation anyway if
103403         it's false.
103405         * src/emacs-module.c (MODULE_SETJMP_1): Inline __has_attribute.
103407 2017-06-05  Philipp Stephani  <phst@google.com>
103409         Add missing dependency to test module source file
103411 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
103413         Omit space that broke ‘make check’
103415         * src/print.c (print_vectorlike): Omit stray space.
103417 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
103419         Remove easserts etc. from emacs-module.c
103421         Most of these seem to run afoul of the comment "Do NOT use
103422         'eassert' for checking validity of user code in the module."
103423         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH)
103424         (module_non_local_exit_check, module_non_local_exit_clear)
103425         (module_non_local_exit_get, module_non_local_exit_signal)
103426         (module_non_local_exit_throw, module_make_string):
103427         Remove unnecessary easserts that pointers are nonnull.
103428         Hardware checks this for us nowadays, and the checks
103429         just clutter up the code.
103430         (module_extract_integer): Remove unnecessary verify that
103431         a C signed integer is in the range INTMAX_MIN..INTMAX_MAX.
103432         The C standard guarantees this.
103433         (module_copy_string_contents): Remove unnecessary eassert
103434         that Lisp strings are null-terminated.
103435         (module_function_arity): Remove unnecessary easserts that
103436         function arities are in range.
103438 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
103440         Remove unnecessary checking in emacs-module.c
103442         * src/emacs-module.c (module_copy_string_contents):
103443         Remove checking, as string lengths are always nonnegative and less
103444         than STRING_BYTES_BOUND, and this is checked elsewhere.
103445         (module_make_string): Check length against STRING_BYTES_BOUND, a
103446         tighter bound than MOST_POSITIVE_FIXNUM.  (funcall_module): Don't
103447         assume that an out-of-range integer is nonnegative.
103449 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
103451         SCHARS and STRING_BYTES are nonnegative
103453         Tell the compiler that SCHARS and STRING_BYTES are nonnegative, in
103454         the hopes that this will optimize a bit better.  Also, check this
103455         at runtime if ENABLE_CHECKING.
103456         * src/lisp.h (SCHARS, STRING_BYTES):
103457         eassume that these functions return nonnegative values.
103458         (STRING_SET_CHARS) [ENABLE_CHECKING]:
103459         eassert that newsize is nonnegative.
103461 2017-06-05  Noam Postavsky  <npostavs@gmail.com>
103463         * lisp/desktop.el (desktop-clear): Skip the daemon's frame (Bug#26912).
103465 2017-06-04  Philipp Stephani  <phst@google.com>
103467         Remove an unused error symbol
103469         * src/emacs-module.c (syms_of_module): Remove unused error symbol
103470         'invalid-module-call'.
103472 2017-06-04  Philipp Stephani  <phst@google.com>
103474         Support quitting in modules
103476         The idea is that modules should call env->should_quit from time to
103477         time and return as quickly as possible if it returns true.
103479         * src/emacs-module.c (module_should_quit): New module function.
103480         (initialize_environment): Use it.
103481         (funcall_module): Process potential pending quit.
103483         * src/eval.c (maybe_quit): Add reference to module_should_quit.
103485 2017-06-04  Philipp Stephani  <phst@google.com>
103487         Use more specific errors for module load failure
103489         * src/emacs-module.c (syms_of_module): Add more specific error
103490         symbols.
103491         (Fmodule_load): Use them.
103493 2017-06-04  Philipp Stephani  <phst@google.com>
103495         Remove an unneeded assertion
103497         * src/emacs-module.c (module_copy_string_contents): Remove unneeded
103498         assertion.  If this assertion triggers, we raise an error anyway.
103500 2017-06-04  Philipp Stephani  <phst@google.com>
103502         Guard against signed integer overflows
103504         * src/emacs-module.c (module_extract_integer)
103505         (module_copy_string_contents, module_make_string): Guard against
103506         signed integer overflows.
103508 2017-06-04  Philipp Stephani  <phst@google.com>
103510         Add a couple more assertions to the module code
103512         These can help module authors debug crashes.
103514         * src/emacs-module.c (module_non_local_exit_check)
103515         (module_non_local_exit_clear, module_non_local_exit_get)
103516         (module_non_local_exit_signal, module_non_local_exit_throw)
103517         (module_copy_string_contents, module_make_string)
103518         (funcall_module, initialize_environment): Add assertions
103520 2017-06-04  Philipp Stephani  <phst@google.com>
103522         Use ATTRIBUTE_MAY_ALIAS where alias violations are likely
103524         In particular, alias violations are likely for the return values of
103525         dlsym(3), which get cast around arbitrarily.
103527         * src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.
103529 2017-06-04  Philipp Stephani  <phst@google.com>
103531         Simplify interface of dynlib_attr.
103533         Instead of returning bool, set the argument pointers to NULL if the
103534         information is not available.
103536         * src/dynlib.c (dynlib_addr): Don't return bool.
103538 2017-06-04  Philipp Stephani  <phst@google.com>
103540         Rationalize environment lifetime management functions
103542         * src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
103543         (finalize_environment): Add parameter for public part of the
103544         environment, like 'initialize_environment'.  Add assertions.
103546 2017-06-04  Philipp Stephani  <phst@google.com>
103548         Rework printing of module functions
103550         Fix a FIXME in emacs-module.c.  Put the printing into print.c, like
103551         other types.
103553         * src/print.c (print_vectorlike): Add code to print module functions.
103555         * src/emacs-module.c (funcall_module): Stop calling
103556         'module_format_fun_env'.  Now that module functions are first-class
103557         objects, they can be added to signal data directly.
103558         (module_handle_signal): Remove now-unused function
103559         'module_format_fun_env'.
103561         * test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.
103563         * src/eval.c (funcall_lambda): Adapt call to changed signature of
103564         'funcall_module'.
103566 2017-06-04  Philipp Stephani  <phst@google.com>
103568         Define helper macro to reduce code duplication
103570         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
103571         macro.
103572         (MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
103573         Use it.
103575 2017-06-04  Philipp Stephani  <phst@google.com>
103577         Remove two FIXMEs that can't be fixed
103579 2017-06-04  Eli Zaretskii  <eliz@gnu.org>
103581         Avoid slow startup in daemon mode when global-linum-mode is on
103583         * lisp/linum.el (linum-on): Don't turn on linum-mode in a
103584         non-client frame of a daemon session.  (Bug#27210)
103586 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
103588         Fix eldoc bug with curved quote
103590         * lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
103591         Substitute quotes in documentation before returning it (Bug#27159).
103593 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
103595         Tune ‘format’ after recent fix
103597         * doc/lispref/strings.texi (Formatting Strings):
103598         * src/editfns.c (Fformat): Format field numbers no longer need
103599         to be unique, reverting the previous doc change since that has
103600         now been fixed.  Also, document that %% should not have modifiers.
103601         * src/editfns.c (styled_format): Improve performance.  Remove
103602         the need for the new prepass over the format string, by using
103603         a typically-more-generous bound for the info array size.
103604         Initialize the info array lazily.  Move string inspection to
103605         the same area to help caching.  Avoid the need for a
103606         converted_to_string bitfield by using EQ.  Cache arg in a
103607         local and avoid some potential aliasing issues to help the
103608         compiler.  Info array is now 0-origin, not 1-origin.
103610 2017-06-04  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
103612         Improve of file-local-name use in vc-git-checkin
103614         * lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
103615         when calling git commit.
103617 2017-06-03  Simen Heggestøyl  <simenheg@gmail.com>
103619         Support a new CSS indentation style
103621         * lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
103622         immediately followed by a newline.
103624         * test/manual/indent/css-mode.css: Add test for the change above.
103626         * test/manual/indent/scss-mode.scss: Ditto.
103628 2017-06-03  Philipp Stephani  <phst@google.com>
103630         Fix a bug when using format field numbers
103632         Previously styled_format overwrite the argument vector.  This is no
103633         longer possible because there might be more than one specification per
103634         argument.  Use the existing auxiliary info array instead.
103636         * src/editfns.c (styled_format): Record arguments in the info
103637         structure instead of overwriting them.
103638         * test/src/editfns-tests.el (format-with-field): Add unit test.
103640 2017-06-03  Paul Eggert  <eggert@cs.ucla.edu>
103642         Document uniqueness limitation of ‘format’
103644         * doc/lispref/strings.texi (Formatting Strings):
103645         * src/editfns.c (Fformat):
103646         Document that field numbers should be unique within a format.
103648 2017-06-03  Glenn Morris  <rgm@gnu.org>
103650         Small rmailmm fix (bug#27203)
103652         * lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
103653         Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.
103655 2017-06-03  Glenn Morris  <rgm@gnu.org>
103657         * admin/authors.el (authors-aliases): Addition.
103659 2017-06-03  Glenn Morris  <rgm@gnu.org>
103661         Add watch for password back to inferior python comint filter
103663         It was removed along with other items for speed (bug#16875),
103664         but doesn't seem to have been causing an issue, and it's useful to
103665         have it there (bug#27154).
103666         * lisp/progmodes/python.el (inferior-python-mode):
103667         Add comint-watch-for-password-prompt to comint-output-filter-functions.
103669 2017-06-03  Ryan  <rct@thompsonclan.org>  (tiny change)
103671         Use completing-read-default in tmm-prompt
103673         tmm uses completing-read, but customizes its behavior so much
103674         that any alternative completing-read-function will almost
103675         certainly break it.  For example, both ido-ubiquitous and ivy have
103676         special code to deactivate themselves for tmm.
103677         * lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
103678         completing-read.  (Bug#27193)
103680 2017-06-02  Mats Lidell  <mats.lidell@cag.se>
103682         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371)
103684 2017-06-02  Glenn Morris  <rgm@gnu.org>
103686         Fix with-todo-test
103688         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
103689         HOME should be a directory, not a file.  Delete it when finished.
103691 2017-06-02  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
103693         Update TUTORIAL.it
103695         * etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.
103697 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
103699         Fix cursor position in Dired buffers after dired-sort-toggle
103701         * src/xdisp.c (display_and_set_cursor): Record cursor coordinates
103702         even if the frame is marked as garbaged.  (Bug#27187)
103704 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
103706         Update TUTORIAL.he
103708         * etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
103710 2017-06-02  Noam Postavsky  <npostavs@gmail.com>
103712         * etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371).
103714 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
103716         Limit format fields to more POSIX-like spec
103718         * doc/lispref/strings.texi (Formatting Strings):
103719         Don’t allow mixing numbered with unnumbered format specs.
103720         * src/editfns.c (styled_format): Don’t bother checking for field 0,
103721         since it doesn’t crash and the behavior is not specified.
103722         * test/src/editfns-tests.el (format-with-field): Adjust tests to
103723         match current doc.  Add more tests for out-of-range fields.
103725 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
103727         Improve performance by avoiding strtoumax
103729         This made (string-to-number "10") 20% faster on my old desktop,
103730         an AMD Phenom II X4 910e running Fedora 25 x86-64.
103731         * admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
103732         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
103733         * lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
103734         * m4/strtoumax.m4: Remove.
103735         * src/editfns.c (str2num): New function.
103736         (styled_format): Use it instead of strtoumax.  Use ptrdiff_t
103737         instead of uintmax_t.  Check for integer overflow.
103738         * src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
103739         Move to private scope and make them enums.
103740         (string_to_number): Compute integer value directly during
103741         first pass instead of revisiting it with strtoumax later.
103743 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
103745         Minor improvements to format field numbers
103747         * src/editfns.c (styled_format): Allow field numbers in a %% spec.
103748         No need for a special diagnostic for field numbers greater than
103749         PTRDIFF_MAX.  Reword diagnostic for field 0.
103750         * test/src/editfns-tests.el (format-with-field): Adjust to match.
103752 2017-06-02  Philipp Stephani  <phst@google.com>
103754         Implement field numbers in format strings
103756         A field number explicitly specifies the argument to be formatted.
103757         This is especially important for potential localization work, since
103758         grammars of various languages dictate different word orders.
103760         * src/editfns.c (Fformat): Update documentation.
103761         (styled_format): Implement field numbers.
103763         * doc/lispref/strings.texi (Formatting Strings): Document field numbers.
103765         * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.
103767         * test/src/editfns-tests.el (format-with-field): New unit test.
103769 2017-06-01  Alexander Gramiak  <agrambot@gmail.com>
103771         Limit scope of local overriding-terminal-local-map
103773         The function `binding' may call isearch-done, which globally sets
103774         overriding-terminal-local-map to nil (Bug#23007).
103775         * lisp/isearch.el (isearch-mouse-2): Don't bind
103776         overriding-terminal-local-map around the call to `binding'.
103778 2017-06-01  Stephen Berman  <stephen.berman@gmx.net>
103780         Correct and isolate the todo-mode test environment
103782         This avoids having to set todo-mode variables globally in the test
103783         file and prevents any existing user todo-mode files from influencing
103784         the tests.
103786         * test/lisp/calendar/todo-mode-tests.el:
103787         (with-todo-test): New macro.
103788         (todo-test-todo-quit01, todo-test-todo-quit02)
103789         (todo-test-item-highlighting): Use it.
103791 2017-06-01  Alan Third  <alan@idiocy.org>
103793         Fix build errors on macOS 10.6 (bug#27059)
103795         * src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.
103797 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
103799         Improve testing of octal and hex display of raw bytes
103801         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
103802         (test-redisplay-5): Add a test with a large codepoint.
103804 2017-06-01  Vasilij Schneidermann  <mail@vasilij.de>
103806         Add customizable to display raw bytes as hex
103808         * src/xdisp.c (get_next_display_element): Dispatch used format string
103809         for unprintables based on new display-raw-bytes-as-hex variable.
103810         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
103812         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
103814         * doc/emacs/display.texi: Document the new variable.
103815         * etc/NEWS: Mention display-raw-bytes-as-hex.
103817         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
103818         (test-redisplay-5): New tests.
103819         (test-redisplay): Call test-redisplay-5.
103821 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
103823         Revert "Add customizable to display raw bytes as hex"
103825         This reverts commit 7c9ac111c5e5d92e620b666893993d5dc562e483.
103827 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
103829         Add customizable to display raw bytes as hex
103831         * src/xdisp.c (get_next_display_element): Dispatch used format string
103832         for unprintables based on new display-raw-bytes-as-hex variable.
103833         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
103835         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
103837         * doc/emacs/display.texi: Document the new variable.
103838         * etc/NEWS: Mention display-raw-bytes-as-hex.
103840         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
103841         (test-redisplay-5): New tests.
103842         (test-redisplay): Call test-redisplay-5.
103844 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
103846         Fix linum under text-scaling when leuven-theme is used
103848         * etc/themes/leuven-theme.el (linum): Make the 'linum' face
103849         inherit from 'default' and 'shadow', so that margins are enlarged
103850         as expected under text-scaling.
103852 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
103854         Free cwd when no longer needed
103856         * lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
103858 2017-06-01  Anders Waldenborg  <anders@0x63.nu>  (tiny change)
103860         Fix memory leak of cwd string in emacsclient (Bug#26628)
103862         * lib-src/emacsclient.c (main): emacsclient retrieves the current
103863         working directory using get_current_dir_name which returns a newly
103864         allocated string.  Make sure this string is freed before exiting.
103866 2017-06-01  Glenn Morris  <rgm@gnu.org>
103868         Quieten compilation of some test files
103870         * test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
103871         * test/src/data-tests.el (binding-test-set-constant-t)
103872         (binding-test-set-constant-nil, binding-test-set-constant-keyword)
103873         (binding-test-set-constant-nil): Silence compiler.
103874         * test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.
103876 2017-06-01  Glenn Morris  <rgm@gnu.org>
103878         Use true names for invocation- and source-directory
103880         * src/emacs.c (init_cmdargs) <Vinvocation_directory>:
103881         * src/lread.c (init_lread) <Vsource_directory>: Use true names.
103883 2017-06-01  Glenn Morris  <rgm@gnu.org>
103885         Avoid elisp-mode test failures when source dir has multiple names
103887         * test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
103888         Use the true name of the directory.
103890 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
103892         Fix bug with "%%" in error format
103894         * src/doprnt.c (doprnt): Format "%%" correctly.
103895         Problem reported by Philipp Stephani in:
103896         https://lists.gnu.org/r/emacs-devel/2017-05/msg00901.html
103898 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
103900         * src/editfns.c (Fmessage): Improve doc string (Bug#23425#130).
103902 2017-06-01  Katsumi Yamaoka  <yamaoka@jpl.org>
103904         Revert mml-generate-mime-1 (bug#27141)
103906         * lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
103907         with slight modernizations (bug#27141).
103909 2017-05-31  Michael Albinus  <michael.albinus@gmx.de>
103911         Fix Bug#27108
103913         * lisp/recentf.el (recentf-load-list): Bind `non-essential',
103914         in order to avoid Tramp password requests during Emacs
103915         startup.  (Bug#27108)
103917 2017-05-31  Glenn Morris  <rgm@gnu.org>
103919         * test/Makefile.in (.SECONDARY): Stop make deleting .elc files.
103921 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
103923         Document current-line hscrolling in ELisp manual
103925         * doc/lispref/windows.texi (Horizontal Scrolling): Document the
103926         new mode of auto-hscrolling only the current line.
103928 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
103930         Support lower bound on hscrolling when only current line scrolls
103932         * doc/emacs/display.texi (Horizontal Scrolling): Document the new
103933         mode of auto-hscrolling only the current line.
103935         * src/xdisp.c (init_iterator): When hscrolling only the
103936         current line, apply the window's min_hscroll here, so that
103937         non-current lines will be hscrolled by that minimum.
103938         Suggested by Stephen Berman <stephen.berman@gmx.net>.
103939         (hscroll_window_tree): Account for window's min_hscroll when
103940         deciding whether to recompute the hscroll.
103941         (display_line): Subtract window's min_hscroll from x_incr, as that
103942         was already accounted for in init_iterator.  (Bug#27008)
103944 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
103946         cl-print: handle circular objects when `print-circle' is nil (Bug#27117)
103948         * lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
103949         (cl-print-object): When `print-circle' is nil, bind it to a list of
103950         objects that are currently printing to avoid printing the same object
103951         endlessly.
103952         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.
103954 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
103956         Further simplify test/Makefile, optionally load elc tests
103958         * test/Makefile.in: Use make's error ignoring feature instead of
103959         suppressing test errors with shell.  Compile test files in the main
103960         make invocation instead of a recursive 'make' call.  Optionally load
103961         .elc test files if TEST_LOAD_EL is set to something other than 'yes'.
103962         Remove obsolete commentary.
103964 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
103966         Avoid inflooping in redisplay due to Spacemacs and linum-mode
103968         * src/xdisp.c (redisplay_internal): Limit the number of redisplay
103969         retries when a frame becomes garbaged as result of redisplaying
103970         it.  (Bug#27115)
103972 2017-05-31  Tino Calancha  <tino.calancha@gmail.com>
103974         * src/editfns.c (decode-time): Fix docstring.
103976 2017-05-31  Glenn Morris  <rgm@gnu.org>
103978         * admin/update_autogen: Remove bzr support.
103980 2017-05-31  Glenn Morris  <rgm@gnu.org>
103982         Avoid subr test failure when source dir has multiple names
103984         * test/lisp/subr-tests.el (subr-tests--this-file):
103985         Use the true name of the file.  The following test does a string
103986         comparison of this value with that from method-files, which uses
103987         load-history, which contains true names.
103989 2017-05-31  Dmitry Gutov  <dgutov@yandex.ru>
103991         Extract eldoc--supported-p
103993         * lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
103994         (turn-on-eldoc-mode, eldoc-mode): Use it.
103995         (https://lists.gnu.org/r/emacs-devel/2017-05/msg00865.html)
103997 2017-05-30  Glenn Morris  <rgm@gnu.org>
103999         Make "make check" less verbose by default
104001         * test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
104002         (am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
104003         (am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
104004         New, copied from lisp/Makefile.in.
104005         (%.elc, %.log): Simplify and quieten.
104007 2017-05-30  Alan Mackenzie  <acm@muc.de>
104009         Mode line "%q" construct: Just use one number when both would be the same.
104011         * src/xdisp.c (decode_mode_spec): recode the "%q" bit appropriately.
104013 2017-05-30  Alan Mackenzie  <acm@muc.de>
104015         Merge branch 'master' of /home/acm/emacs/emacs.git/master
104017 2017-05-30  Alan Mackenzie  <acm@muc.de>
104019         c-defun-name: Return fully qualified method names when wanted in C++, etc.
104021         * lisp/progmodes/cc-cmds.el (c-defun-name): Use
104022         c-back-over-compound-identifier in place of c-backward-token-2 near the end
104023         of the function.
104025 2017-05-30  Glenn Morris  <rgm@gnu.org>
104027         Reduce scope of recent test/Makefile HOME change
104029         * test/Makefile.in (%.log): Move setting of HOME here from top-level.
104031 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
104033         Skip .#* temporaries when finding sources
104035         Without this patch, ‘make check’ can fail with the diagnostic
104036         ‘invalid syntax in conditional’ if there is an Emacs temporary
104037         file whose name starts with ‘.#’, because the ‘#’ is treated as
104038         the start of a Make comment.
104039         * lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
104040         * test/Makefile.in (ELFILES):
104041         Skip files starting with ‘.’, so that the .#* files do not cause
104042         trouble.  (We cannot easily skip just files starting with ‘.#’,
104043         since ‘#’ starts a Make comment!)
104045 2017-05-30  Alan Mackenzie  <acm@muc.de>
104047         Merge branch 'master' of /home/acm/emacs/emacs.git/master
104049 2017-05-30  Alan Mackenzie  <acm@muc.de>
104051         Fix the mouse help/key map on the "%p" part of the mode line.
104053         * lisp/bindings.el (mode-line-percent-position): give it a
104054         `risky-local-variable' property.
104055         (mode-line-position): correct the quoting on the mode-line-percent-position
104056         part of the variable, allowing the properties to be properly recognized.
104058 2017-05-30  Alan Mackenzie  <acm@muc.de>
104060         Fix the mouse help/key map on the "%p" part of the mode line.
104062         * lisp/bindings.el (mode-line-percent-position): give it a
104063         `risky-local-variable' property.
104064         (mode-line-position): correct the quoting on the mode-line-percent-position
104065         part of the variable, allowing the properties to be properly recognized.
104067 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
104069         Merge from gnulib
104071         * build-aux/config.guess: Copy from gnulib.
104072         * lib/gnulib.mk.in: Regenerate.
104074 2017-05-30  Glenn Morris  <rgm@gnu.org>
104076         Stop make check interacting with HOME
104078         * test/Makefile.in (HOME): Export a non-existent value.
104080 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
104082         Update .gitattributes to match sources better
104084         * .gitattributes: Remove nt/nmake.defs.  Move dostorture.c, c.C,
104085         algrthms.html.  Use pattern for todo-mode.  Improve patterns for
104086         Ada, C, ObjC, shell.  Add Pascal.  Remove unused pattern *.ruby.
104087         Add config.guess and config.sub as shell files.
104089 2017-05-30  Noam Postavsky  <npostavs@gmail.com>
104091         Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to '--bg-daemon'
104093         * doc/emacs/cmdargs.texi (Initial Options):
104094         * doc/lispref/os.texi (Startup Summary):
104095         * etc/NEWS:
104096         * etc/emacs.service:
104097         * src/emacs.c (main):
104098         * src/lisp.h: Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to
104099         '--bg-daemon'.
104101 2017-05-30  Glenn Morris  <rgm@gnu.org>
104103         todo-mode: don't assume an ordering of tests
104105         * test/lisp/calendar/todo-mode-tests.el (todo-test-todo-quit02)
104106         (todo-test-item-highlighting): Avoid prompting for input file.
104108 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
104110         Improve .gdbinit Lisp value pretty-printing
104112         * src/.gdbinit (to_string): Use an unsigned representation for
104113         Lisp values, as requested by Eli Zaretskii (Bug#27098).
104114         Also, use "make_number(N)" for Lisp integers.
104116 2017-05-30  Dmitry Gutov  <dgutov@yandex.ru>
104118         Turn global-eldoc-mode into a globalized minor mode
104120         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
104121         Turn into globalized mode (bug#19853).
104122         (turn-on-eldoc-mode): Make it into a wrapper instead of alias.
104123         (eldoc-mode): Only show the message when called interactively.
104125 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
104127         Use regexp matching instead of checking exit status
104129         * lisp/progmodes/xref.el (xref-collect-matches):
104130         See if the output buffer contents look like Grep output
104131         instead of checking exit status (bug#23451).
104133 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
104135         Add initial tests for todo-mode.el
104137         *test/lisp/calendar/todo-mode-tests.el:
104138         *test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
104139         *test/lisp/calendar/todo-mode-resources/todo-test-1.todo: New files.
104141         * .gitattributes: Ignore trailing whitespace in todo-mode test
104142         data files, since it is part of the todo-mode file format.
104144 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
104146         Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)
104148         * lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
104149         replacing an anonymous function for the sake of `describe-variable'.
104150         (todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
104151         and remove boundp test of this variable, so its value is available on
104152         invoking `todo-toggle-item-highlighting'.
104154 2017-05-29  Alan Third  <alan@idiocy.org>
104156         Fix build error on macOS 10.6
104158         * src/nsfns.m (compute_tip_xy): Cast NSRect to CGRect and NSPoint to
104159         CGPoint.
104161 2017-05-29  Jules Tamagnan  <jtamagnan@gmail.com>  (tiny change)
104163         Comply with pep 8 style guide for backslash in assignment (Bug#24809)
104165         * lisp/progmodes/python.el (python-indent--calculate-indentation):
104166         Increase indent by `python-indent-offset' after
104167         `:after-backslash-assignment-continuation'.
104169 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
104171         Add suggestion to docstring
104173         * lisp/subr.el (interactive-p): Mention commandp, as this is often
104174           what users are actually looking for.
104176 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
104178         Ensure button-get works in any buffer
104180         * lisp/button.el (button-get): Previously we assumed that button-get
104181           was called in the buffer containing the button.  In other buffers,
104182           button-get always returned nil.  Fix this by passing the relevant
104183           buffer from the marker.
104185 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
104187         Signal error if find-grep returns a nonzero status
104189         * lisp/progmodes/xref.el (xref-collect-matches): Signal error
104190         if find-grep returns a nonzero status (bug#23451).  Remove the
104191         comment: even if some output is present, a non-zero status
104192         means something went wrong and it can't be relied upon.
104194 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
104196         Make sure exiting todo-mode buffer buries it (bug#27121)
104198         This failed due to commit ea3ae33b from 2013-05-16, which prevented
104199         quitting todo-mode buffer after visiting todo-archive buffer from
104200         making the archive buffer current again.  Avoid this now by simply
104201         killing the archive buffer, since there's no need to keep it a live
104202         buffer.  Consequently, quitting a todo-mode buffer can now use
104203         bury-buffer without an argument, which ensures that is will not
104204         becomes current on quitting the buffer that replaced it in the window.
104206         * lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
104207         buffer instead of burying it.  This now allows exiting the
104208         todo-mode buffer by bury-buffer without an argument, so do that.
104210 2017-05-28  Michael Albinus  <michael.albinus@gmx.de>
104212         Some tweaks, almost all for Tramp adb method
104214         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
104215         Use `make-tramp-file-name'.
104216         (tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
104217         (tramp-adb-maybe-open-connection): Set "prompt" property.
104218         (tramp-adb-wait-for-output): Use it.
104220         * lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
104221         (tramp-dump-connection-properties): Check also that there are
104222         properties to be saved.  Don't save "started" property of
104223         "ftp" method.
104225         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
104226         Use `make-tramp-file-name'.
104228         * lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
104229         Host could be empty.
104230         (tramp-file-name-port-or-default): New defun.
104231         (tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
104232         (tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
104233         (tramp-call-process, tramp-call-process-region):
104234         Use `make-tramp-file-name'.
104236         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
104237         Revert change from 2017-05-24.
104238         (tramp-test05-expand-file-name-relative): Let it also pass for
104239         "adb" method.
104241 2017-05-28  Jürgen Hötzel  <juergen@archlinux.org>
104243         Fix Tramp for Android 7
104245         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp):
104246         Username part of prompt is empty on Android 7.
104247         (tramp-adb-ls-toolbox-regexp):
104248         Ignore addition links column on Android 7.
104249         (tramp-adb-get-ls-command):
104250         Dont use --color=none when using toybox (Android 7).  It's not
104251         possible to disable coloring explicitly for toybox ls.
104253 2017-05-27  Svante Carl v. Erichsen  <Svante.v.Erichsen@web.de>  (tiny change)
104255         Fix cl-indent for `loop' with :keywords (Bug#15543)
104257         * lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
104258         ":keywords".
104260 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
104262         Depromiscuify inotify with IN_MASK_ADD
104264         Use IN_MASK_ADD instead of using a no-longer-promiscuous-enough
104265         mask.  This simplifies the code and restores the ability to
104266         use IN_ACCESS, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, and IN_OPEN
104267         in some cases (Bug#26973).
104268         * src/inotify.c (INOTIFY_DEFAULT_MASK): Remove.
104269         (Finotify_add_watch): Use IN_MASK_ADD instead.
104271 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
104273         Restore inotify onlydir support
104275         There was no need to remove it in the 2017-03-26 inotify change,
104276         as it is like IN_DONT_FOLLOW and does not affect other watchers
104277         for the same file.
104278         * src/inotify.c (symbol_to_inotifymask, Finotify_add_watch)
104279         (syms_of_inotify): Bring back onlydir.
104281 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
104283         Simplify computation of inotify mask
104285         * src/inotify.c (add_watch): Accept uint32_t imask instead
104286         of Lisp_Object aspect.  Caller changed.
104287         (Finotify_add_watch): Use aspect_to_inotifymask earlier, to
104288         simplify the code.
104290 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
104292         Improve the documentation of filesets
104294         * doc/emacs/files.texi (Filesets): Fix the description of
104295         fileset-init's effect on the menu bar.  (Bug#27015)
104297 2017-05-27  Philipp Stephani  <phst@google.com>
104299         Don't attempt to recover from undefined behavior in some cases
104301         These functions can only be run in batch mode and exit Emacs on
104302         return, so nothing can be recovered.  Disable unsafe recover
104303         mechanisms so that we get real failures and good stack traces on
104304         fatal signals.
104306         * lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
104307         (batch-byte-recompile-directory):
104308         * lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
104309         (ert-summarize-tests-batch-and-exit): Don't attempt to recover
104310         from undefined behavior.
104312 2017-05-27  Philipp Stephani  <phst@google.com>
104314         Avoid another compiler warning on macOS
104316         When configured with --without-ns, HAVE_NS is not defined on macOS,
104317         thus 'memory-limit' calls the deprecated sbrk(2) function.  Avoid that
104318         by using the pre-defined __APPLE__ preprocessor macro.
104320         * src/alloc.c (Fmemory_limit): Never use sbrk(2) on macOS.
104322 2017-05-27  Luke Yen-Xun Lee  <luke.yx.lee@gmail.com>
104324         Fix ruler-mode text-scaling issues
104326         * lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
104327         for computing scaled text width.
104328         (ruler-mode-text-scaled-window-hscroll)
104329         (ruler-mode-text-scaled-window-width): Compute text scaled
104330         `window-width' value.
104331         (ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
104332         (ruler-mode-ruler): Change `window-hscroll' into
104333         `ruler-mode-text-scaled-window-hscroll', and change `window-width'
104334         into `ruler-mode-text-scaled-window-width'.
104336 2017-05-27  Martin Rudalics  <rudalics@gmx.at>
104338         Minor doc and doc-string fixes (Bug#27091)
104340         * src/window.c (Fset_window_scroll_bars): Fix doc-string.
104342         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
104343         (Display Margins): Mention that `set-window-buffer' may override
104344         settings made by `set-window-fringes', `set-window-scroll-bars'
104345         and `set-window-margins'.
104346         * doc/lispref/windows.texi (Buffers and Windows): Fix doc of
104347         `set-window-buffer'.
104349 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
104351         Avoid args-out-of-range errors on fringe clicks after "C-h k"
104353         * src/keyboard.c (echo_truncate): Don't call Ftruncate if the echo
104354         message is already shorter than NCHARS.  (Bug#27040)
104356 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
104358         Fix GUD "Stop" display when running pdb
104360         * lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
104361         when GUD mode is 'pdb'.  (Bug#27024)
104363 2017-05-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
104365         Support drag and drop of region by mouse (Bug#26725)
104367         * doc/emacs/frames.texi (Drag and Drop): Document support of drag
104368         and drop region by mouse.
104369         * lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
104370         when start-event is on region.
104371         (mouse-drag-and-drop-region): New function, moves the region by
104372         (mouse-drag-and-drop-region): New defcustom.
104373         * etc/NEWS: Mention mouse-drag-and-drop-region.
104375 2017-05-27  Noam Postavsky  <npostavs@gmail.com>
104377         * lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message.
104379 2017-05-27  Alan Third  <alan@idiocy.org>
104381         Check if instancetype supported in ObjC
104383         * configure.ac: Add check for instancetype.
104384         * src/nsterm.h [!NATIVE_OBJC_INSTANCETYPE]: Define instancetype.
104386 2017-05-26  Wilfred Hughes  <me@wilfred.me.uk>
104388         Mark keywordp as a safe, error-free function
104390         * lisp/emacs-lisp/byte-opt.el: Add keywordp to
104391           side-effect-and-error-free-fns.
104393 2017-05-26  Paul Eggert  <eggert@cs.ucla.edu>
104395         * src/inotify.c: Add FIXME comments.
104397 2017-05-26  Andreas Politz  <politza@hochschule-trier.de>
104399         Fix Bug#26973
104401         * src/inotify.c (INOTIFY_DEFAULT_MASK): Removing ACCESS, OPEN
104402         and CLOSE events on order do let other processes also reading
104403         from their descriptors.  (Bug#26973).
104405 2017-05-26  Michael Albinus  <michael.albinus@gmx.de>
104407         Remove Emacs 23 compat code from Tramp
104409         * doc/misc/tramp.texi (Remote processes): Don't mention
104410         Emacs 24 explicitly.
104411         (Frequently Asked Questions): Remove Emacs 23 from
104412         compatibility list.
104414         * lisp/net/tramp.el:
104415         * lisp/net/tramp-adb.el:
104416         * lisp/net/tramp-cache.el:
104417         * lisp/net/tramp-gvfs.el:
104418         * lisp/net/tramp-sh.el:
104419         * lisp/net/tramp-smb.el: Replace compat function calls.
104421         * lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
104422         (tramp-compat-condition-case-unless-debug)
104423         (tramp-compat-copy-file, tramp-compat-copy-directory)
104424         (tramp-compat-delete-file, tramp-compat-delete-directory)
104425         (tramp-compat-process-live-p): Remove them.
104427         * lisp/net/trampver.el: Make version check fit for Emacs 24.
104429 2017-05-26  Katsumi Yamaoka  <yamaoka@jpl.org>
104431         Work for application/x-tar-gz and image/svg+xml
104433         ;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
104434         ;; of bug#27078 in the Emacs bug list using Gnus.
104436         * lisp/gnus/mm-archive.el (mm-archive-decoders):
104437         Add a decoder for application/x-tar-gz.
104438         (mm-dissect-archive): Error out if a decoder is not found.
104440         * lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
104442 2017-05-26  Tino Calancha  <tino.calancha@gmail.com>
104444         test-calc-23889: Skip test on 32-bit platforms
104446         This test fails on some 32-bit platforms as mentioned in
104447         https://lists.gnu.org/r/emacs-devel/2017-05/msg00737.html
104448         * test/lisp/calc/calc-tests.el (test-calc-23889): Skip when
104449         the Lisp integer is not big enough.
104451 2017-05-25  Alan Third  <alan@idiocy.org>
104453         Fix NS tooltips showing in the wrong place (bug#27053)
104455         * src/nsfns.m (compute_tip_xy): Get current mouse position instead of
104456         last recorded position.
104458 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
104460         lisp/net/soap-client.el: Bump version to 3.1.2
104462         * lisp/net/soap-client.el: Bump version to 3.1.2.
104464 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
104466         Fix soap-inspect.el doc strings
104468         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
104469         string.
104470         (soap-inspect-xs-attribute-group): Likewise.
104472 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
104474         Fix two soap-client.el byte compilation warnings
104476         * lisp/net/soap-client.el (url-http-response-status): Add defvar.
104477         (soap-fetch-xml-from-url): Remove special declaration of
104478         url-http-response-status.
104479         (soap-invoke-internal): Likewise.
104481 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
104483         lisp/net/soap-client.el: Require cl-lib version 0.6.1
104485         * lisp/net/soap-client.el: Require cl-lib version 0.6.1.
104487 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
104488             Stefan Monnier  <monnier@iro.umontreal.ca>
104490         lisp/net/soap-client.el: Shorten some long lines
104492         * lisp/net/soap-client.el (soap-encode-xs-element): Remove
104493         unnecessary progn.
104494         (soap-xs-add-union): Wrap long line.
104496 2017-05-25  Alex Harsanyi  <AlexHarsanyi@gmail.com>
104497             Stefan Monnier  <monnier@iro.umontreal.ca>
104499         Remove cl dependency in soap-client.el and soap-inspect.el
104501         * lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
104502         with cl-case, destructuring-bind with cl-destructuring-bind and
104503         loop with cl-loop.
104505         * lisp/net/soap-client.el: Replace cl library with cl-lib,
104506         defstruct with cl-defstruct, assert with cl-assert, case with
104507         cl-case, ecase with cl-ecase, loop with cl-loop and
104508         destructuring-bind with cl-destructuring-bind.
104510 2017-05-25  Michael Albinus  <michael.albinus@gmx.de>
104512         Switch Tramp to cl-lib
104514         * lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.
104516         * lisp/net/tramp-ftp.el: Don't require cl.
104518         * lisp/net/tramp-gvfs.el: Don't require cl.
104519         (tramp-gvfs-handler-mounted-unmounted)
104520         (tramp-gvfs-connection-mounted-p): Use `cl-*' macros.
104522         * lisp/net/tramp-sh.el: Don't require cl.
104523         (tramp-set-file-uid-gid): Use `shell-quote-argument'.
104524         (tramp-sh-gvfs-monitor-dir-process-filter)
104525         (tramp-sh-inotifywait-process-filter): Use `cl-*' macros.
104527         * lisp/net/tramp-smb.el: Don't require cl.
104528         (tramp-smb-read-file-entry): Use `cl-*' macros.
104530         * lisp/net/tramp.el (cl-lib): Require it rather than cl.
104531         (tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
104532         (tramp-parse-passwd, tramp-parse-etc-group)
104533         (tramp-parse-putty): Use `cl-*' macros.
104535 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
104537         * CONTRIBUTE: Suggest autogen.sh's 'all' operand.
104539 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
104541         Port ATTRIBUTE_MAY_ALIAS to recent icc
104543         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS) [__ICC]:
104544         Define to empty.  Otherwise, icc (ICC) 17.0.4 20170411 says
104545         “warning #2621: attribute "__may_alias__" does not apply here”
104546         for constructs like ‘struct sockaddr *sa = (whatever);
104547         struct sockaddr_in __attribute__ ((__may_alias__)) *sin
104548         = (struct sockaddr_in *) sa;’.
104550 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
104552         Merge from gnulib
104554         This incorporates:
104555         2017-05-25 port to recent icc
104556         * lib/intprops.h: Copy from gnulib.
104558 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
104560         Fix Tramp for python.el
104562         * lisp/net/tramp.el (tramp-get-connection-process): Check,
104563         that VEC is a `tramp-file-name' structure.
104565 2017-05-24  Alan Third  <alan@idiocy.org>
104567         Raise version of macOS we define instancetype for (bug#27059)
104569         * src/nsterm.m: Increase supported version number.
104571 2017-05-24  Alan Third  <alan@idiocy.org>
104573         Define new types on macOS 10.6 (bug#27041)
104575         * src/nsterm.h: Enable instancetype typedef for older macOS, and use
104576         correct NSUInteger instead of int.
104578 2017-05-24  Glenn Morris  <rgm@gnu.org>
104580         Don't autoload new dns-mode command
104582         * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
104583         Remove autoload cookie.
104585 2017-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
104587         * src/fns.c (sxhash): Fix records hashing (bug#27057, bug#26639)
104589         (sxhash_vector): Make it work on pseudo vectors as well.
104590         (sxhash): Treat records like vectors.
104592 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
104594         Adapt tramp-tests.el according to new defstruct
104596         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
104597         Fix test according to new defstruct.
104598         (tramp-test29-environment-variables-and-port-numbers):
104599         Expect it now as passed.  Cleanup at the end.
104601 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
104603         Introduce a defstruct `tramp-file-name' as central data structure.
104605         This solves also Bug#27009.
104607         * lisp/net/tramp.el (tramp-current-domain)
104608         (tramp-current-port): New defvars.
104609         (tramp-file-name): New defstruct.
104610         (tramp-file-name-user-domain, tramp-file-name-host-port)
104611         (tramp-file-name-equal-p): New defuns.
104612         (tramp-file-name-p, tramp-file-name-method)
104613         (tramp-file-name-user, tramp-file-name-host)
104614         (tramp-file-name-localname, tramp-file-name-hop)
104615         (tramp-file-name-real-user, tramp-file-name-domain)
104616         (tramp-file-name-real-host, tramp-file-name-port):
104617         Remove defuns.  They are provided by the defstruct, or not
104618         needed anymore.
104619         (tramp-dissect-file-name, tramp-buffer-name)
104620         (tramp-make-tramp-file-name, tramp-get-buffer)
104621         (tramp-set-connection-local-variables)
104622         (tramp-debug-buffer-name, tramp-message)
104623         (tramp-error-with-buffer, with-parsed-tramp-file-name)
104624         (tramp-completion-dissect-file-name1)
104625         (tramp-handle-file-name-as-directory)
104626         (tramp-handle-file-name-directory)
104627         (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
104628         (tramp-handle-find-backup-file-name)
104629         (tramp-handle-insert-file-contents, tramp-process-actions)
104630         (tramp-check-cached-permissions, tramp-local-host-p)
104631         (tramp-get-remote-tmpdir, tramp-call-process)
104632         (tramp-call-process-region, tramp-read-passwd)
104633         (tramp-clear-passwd):
104634         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
104635         (tramp-adb-handle-expand-file-name)
104636         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
104637         (tramp-adb-handle-process-file)
104638         (tramp-adb-maybe-open-connection):
104639         * lisp/net/tramp-cache.el (tramp-get-hash-table)
104640         (tramp-get-file-property, tramp-set-file-property)
104641         (tramp-flush-file-property, tramp-flush-directory-property)
104642         (tramp-get-connection-property)
104643         (tramp-set-connection-property, tramp-connection-property-p)
104644         (tramp-flush-connection-property, tramp-cache-print)
104645         (tramp-list-connections, tramp-dump-connection-properties)
104646         (tramp-parse-connection-properties):
104647         * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
104648         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
104649         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
104650         (tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
104651         (tramp-gvfs-handler-mounted-unmounted)
104652         (tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
104653         (tramp-gvfs-get-remote-gid)
104654         (tramp-gvfs-maybe-open-connection):
104655         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
104656         (tramp-do-copy-or-rename-file-out-of-band)
104657         (tramp-sh-handle-expand-file-name)
104658         (tramp-sh-handle-start-file-process)
104659         (tramp-sh-handle-process-file, tramp-compute-multi-hops)
104660         (tramp-maybe-open-connection)
104661         (tramp-make-copy-program-file-name, tramp-get-remote-path)
104662         (tramp-get-inline-coding):
104663         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
104664         (tramp-smb-handle-expand-file-name)
104665         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
104666         (tramp-smb-handle-set-file-acl)
104667         (tramp-smb-maybe-open-connection): Adapt according to defstruct.
104669 2017-05-24  Stephen Berman  <steve@rosalinde.fritz.box>
104671         Fix and improve UI of scroll bar menu (bug#27047)
104673         In addition, since the Emacs manual writes "scroll bar", "tool
104674         bar" and "menu bar", use this convention in the Show/Hide menus
104675         and tooltips as well.
104677         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
104678         pressing a radio button in the menu actually show that it was
104679         pressed.  Replace the two radio buttons to turn the horizontal
104680         scroll bar on and off with a single check-box toggle and add a
104681         separator between this and the vertical scroll bar radio
104682         buttons.  Use conventional spelling.
104683         (menu-bar-horizontal-scroll-bar)
104684         (menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
104685         (menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
104686         (menu-bar-mode): Use conventional spelling.
104688 2017-05-24  Katsumi Yamaoka  <yamaoka@jpl.org>
104690         Remove string-as-unibyte
104692         * lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
104693         (canlock-make-cancel-key): No need to use string-as-unibyte.
104695 2017-05-24  Tino Calancha  <tino.calancha@gmail.com>
104697         Fix concatenation of "^" with diff-file-junk-re
104699         This regexp contains "\\|", thus a concatenation
104700         of "^" with it just matches the beginning of line for the
104701         first alternative in diff-file-junk-re.
104702         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
104703         diff-file-junk-re wrapped in a shy group.
104705 2017-05-24  Glenn Morris  <rgm@gnu.org>
104707         Suppress intermittent test failure on hydra
104709         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
104710         (eieio-test-37-obsolete-name-in-constructor): Skip on hydra.
104712 2017-05-24  Peder O. Klingenberg  <peder@klingenberg.no>
104714         New dns-mode command for IPv6 address conversion
104716         This converts IPv6 addresses to a format suitable for
104717         reverse lookup zone files.  (Bug#26820)
104718         * lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
104719         Add dns-mode-ipv6-to-nibbles.
104720         (dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
104721         New functions.
104722         * test/lisp/dns-mode-tests.el: New file.
104724 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
104726         Protect *Backtrace* from being killed (Bug#26650)
104728         * lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
104729         `kill-buffer-hook'.
104731 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
104733         Give a name to lisp-mode's adaptive-fill-function (Bug#22730)
104735         * lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
104736         (lisp-mode-variables): Use it.
104738 2017-05-23  Philipp Stephani  <phst@google.com>
104740         vc-hg.el: Silence byte compiler warning
104742         * lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
104744 2017-05-23  Paul Eggert  <eggert@cs.ucla.edu>
104746         Don't warn about missing brances on macOS
104748         On macOS, removing -Wmissing-braces is not enough; the warning has to
104749         be disabled explicitly.
104751 2017-05-23  Wilfred Hughes  <me@wilfred.me.uk>
104753         Don't treat ' as a string delimiter in RPM spec files
104755         ' is commonly used as an apostrophe in the prose sections of spec
104756         files, which was erroneously highlighted as strings. See for example
104757         http://kmymoney2.sourceforge.net/phb/rpm-example.html
104759         * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
104760           punctuation in RPM spec files.
104762 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
104764         * lisp/emacs-lisp/cl-indent.el: Don't require CL.  Use lexical-binding.
104766         (common-lisp-indent-function-1): Remove unused var `last-point`.
104767         (lisp-indent-error-function): Move defvar before first use.
104769 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
104771         * lisp/international/rfc1843.el: Don't require CL.  Use lexical-binding.
104773         * lisp/international/utf7.el: Don't require CL.  Use lexical-binding.
104775         * lisp/net/shr.el: Use cl-lib instead of cl.
104777 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
104779         * test/src/fns-tests.el, test/src/data-tests.el: Don't use `cl`
104781         * test/src/data-tests.el (binding-test-manual, binding-test-setq-default)
104782         (binding-test-makunbound, data-tests-varalias-watchers)
104783         (data-tests-local-variable-watchers): Silence compiler warnings.
104785 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
104787         * lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler.
104789 2017-05-23  Alan Third  <alan@idiocy.org>
104791         Fix GNUstep build
104793         * src/nsterm.h [NS_IMPL_GNUSTEP]: Add typedefs for Cocoa-only types.
104794         (NSWindowStyleMaskUtilityWindow): #define to NSUtilityWindowMask in
104795         GNUstep and old versions of macOS.
104796         * src/nsfns.m (ns-set-mouse-absolute-pixel-position): Function only
104797         works in cocoa, not GNUstep.
104799 2017-05-23  Michael Albinus  <michael.albinus@gmx.de>
104801         Add test for Bug#27009 in tramp-tests.el
104803         * lisp/net/tramp-sh.el (tramp-compute-multi-hops):
104804         Check `tramp-file-name-real-host' for being a local host.
104806         * lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.
104808         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
104809         Declare default host for mock method.
104810         (tramp-test29-environment-variables-and-port-numbers): New test.
104812 2017-05-23  Glenn Morris  <rgm@gnu.org>
104814         Don't advertise s_client in tls.el docs
104816         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
104817         Don't mention s_client in docs.
104819         (cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)
104821 2017-05-23  Rob Browning  <rlb@defaultvalue.org>
104823         Remove s_client usage from tls.el
104825         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
104826         Ref http://bugs.debian.org/766397
104827         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
104830         (cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
104832 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
104834         * lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set `words` to nil.
104836 2017-05-22  Sam Steingold  <sds@gnu.org>
104838         Fix "g" in hg&git push&pull buffers
104840         lisp/vc/vc-git.el (vc-git--pushpull): Set locally
104841         `compilation-directory' and `compilation-arguments'.
104842         lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
104844 2017-05-22  Eli Zaretskii  <eliz@gnu.org>
104846         Fix current-line hscrolling in buffers with header-line
104848         * src/xdisp.c (display_line): When testing the glyph row's
104849         vertical position against the cursor position, account for header
104850         line, if any.  (Bug#27014)
104852 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
104854         * lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning
104856         (rfc2047-decode-encoded-words): Use dolist.
104857         (rfc2047-decode-string): Avoid string-to-multibyte.
104858         (rfc2047-pad-base64): Use pcase.
104860 2017-05-21  Dima Kogan  <dima@secretsauce.net>
104862         Make ff-find-other-file symmetric for C++ (Bug#20192)
104864         `cc-other-file-alist' has a mapping of file extensions to switch
104865         between headers and sources, but the mappings weren't completely
104866         symmetric.  In particular .cpp would map to .hh, but .hh would NOT map
104867         to .cpp.
104869         * lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
104870         C++ extensions to make them symmetric with the C++ extensions that map
104871         to them.  This lets repeated invocations of `ff-find-other-file'
104872         toggle between all pairs of sources/headers.
104874 2017-05-21  Philipp Stephani  <phst@google.com>
104876         Fix definition of whitespace in JSON
104878         See
104879         https://lists.gnu.org/r/emacs-devel/2017-05/msg00115.html.
104881         * lisp/json.el (json-skip-whitespace): Fix definition.
104882         * test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
104883         test.
104885 2017-05-21  Philipp Stephani  <phst@google.com>
104887         Improve module function terminology
104889         Module functions were previously called "function environments" when
104890         the functions created by module_make_functions were lambdas.  Now we
104891         can adapt the terminology and rename "function environments" to
104892         "module functions" everywhere.  This also removes the name clash
104893         between "function environments" and "module environments."
104895         * src/emacs-module.c (module_make_function): Adapt comment to reality;
104896         stop using "function environment" terminology.
104897         (funcall_module): Stop using "function environment" terminology.
104899 2017-05-21  Philipp Stephani  <phst@google.com>
104901         Avoid uninitialized read
104903         * src/nsterm.m (ns_read_socket): Don't read uninitialized variable 'nevents'.
104905 2017-05-21  Philipp Stephani  <phst@google.com>
104907         Fix call of registerServicesMenuSendTypes
104909         * src/nsterm.m (initFrameFromEmacs:): nil is not allowed for
104910         returnTypes; pass an empty array instead.
104912 2017-05-21  Philipp Stephani  <phst@google.com>
104914         Clean up code around 'ns-list-services'
104916         * src/nsfns.m (Fns_list_services): Remove unreachable code.  In this
104917         branch NS_IMPL_COCOA cannot be defined.
104918         (interpret_services_menu): Define only if called to avoid compiler
104919         warnings about unused static functions.
104921 2017-05-21  Philipp Stephani  <phst@google.com>
104923         Remove unused automatic variables
104925         * src/nsterm.m (ns_read_socket):
104926         * src/macfont.m (macfont_open): Remove unused automatic variables.
104928 2017-05-21  Philipp Stephani  <phst@google.com>
104930         Nextstep: Replace deprecated enumerators
104932         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:): Replace
104933         deprecated enumerator.
104935 2017-05-21  Philipp Stephani  <phst@google.com>
104937         Nextstep: remove some deprecated method calls
104939         * src/nsterm.m (mouseDown:):
104940         * src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
104941         deprecated method.  The return value is always nil.
104942         * src/macfont.m (mac_font_shape_1): Replace call to deprecated method.
104944 2017-05-21  Philipp Stephani  <phst@google.com>
104946         Remove trailing semicolons in method definitions
104948         These semicolons are ignored and cause compiler warnings.
104950         * src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
104951         * src/nsterm.m (init, updateFrameSize:):
104952         (setFrame:): Remove trailing semicolon.
104954 2017-05-21  Philipp Stephani  <phst@google.com>
104956         Remove calls to deprecated setUsesScreenFonts
104958         * src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
104959         (mac_font_shape_1): Remove screen_font_p parameter.
104960         (mac_screen_font_shape): Remove screen_font_p argument.
104962 2017-05-21  Philipp Stephani  <phst@google.com>
104964         Make a function static that isn't used outside this file
104966         * src/kqueue.c (kqueue_directory_listing): Make static.
104968 2017-05-21  Philipp Stephani  <phst@google.com>
104970         Use NSCharacterCollection instead of CTCharacterCollection
104972         This should not cause behavior changes, but fixes a compiler warning
104973         due to implicit conversions between the enums.
104975         * src/macfont.m (macfont_cache, macfont_lookup_cache)
104976         (macfont_get_glyph_for_cid, macfont_get_uvs_table)
104977         (macfont_variation_glyphs): Use NSCharacterCollection.
104979 2017-05-21  Philipp Stephani  <phst@google.com>
104981         Remove unused function print_regions
104983 2017-05-21  Philipp Stephani  <phst@google.com>
104985         Declare Nextstep unexec functions in lisp.h
104987         This removes compiler warnings about missing prototypes on macOS.
104989 2017-05-21  Philipp Stephani  <phst@google.com>
104991         Nextstep: Use instancetype explicit return type
104993         This removes compiler warnings on macOS and improves type safety.
104995         * src/nsterm.m (initFrameFromEmacs:):
104996         (menuDown:):
104997         (toolbarClicked:):
104998         (toggleToolbar:):
104999         (setMiniwindowImage:):
105000         (initFrame:window:):
105001         (condemn, reprieve, setPosition:portion:whole:):
105002         (repeatScroll:):
105003         * src/nsmenu.m (initWithTitle:):
105004         (initWithTitle:frame:):
105005         (initForView:withIdentifier:):
105006         (init, initWithContentRect:styleMask:backing:defer:):
105007         (initFromContents:isQuestion:):
105008         * src/nsimage.m (allocInitFromFile:):
105009         (initFromXBM:width:height:fg:bg:):
105010         (setXBMColor:):
105011         (initForXPMWithDepth:width:height:): Use instancetype as return
105012         type instead of implicit id.
105014 2017-05-21  Tino Calancha  <tino.calancha@gmail.com>
105016         * lisp/emacs-lisp/package.el (package-delete): Delete readme file as well.
105018 2017-05-21  Alan Mackenzie  <acm@muc.de>
105020         Enhance mode-line percentage offset facility, with "%o" and "%q"
105022         "%o" will display the percentage "travel" of the window through the buffer.
105023         "%q" will display a combination of the percentage offsets of the top and
105024         bottom of the window.  The new user option mode-line-percent-position will
105025         facilitate selecting a setting for this part of the mode line.
105027         * lisp/bindings.el (mode-line-percent-position): New customizable user option.
105028         (mode-line-position): Use mode-line-percent-position in place of "%p", etc.
105030         * src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".
105032         * doc/lispref/modes.texi (Mode Line Variables): Document
105033         mode-line-percent-position.
105034         (%-Constructs): Document %o and %q.
105036         * etc/NEWS: Add an entry for these new facilities.
105038 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
105040         Work around macOS bug in create_process, too
105042         * src/process.c (create_process) [DARWIN_OS]:
105043         Reset SIGCHLD after vfork here, too.
105045 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
105047         Work around macOS bug with vforked child
105049         * src/callproc.c (call_process) [DARWIN_OS]:
105050         Include workaround for apparent macOS bug.
105052 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
105054         Pacify --enable-gcc-warnings without modules
105056         * src/print.c (print_vectorlike): New function, taken from
105057         part of print_object.  This one is indented properly, and
105058         pacifies --enable-gcc-warnings by using a default case
105059         instead of listing all the enum values, sometimes
105060         incompletely.
105061         (print_object): Use it.
105063 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
105065         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code
105067         It does not appear to be needed (Bug#24441).
105068         * etc/PROBLEMS: Remove DARWIN_OS_CASE_SENSITIVE_FIXME stuff.
105069         * src/fileio.c (file_name_case_insensitive_p):
105070         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code.
105072 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
105074         Narrow DARWIN_OS_CASE_SENSITIVE_FIXME to 1 choice
105076         * etc/PROBLEMS: Document this (Bug#24441).
105077         * src/fileio.c (file_name_case_insensitive_p): Prefer pathconf
105078         with _PC_CASE_SENSITIVE, if it works, to
105079         DARWIN_OS_CASE_SENSITIVE_FIXME code.
105080         Support just one method for DARWIN_OS_CASE_SENSITIVE_FIXME,
105081         which matches the Apple documentation more precisely.
105083 2017-05-21  Tom Tromey  <tom@tromey.com>
105085         Fix mhtml-mode fontification bug
105087         Bug#26922
105088         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
105089         sgml-syntax-propertize-inside if not in a submode.
105090         * test/manual/indent/html-multi-4.html: New file.
105092 2017-05-21  Ryan  <rct@thompsonclan.org>  (tiny change)
105094         Fix ido-enable-dot-prefix for empty choice (Bug#26997)
105096         * lisp/ido.el (ido-set-matches-1): Only check first character of
105097         item if it's non-empty.
105099 2017-05-21  Ari Roponen  <ari.roponen@gmail.com>
105101         * lisp/svg.el (svg-line): Fix x/y typo.  (Bug#26953)
105103 2017-05-21  Glenn Morris  <rgm@gnu.org>
105105         Prevent loading vc-bzr writing to ~/.bzr.log
105107         * lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
105109 2017-05-21  Glenn Morris  <rgm@gnu.org>
105111         Prevent running vc-tests writing to ~/.bzr.log
105113         * test/lisp/vc/vc-tests.el (vc-test--create-repo)
105114         (vc-test--register, vc-test--working-revision)
105115         (vc-test--checkout-model): Set temporary BZR_HOME, to disable logging.
105117 2017-05-21  Noam Postavsky  <npostavs@gmail.com>
105119         Don't end non-hook variable with "-hook" (Bug#26623)
105121         * lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
105122         follow-inside-post-command-hook, update uses.
105124 2017-05-21  Charles A. Roelli  <charles@aurox.ch>
105126         Fix macOS mouse movement
105128         * lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
105129         function (Lisp).
105130         (set-mouse-absolute-pixel-position): Change it to call
105131         `ns-set-mouse-absolute-pixel-position' on macOS.
105132         * src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
105133         function.
105134         * src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
105135         screen's height as a base for calculating global coordinates.
105136         * src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
105137         * test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
105138         movement of mouse relative to frame.
105140 2017-05-21  Alan Third  <alan@idiocy.org>
105142         Show tooltip on correct screen (bug#26905)
105144         * src/nsfns.m (compute_tip_xy): Find the correct screen for the
105145         tooltip and constrain it to that screen.
105147 2017-05-21  Andreas Politz  <politza@hochschule-trier.de>
105149         Don't save unrelated buffers before recompiling directory (Bug#25964)
105151         * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
105152         buffers visiting lisp files under the directory being compiled.
105154 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
105156         Minor fixes for arity ranges in emacs modules
105158         * src/emacs-module.c (module_make_function):
105159         Check that arities fit into fixnums, for func-arity’s benefit.
105160         (funcall_module): Avoid unnecessary conversion to EMACS_INT.
105161         (module_function_arity): Allow arities greater than SHRT_MAX.
105163 2017-05-20  Philipp Stephani  <phst@google.com>
105165         Reimplement module functions
105167         Instead of a lambda, create a new type containing all data required to
105168         call the function, and support it in the evaluator.  Because this type
105169         now also needs to store the function documentation, it is too big for
105170         Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
105171         that we don't have to add special support to the garbage collector.
105173         Since the new type is user-visible, give it a predicate.
105175         Now we can easily support 'help-function-args' and 'func-arity'; add
105176         unit tests for these.
105178         * src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
105179         (XMODULE_FUNCTION): New pseudovector type 'module function'.
105181         * src/eval.c (FUNCTIONP): Also treat module functions as functions.
105182         (funcall_lambda, Ffuncall, eval_sub): Add support for calling module
105183         functions.
105184         (Ffunc_arity): Add support for detecting the arity of module
105185         functions.
105187         * src/emacs-module.c (module_make_function): Adapt to new structure.
105188         Return module function object directly instead of wrapping it in a
105189         lambda; remove FIXME.
105190         (funcall_module): New function to call module functions.  Replaces
105191         `internal--module-call' and is called directly from eval.c.
105192         (syms_of_module): Remove internal helper function, which is no longer
105193         needed.
105194         (module_function_arity): New helper function.
105196         * src/data.c (Ftype_of): Adapt to new implementation.
105197         (Fmodule_function_p, syms_of_data): New user-visible function.  Now
105198         that module functions are first-class objects, they deserve a
105199         predicate.  Define it even if not compiled with --enable-modules so
105200         that Lisp code doesn't have to check for the function's existence.
105202         * src/doc.c (Fdocumentation): Support module functions.
105204         * src/print.c (print_object): Adapt to new implementation.
105206         * src/alloc.c (mark_object): Specialized garbage collector support is
105207         no longer needed.
105209         * lisp/help.el (help-function-arglist): Support module functions.
105210         While there, simplify the arity calculation by using `func-arity',
105211         which does the right thing for all kinds of functions.
105213         * test/data/emacs-module/mod-test.c: Amend docstring so we can test
105214         the argument list.
105216         * test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
105217         new docstring.
105218         (mod-test-non-local-exit-signal-test): Because `internal--module-call'
105219         is gone, the backtrace has changed and no longer leaks the
105220         implementation.
105221         (module--func-arity): New test for `func-arity'.
105222         (module--help-function-arglist): New test for `help-function-arglist'.
105224 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
105226         Avoid crashes in GC due to unescaped characters warning
105228         * src/lread.c (load_warn_unescaped_character_literals): Don't cons
105229         Lisp objects from stack-based variables.  (Bug#26961)
105231 2017-05-20  Charles A. Roelli  <charles@aurox.ch>
105233         New commands: find-library-other-window, find-library-other-frame
105235         * lisp/emacs-lisp/find-func.el (find-library-other-window)
105236         (find-library-other-frame): New commands to complement the
105237         existing 'find-library' command.  (Bug#26712)
105238         (read-library-name): New function to read a library name.
105239         * etc/NEWS: Mention 'find-library-other-window' and
105240         'find-library-other-frame'.
105242 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
105244         Fix automatic hscrolling of only the current line
105246         * src/xdisp.c (display_line): When hscrolling only the current
105247         line, increment iterator's first_visible_x and last_visible_x
105248         values to account for the hscroll.  This propagates the hscroll
105249         effect on the iterator geometry all the way down to the
105250         subroutines called by display_line, and avoids scrolling bugs
105251         under large hscroll values.  (Bug#26994)
105253 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
105255         Add handlerlist assertion to module code
105257         * src/emacs-module.c (module_reset_handlerlist):
105258         Check handlerlist.  Suggested by Philipp Stephani in:
105259         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
105261 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
105263         Port --enable-gcc-warnings to clang 3.9.1
105265         * configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
105266         to shut off a false alarm.  Problem reportd by Philipp Stephani in:
105267         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
105269 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
105271         Limit integers printed as characters (Bug#16828)
105273         * lisp/simple.el (eval-expression-print-maximum-character): New
105274         variable.
105275         (eval-expression-print-format): Only display value as character if
105276         it's less than or equal to `eval-expression-print-maximum-character'.
105277         (eval-expression-get-print-arguments): Check
105278         eval-expression-print-maximum-character, allow negative arg to
105279         override it.
105280         (eval-expression):
105281         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
105282         (elisp--eval-last-sexp-print-value): Handle new variable.
105283         * doc/emacs/building.texi (Lisp Eval): Document new variable and
105284         behavior.
105285         * etc/NEWS: Announce it.
105286         * test/lisp/progmodes/elisp-mode-tests.el
105287         (eval-last-sexp-print-format-small-int)
105288         (eval-last-sexp-print-format-small-int-echo)
105289         (eval-last-sexp-print-format-large-int)
105290         (eval-last-sexp-print-format-large-int-echo):
105291         * test/lisp/simple-tests.el (eval-expression-print-format-small-int)
105292         (eval-expression-print-format-small-int-echo)
105293         (eval-expression-print-format-large-int)
105294         (eval-expression-print-format-large-int-echo): New tests.
105296 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
105298         Refactor lisp eval result printing
105300         * lisp/simple.el (eval-expression-print-format): Don't check
105301         `standard-output' or `current-prefix-arg'.
105302         (eval-expression-get-print-arguments): New function, centralizes
105303         decision about how to print results of `eval-expression' and
105304         `eval-last-sexp'.
105305         (eval-expression):
105306         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
105307         Use it.
105309 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
105311         Check that signed right shift is arithmetic
105313         * src/data.c (ash_lsh_impl): Verify that signed right shift is
105314         arithmetic; if we run across a compiler that uses a logical shift
105315         we’ll need to complicate the code before removing this
105316         compile-time check.  Help the compiler do common subexpression
105317         elimination better.
105319 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
105321         Minor .gitignore fixes
105323         * .gitignore: modules/mod-test/Makefile was renamed to
105324         test/data/emacs-module/Makefile.
105325         Omit [0-9]*.core, subsumed by *.core.
105326         test/indent/*.new was renamed to test/manual/indent/*.new.
105327         Add *.swp, for Vim.
105329 2017-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
105331         * lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings
105333 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
105335         Describe problems with Microsoft Intellipoint
105337         * etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
105338         mouse-2 events.  For the details, see
105339         https://lists.gnu.org/r/help-emacs-windows/2017-05/msg00009.html.
105341 2017-05-19  Nick Helm  <nick@tenpoint.co.nz>  (tiny change)
105343         Fix turning off whitespace-mode
105345         * lisp/whitespace.el (whitespace-display-char-on): Correct the way
105346         the original buffer-display-table is saved and restored when
105347         global-whitespace-mode is active.  (Bug#26892)
105349         * test/lisp/whitespace-tests.el
105350         (whitespace-tests-whitespace-mode-on): New function.
105351         (whitespace-tests-display-tables): New test.
105353 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
105355         Minor tweaks in tramp-tests.el
105357         * test/lisp/net/tramp-tests.el (tramp--test-afp-or-smb-p): New defun.
105358         (tramp-test05-expand-file-name-relative): Use it.
105359         (tramp-test38-unload): Run only in batch mode.
105361 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
105363         Fix a problem with OpenSSH 7 in Tramp
105365         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
105366         "ConnectTimeout" during test.  Otherwise, OpenSSH 7 will hang.
105368 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
105370         Improve documentation of 'split-string'
105372         * doc/lispref/strings.texi (Creating Strings): Rearrange text to
105373         make it more readable.  (Bug#26925)
105375 2017-05-19  Ruslan Bekenev  <furyinbox@gmail.com>
105377         Fix typos in doc strings
105379         * lisp/mail/rfc2231.el (rfc2231-encode-string):
105380         * lisp/mail/rfc2047.el (rfc2047-encode-parameter):
105381         * lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
105382         strings.  (Bug#26103)
105384 2017-05-19  Philipp Stephani  <phst@google.com>
105386         Fix module tests on some systems
105388         If dladdr(3) isn't available or didn't work, the printed
105389         representation of a module function will not include the file name,
105390         but only the address.  Make the tests pass in that case.
105392         * test/src/emacs-module-tests.el (module-function-object): Fix match for
105393         module function printed representation
105395 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
105397         Add an optional arguments to string-trim
105399         * lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
105400         (string-trim): Add optional args that serve as defaults per the
105401         original behavior.  (Bug#26908)
105403 2017-05-19  Stephen Berman  <steve@rosalinde.fritz.box>
105405         Fix typo in last change to auto-hscroll-mode
105407         * lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.
105409 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
105411         Support remote editing in emacsclient via Tramp
105413         * lib-src/emacsclient.c (main, decode_options)
105414         (print_help_and_exit, longopts): New option '--tramp' / '-T' which
105415         specifies how emacs should use tramp to find remote files.
105417         * doc/emacs/misc.texi (TCP Emacs server): New subsection describing
105418         the various knobs to tune server.el for TCP operation.
105419         (emacsclient Options): Reference "TCP Emacs server" from description of
105420         --server-file.  Document the new '--tramp' / '-T' options.
105421         * doc/emacs/emacs.texi (Top): Update the top-level menu.
105423         * etc/NEWS: Mention the new option.
105425 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
105427         * lisp/replace.el (query-replace-regexp-eval): Doc fix.
105429 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
105431         Attempt to work around macOS vfork bug
105433         Problem reported by YAMAMOTO Mitsuharu in:
105434         https://lists.gnu.org/r/emacs-devel/2017-05/msg00342.html
105435         This is related to the fix for Bug#26397.
105436         * src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
105437         Report internal error if wait_for_termination fails.
105438         * src/sysdep.c (get_child_status): Return -1 if waitpid is
105439         buggy, instead of aborting.
105440         (wait_for_termination): Return bool success value.
105441         All callers changed.
105443 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
105445         Adjust defcustom form for 'auto-hscroll-mode'
105447         * lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
105448         defcustom form.  Suggested by Stephen Berman <stephen.berman@gmx.net>.
105450 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
105452         Fix DARWIN_OS_CASE_SENSITIVE_FIXME==2 false alarm
105454         * src/fileio.c (file_name_case_insensitive_p):
105455         Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
105456         code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
105457         Problem reported by Philipp Stephani in:
105458         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
105460 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
105462         Port --enable-gcc-warnings to clang 3.9.1
105464         * configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
105465         Problem reported by Philipp Stephani in:
105466         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
105468 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
105470         Clean up compiler warning in emacs-module.c
105472         * src/emacs-module.c (MODULE_SETJMP_1): Use the local var
105473         instead of leaving it unused, to pacify picky compilers.
105474         (module_reset_handlerlist): Now takes a dummy pointer to a struct
105475         handler *, instead of a dummy pointer to an int.  All uses changed.
105477 2017-05-19  Philipp Stephani  <phst@google.com>
105479         Clean up some compiler warnings
105481         * src/sysdep.c (system_process_attributes) [DARWIN_OS]:
105482         Remove unused locals.
105484 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
105486         Support hscrolling only the current line
105488         * src/xdisp.c (hscrolling_current_line_p): New function.
105489         (init_iterator): If auto-hscrolling just the current line, don't
105490         increment the iterator's first_visible_x and last_visible_x
105491         variables.
105492         (hscroll_window_tree): Recompute window's hscroll when moving
105493         vertically to another screen line.
105494         (redisplay_window): If we are hscrolling only the current line,
105495         disable the optimizations that rely on the current matrix being
105496         up-to-date.
105497         (display_line): Accept an additional argument CURSOR_VPOS, the
105498         vertical position of the current screen line which might need
105499         hscrolling; all callers changed.  Compute first_visible_x and
105500         last_visible_x specially when auto-hscrolling current line, by
105501         repeating the calculation that is done in init_iterator in other
105502         modes.
105503         (syms_of_xdisp) <auto-hscroll-mode>: No longer boolean, it can now
105504         accept a 3rd value 'current-line, to turn on the mode where
105505         only the current line is hscrolled.
105507         * etc/NEWS: Mention the new auto-hscroll-mode value.
105509 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
105511         Fix last change in line-move-finish
105513         * lisp/simple.el (line-move-finish): Fix last change.  This corrects a
105514         regression in C-n and C-p when lines are truncated, introduced by the
105515         change in 2017-05-10.
105517 2017-05-18  Simen Heggestøyl  <simenheg@gmail.com>
105519         Expand docstring for CSS mode
105521         * lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
105522         Expand docstrings.
105524 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
105526         Use the expression angle units while simplifying it
105528         Don't use the angle mode, use the angle units included
105529         in the expression instead (Bug#23889).
105530         * lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
105531         (math-simplify): Use it.
105532         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
105533         Don't use calc-angle-mode if math-simplifying-units is non-nil.
105534         * lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
105535         (math-to-radians-2, math-from-radians-2): Don't convert angle
105536         to radians if math-simplifying-units is non-nil.
105537         * test/lisp/calc/calc-tests.el (test-calc-23889): Add test.
105539 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
105541         Revert "Ignore angle mode while simplifying units"
105543         This reverts commit 713e922243fb60d850f7b0ff83f3e2a3682f1832.
105544         This commit causes Bug#25652.
105546 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
105548         Avoid undefined behavior in struct sockaddr
105550         Problem noted by Philipp Stephani in:
105551         https://lists.gnu.org/r/emacs-devel/2017-05/msg00391.html
105552         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
105553         New macros.
105554         * src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
105555         (connect_network_socket, network_interface_info)
105556         (server_accept_connection): Use it when aliasing non-char objects.
105558 2017-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
105560         * lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs
105562         Rename from smerge-refine-subst.  Allow the `beg's to be markers.
105563         Add autoload cookie.
105564         (smerge--refine-forward): Rename from smerge-refine-forward.
105565         (smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
105566         Assume that its `beg` arg is a marker.
105567         (smerge--refine-highlight-change): Rename from
105568         smerge-refine-highlight-change.  Remove `buf` arg.
105569         (smerge-refine-subst): Redefine as an obsolete alias.
105571 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
105573         Work around AddressSanitizer bug with vfork
105575         Problem reported by Jim Meyering in:
105576         https://lists.gnu.org/r/emacs-devel/2017-05/msg00246.html
105577         * src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
105578         Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
105579         vforked child messes up the parent’s shadow memory.  This is too
105580         bad, as we’d rather have AddressSanitizer catch memory-access bugs
105581         related to vfork.
105583 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
105585         Catch IPv4/IPv6 issues at compile time
105587         * src/process.c (connect_network_socket): Use verify,
105588         not eassert, so that any problems are caught at compile-time.
105589         Avoid dodgy cast by using a local var of the correct type.
105591 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
105593         Pacify --enable-gcc-warnings --with-x-toolkit=no
105595         * src/composite.c (autocmp_chars) [!HAVE_WINDOW_SYSTEM]:
105596         Avoid unused local.
105598 2017-05-17  Glenn Morris  <rgm@gnu.org>
105600         * admin/update_autogen (commit): Pull before push.
105602 2017-05-17  Glenn Morris  <rgm@gnu.org>
105604         autoload-rubric no longer provides a feature by default
105606         * lisp/emacs-lisp/autoload.el (autoload-rubric):
105607         Stop providing a feature unless explicitly requested.
105608         (autoload-find-generated-file): Update autoload-rubric call.
105610 2017-05-17  Eli Zaretskii  <eliz@gnu.org>
105612         Remove redundant code in connect_network_socket
105614         * src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
105615         Remove redundant type-casting and variables.  Don't call
105616         'getsockname' to find the port for AF_LOCAL sockets.
105617         [AF_INET6]: Add an assertion to verify that the ports in the IPv4
105618         and IPv6 structures are at the same offset and have the same size.
105620 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
105622         Fix minor timezone memory leak
105624         * src/editfns.c (wall_clock_tz): Remove; unused.
105626 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
105628         Do not discard AddressSanitizer stderr
105630         * src/emacs.c (close_output_streams) [ADDRESS_SANITIZER]:
105631         Do not close stderr.
105633 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
105635         Simplify procname code to avoid GCC bug
105637         * src/process.c (server_accept_connection): Simplify and avoid
105638         multiple calls and struct literals in the last case of a switch.
105639         The old code ran afoul of GCC bug 80659, which caused an internal
105640         compiler error.  Problem reported by Jim Meyering in:
105641         https://lists.gnu.org/r/emacs-devel/2017-05/msg00182.html
105642         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
105644 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
105646         Pacify GCC 7 with --enable-gcc-warnings
105648         * src/regex.c (regex_compile): Swap labels, so that the
105649         FALLTHROUGH immediately precedes the case label.
105651 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
105653         Merge with gnulib, pacifying GCC 7
105655         This incorporates:
105656         2017-05-16 manywarnings: update for GCC 7
105657         2017-05-15 sys_select: Avoid "was expanded before it was required"
105658         * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
105659         -Wformat-overflow=2 options, due to too many false alarms.
105660         * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
105661         Copy from gnulib.
105662         * m4/gnulib-comp.m4: Regenerate.
105663         * src/coding.c (decode_coding_iso_2022):
105664         Fix bug uncovered by -Wimplicit-fallthrough.
105665         * src/conf_post.h (FALLTHROUGH): New macro.
105666         Use it to mark all switch cases that fall through.
105667         * src/editfns.c (styled_format): Use !, not ~, on bool.
105668         * src/gtkutil.c (xg_check_special_colors):
105669         When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
105670         (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
105671         this bug was actually caught by Clang.
105672         * src/search.c (boyer_moore):
105673         Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
105674         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
105675         Tell GCC that glyph->u.glyphless.ch must be a character.
105677 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
105679         Make autoloading Tramp more robust
105681         * lisp/net/tramp.el (tramp-file-name-for-operation):
105682         Use `default-directory' where appropriate.
105683         (tramp-file-name-handler): Do not autoload.
105684         (tramp-autoload-file-name-handler): Reintroduce function.
105685         (tramp-register-autoload-file-name-handlers): Use it.
105687 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
105689         Extend tramp-tests.el
105691         * test/lisp/net/tramp-tests.el (tramp-change-syntax):
105692         Remove declaration, not needed anymore.
105693         (tramp-test05-expand-file-name-relative): New test.
105694         (tramp-test10-write-region): Extend test.
105696 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
105698         * lisp/net/tramp.el: Avoid recursive load of Tramp.  (Bug#26943)
105700 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
105702         Make `indent-line-to' respect field boundaries (Bug#26891)
105704         * lisp/indent.el (indent-line-to): Use `back-to-indentation' instead
105705         of `backward-to-indentation'.
105707 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
105709         Make sure indent-sexp stops at end of sexp (Bug#26878)
105711         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before
105712         indenting.
105713         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New
105714         test.
105716 2017-05-16  Glenn Morris  <rgm@gnu.org>
105718         Stop some epg tests failing on rhel7 with gpg 2.0.22 (bug#23619)
105720         * test/lisp/epg-tests.el (with-epg-tests):
105721         Also set GNUPGHOME in the environment of child processes.
105722         This avoids problems if gpg does not pass --homedir to spawned agent.
105724 2017-05-16  Glenn Morris  <rgm@gnu.org>
105726         Add oldxmenu to system-configuration-features
105728         * configure.ac (HAVE_OLDXMENU): New.
105729         (emacs_config_features): Add oldxmenu.
105731 2017-05-15  Ted Zlatanov  <tzz@lifelogs.com>
105733         * .gitlab-ci.yml: Adjust disclaimer as per RMS.
105735 2017-05-15  Eli Zaretskii  <eliz@gnu.org>
105737         Remove unneeded stuff from nt/inc/sys/time.h
105739         * nt/inc/sys/time.h (_TIMEVAL_DEFINED, struct timevat, timerisset)
105740         (timercmp, timerclear): Don't define.  Instead, include the system
105741         header sys/time.h, and add only the interval timers stuff.  This
105742         avoids compiler warnings about 'gettimeofday's prototype, and also
105743         avoids redefinition of macros from system headers.
105745 2017-05-15  Paul Eggert  <eggert@cs.ucla.edu>
105747         Fix address violation found by AddressSanitizer
105749         * src/process.c (connect_network_socket):
105750         Use struct sockaddr_storage, not struct sockaddr_in, to store info
105751         about a socket address.  Problem reported by Philipp Stephani in:
105752         https://lists.gnu.org/r/emacs-devel/2017-05/msg00314.html
105753         This fix is based on a patch by Philipp in:
105754         https://lists.gnu.org/r/emacs-devel/2017-05/msg00357.html
105756 2017-05-14  Gemini Lasswell  <gazally@runbox.com>
105758         Make edebug-step-in work on generic methods (Bug#22294)
105760         * lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
105761         New function to implement the edebug-form-spec property of
105762         the symbol cl-generic-method-args.
105763         (edebug-instrument-function): If the function is a generic
105764         function, find and instrument all of its methods. Return a list
105765         instead of a single symbol.
105766         (edebug-instrument-callee): Now returns a list. Update docstring.
105767         (edebug-step-in): Handle the list returned by edebug-instrument-callee.
105768         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
105769         cl-generic-method-args in its Edebug spec.
105770         * lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
105771         cl-generic-method-args in its Edebug spec.
105772         * lisp/subr.el (method-files): New function.
105773         * test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
105774         (subr-tests--method-files--nonexistent-methods): New tests.
105776 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
105778         Merge from gnulib
105780         This incorporates:
105781         2017-05-14 same-inode: Adapt for windows-stat-inodes
105782         2017-05-14 windows-stat-inodes: New module
105783         2017-05-14 stat-time: Adapt for windows-stat-timespec
105784         * lib/gnulib.mk.in: Regenerate.
105785         * lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
105786         Copy from gnulib.
105788 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
105790         Remove gettimeofday from w32 sources
105792         * lib-src/ntlib.c (gettimeofday):
105793         * nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused
105794         function 'gettimeofday' and all of its supporting code.
105796 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
105798         Fix the MS-Windows build
105800         * nt/inc/sys/time.h (gettimeofday):
105801         * src/w32.c (gettimeofday): Adjust signature to match Gnulib.
105803 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
105805         More accurate documentation of the ':box' face attribute
105807         * doc/lispref/display.texi (Face Attributes): Fix the description
105808         of negative width of the ':box' attribute.  (Bug#26920)
105810 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
105812         Merge from gnulib
105814         This incorporates:
105815         2017-05-13 largefile: Simplify
105816         2017-05-13 largefile: Improve and document
105817         2017-05-13 truncate: New module
105818         2017-05-13 windows-stat-timespec: New module
105819         2017-05-13 windows-stat-override: New module
105820         2017-05-11 getopt-posix: port to mingw
105821         2017-05-11 gettimeofday: Increase precision on mingw
105822         2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
105823         2017-05-10 Implement a way to opt out from MSVC support
105824         2017-05-09 tzset: Expand comment about TZ problem on native Windows
105825         * build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
105826         * lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
105827         * lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
105828         * lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
105829         * m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
105830         * m4/unistd_h.m4: Copy from gnulib.
105831         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
105833 2017-05-14  Marcin Borkowski  <mbork@mbork.pl>
105835         Merge branch 'fix/bug-21072'
105837 2017-05-14  Ted Zlatanov  <tzz@lifelogs.com>
105839         * .gitlab-ci.yml: Add setup for GitLab CI builds.
105841 2017-05-13  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
105843         New minor mode 'pixel-scroll-mode'
105845         * lisp/pixel-scroll.el: New file.
105847         * etc/NEWS: Mention pixel-scroll-mode.
105849 2017-05-13  Philipp  <phst@google.com>
105851         Make `old-style-backquotes' variable internal
105853         * src/lread.c (load_warn_old_style_backquotes, Fload, read1)
105854         (syms_of_lread): Rename `old-style-backquotes' to
105855         `lread--old-style-backquotes', and clarify that it's for internal
105856         use only.
105857         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
105858         variable.
105859         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Add
105860         unit test.
105861         * test/lisp/emacs-lisp/bytecomp-tests.el
105862         (bytecomp-tests--old-style-backquotes): Add unit test.
105864 2017-05-13  Philipp Stephani  <phst@google.com>
105866         Improve unescaped character literal warnings
105868         * src/lread.c (load_warn_unescaped_character_literals)
105869         (syms_of_lread):
105870         lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve
105871         formatting of unescaped character literal warnings.
105873         * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
105874         test/lisp/emacs-lisp/bytecomp-tests.el
105875         (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
105877 2017-05-12  Alan Mackenzie  <acm@muc.de>
105879         Fontify C++ for loop variable as variable, even when followed by parentheses
105881         In the following: "for (auto *Friend : Class->friends()) {", "Friend" was
105882         getting fontified as a function, due to insufficient checking of the tokens
105883         between it and "()".
105885         * lisp/progmodes/cc-langs.el (c-:-op-cont-tokens, c-:-op-cont-regexp): New
105886         lang-consts/vars.
105888         * lisp/progmodes/cc-engine.el (c-forward-declarator): After finding a putative
105889         declarator's identifier, check for a ":" token inside a for's parentheses, and
105890         abort the search for "(" if this is found.
105892 2017-05-12  Michael Albinus  <michael.albinus@gmx.de>
105894         Make Tramp backward compatible
105896         * lisp/net/tramp-cmds.el (tramp-change-syntax):
105897         Set tramp-autoload cookie.
105899         * lisp/net/tramp-compat.el: Run `tramp-change-syntax' at
105900         startup, if necessary.
105902         * lisp/net/tramp.el (tramp-syntax): Use `tramp-compat-user-error'.
105903         (tramp-register-autoload-file-name-handlers): Do not mark
105904         `operations' for `tramp-file-name-handler'.
105905         (tramp-register-file-name-handlers): Remove also
105906         `tramp-autoload-file-name-handler' for backward compatibility.
105907         (tramp-register-foreign-file-name-handler): Use `delete-dups'.
105909         * test/lisp/net/tramp-tests.el (tramp-change-syntax): Declare.
105911 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
105913         Modify `beginning-of-defun-comments'
105915         * lisp/emacs-lisp/lisp.el (beginning-of-defun-comments): Try not to stop
105916         in the middle of a multiline comment.
105918 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
105920         Fix elisp-tests-with-temp-buffer compilation
105922         * test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer):
105923         Don't refer to the =!NAME= as "markers" since they produce variables
105924         with just plain positions, not marker objects.  Explicitly specify
105925         that CONTENTS is evaluated at compile time.  Don't re-evaluate
105926         CONTENTS at runtime.  Fix debug specification.  Suppress warnings due
105927         to BODY not using =!NAME= variables.
105928         (elisp-test-point-position-regex): Rename from
105929         `elisp-test-point-marker-regex'.
105930         (mark-defun-test-buffer): Wrap in `eval-and-compile'.
105932 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
105934         * lisp/emacs-lisp/lisp.el (mark-defun): Simplify moving the point.
105936 2017-05-12  Marcin Borkowski  <mbork@mbork.pl>
105938         Fix Bug#21072 and rework `mark-defun'
105940         * test/lisp/progmodes/elisp-mode-tests.el (mark-defun-test-buffer):
105941           New variable
105942         (mark-defun-no-arg-region-inactive)
105943         (mark-defun-no-arg-region-active)
105944         (mark-defun-arg-region-active)
105945         (mark-defun-pos-arg-region-inactive)
105946         (mark-defun-neg-arg-region-inactive, mark-defun-bob): Add tests for
105947         the new `mark-defun'.
105949         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p):
105950           New function.
105951         (beginning-of-defun-comments): New function.
105952         (mark-defun): Fix bug#21072, also rewrite large parts of `mark-defun'
105953         to accept a numerical prefix argument.
105955 2017-05-12  Alfred M. Szmidt  <ams@gnu.org>
105957         * lisp/mail/rmail.el (rmail-ignored-headers): Add 3 headers to ignore.
105959 2017-05-12  Eli Zaretskii  <eliz@gnu.org>
105961         Improve doc strings in net-utils.el
105963         * lisp/net/net-utils.el (ifconfig, iwconfig, netstat, arp)
105964         (route, traceroute, nslookup, ftp, smbclient)
105965         (smbclient-list-shares, finger, whois)
105966         (network-connection-to-service, network-service-connection)
105967         (network-connection-reconnect): Improve doc strings.
105969 2017-05-12  Andrew Robbins  <contact@andrewrobbins.info>
105971         Extend DNS lookup commands to allow specifying the name server
105973         * lisp/net/net-utils.el (ffap-string-at-point): Removed due to
105974         'net-utils-machine-at-point' obviating this autoloaded
105975         function (Bug#25426).
105976         (dig-program-options): New customization variable.
105977         (nslookup-host, dns-lookup-host, run-dig): Can now specify
105978         optional name server argument interactively (by prefix arg) and
105979         non-interactively.
105981         * etc/NEWS: Mention the extension of DNS lookup commands.
105983 2017-05-12  Glenn Morris  <rgm@gnu.org>
105985         Don't hard-code loaddefs files in lisp/Makefile
105987         * lisp/Makefile.in (loaddefs): New variable.
105988         (AUTOGENEL): Use $loaddefs, and include directory.
105989         (bootstrap-clean): Update for AUTOGENEL change.
105991 2017-05-11  Katsumi Yamaoka  <yamaoka@jpl.org>
105993         Kill modified buffers silently when quitting (bug#26862)
105995         * lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make
105996         sure that latest drafts are saved, and kill modified buffers silently.
105998 2017-05-10  Perry E. Metzger  <perry@piermont.com>
106000         Implement 1-based column numbering in mode line
106002         * src/xdisp.c (decode_mode_spec): Implement the %C construct.
106004         * lisp/bindings.el (column-number-indicator-zero-based): New
106005         defcustom.
106006         (mode-line-position): Use %C when
106007         column-number-indicator-zero-based is nil.
106009         * src/xdisp.c (syms_of_xdisp) <frame-title-format>:
106010         * src/buffer.c (syms_of_buffer) <mode-line-format>:
106011         * doc/lispref/modes.texi (%-Constructs):
106012         * doc/lispref/frames.texi (Frame Titles): Document the %C
106013         construct.
106015         * doc/emacs/display.texi (Optional Mode Line): Document
106016         'column-number-indicator-zero-based'.
106018         * etc/NEWS: Mention 'column-number-indicator-zero-based' and the
106019         %C construct.
106021 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
106023         Ensure cursor's foreground color is in sync with 'default' face
106025         * src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its
106026         foreground color is different from the background of the glyph
106027         string's face.  (Bug#26851)
106029 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
106031         Fix vertical cursor motion when columns are of unequal size
106033         * lisp/simple.el (line-move-finish): In line-move-visual mode, use
106034         vertical-motion to move to the goal column, as the goal column
106035         should in that case be interpreted in units of frame's canonical
106036         character width.  (Bug#26852)
106038 2017-05-10  Glenn Morris  <rgm@gnu.org>
106040         Fix finding test .el files
106042         * test/Makefile.in (ELFILES): Exclude the data/ directory.
106043         * test/src/lread-tests.el (lread-test-bug26837): Revert previous.
106045 2017-05-10  Tino Calancha  <tino.calancha@gmail.com>
106047         Tweak a recent test
106049         This test fails in my local machine because the data files
106050         are compiled, and the test doesn't expect that.
106051         * test/src/lread-tests.el (lread-test-bug26837): Match a suffix
106052         ending with '.elc' when the data files are compiled.
106054 2017-05-10  Glenn Morris  <rgm@gnu.org>
106056         Put license information in each generated uni-*.el
106058         * admin/unidata/unidata-gen.el (unidata-gen-file):
106059         Get Copyright line from copyright.html.
106060         Put information in file header, not separate README.
106061         (unidata-gen-charprop): Mention the source location.
106062         * lisp/international/README: Remove file.
106064 2017-05-10  Noam Postavsky  <npostavs@gmail.com>
106066         Fix lisp-indent-region and indent-sexp (Bug#26619)
106068         The new lisp-indent-region introduced in 2017-04-22 "Add new
106069         `lisp-indent-region' that doesn't reparse the code." is broken because
106070         it doesn't save the calculated indent amounts for already seen sexp
106071         depths.  Fix this by unifying the indent-sexp and lisp-indent-region
106072         code.  Furthermore, only preserve position 2 of the running parse
106073         when the depth doesn't change.
106074         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that
106075         corresponds with the start point when calling parse-partial-sexp.
106076         (lisp-indent-state): New struct.
106077         (lisp-indent-calc-next): New function, extracted from indent-sexp.
106078         (indent-sexp, lisp-indent-region): Use it.
106079         (lisp-indent-line): Take indentation, instead of parse state.
106080         * test/lisp/emacs-lisp/lisp-mode-tests.el
106081         (lisp-mode-tests--correctly-indented-sexp): New constant.
106082         (lisp-indent-region, lisp-indent-region-defun-with-docstring):
106083         (lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New
106084         tests.
106086 2017-05-10  Dmitry Gutov  <dgutov@yandex.ru>
106088         Simplify url-encode-url and add a test
106090         * lisp/url/url-util.el (url-encode-url): Simplify.
106091         url-generic-parse-url copes with multibyte strings just fine
106092         (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24117#185).
106094         * test/lisp/url/url-parse-tests.el
106095         (url-generic-parse-url/multibyte-host-and-path): New test.
106097 2017-05-10  Glenn Morris  <rgm@gnu.org>
106099         More informative error when required feature missing
106101         * src/fns.c (Frequire): Include file name in missing feature error.
106102         * doc/lispref/loading.texi (Named Features): Don't quote actual error.
106104 2017-05-10  Glenn Morris  <rgm@gnu.org>
106106         Put re-loaded file back at start of load-history (bug#26837)
106108         * src/lread.c (readevalloop): Fix the "whole buffer" check to
106109         operate in the correct buffer.
106110         (Feval_buffer): Move point back to the start after checking
106111         for lexical binding.
106112         * test/src/lread-tests.el (lread-test-bug26837): New test.
106113         * test/data/somelib.el, test/data/somelib2.el: New test data files.
106115 2017-05-09  Eli Zaretskii  <eliz@gnu.org>
106117         Improve documentation of 'gnutls-verify-error'
106119         * lisp/net/gnutls.el (gnutls-verify-error): Improve and expand
106120         doc string.  (Bug#26845)
106122 2017-05-09  Glenn Morris  <rgm@gnu.org>
106124         Don't duplicate autoload code in package.el
106126         * lisp/emacs-lisp/autoload.el (autoload-rubric): Add a package option.
106127         * lisp/emacs-lisp/package.el (autoload-rubric): Declare.
106128         (package-autoload-ensure-default-file): Use autoload-rubric.
106130 2017-05-09  Michael Albinus  <michael.albinus@gmx.de>
106132         * test/lisp/net/tramp-tests.el: Keep additional test.
106134 2017-05-09  Marcin Borkowski  <mbork@mbork.pl>
106136         Add elisp-tests-with-temp-buffer, a new testing macro
106138         * test/lisp/emacs-lisp/lisp-tests.el
106139         (elisp-test-point-marker-regex) New variable.
106140         (elisp-tests-with-temp-buffer): New macro to help test functions
106141         moving the point and/or mark.
106143 2017-05-09  Noam Postavsky  <npostavs@gmail.com>
106145         Revert "Output number of characters added to file (Bug#354)"
106147         The extra message text turned out to be quite annoying in practice,
106148         and is generally more trouble than it's worth.  Also revert several
106149         related changes.
106151         Partially revert "Handle `write-region' messages in Tramp properly"
106152         Revert "New var write-region-verbose, default nil"
106153         Revert "* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)"
106154         Revert "Minor tuneup of write-region change"
106155         Revert "Adjust write-region so file name is at the beginning again"
106156         Revert "Fix handling of non-integer START param to write-region"
106157         Revert "Output number of characters added to file (Bug#354)"
106159         * doc/emacs/files.texi (Misc File Ops):
106160         * etc/NEWS:
106161         * lisp/epa-file.el (epa-file-write-region):
106162         * lisp/gnus/mm-util.el (mm-append-to-file):
106163         * lisp/jka-compr.el (jka-compr-write-region):
106164         * lisp/net/ange-ftp.el (ange-ftp-write-region):
106165         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
106166         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
106167         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
106168         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
106169         * lisp/net/tramp.el (tramp-handle-write-region-message):
106170         * src/fileio.c (write_region, syms_of_fileio):
106171         * test/lisp/net/tramp-tests.el (tramp-test10-write-region): Remove
106172         extra characters from file writing messages.
106174 2017-05-09  Noah Friedman  <friedman@splode.com>
106176         (ybuffer-list): $alist must be ptr-unmasked at the end of the loop,
106177         because $ptr is modified by ygetptr and we use $ptr immediately at the
106178         beginning.
106180 2017-05-08  Ken Brown  <kbrown@cornell.edu>
106182         Skip a test from filenotify-tests.el on Cygwin
106184         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
106185         Skip the last part of the test on Cygwin; it fails due to timing
106186         issues.
106187         (file-notify--test-read-event):  Remove `sit-for' that was added
106188         for Cygwin.
106190 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
106192         Merge from gnulib
106194         This incorporates:
106195         2017-05-08 intprops: don’t depend on ‘verify’
106196         2017-05-07 utimens: on native Windows, improve resolution if fd < 0
106197         2017-05-07 utimens: Improve error code on native Windows
106198         * lib/intprops.h, lib/utimens.c: Copy from gnulib.
106200 2017-05-08  Wilson Snyder  <wsnyder@wsnyder.org>
106202         Fix various verilog-mode.el issues.
106204         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix SystemVerilog
106205         2012 import breaking AUTOINST.  Reported by Johannes Schaefer.
106206         (verilog-auto-wire-type, verilog-insert-definition): Fix AUTOWIRE using
106207         logic in top-level non-SystemVerilog module, bug1142.  Reported by Marcin K.
106208         (verilog-define-abbrev-table) (verilog-mode-abbrev-table): Don't expand
106209         abbrev inside comment/strings, bug1102. Reported by Slava Yuzhaninov.
106210         (verilog-auto): Fix AUTORESET widths pulling from AUTOREGINPUT,
106211         msg2143. Reported by Galen Seitz.
106212         (verilog-modify-compile-command): Fix expansion of __FLAGS__ when
106213         compile-command is globally set, bug1119.  Reported by Galen Seitz.
106215 2017-05-08  Michael Albinus  <michael.albinus@gmx.de>
106217         Handle `write-region' messages in Tramp properly
106219         * lisp/net/tramp.el (tramp-handle-write-region-message): New defsubst.
106220         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
106221         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
106222         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
106223         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use it.
106225         * lisp/net/tramp.el (tramp-password-prompt-regexp)
106226         (tramp-completion-mode-p):
106227         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
106228         (tramp-append-tramp-buffers):
106229         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
106230         Use `bound-and-true-p'.
106232         * lisp/net/tramp-compat.el (tramp-compat-delete-file):
106233         Don't check for `boundp' anymore.
106235         * test/lisp/net/tramp-tests.el (ert-x): Require it.
106236         (tramp--test-messages): New defvar.
106237         (tramp-test10-write-region): Extend test.
106239 2017-05-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
106241         Fix glyph string generation for multi-font compositions (Bug#26742)
106243         * src/xdisp.c (glyph_string_containing_background_width): New function.
106244         (draw_glyphs): Use it to get correct background width.
106245         (compute_overhangs_and_x): Don't change x in the middle of composite
106246         characters.
106248 2017-05-07  Philipp Stephani  <phst@google.com>
106250         Fix all unescaped character literals
106252 2017-05-07  Alan Mackenzie  <acm@muc.de>
106254         CC Mode internal cache: Handle a cache pos being inside a two-char construct.
106256         Cache c-state-semi-nonlit-pos-cache was failing when a cache position was,
106257         e.g., between the two characters of an opening comment "/*", and additionally
106258         there were an odd number of quote marks (apostrophes) in the comment.  This
106259         happened in .../src/xdisp.c in the Emacs master branch around 2017-05-02 at
106260         buffer position 615001.
106262         * lisp/progmodes/cc-defs.el (c-emacs-features): Repurpose symbol
106263         pps-extended-state to mean that there are at least 11 elements in the parser
106264         state.
106266         * lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state)
106267         (c-parse-ps-state-to-cache): Rewrite these to use enhanced cache element list
106268         types which indicate potentially being inside two-char constructs.
106269         (c-parse-ps-state-below): Rewrite to use the new versions of the above two
106270         functions.
106272 2017-05-07  Glenn Morris  <rgm@gnu.org>
106274         Silence an mh-compat compiler warning
106276         * lisp/mh-e/mh-compat.el (mh-url-unreserved-chars): Always define.
106278 2017-05-07  Glenn Morris  <rgm@gnu.org>
106280         Evaluate mh-require when compiling
106282         * lisp/mh-e/mh-alias.el, lisp/mh-e/mh-folder.el:
106283         * lisp/mh-e/mh-gnus.el, lisp/mh-e/mh-search.el:
106284         Evaluate mh-require when compiling, as require is automatically.
106285         * lisp/mh-e/mh-gnus.el: No longer disable byte-compilation.
106287 2017-05-07  Glenn Morris  <rgm@gnu.org>
106289         Remove obsolete method of changing byte-compile-dest-file
106291         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
106292         Define unconditionally.
106294 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
106296         New var write-region-verbose, default nil
106298         By popular demand, write-region char counts are now off by default
106299         (Bug#26796).
106300         * src/fileio.c (write-region-verbose): New Lisp var.
106301         (write_region): Output char count only if the var is non-nil.
106302         * doc/emacs/files.texi (Misc File Ops), etc/NEWS: Document this.
106304 2017-05-07  Glenn Morris  <rgm@gnu.org>
106306         Write autoloads file atomically
106308         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
106309         New function, to save buffer atomically.
106310         (autoload-save-buffers, update-directory-autoloads):
106311         Use autoload--save-buffer.
106312         * lisp/Makefile.in ($(lisp)/loaddefs.el):
106313         No longer write to a temp file by hand.
106315 2017-05-07  Glenn Morris  <rgm@gnu.org>
106317         Write autoloads file once only
106319         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
106320         Simplify.  Don't bother about ensuring the output file exists.
106321         (autoload-generated-file): Add doc.
106322         (autoload-ensure-writable): Update doc.
106323         (autoload-ensure-file-writeable): Handle non-existing file.
106324         (autoload-ensure-default-file): Remove function.
106326 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
106328         Port .gdbinit to GDB 7.11.1 + Python 2.7.12
106330         * src/.gdbinit (Lisp_Object_Printer.to_string):
106331         Explicitly convert integer val to 'int', so that
106332         older GDBs do not complain about the conversion.
106333         * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]:
106334         Give the struct a tag, so that older GDB pretty-printers have a
106335         tag to hang their hat on.
106337 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
106339         Pretty-print const Lisp_Objects in .gdbinit
106341         * src/.gdbinit (Emacs_Pretty_Printers.__call__):
106342         Compare unqualified type to Lisp_Object, to do the right thing
106343         when the expression has type ‘Lisp_Object const’.
106344         Problem reported by Eli Zaretskii in:
106345         https://lists.gnu.org/r/emacs-devel/2017-05/msg00138.html
106347 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
106349         Pacify GCC setjmp/longjmp warning
106351         * src/eval.c (internal_lisp_condition_case): Do not modify local
106352         var VAR, to pacify GCC’s setjmp/longjmp warning which in some
106353         cases mistakenly diagnoses VAR possibly being modified between a
106354         setjmp and a longjmp.
106356 2017-05-06  Philipp  <phst@google.com>
106358         Fix bootstrap build of files.el
106360         * lisp/files.el (file-name-non-special): Don't use cl-letf.
106362 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
106364         Fix last change for MS-Windows
106366         * test/src/emacs-module-tests.el (module-function-object): Port to
106367         MS-Windows.
106369 2017-05-06  Philipp Stephani  <phst@google.com>
106371         Introduce new misc type for module function
106373         This resolves a couple of FIXMEs in emacs-module.c.
106375         * src/lisp.h (MODULE_FUNCTIONP, XMODULE_FUNCTION): New functions.
106377         * src/alloc.c (make_module_function): New function.
106378         (mark_object): GC support.
106380         * src/data.c (Ftype_of, syms_of_data): Handle module function type.
106382         * src/print.c (print_object): Print support for new type.
106384         * src/emacs-module.c (module_make_function, Finternal_module_call):
106385         Use new module function type, remove FIXMEs.
106386         (module_format_fun_env): Adapt and give it external linkage.
106388         * test/src/emacs-module-tests.el (module-function-object): Add unit
106389         test.
106391 2017-05-06  Philipp Stephani  <phst@google.com>
106393         Fix quoted files for 'verify-visited-file-modtime'
106395         Fixes Bug#25951.
106397         * lisp/files.el (file-name-non-special): Set the file name for the
106398         correct buffer.
106400         * test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
106401         Add unit test.
106402         (files-tests--with-advice, files-tests--with-temp-file): New helper
106403         macros.
106405 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
106407         * src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)
106409 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
106411         Turn on GC_CHECK_MARKED_OBJECTS by default under ENABLE_CHECKING
106413         * src/alloc.c (GC_CHECK_MARKED_OBJECTS): Define to 1 by default of
106414         ENABLE_CHECKING is defined.
106415         (mark_object): Test for GC_CHECK_MARKED_OBJECTS being non-zero,
106416         instead of being defined.
106418 2017-05-06  Tom Tromey  <tom@tromey.com>
106420         Fix erc-join with channel password
106422         Bug#25349
106423         * lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
106424         server names.
106425         (erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
106426         Likewise.
106427         (erc-server-join-channel): Move to erc.el.
106428         * lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
106429         (erc-cmd-JOIN): Use erc-server-join-channel.
106431 2017-05-06  Tino Calancha  <tino.calancha@gmail.com>
106433         Ensure the created temp file in a test is new
106435         * test/lisp/buff-menu-tests.el (buff-menu-24962): Use `make-temp-file'
106436         to create the temp file.
106438 2017-05-06  Glenn Morris  <rgm@gnu.org>
106440         Decruftify dns-mode.el a little bit
106442         * lisp/textmodes/dns-mode.el (dns-mode-control-entities):
106443         New constant.
106444         (dns-mode-control-entity, dns-mode-bad-control-entity)
106445         (dns-mode-type, dns-mode-class): New faces.
106446         (dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
106447         (dns-mode-type-face, dns-mode-class): Make these variables use the
106448         new faces, and mark as obsolete.
106449         (dns-mode-font-lock-keywords): Use dns-mode-control-entities.
106451 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
106453         Pretty-print Lisp_Object values in GDB
106455         * src/.gdbinit: Add a pretty-printer for Lisp_Object values.  Now,
106456         GDB displays them as "XIL(0xXXX)" rather than displaying them
106457         as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
106458         otherwise.
106460 2017-05-05  Peder O. Klingenberg  <peder@klingenberg.no>
106462         Tweak dns-mode font-lock
106464         * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
106465         Highlight $TTL as a control entity.  (Bug#26780)
106467 2017-05-05  Glenn Morris  <rgm@gnu.org>
106469         Fontify the doc-string in some CL forms as such
106471         * lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter):
106472         Add the doc-string-elt property.  (Bug#26778)
106474 2017-05-05  Glenn Morris  <rgm@gnu.org>
106476         * lisp/emacs-lisp/cl-lib.el (cl-mapcar): Remove recent autoload cookie.
106478 2017-05-05  Dmitry Gutov  <dgutov@yandex.ru>
106480         cl-defmethod: Make the edebug spec more technically correct
106482         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
106483         edebug spec part for qualifiers as [&rest atom], per
106484         https://lists.gnu.org/r/emacs-devel/2017-05/msg00053.html.
106486 2017-05-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
106488         Fix MH-E not to load cl at runtime (Bug#25552)
106490         * lisp/mh-e/mh-acros.el (defun-mh): Check at runtime, not
106491         compile time, whether the target is bound.
106492         * lisp/mh-e/mh-compat.el: Enable compilation.  Pull in
106493         mh-acros at compile time.
106494         Authored-by: Glenn Morris <rgm@gnu.org>, Noam Postavsky
106495         <npostavs@users.sourceforge.net>
106497 2017-05-04  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
106499         Multiline support in NS "Open Selected File" service.
106501         * lisp/term/ns-win.el (ns-open-file-service): new function. Wraps the
106502         original call in a (split-string) to create as many calls as there
106503         are lines.
106504         (ns-spi-service-call): Call `ns-open-file-service' instead of
106505         `dnd-open-file'.
106507 2017-05-04  Göktuğ Kayaalp  <self@gkayaalp.com>
106509         Require cl-lib at runtime in vc-hg
106511         * lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).
106513 2017-05-04  Tino Calancha  <tino.calancha@gmail.com>
106515         Inherit incompatible/obsolete package faces from error
106517         Don't use the same face for installed packages as for incompatible
106518         or obsolete ones.
106519         * lisp/emacs-lisp/package.el (package-status-incompat): Inherit from error.
106521 2017-05-04  Michael Albinus  <michael.albinus@gmx.de>
106523         Set process property `adjust-window-size-function' to `ignore' in Tramp
106525         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
106526         (tramp-adb-maybe-open-connection):
106527         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
106528         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
106529         (tramp-maybe-open-connection):
106530         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
106531         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
106532         (tramp-smb-maybe-open-connection): Set process property
106533         `adjust-window-size-function' to `ignore'.
106535 2017-05-04  Nicolas Petton  <nicolas@petton.fr>
106537         * lisp/emacs-lisp/seq.el: Bump seq version.
106539 2017-05-04  Damien Cassou  <damien@cassou.me>
106541         Add seq-set-equal-p to test for set equality
106543         * lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
106544           two lists as if they were sets.
106546         * test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
106547           for seq-set-equal-p.
106549 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
106551         Spelling fixes
106553         * lisp/gnus/nndiary.el (nndiary-last-occurrence):
106554         Rename from nndiary-last-occurence.
106555         (nndiary-next-occurrence):
106556         Rename from nndiary-next-occurence.  All uses changed.
106558 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
106560         Merge from pkg-config
106562         * m4/pkg.m4: Copy from pkg-config 0.29.1.
106564 2017-05-04  Tom Tromey  <tom@tromey.com>
106566         Add color highlighting to css-mode
106568         Bug#25525
106569         * lisp/textmodes/css-mode.el (css--color-map): New constant.
106570         (css-value-class-alist): Use css--color-map.
106571         (css--number-regexp, css--percent-regexp)
106572         (css--number-or-percent-regexp, css--angle-regexp): New constants.
106573         (css--color-skip-blanks, css--rgb-color, css--hsl-color): New
106574         functions.
106575         (css--colors-regexp): New constant.
106576         (css--hex-color, css--named-color, css--compute-color)
106577         (css--contrasty-color, css--fontify-colors)
106578         (css--fontify-region): New functions.
106579         (css-mode): Set font-lock-fontify-region-function.
106580         (css-mode-syntax-table): Set syntax on more characters.
106581         (css-fontify-colors): New defcustom.
106582         (scss-mode-syntax-table): Define syntax for ?$ and ?%.
106583         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
106584         Update.
106585         (css-test-rgb-parser, css-test-hsl-parser)
106586         (css-test-named-color): New tests.
106587         * etc/NEWS: Add entry.
106589 2017-05-03  Michael Albinus  <michael.albinus@gmx.de>
106591         Fix Bug#26763
106593         * lisp/files.el (delete-directory): Call file name handler
106594         with `trash' argument.
106596         * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
106597         * lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory):
106598         Add TRASH arg.  Implement it.  (Bug#26763)
106599         (tramp-get-remote-trash): Check for `delete-by-moving-to-trash'.
106601         * lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory):
106602         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
106603         Add _TRASH arg.
106605 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
106607         Use ptrdiff_t, not int, for stack sizes
106609         * src/thread.c (invoke_thread_function):
106610         * src/xterm.c (x_cr_export_frames):
106611         Don’t assume SPECPDL_INDEX fits in ‘int’.
106613 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
106615         Check list object type if --enable-gcc-warnings
106617         * configure.ac (--enable-check-lisp-object-type):
106618         Default to "yes" if --enable-gcc-warnings is not "no".
106619         * etc/NEWS: Mention this.
106620         * src/eval.c (internal_lisp_condition_case): Fix some glitches
106621         with 'volatile' uncovered by the above: in particular, 'clauses'
106622         should be a pointer to volatile storage on the stack, and need not
106623         be volatile itself.  Use an int, not ptrdiff_t, to count clauses.
106624         Don’t bother gathering binding count if VAR is nil.  Use
106625         more-specific local names to try to clarify what’s going on.
106627 2017-05-02  Glenn Morris  <rgm@gnu.org>
106629         Tweak auth-source-pass.el to avoid run-time subr-x
106631         * lisp/auth-source-pass.el (auth-source-pass--parse-data):
106632         Avoid needing subr-x at run-time.
106634 2017-05-02  Charles A. Roelli  <charles@aurox.ch>
106636         Constrain non-child frames to screen area in OS X
106638         * src/nsterm.m (constrainFrameRect:toScreen:): Constrain non-child
106639         frames in OS X, if they would otherwise go offscreen.
106641         (Bug#25818)
106643 2017-05-02  Michael Albinus  <michael.albinus@gmx.de>
106645         Fix error in completion for separate Tramp syntax
106647         * lisp/net/tramp.el (tramp-completion-file-name-regexp-separate):
106648         Tweak regexp.
106650         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
106651         Run method and host name completion for all syntaxes.
106653 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
106655         Avoid compilation warnings
106657         * src/w32fns.c (Fx_file_dialog, w32_parse_and_hook_hot_key):
106658         * src/w32term.c (x_draw_glyph_string):
106659         * src/w32fns.c (compute_tip_xy):
106660         * src/w32font.c (w32font_text_extents):
106661         * src/w32menu.c (set_frame_menubar):
106662         * src/search.c (Freplace_match): Avoid compiler warnings in
106663         optimized builds.
106665 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
106667         Merge from gnulib
106669         This incorporates:
106670         2017-05-02 utimens: port to Emacs + MS-Windows
106671         * lib/utimens.c: Copy from gnulib.
106673 2017-05-02  Gemini Lasswell  <gazally@runbox.com>
106675         Fix Edebug specs for 'cl-defmethod' and 'defmethod'
106677         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
106678         to make Edebug generate a new symbol for each method (Bug#24753) and
106679         to support a string following :extra (Bug#23995).
106680         * lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
106681         make Edebug generate a new symbol for each method (Bug#24753).
106683 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
106685         Temporary fix for the MS_Windows build
106687         * nt/inc/ms-w32.h (WIN32_LEAN_AND_MEAN): Define to an empty value,
106688         to be consistent with Gnulib's utimens.c.  This is because utimens.c
106689         unconditionally defines WIN32_LEAN_AND_MEAN to an empty value, so the
106690         previous definition here conflicted with that.
106692 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
106694         Port format-time-string to MS-Windows better
106696         * test/src/editfns-tests.el (format-time-string-with-zone):
106697         Port test cases to MS-Windows.
106699 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
106701         Merge from gnulib
106703         This incorporates:
106704         2017-05-01 New module 'localtime-buffer'
106705         2017-04-30 utimens: Add support for native Windows
106706         * admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
106707         * configure.ac (tzset): No need for Emacs itself to check now.
106708         * lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
106709         * m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
106710         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
106711         * lib/localtime-buffer.c, lib/localtime-buffer.h:
106712         * m4/localtime-buffer.m4: New files, copied from gnulib.
106713         * src/editfns.c (init_editfns): Assume tzset is callable.
106715 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
106717         Speed up project-find-regexp for simple regexps
106719         * lisp/progmodes/xref.el (xref--regexp-syntax-dependent-p):
106720         New function.
106721         (xref--collect-matches): Use it.  Don't try to enable the
106722         appropriate major mode and file-local variables if the regexp
106723         does not depend on the buffer's syntax (bug#26710).
106724         (xref--collect-matches-1): Don't syntax-propertize in that
106725         case either.
106727 2017-05-01  Philipp Stephani  <phst@google.com>
106729         Warn about missing backslashes during load
106731         * src/lread.c (load_warn_unescaped_character_literals, Fload, read1)
106732         (syms_of_lread): Warn if unescaped character literals are
106733         found (Bug#20152).
106734         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for
106735         unescaped character literals during byte compilation.
106736         * test/src/lread-tests.el (lread-tests--unescaped-char-literals): New
106737         unit test.
106738         (lread-tests--with-temp-file, lread-tests--last-message): Helper
106739         functions for unit test.
106740         * test/lisp/emacs-lisp/bytecomp-tests.el
106741         (bytecomp-tests--unescaped-char-literals): New unit test.
106742         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
106743         Helper macro for unit test.
106745 2017-05-01  Ken Brown  <kbrown@cornell.edu>
106747         * configure.ac: Suggest Mailutils on Cygwin.
106749 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
106751         Don’t stress-test time zones near the Epoch
106753         * test/src/editfns-tests.el (format-time-string-with-zone)
106754         (format-time-string-with-outlandish-zone): Don’t format
106755         timestamps near the Epoch, as this runs into bugs on MS-Windows,
106756         and we don’t want to worry about those bugs.
106758 2017-05-01  Glenn Morris  <rgm@gnu.org>
106760         Tweak vc-tests.el for bzr
106762         * test/lisp/vc/vc-tests.el (vc-test--working-revision):
106763         Handle test environments where HOME does not exist.
106765 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
106767         vc-git-state: Return `ignored' as appropriate with newer Git
106769         * lisp/vc/vc-git.el
106770         (vc-git--program-version): New variable.
106771         (vc-git--program-version): New function.
106772         (vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
106774 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
106776         vc-git-state: Bring back CentOS 6 compatibility
106778         * lisp/vc/vc-git.el (vc-git-state):
106779         Bring back CentOS 6 compatibility (bug#19343).
106781 2017-05-01  Martin Rudalics  <rudalics@gmx.at>
106783         Rewrite w32fns.c's `x_set_menu_bar_lines'
106785         * src/w32fns.c (x_set_menu_bar_lines): Redraw frame immediately
106786         regardless of whether menu bar is added or removed.  Clear
106787         under internal border iff a W32 window exists.  Store either 0
106788         or 1 as new parameter value.
106789         (x_change_tool_bar_height): Use FRAME_W32_WINDOW instead of
106790         FRAME_X_WINDOW.
106792 2017-05-01  Michael Albinus  <michael.albinus@gmx.de>
106794         Fix filenotify-tests.el for cygwin
106796         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
106797         Add an additional `sit-for'.
106798         (file-notify-test02-rm-watch): Add an additional
106799         `file-notify--test-read-event' call.
106801 2017-05-01  Jonathan Ganc  <jonganc@gmail.com>
106803         Speed up vc-git-status and make it more precise
106805         * lisp/vc/vc-git.el (vc-git-state)
106806         (vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
106807         'git status', so that 'vc-git-state' can now return 'ignored',
106808         'conflict', or 'unregistered' when appropriate.  Discussed in
106809         bug#26066.  Fixes bug#19343.
106811 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
106813         Fix Git revision navigation in currently removed directories
106815         * lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
106816         default-directory because FILE's parent directory might not exist
106817         anymore (bug#26345).
106819 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
106821         Merge from gnulib
106823         This incorporates:
106824         2017-04-30 strftime-fixes: New module
106825         2017-04-30 mktime: Work around TZ problem on native Windows
106826         2017-04-30 ctime, localtime: New modules
106827         2017-04-30 gettimeofday: Provide higher resolution on native Windows
106828         2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
106829         2017-04-29 Make use of module 'utime-h'
106830         2017-04-30 Fix a few typos
106831         * admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
106832         * lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
106833         * m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
106834         * m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
106835         Copy from gnulib.
106836         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
106838 2017-04-30  Eli Zaretskii  <eliz@gnu.org>
106840         Don't lose key bindings on mis-spelled text in flyspell-mode
106842         * lisp/textmodes/flyspell.el (flyspell-mouse-map): Bind mouse-2
106843         explicitly.
106844         (make-flyspell-overlay): If the mis-spelled text already has a
106845         'keymap' property, make that keymap the parent of
106846         flyspell-mouse-map, so as not to lose the parent's bindings.
106847         (Bug#26672)
106849 2017-04-30  Martin Rudalics  <rudalics@gmx.at>
106851         Fix `delete-frame' behavior including Bug#26682
106853         * src/frame.c (other_frames): Accept two arguments now.  Don't
106854         care about minibuffer window.  Don't care about visibility when
106855         called from delete_frame with FORCE true (Bug#26682).
106856         (delete_frame, Fmake_frame_invisible): Adjust other_frames
106857         calls.
106858         * src/w32term.c (w32_read_socket): Don't add a move frame event
106859         for an invisible frame.
106860         * lisp/frame.el (handle-delete-frame): Don't kill Emacs when
106861         attempting to delete a surrogate minibuffer frame.
106863 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
106865         Merge from gnulib
106867         This avoids incorporating the following, which I suspect are
106868         more trouble for Emacs than they’re worth:
106869         2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
106870         * admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
106871         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
106872         * lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.
106874 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
106876         Fix buffer overflow in make-docfile
106878         * lib-src/make-docfile.c (scan_c_stream): Check for buffer
106879         overflow when reading an identifier.  Use a static buffer for NAME
106880         rather than a small dynamically-allocated buffer.
106882 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
106884         Merge from gnulib
106886         This incorporates:
106887         2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
106888         * lib/getopt-pfx-ext.h: Copy from gnulib.
106889         * lib/gnulib.mk.in: Regenerate.
106891 2017-04-30  Tino Calancha  <tino.calancha@gmail.com>
106893         Fix dependency error during bootstrap
106895         * lisp/files.el: Require pcase and easy-mmode at compile time.
106897 2017-04-30  Mats Lidell  <mats.lidell@cag.se>
106899         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
106901 2017-04-29  Philipp Stephani  <phst@google.com>
106903         Reimplement auto-saving to visited files
106905         This reacts to confusing behavior of 'auto-save-visited-file-name',
106906         cf. Bug#25478.
106908         * lisp/files.el (auto-save-visited-interval): New customization option.
106909         (auto-save-visited-mode): New global minor mode.
106910         (auto-save-visited-file-name): Make obsolete.
106911         (auto-save--timer): New internal helper variable.
106913         * doc/emacs/files.texi (Auto Save Files): Document
106914         'auto-save-visited-mode' instead of obsolete
106915         'auto-save-visited-file-name'.
106916         (Auto Save Control): Document customization option
106917         'auto-save-visited-interval'.
106919 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
106921         Allow bypassing of some checks when merging
106923         * build-aux/git-hooks/pre-commit: Don't check merged-in changes.
106925 2017-04-29  Philipp Stephani  <phst@google.com>
106927         Integrate module test with normal test suite
106929         * test/Makefile.in (ELFILES): Exclude module test if modules aren't
106930         configured.
106931         (EMACS_TEST_DIRECTORY): Expand test directory so that it's set
106932         correctly even if Emacs changes the current directory.
106933         ($(srcdir)/src/emacs-module-tests.log)
106934         ($(test_module)): Proper dependency tracking for test module.
106936         * test/data/emacs-module/Makefile (ROOT): Adapt to new location.
106937         Remove 'check' target and EMACS variable, which are no longer
106938         necessary.
106939         (SO): Change to include period.
106941         * test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
106942         environment variable to reliably find test data.
106944         * configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
106945         substitutions.
106947 2017-04-28  Glenn Morris  <rgm@gnu.org>
106949         Broaden comint-password-prompt-regexp
106951         * lisp/comint.el (comint-password-prompt-regexp):
106952         Broaden the regexp, for non-English locales.  (Bug#26698)
106954 2017-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
106956         * lisp/auth-source.el (auth-source-backend-parse): `return' -> cl-return.
106958 2017-04-28  Bartosz Duszel  <bartosz.duszel@gmail.com>
106960         Don't pass the value of point to 'push-mark', as that's the default.
106962         * lisp/textmodes/bib-mode.el (mark-bib):
106963         * lisp/simple.el (mark-whole-buffer, yank):
106964         * lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
106965         * lisp/progmodes/xscheme.el (xscheme-yank):
106966         * lisp/progmodes/verilog-mode.el (verilog-mark-defun):
106967         * lisp/progmodes/perl-mode.el (perl-mark-function):
106968         * lisp/progmodes/pascal.el (pascal-mark-defun):
106969         * lisp/progmodes/meta-mode.el (meta-mark-defun):
106970         * lisp/progmodes/icon.el (mark-icon-function):
106971         * lisp/progmodes/cc-cmds.el (c-mark-function):
106972         * lisp/obsolete/vip.el (ex-goto):
106973         * lisp/obsolete/vi.el (vi-put-before):
106974         * lisp/mouse.el (mouse-yank-primary):
106975         * lisp/menu-bar.el (menu-bar-select-yank):
106976         * lisp/mail/sendmail.el (mail-yank-original):
106977         * lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
106978         * lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
106979         (viper-mark-end-of-buffer):
106980         * lisp/cedet/semantic/senator.el (senator-mark-defun):
106981         * lisp/allout.el (allout-mark-topic): Remove unnecessary argument
106982         `(point)' from calls to `push-mark'.  (Bug#25565)
106984 2017-04-28  Glenn Morris  <rgm@gnu.org>
106986         Merge from origin/emacs-25
106988         784602b1050 (origin/emacs-25) ; Add release notice
106989         3a34412caae (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
106990         56a4461a48d ; Move stray item from admin/notes/repo to CONTRIBUTE
106991         2b0d1118199 ; CONTRIBUTE: Remove stray header.
106992         f2ab09ec60d Fix a typo in indexing the user manual
106993         bc55a574235 * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
106994         a6d50401b4b Document 'line-pixel-height'
106995         0c55cf43e61 * search.c (Fre_search_forward, Fre_search_backward): Imp...
106996         c7ed57eaef4 Mention that processes start in default-directory (Bug#18...
106997         856ec9ffa1f * src/xdisp.c (vmessage, message): Clarify commentary.
106998         849a0aaa1c9 Belated fixes for admin.el's M-x make-manuals-dist
106999         84938d79698 default-directory: Remark that it must be a directory name
107000         3f0d047d2eb Delete confuse statement in manual
107001         ee1bd94dd0c Improve packaging documentation
107002         fb18bff91f0 Expand manual section on quitting windows
107003         9a737079645 Fix docstring of dabbrev-abbrev-char-regexp
107004         afe8849bac1 * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
107005         ada79442c07 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
107006         d38fd9229c0 Narrow scope of modification hook renabling in org-src fo...
107007         e0e9db4c84a ; Spelling fix
107009         # Conflicts:
107010         #       README
107011         #       etc/AUTHORS
107012         #       etc/HISTORY
107013         #       lisp/ldefs-boot.el
107015 2017-04-28  Glenn Morris  <rgm@gnu.org>
107017         * doc/misc/auth.texi: Commas don't work in node names.
107019         * test/lisp/auth-source-pass-tests.el: Fix loading of cl-lib.
107021 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
107023         Test format-time-string with zone arg
107025         * test/src/editfns-tests.el (format-time-string-with-zone)
107026         (format-time-string-with-outlandish-zone): New tests.
107028 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
107030         Merge from gnulib
107032         This incorporates:
107033         2017-04-24 time_rz: fix heap buffer overflow vulnerability
107034         2017-04-23 stat-time: Update comments.
107035         2017-04-22 ftoastr: cite a newer paper
107036         2017-04-21 gettext-h: Avoid -Wundef warning.
107037         * lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
107038         * m4/getopt.m4: Copy from gnulib.
107039         * m4/gnulib-comp.m4: Regenerate.
107041 2017-04-27  Damien Cassou  <damien@cassou.me>
107043         auth-source-pass: Add documentation; fix tests and indentation.
107045         * doc/misc/auth.texi: Document new integration with Pass. Use @itemize
107046           instead of @enumerate.
107047         * lisp/auth-source-pass.el: Fix indentation.
107048           (auth-source-pass--remove-directory-name): Remove.
107049         * test/lisp/auth-source-pass-tests.el: Adjust test macros.
107051 2017-04-27  foudfou  <foudil.newbie+git@gmail.com>
107053         auth-source-pass: Enable finding entries by "host/username"
107055         * lisp/auth-source-pass.el: Enable finding entries by "host/username".
107056         * test/lisp/auth-source-pass-tests.el: Adjust tests to check it.
107058 2017-04-27  Damien Cassou  <damien@cassou.me>
107060         Integrate auth-source with password-store
107062         * lisp/auth-source-pass.el: auth-source backend for password-store.
107063         * test/lisp/auth-source-pass-tests.el: Tests for auth-source-pass
107064           behavior.
107066 2017-04-27  Damien Cassou  <damien@cassou.me>
107068         * lisp/auth-source.el: Document parser functions.
107070 2017-04-27  Ted Zlatanov  <tzz@lifelogs.com>
107072         auth-source: factor out parsers and add tests
107074         * lisp/auth-source.el: Factor out the source parsers. Clean up comments.
107075         * test/lisp/auth-source-tests.el: Add tests.
107077 2017-04-27  Martin Rudalics  <rudalics@gmx.at>
107079         Fix doc and customization type of `window-combination-limit' (Bug#26673)
107081         * src/window.c (Vwindow_combination_limit): Fix doc-string.
107082         * lisp/cus-start.el (window-combination-limit): Fix
107083         customization type.
107084         * doc/lispref/windows.texi (Recombining Windows): Fix
107085         documentation of `window-combination-limit'.
107087 2017-04-27  Tino Calancha  <tino.calancha@gmail.com>
107089         Drop face from hi-lock--unused-faces only when used
107091         * lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is already
107092         highlighted, then push FACE into hi-lock--unused-faces (Bug#26666).
107093         * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
107095 2017-04-26  Alan Third  <alan@idiocy.org>
107097         Fix macOS version check (bug#26664)
107099         * src/nsterm.m (initFrameFromEmacs): Prevent window tabbing mode on
107100         macOS versions 10.12+.
107102 2017-04-26  Glenn Morris  <rgm@gnu.org>
107104         Make charprop.el provide a feature
107106         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
107107         Provide a feature.
107108         * lisp/loadup.el: Use the charprop feature.
107110 2017-04-26  Glenn Morris  <rgm@gnu.org>
107112         * lisp/loadup.el: Get charprop.el into etc/DOC again.
107114 2017-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
107116         * lisp/ido.el (ido-everywhere): Use add-function.
107118 2017-04-26  Martin Rudalics  <rudalics@gmx.at>
107120         Try to fix latest fix of w32_mouse_position
107122         * src/w32term.c (w32_mouse_position): Fix a bug introduced by
107123         latest fix and try to make the affected code more rigorous.
107125 2017-04-26  Eli Zaretskii  <eliz@gnu.org>
107127         Avoid segfaults when 'find-font' is invoked for a TTY frame
107129         * src/font.c (font_pixel_size): Don't call GUI functions if F is a
107130         text-mode frame.  (Bug#26646)
107132 2017-04-26  Michael Albinus  <michael.albinus@gmx.de>
107134         * lisp/net/tramp.el (tramp-set-connection-local-variables-for-buffer):
107136         New defun.
107138 2017-04-26  Glenn Morris  <rgm@gnu.org>
107140         * src/Makefile.in (leimdir): Remove variable, no longer used.
107142 2017-04-26  Glenn Morris  <rgm@gnu.org>
107144         Generate leim-list via lisp/Makefile, not src/Makefile
107146         * src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
107147         (emacs$(EXEEXT)): Don't depend on leim-list.
107148         * lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.
107150 2017-04-25  Alan Third  <alan@idiocy.org>
107152         Fix define for GNUstep builds
107154         * src/nsterm.m (initFrameFromEmacs): Fix the ifdef so that GNUstep
107155         doesn't see the code.
107157 2017-04-25  Glenn Morris  <rgm@gnu.org>
107159         Suppress intermittent test failure on hydra
107161         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
107162         (eieio-test-method-order-list-6): Skip on hydra.
107164 2017-04-25  Alan Third  <alan@idiocy.org>
107166         Fix some NS frame handling issues
107168         * src/nsterm.m (FRAME_DECORATED_FLAGS, FRAME_UNDECORATED_FLAGS): New
107169         defines intended to make things tidier.
107170         (x_set_undecorated): Use the new defines.
107171         (windowWillResize): Don't use new macOS 12+ only feature.
107172         (initFrameFromEmacs): Use the new defines, and disable automatic
107173         window tabbing feature in macOS 12.
107174         (x_set_undecorated, x_set_parent_frame, x_set_no_accept_focus,
107175         x_set_z_group): Add NSTRACE notices.
107177 2017-04-25  Glenn Morris  <rgm@gnu.org>
107179         Avoid parallel race condition
107181         * lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.
107183 2017-04-25  Glenn Morris  <rgm@gnu.org>
107185         Generate each unicode lisp file independently
107187         This is better for parallel builds, eg it eliminates race
107188         conditions from having one process write multiple files.
107189         * admin/unidata/Makefile.in (lparen, unifiles): New variables.
107190         Parse unidata-gen.el, not charprop.el, to get the list of uni- files.
107191         (all): Explicitly list the output lisp files.
107192         (PHONY_EXTRAS): Remove.
107193         (${unidir}/charprop.el): Change rule to just be for this file.
107194         (${unifiles}): New rule to write each unicode lisp file.
107195         (extraclean): Simplify.
107196         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
107197         Quieten in batch mode.
107198         (unidata-gen-files): Remove, no longer used.
107199         * lisp/loadup.el: Update command-line parser.
107201 2017-04-25  Glenn Morris  <rgm@gnu.org>
107203         Further refactoring in unidata-gen.el
107205         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
107206         New function, split from unidata-gen-files.
107207         (unidata-gen-files): Use unidata-gen-charprop.
107209 2017-04-25  Glenn Morris  <rgm@gnu.org>
107211         Allow unidata-gen-file to work independently
107213         * admin/unidata/unidata-gen.el (unidata-gen-file):
107214         Make it work as a stand-alone function in batch mode.
107215         (unidata-gen-files): Pass extra arguments to unidata-gen-file.
107217 2017-04-25  Glenn Morris  <rgm@gnu.org>
107219         Preparatory refactoring in unidata-gen.el
107221         * admin/unidata/unidata-gen.el (unidata-gen-file):
107222         New function, split from unidata-gen-files.
107223         (unidata-gen-files): Use unidata-gen-file.
107225 2017-04-25  Glenn Morris  <rgm@gnu.org>
107227         Write each generated character property lisp file only once
107229         * admin/unidata/unidata-gen.el (unidata-file-alist):
107230         Rename from unidata-prop-alist.  All users changed.
107231         Use file name rather than property name as the key.
107232         (unidata-prop-prop): New function.
107233         (unidata-prop-index, unidata-prop-generator, unidata-prop-docstring)
107234         (unidata-prop-describer, unidata-prop-default, unidata-prop-val-list):
107235         Change to parse the argument rather than unidata-prop-alist.
107236         (unidata-gen-table-character, unidata-gen-table)
107237         (unidata-gen-table-symbol, unidata-gen-table-integer)
107238         (unidata-gen-table-numeric, unidata-gen-table-word-list)
107239         (unidata-gen-table-name, unidata-gen-table-decomposition)
107240         (unidata-gen-table-special-casing): Pass index as an argument.
107241         (unidata-check): Adapt to unidata-file-alist.
107242         Pass index to generator functions.
107243         (unidata-gen-files): Adapt to unidata-file-alist.
107244         Write each output file once only.  Overwrite rather than delete.
107246 2017-04-25  Andrew G Cohen  <cohen@andy.bu.edu>
107248         Fix requesting sparse articles in gnus
107250         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Delete the
107251         sparse article number from the list, not its id.
107253 2017-04-25  Glenn Morris  <rgm@gnu.org>
107255         Don't advertise s_client in tls.el docs
107257         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
107258         Don't mention s_client in docs.
107260 2017-04-25  Rob Browning  <rlb@defaultvalue.org>
107262         Remove s_client usage from tls.el
107264         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
107265         Ref http://bugs.debian.org/766397
107266         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
107268 2017-04-25  Glenn Morris  <rgm@gnu.org>
107270         Further robustify cedet bootstrap to loaddefs not yet built
107272         * lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
107273         Avoid void-function error when bootstrapping and semantic/loaddefs.el
107274         does not yet exist.
107276 2017-04-24  Alan Third  <alan@idiocy.org>
107278         Fix XBM color rendering in NS port (bug#22060)
107280         src/nsimage.m (setXBMColor): Fix calculation of xbm_fg.
107282 2017-04-24  Vibhav Pant  <vibhavp@gmail.com>
107284         Add support for IRCv3 message tags.
107286         * lisp/erc/erc-backend.el:
107287           erc-response: Add `tags' element.
107288           Add (erc-parse-tags).
107289           (erc-parse-server-response): Use (erc-parse-tags) to parse message
107290           tags (if any), and store them in `erc-resopnse' struct.
107292         * lisp/erc/erc.el: (erc-display-message): Expose message tags with text
107293           properties of the corresponding message line.
107295 2017-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
107297         Add image sizing tests for an image that's narrow
107299         Needlessly refactor tests for clarity
107301 2017-04-23  Philipp Stephani  <phst@google.com>
107303         Add missing remappings for Ido mode
107305         Among others, add a remapping for C-x 4 d, cf. Bug#26360.
107307         * lisp/ido.el (ido-mode): Remap missing commands.
107308         (ido-file-internal, ido-visit-buffer): Add support for new
107309         methods.
107310         (ido-display-buffer-other-frame)
107311         (ido-find-alternate-file-other-window, ido-dired-other-window)
107312         (ido-dired-other-frame): New commands.
107314         * test/lisp/ido-tests.el (ido-tests--other-window-frame): Add unit
107315         test for the bindings.
107317 2017-04-23  Martin Rudalics  <rudalics@gmx.at>
107319         Let w32_mouse_position pick a child window only if it has a child frame
107321         * src/w32term.c (w32_mouse_position): When using a frame found
107322         by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
107323         maybe).
107325 2017-04-23  Noam Postavsky  <npostavs@gmail.com>
107327         Don't require bytecomp for running ert tests
107329         "Fix ert-tests when running compiled" 2016-12-06 accidentally
107330         introduced a dependency on `bytecomp' into `ert'.  As mentioned in
107331         "Avoid ert test failures" 2017-04-18, the accidental dependency of ert
107332         on bytecomp was masked by loading other libraries until recently.
107334         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
107335         `byte-compile-macro-environment' if it's bound.
107336         * test/src/eval-tests.el: Add defvar for dynamic variable
107337         `byte-compile-debug'.
107339 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
107341         Eliminate unneeded warp-to-article in gnus article referral
107343         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
107344         (gnus-summary-refer-article): Remove gnus-warp-to article call.
107346 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
107348         Allow limiting gnus summary buffers to a thread
107350         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
107351         an optional argument to allow limiting the summary buffer to just the
107352         thread-related articles.
107353         (gnus-refer-thread-limit-to-thread): Introduce customizable variable
107354         to control whether thread-referral adds the thread to the summary
107355         buffer or limits to just the thread.
107356         (gnus-summary-refer-thread): Use the new variable.
107358 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
107360         Correct gnus-newsgroup-limits in gnus when including thread
107362         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
107363         only add one list of thread-related articles to gnus-newsgroup-limits
107364         rather than two.
107366 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
107368         Improve gnus thread matching of similar subjects
107370         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
107371         Use the more liberal gnus-general-simplify-subject regexp to
107372         find thread articles with similar subjects.
107374 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
107376         Add new `lisp-indent-region' that doesn't reparse the code.
107378         Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
107379         to get initial state, so they will no longer indent string literal
107380         contents.
107382         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
107383         `syntax-ppss', but with a more dependable item 2.
107384         (lisp-indent-region): New function, like `indent-region-line-by-line'
107385         but additionally keep a running parse state to avoid reparsing the
107386         code repeatedly.  Use `lisp-ppss' to get initial state.
107387         (lisp-indent-line): Take optional PARSE-STATE argument, pass it to
107388         `calculate-lisp-indent', use `lisp-ppss' if not given.
107389         (lisp-mode-variables): Set `indent-region-function' to
107390         `lisp-indent-region'.
107392 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
107394         Remove ignored argument from lisp-indent-line
107396         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
107397         argument, the behavior has long since been handled in
107398         `indent-for-tab-command'.  Also remove redundant `beg' and `shift-amt'
107399         variables and use `indent-line-to'.
107401 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
107403         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.
107405 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
107407         Don't reparse the sexp in indent-sexp (Bug#25122)
107409         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
107410         PARSE-START be a parse state that can be reused.
107411         (indent-sexp): Pass the running parse state to calculate-lisp-indent
107412         instead of the sexp beginning position.  Saving the
107413         CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
107414         needed.  Don't bother stopping if we don't descend below init-depth,
107415         since we now always scan the whole buffer (via syntax-ppss) anyway.
107416         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
107417         line to test case.
107419 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
107421         Add cond test cases for singleton clauses.
107423         * test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
107424           the default clause is a single non-nil expression.
107426 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
107428         b-c--cond-jump-table-info: Use correct body for singleton clauses
107430         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
107431         When a clause's body consists of a single constant expression, use
107432         that expression as the body to be compiled. This fixes switch bytecode
107433         evaluating to nil to such clauses.
107435 2017-04-22  Philipp Stephani  <phst@google.com>
107437         ffap: Don't switch window unless needed
107439         When using ffap-other-window, don't change the window configuration
107440         unless a new buffer has actually been created (Bug#25352).
107442         * lisp/ffap.el (ffap-other-frame): Don't change the window
107443         configuration if no new buffer has been created.
107444         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
107445         test.
107447 2017-04-22  Alan Mackenzie  <acm@muc.de>
107449         Fix fontification of C++ declaration with type FOO::FOO.
107451         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
107452         cfd-top-level properly.
107453         (c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
107454         before deciding it is a constructor.
107456         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
107457         result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
107458         (simple bug fix).
107460 2017-04-22  Philipp Stephani  <phst@google.com>
107462         Fix usage of FRAME_Z_GROUP
107464         * src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
107465         Lisp object, cf. Bug#26597.
107467 2017-04-22  Alan Third  <alan@idiocy.org>
107469         Fix GNUstep build
107471         * src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
107472         compatibility.
107473         * src/nsmenu.m (update_frame_tool_bar): Remove unused variable.
107475 2017-04-21  Alan Third  <alan@idiocy.org>
107477         Add no-accept-focus and frame-list-z-order to NS port
107479         * lisp/frame.el (frame-list-z-order): Add NS.
107480         * src/nsfns.m: Add x_set_no_accept_focus to handler struct.
107481         (Fx_create_frame): Handle no-accept-focus parameter.
107482         (ns_window_is_ancestor):
107483         (Fns_frame_list_z_order): New functions.
107484         * src/nsterm.m (x_set_no_accept_focus): New function.
107485         (initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
107486         non-fullscreen windows.
107487         (EmacsWindow:canBecomeKeyWindow): New function.
107489 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
107491         Improve prefix handling for dash.el
107493         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
107494         Don't drop dash's "-<letter>" prefixes.
107496 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
107498         * lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet
107500         Revert 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (to fix bug#26325)
107501         and use a different fix for bug#26068.
107502         (cl--symbol-macro-key): New function.
107503         (cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
107504         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
107505         Failure is not expected any more.
107507 2017-04-21  Eli Zaretskii  <eliz@gnu.org>
107509         Avoid infinite loop in redisplay when header-line-format is invalid
107511         * src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
107512         string has an invalid %-construct in it and is displayed as part
107513         of mode-line or header-line.  (Bug#26586)
107515 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
107517         Add tests to check image scaling functionality
107519         This is in preparation to doing further work in this area to avoid
107520         regressions.
107522         * test/data/image/blank-200x100.png: New file for testing
107523         image scaling.
107525         * test/manual/image-size-tests.el: New file.
107527 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
107529         Allow svg-image to take all create-image PROPS
107531         * lisp/svg.el (svg-image): Allow passing in PROPS when
107532         creating an image for convenience.
107534 2017-04-21  George D. Plymale II  <georgedp@orbitalimpact.com>  (tiny change)
107536         Treat non-erroring lisp call as successful eshell command (Bug#26161)
107538         This lets a compound command like 'cd .. && echo ok' print 'ok',
107539         similar to how most other shells behave.
107541         * lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
107542         last exit code was zero, rather than first checking whether the last
107543         command returned nil.
107544         (eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.
107546 2017-04-21  Reuben Thomas  <rrt@sc3d.org>
107548         Fix reading of tab settings in whitespace-mode
107550         lisp/whitespace.el (whitespace-indent-tabs-mode)
107551         whitespace-tab-width): Remove these variables. The underlying
107552         variables `indent-tabs-mode' and `tab-width' are already buffer-local
107553         when needed, and whitespace-mode never changes them.
107554         (whitespace-ensure-local-variables): Remove this function, which only
107555         existed to set the above variables.
107556         (whitespace-cleanup-region, whitespace-regexp)
107557         (whitespace-indentation-regexp, whitespace-report-region)
107558         (whitespace-turn-on, whitespace-color-on): Adjust these functions to
107559         use `indent-tabs-mode' and `tab-width' directly, and not call
107560         `whitespace-ensure-local-variables'.
107562 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
107564         * lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning
107566         by simplifying ascii-test.
107568 2017-04-20  Vibhav Pant  <vibhavp@gmail.com>
107570         bytecomp: Don't inline functions that use byte-switch (Bug#26518)
107572         * lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Don't inline
107573           FORM if the bytecode uses the byte-switch instruction. It is
107574           impossible to guess the correct stack depth while inlining such
107575           bytecode, resulting in faulty code.
107577 2017-04-20  Nicolas Petton  <nicolas@petton.fr>
107579         Set Emacs version to 25.2 and update AUTHORS file
107581         * README: Set Emacs version to 25.2.
107582         * etc/HISTORY: Add release log.
107583         * lisp/ldefs-boot.el:
107584         * etc/AUTHORS:
107585         * ChangeLog.2: Update.
107587 2017-04-20  Noam Postavsky  <npostavs@gmail.com>
107589         Don't register "def" as an autoload prefix (Bug#26412)
107591         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Don't
107592         accept "def" as a prefix.
107594 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
107596         Use substring completion for Info menus and index
107598         * lisp/info.el (Info-complete-menu-item): Add `category' metadata.
107599         (Info-menu): Simplify now that we use the `default' arg of completing-read.
107600         * lisp/minibuffer.el (completion-category-defaults): Use substring
107601         completion for `info-menu`.
107603 2017-04-19  Glenn Morris  <rgm@gnu.org>
107605         Remove some explicit runtime loads of pcase
107607         Pcase is macros, so these should have used eval-when-compile.
107608         Anyway, pcase entry points are autoloaded, so the compiler handles it.
107609         * lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
107610         * lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
107611         * lisp/progmodes/xref.el: No need to require pcase.
107613 2017-04-19  Glenn Morris  <rgm@gnu.org>
107615         Stop cl-lib loading pcase at runtime
107617         The cause was an unexpanded pcase-defmacro in cl-loaddefs.
107618         * lisp/emacs-lisp/autoload.el (make-autoload):
107619         Treat pcase-defmacro like defmacro.
107621 2017-04-19  Alan Third  <alan@idiocy.org>
107623         Note frame documentation exceptions for NS builds
107625         * doc/lispref/frames.texi (Management Parameters, Child Frames): Note
107626         NS differences.
107628 2017-04-19  Alan Third  <alan@idiocy.org>
107630         Fix bug introduced by my last commit
107632         * src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.
107634 2017-04-19  Alan Third  <alan@idiocy.org>
107636         Add new frame functionality to NS port
107638         * lisp/frame.el (frame-restack): Call ns-frame-restack.
107639         * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
107640         MOVE_FRAME_EVENT handling.
107641         * src/frame.h:
107642         * src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
107643         definitions.
107644         * src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
107645         x_set_undecorated (Cocoa only) to handler struct.
107646         (Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
107647         frame parameter.
107648         (Fns_frame_restack): New function.
107649         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
107650         FRAME_TOOLBAR_HEIGHT is no longer a variable.
107651         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS, NS_PARENT_WINDOW_TOP_POS):
107652         Add #defines to find the screen position of the parent frame.
107653         (NS_TOP_POS): Remove defun.
107654         (EmacsView): Remove redundant toolbar variables and add createToolbar
107655         method.
107656         (FRAME_NS_TITLEBAR_HEIGHT, FRAME_TOOLBAR_HEIGHT): Always calculate the
107657         values instead of storing them in a variable.
107658         * src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
107659         position into account when positioning frames.
107660         (initFrameFromEmacs): Remove toolbar creation code and handle new
107661         frame parameters.
107662         (x_set_window_size): Remove toolbar height calculation.
107663         (x_set_z_group):
107664         (x_set_parent_frame):
107665         (x_set_undecorated) [NS_IMPL_COCOA]: New function.
107666         (x_destroy_window): Detach parent if child closes.
107667         (updateFrameSize): Change NSTRACE message to reflect new reality and
107668         no longer reset frame size.
107669         (windowWillResize): Don’t change NS window name when the titlebar
107670         is invisible.
107671         (createToolbar): Move toolbar creation code into it’s own method.
107672         (toggleFullScreen): FRAME_TOOLBAR_HEIGHT and FRAME_NS_TITLEBAR_HEIGHT
107673         are no longer variables.
107674         (windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.
107676 2017-04-19  Glenn Morris  <rgm@gnu.org>
107678         Tweak bytecomp's loading of cl-extra
107680         * lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
107681         post-bootstrap emacs where cl-loaddefs does exist.
107683 2017-04-19  Glenn Morris  <rgm@gnu.org>
107685         Avoid unnecessary loading of subr-x at run-time
107687         * lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
107688         * lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
107689         * lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
107690         No need to load subr-x at run-time.
107691         * lisp/gnus/nnheader.el: No need to load subr-x.
107693 2017-04-18  michael schuldt  <mbschuldt@gmail.com>  (tiny change)
107695         Use iteration in math-factorial-iter
107697         * lisp/calc/calc-comb.el (math-factorial-iter):
107698         Use iteration instead of recursion to avoid max-specpdl-size problem.
107700 2017-04-18  Glenn Morris  <rgm@gnu.org>
107702         * test/lisp/kmacro-tests.el: Require seq, for seq-concatenate.
107704 2017-04-18  Glenn Morris  <rgm@gnu.org>
107706         Avoid ert test failures
107708         * lisp/emacs-lisp/ert.el (ert--expand-should-1):
107709         Avoid errors related to undefined byte-compile-macro-environment.
107710         Somehow masked until very recently because loading seq (eg)
107711         loads bytecomp.  http://hydra.nixos.org/build/51730765
107713 2017-04-18  Eli Zaretskii  <eliz@gnu.org>
107715         Fix a typo in indexing the user manual
107717         * doc/emacs/cmdargs.texi (General Variables): Fix a horrible typo.
107719 2017-04-18  Noam Postavsky  <npostavs@gmail.com>
107721         Fix find-library-name for load-history entries with nil FILE-NAME (Bug#26355)
107723         * lisp/emacs-lisp/find-func.el (find-library--from-load-history):
107724         Rename from find-library--from-load-path.  Check for `load-history'
107725         entries with nil FILE-NAMEs.  Simplify by not double
107726         checking for suffixes and making use of `locate-file'.
107728 2017-04-18  Alan Third  <alan@idiocy.org>
107729             YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
107731         Use vfork if possible on Darwin (bug#26397)
107734         * src/conf_post.h (HAVE_WORKING_VFORK): Don't undef.
107735         (vfork): Don't define.
107736         * src/process.c (create_process) [DARWIN_OS]: Use fork if pty_flag is
107737         set, otherwise vfork.
107738         * src/callproc.c (call_process) [DARWIN_OS]: Use TIOCNOTTY to detach
107739         the controlling terminal instead of setsid.
107741 2017-04-18  Fran Litterio  <flitterio@gmail.com>
107743         Small erc-kill-channel fix (bug#23700)
107745         * lisp/erc/erc.el (erc-kill-channel): Handle null erc-default-target.
107747 2017-04-18  Glenn Morris  <rgm@gnu.org>
107749         ediff: use user-error rather than debug-ignored-errors
107751         * lisp/vc/ediff-diff.el (ediff-prepare-error-list):
107752         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
107753         * lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
107754         (ediff-check-version):
107755         * lisp/vc/ediff-merg.el (ediff-shrink-window-C):
107756         * lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
107757         (ediff-append-custom-diff, ediff-meta-show-patch)
107758         (ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
107759         (ediff-get-meta-info, ediff-patch-file-form-meta):
107760         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
107761         * lisp/vc/ediff-util.el (ediff-toggle-autorefine)
107762         (ediff--check-ancestor-exists, ediff-toggle-read-only)
107763         (ediff-toggle-wide-display, ediff-toggle-multiframe)
107764         (ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
107765         (ediff-next-difference, ediff-previous-difference)
107766         (ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
107767         (ediff-save-buffer):
107768         * lisp/vc/ediff-wind.el (ediff-make-wide-display):
107769         * lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
107770         (ediff-directories-internal, ediff-directory-revisions-internal)
107771         (ediff-regions-wordwise, ediff-regions-linewise)
107772         (ediff-load-version-control): Use user-error.
107773         (debug-ignored-errors): No longer modify.
107775 2017-04-18  Glenn Morris  <rgm@gnu.org>
107777         mh-e: use user-error rather than debug-ignored-errors
107779         * lisp/mh-e/mh-alias.el (mh-alias-grab-from-field):
107780         * lisp/mh-e/mh-utils.el (mh-get-msg-num): Use user-error.
107781         (debug-ignored-errors): No longer modify.
107783 2017-04-18  Glenn Morris  <rgm@gnu.org>
107785         ispell.el: use user-error rather than debug-ignored-errors
107787         * lisp/textmodes/ispell.el (ispell-get-word): Use user-error.
107788         (debug-ignored-errors): No longer modify.
107790 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
107792         * src/xterm.c (x_fill_rectangle): Now static.
107794 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
107796         Tighten recently-added UTF-8 check
107798         * src/coding.c (encode_coding_utf_8): Now extern.
107799         * src/terminal.c (terminal_glyph_code) [HAVE_STRUCT_UNIPAIR_UNICODE]:
107800         Check for UTF-8, not just for multibyte.
107802 2017-04-17  David Engster  <deng@randomsample.de>
107804         xml: Properly handle symbol-qnames for attribute parsing
107806         * lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
107807           xml-ns argument (reverts aea67018) (Bug#26533).
107808           (xml-maybe-do-ns): Properly handle default namespace by not
107809           interning new symbol when 'special' flag is set.
107811         * test/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
107812           (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.
107814 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
107816         * src/lisp.h (STRING_SET_CHARS): Simplify assertion.
107818 2017-04-17  Eli Zaretskii  <eliz@gnu.org>
107820         Fix assertion violations when displaying thread-related error
107822         * src/process.c (Faccept_process_output): Don't assume a thread's
107823         name is always a string.
107825 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
107827         dired ‘M’ should not complain about ‘.’ and ‘..’
107829         * lisp/dired-aux.el (dired-do-redisplay):
107830         Allow redisplay of ‘.’ and ‘..’ (Bug#26528).
107832 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
107834         Remove unused coding enums
107836         * src/coding.h (enum coding_system_type, enum end_of_line_type):
107837         Remove; unused.
107839 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
107841         Work around bug with unibyte Linux consoles
107843         * src/terminal.c (terminal_glyph_code): Skip the UTF-8 stuff if
107844         the terminal's coding system is unibyte (Bug#26396).
107846 2017-04-16  Teemu Likonen  <tlikonen@iki.fi>
107848         Fix org-agenda's command for calendar-lunar-phases
107850         Function org-agenda-phases-of-moon tries to call a non-existing
107851         function calendar-phases-of-moon. The correct function is
107852         calendar-lunar-phases.
107854 2017-04-16  Michael Albinus  <michael.albinus@gmx.de>
107856         Tuning for `separate' Tramp syntax
107858         * lisp/net/tramp.el (tramp-method-regexp): Fix it for `separate' syntax.
107859         (tramp-completion-file-name-regexp-separate): Simplify.
107861         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect-separate):
107862         Extend test.
107864 2017-04-16  Alan Mackenzie  <acm@muc.de>
107866         Fix bug #26529: C-h k errors with a lambda function bound to a key.
107868         * lisp/help-fns.el (help-fns--signature, describe-function-1): Check
107869         `function' is a symbol before trying to get property `reader-construct' from
107870         it.
107872 2017-04-16  Simen Heggestøyl  <simenheg@gmail.com>
107874         Fix highlighting of short selectors in CSS mode
107876         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Highlight
107877         selectors where the part before a colon is only one character long,
107878         such as `a:hover'.
107880 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
107882         Fix redisplay performance problems with some fonts
107884         * src/font.c (font_list_entities): Revert part of the changes
107885         introduced on Apr 2, 2014 to fix bug#17125.  It turns out having
107886         zero_vector in the font-cache is an important indication that
107887         cannot be removed.  (Bug#21028)
107889 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
107891         Add assertion to STRING_SET_CHARS
107893         * src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
107894         to prevent incorrect usage.  For details, see this discussion:
107895         https://lists.gnu.org/r/emacs-devel/2017-04/msg00412.html.
107897 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
107899         Avoid compilation warnings on MS-Windows
107901         * src/w32term.c (w32_read_socket): Avoid compiler warnings about
107902         parentheses around assignment.
107903         * src/w32fns.c (w32_createwindow): Remove unused variable
107904         dwStyle.  Use "|=" where appropriate.
107906 2017-04-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
107908         Merge from gnulib
107910         This incorporates:
107911         2017-04-14 intprops: try to avoid tickling similar bugs
107912         2017-04-14 intprops: port to Oracle Studio 12.3 x86
107913         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
107915 2017-04-15  Martin Rudalics  <rudalics@gmx.at>
107917         Fix bugs in `with-displayed-buffer-window' and `fit-window-to-buffer'
107919         * lisp/window.el (with-displayed-buffer-window): When a
107920         'window-height' action alist entry specifies a function, call
107921         `temp-buffer-window-show' with a '(window-height . t)' dummy
107922         entry so `window--try-to-split-window' will bind
107923         `window-combination-limit' to t and that function does not
107924         resize any other window but the one we split this one off
107925         (Bug#25055, Bug#25179).
107926         (fit-window-to-buffer): Call `window-max-delta' with NOUP t so
107927         we steal space only from windows in the same combination.
107928         Stealing space from other windows would not allow us to return
107929         that space later when this window is deleted (Bug#25055,
107930         Bug#25179).
107932 2017-04-15  Glenn Morris  <rgm@gnu.org>
107934         Avoid userlock queries hanging forever in batch mode
107936         * lisp/userlock.el (ask-user-about-lock)
107937         (ask-user-about-supersession-threat): Abort in batch mode.
107939 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
107941         Fix segfault when calling frame_ancestor_p (Bug#26493)
107943         * src/xterm.c (handle_one_xevent): Check that hf was not reset
107944         before calling frame_ancestor_p (Bug#26493).
107946 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
107948         A few additional copy-edits in documentation of frames
107950         * doc/lispref/frames.texi (Frame Layout)
107951         (Implied Frame Resizing): Windows -> MS-Windows.
107952         (Deleting Frames): Fix typo.
107954 2017-04-14  Glenn Morris  <rgm@gnu.org>
107956         Use user-error for some ert.el errors
107958         * lisp/emacs-lisp/ert.el (ert-read-test-name, ert-delete-all-tests)
107959         (ert-results-find-test-at-point-other-window, ert-describe-test):
107960         Use user-error.
107962 2017-04-14  Glenn Morris  <rgm@gnu.org>
107964         Use user-error for customize's "invalid face" error
107966         * lisp/cus-edit.el (customize-face): Use user-error.
107967         (debug-ignored-errors): No more need to add "Invalid face".
107969 2017-04-14  Glenn Morris  <rgm@gnu.org>
107971         Remove duplicate lisp-eval-defun definition
107973         * lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun):
107974         Autoload rather than defining a stub.
107976 2017-04-14  Glenn Morris  <rgm@gnu.org>
107978         * lisp/Makefile.in (check-defun-dups): Ignore obsolete files.
107980 2017-04-14  Glenn Morris  <rgm@gnu.org>
107982         Create generated lisp files before main loaddefs.el
107984         This should improve reproducibility of lisp/loaddefs.el.
107985         * lisp/Makefile.in (gen-lisp): New phony target.
107986         ($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
107987         * src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
107988         * lisp/cedet/semantic.el (semantic-mode):
107989         * lisp/cedet/semantic/fw.el (top-level):
107990         * lisp/emacs-lisp/eieio-core.el (top-level):
107991         Robustify to generated input files maybe not yet existing.
107993 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
107995         Fix minor quoting issues in Makefile.in
107997         * Makefile.in (install-arch-dep, uninstall):
107998         Quote EMACS and EMACS_NAME more consistently.
108000 2017-04-13  Glenn Morris  <rgm@gnu.org>
108002         * Makefile.in (install-etc): Use existing Makefile variables.
108004 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
108006         Minor copyedits of recent changes in documentation
108008         * doc/lispref/frames.texi (Frame Layout, Frame Position)
108009         (Frame Size, Frame Interaction Parameters, Input Focus)
108010         (Raising and Lowering, Child Frames): Improve wording and indexing.
108011         * doc/emacs/cmdargs.texi (Borders X): Improve indexing.
108013 2017-04-13  Glenn Morris  <rgm@gnu.org>
108015         Small src/Makefile simplification
108017         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc)
108018         ($(lispsource)/term/ns-win.elc): Combine rules.
108020 2017-04-13  Simen Heggestøyl  <simenheg@gmail.com>
108022         Add grid layout module to CSS property list
108024         * lisp/textmodes/css-mode.el (css-property-alist)
108025         (css-value-class-alist): Add new properties and value classes from CSS
108026         Grid Layout Module.
108028 2017-04-13  Martin Rudalics  <rudalics@gmx.at>
108030         Describe recent frame and window changes in manuals
108032         * doc/emacs/emacs.texi (Top):
108033         * doc/emacs/cmdargs.texi (Borders X): Clearly separate the terms
108034         "outer border" (for the X border which can be set from within
108035         Emacs) and "external border" (for the border which is added by
108036         the window manager).
108037         * doc/lispref/display.texi (Tooltips): Clarify slightly.
108038         * doc/lispref/elisp.texi (Top): Update node and section names.
108039         * doc/lispref/frames.texi (Frames): Describe difference between
108040         top-level and child frames.
108041         (Frame Layout): Describe outer border.  Add more details about
108042         how Emacs obtains the outer size and position of a frame and
108043         about menu bar/tool bar wrapping.  Add references to new frame
108044         parameters.
108045         (Size and Position): Remove subsection.
108046         (Frame Position): New subsection excerpted from the earlier Size
108047         and Position subsection.  Clarify positioning concepts and
108048         some of their shortcomings.  Describe `move-frame-functions'.
108049         (Frame Size): New subsection excerpted from the earlier Size
108050         and Position subsection.  Describe how to track frame size
108051         changes and the new function `frame-size-changed-p'.
108052         (Position Parameters): Describe child frame positioning.  Warn
108053         about negative offsets.  Describe 'z-group' parameter.
108054         (Size Parameters): Describe 'text-pixels' specification
108055         facility and new 'min-width' and 'min-height' parameters.
108056         (Layout Parameters): Clarify description of 'tool-bar-lines' and
108057         'menu-bar-lines' parameters.
108058         (Frame Interaction Parameters): New subsubsection describing
108059         'parent-frame', 'delete-before', 'mouse-wheel-frame' and
108060         'no-other-frame' parameters.
108061         (Management Parameters): Describe 'skip-taskbar',
108062         'no-focus-on-map', 'no-accept-focus', 'undecorated' and
108063         'override-redirect' parameters.
108064         (Deleting Frames): Describe handling of 'delete-before'
108065         parameter and child frames for `delete-frame' and
108066         `delete-other-frames'.
108067         (Finding All Frames): Describe `frame-list-z-order' and handling
108068         of 'no-other-frame' parameter by `next-frame'.
108069         (Minibuffers and Frames): Minor clarifications.
108070         (Input Focus): Document `x-focus-frame'.  Clarify descriptions
108071         of `focus-in-hook', `focus-out-hook' and `focus-follows-mouse'.
108072         (Visibility of Frames): Describe mapping and how the visibility
108073         of a parent frame affects that of its child frames.
108074         (Raising and Lowering): Describe restacking of frames and
108075         z-groups.
108076         (Child Frames): New section.
108077         * doc/lispref/windows.texi (Selecting Windows): Describe
108078         additional semantics of NORECORD argument of `select-window' and
108079         how `buffer-list-update-hook' can emulate a "select window
108080         hook".
108081         (Mouse Window Auto-selection): New section.
108083 2017-04-13  Damien Cassou  <damien@cassou.me>
108085         Fix imenu--sort-by-position for non-pairs parameters (bug#26457)
108087         * lisp/imenu.el (imenu--sort-by-position): Fix to accept lists beyond
108088           pairs.
108089         * test/lisp/imenu-tests.el: Add 2 tests for `imenu--sort-by-position`.
108091 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
108093         Avoid unnecessary regeneration of the entire loaddefs.el
108095         * lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
108096         why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
108097         ($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
108098         loaddefs.tmp before running 'batch-update-autoloads' on it, to
108099         avoid slow regeneration of the full contents.  (Bug#26459)
108100         Use 'move-if-change' instead of 'mv', to avoid producing a new
108101         Emacs binary when not necessary.
108103 2017-04-13  Dmitry Gutov  <dgutov@yandex.ru>
108105         Handle indentation of nested ternary operators in JS
108107         * lisp/progmodes/js.el (js--looking-at-operator-p):
108108         Handle nested ternary operators.
108110 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
108112         Don't call 'kill-this-buffer' outside of menus
108114         * lisp/simple.el (kill-current-buffer): New function.
108115         (completion-list-mode-map): Use it instead of kill-this-buffer.
108116         * lisp/type-break.el (type-break-mode):
108117         * lisp/term/ns-win.el (global-map):
108118         * lisp/progmodes/gdb-mi.el (gdb-memory-mode-map)
108119         (gdb-disassembly-mode-map, gdb-frames-mode-map)
108120         (gdb-locals-mode-map, gdb-registers-mode-map):
108121         * lisp/org/org-mhe.el (org-mhe-follow-link):
108122         * lisp/net/secrets.el (secrets-mode-map):
108123         * lisp/net/eudc.el (eudc-mode-map):
108124         * lisp/net/eudc-hotlist.el (eudc-hotlist-mode-map): Use
108125         kill-current-buffer instead of kill-this-buffer.  (Bug#26466)
108127 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
108129         * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
108131 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
108133         New internal-border face and args for select-window and x-focus-frame
108135         Add `internal-border' face and handle it whenever clearing the
108136         internal border.  If NORECORD equals the symbol
108137         'mark-for-redisplay', `select-window' will not record the window
108138         but still mark it for redisplay.  The new argument NOACTIVATE
108139         for `x-focus-frame' tries to not activate FRAME when set.
108141         * lisp/faces.el (internal-border): New face.
108142         * lisp/mwheel.el (mwheel-scroll): Select window to scroll with
108143         `mark-for-redisplay'.
108144         * lisp/scroll-bar.el (scroll-bar-drag)
108145         (scroll-bar-horizontal-drag, scroll-bar-scroll-down)
108146         (scroll-bar-scroll-up, scroll-bar-toolkit-scroll)
108147         (scroll-bar-toolkit-horizontal-scroll): Select window to scroll
108148         with `mark-for-redisplay'.
108149         * lisp/window.el (handle-select-window): When
108150         `focus-follows-mouse' is not 'auto-raise' try to not activate
108151         FRAME.
108152         * src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID.
108153         * src/frame.c (Fx_focus_frame): New argument NOACTIVATE.
108154         * src/frame.h (x_focus_frame): Update extern declaration.
108155         * src/gtkutil.c (xg_clear_under_internal_border): Remove
108156         function.
108157         (xg_frame_resized, xg_frame_set_char_size): Call
108158         x_clear_under_internal_border.
108159         (xg_tool_bar_callback): Adapt x_focus_frame call.
108160         * src/gtkutil.h (xg_clear_under_internal_border): Remove
108161         declaration.
108162         * src/nsfns.m (x_focus_frame): Add argument NOACTIVATE.
108163         * src/w32fns.c (x_clear_under_internal_border): Fill border
108164         with internal-border background if specified.
108165         * src/w32term.h (x_clear_under_internal_border): Add extern
108166         declaration.
108167         * src/w32term.c (x_after_update_window_line): Fill border
108168         with internal-border background if specified.
108169         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
108170         (x_scroll_bar_clear, w32_read_socket): Call
108171         x_clear_under_internal_border.
108172         (x_focus_frame): New argument NOACTIVATE.
108173         * src/window.c (select_window): Mark WINDOW for redisplay when
108174         NORECORD equals 'mark-for-redisplay'.
108175         (Fselect_window): Update doc-string.
108176         (syms_of_window): Define Qmark_for_redisplay.
108177         * src/xdisp.c (clear_garbaged_frames, echo_area_display)
108178         (redisplay_internal): Call x_clear_under_internal_border.
108179         * src/xfaces.c (lookup_basic_face): Handle `window-divider'
108180         and `internal-border' faces.
108181         (realize_basic_faces): Realize `internal-border' face.
108182         (syms_of_xfaces): Define Qinternal_border.
108183         * src/xfns.c (x_set_internal_border_width): Remove call for
108184         xg_clear_under_internal_border.
108185         (x_focus_frame): New argument NOACTIVATE.  When non-nil try to not
108186         activate frame.
108187         * src/xterm.c (x_fill_rectangle): No more static.
108188         (x_clear_under_internal_border, x_after_update_window_line):
108189         Fill border with internal-border background if specified.
108190         (xt_horizontal_action_hook): Rewrite.
108191         (handle_one_xevent): Call x_clear_under_internal_border.
108192         * src/xterm.h (x_fill_rectangle): Add extern declaration.
108194 2017-04-12  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
108196         Port recent frame changes to --enable-gcc-warnings
108198         * src/frame.c (next_frame, prev_frame):
108199         Remove now-redundant assertions.
108200         * src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
108202 2017-04-12  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
108204         Scroll right and left using wheel-right and wheel-left.
108206         These changes also make use of touchpad and trackpad (Bug#26347).
108208         * doc/emacs/frames.texi (Mouse Commands): Document horizontal
108209         scrolling using the mouse wheel.
108211         * lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left.
108212         (mwheel-tilt-scroll-p, mwheel-flip-direction)
108213         (mwheel-scroll-left-function, mwheel-scroll-right-function): New
108214         defcustoms.
108215         (mouse-wheel-left-event, mouse-wheel-right-event): New variables,
108216         events that calls wheel-left/right.
108218         * etc/NEWS: Mention horizontal scrolling using the mouse wheel.
108220 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
108222         * lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY".
108224 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
108226         Add new frame parameters and associated functions
108228         Add new frame parameters `undecorated', `override-redirect',
108229         `parent-frame', `skip-taskbar', `no-focus-on-map',
108230         `no-accept-focus', `z-group', `delete-before', `no-other-frame',
108231         `mouse-wheel-frame', `min-width', `min-height'.  Add new
108232         functions `frame-restack' and `frame-list-z-order'.
108234         * lisp/cus-start.el (focus-follows-mouse): Adapt customization
108235         type.
108236         * lisp/frame.el (handle-delete-frame): Handle child and
108237         `delete-before' frames.
108238         (other-frame): Stop looking for other frame after one round.
108239         (frame-list-z-order, frame-restack): New functions.
108240         (delete-other-frames): Handle child frames.
108241         * lisp/frameset.el (frameset-persistent-filter-alist)
108242         (frameset--record-relationships): Handle `delete-before',
108243         `parent-frame' and `mouse-wheel-frame' parameters.  Rename
108244         latter from `frameset--record-minibuffer-relationships'.
108245         (frameset--restore-frame): Handle ‘parent-frame’ parameter
108246         specially.
108247         (frameset-restore): Handle `delete-before', `parent-frame' and
108248         `mouse-wheel-frame' parameters.
108249         * lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame'
108250         parameter.
108251         * lisp/window.el (window--min-size-ignore-p): Fix doc-string.
108252         (mouse-autoselect-window-select, handle-select-window): Major
108253         rewrite.  Try to not ignore errors.  Handle auto-selection of
108254         child frames and different values of `focus-follows-mouse'.
108255         * src/frame.c (frame_windows_min_size): Handle new `min-width'
108256         and `min-height' frame parameters.
108257         (make_frame): Initialize new frame structure members.
108258         (do_switch_frame): Don't reset internal_last_event_frame for
108259         descendant frames.
108260         (Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New
108261         functions.
108262         (candidate_frame): Don't return `no-other-frame' frame.
108263         (other_frames): New function replacing other_visible_frames.
108264         (delete_frame): Rewrite.  Handle child and `delete-before' frames.
108265         (Fmake_frame_invisible): Call other_frames.
108266         (store_frame_param): Check `delete-before' and `parent-frame'
108267         parameters for circular dependencies.
108268         (frame_parms, syms_of_frame): Add entries for and define new
108269         frame parameters.
108270         (focus_follows_mouse): New meaningful value `auto-raise'.
108271         * src/frame.h (z_group): New enumeration type.
108272         (frame): New slots parent_frame, undecorated, override_redirect,
108273         skip_taskbar, no_focus_on_map, no_accept_focus, z_group.
108274         (fset_parent_frame): New inlined function.
108275         (FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT)
108276         (FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
108277         (FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE)
108278         (FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED)
108279         (FRAME_Z_GROUP_BELOW): New macros.
108280         (frame_ancestor_p): Add declaration.
108281         * src/gtkutil.c (xg_create_frame_widgets): Handle
108282         `undecorated' and `override-redirect' frame parameters.
108283         (x_wm_set_size_hint): None for child frames.
108284         (xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar)
108285         (xg_set_no_focus_on_map, xg_set_no_accept_focus)
108286         (xg_set_override_redirect): New functions.
108287         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
108288         Don't let scrollbars obscure child frames.
108289         * src/gtkutil.h: (xg_set_undecorated, xg_frame_restack)
108290         (xg_set_skip_taskbar, xg_set_no_focus_on_map)
108291         (xg_set_no_accept_focus, xg_set_override_redirect): Add extern
108292         declarations.
108293         * src/nsfns.m (ns_frame_parm_handlers): Add entries for new
108294         frame parameters.
108295         (Fx_create_frame): Install `min-width' and `min-height' frame
108296         parameters.
108297         * src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change.
108298         * src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary.
108299         (x_real_positions): Handle child frames.
108300         (x_set_menu_bar_lines): Don't for child frames.
108301         (x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar)
108302         (x_set_no_focus_on_map, x_set_no_accept_focus)
108303         (x_set_z_group): New functions.
108304         (w32_createvscrollbar, w32_createhscrollbar): Don't draw
108305         scroll bars over child frames.
108306         (w32_createwindow): Handle new frame parameters and child frames.
108307         (w32_wnd_proc): Let mouse clicks into a child frame activate
108308         the frame.  Try to handle the `no-accept-focus' parameter.  Do
108309         SetFocus when our window is brought to top or becomes the
108310         foreground window.
108311         (w32_window): Don't initialize menu bar for child frames.
108312         (Fx_create_frame): Handle new frame parameters.
108313         (x_create_tip_frame): Set explicit_parent slot.
108314         (w32_dialog_in_progress): New function.
108315         (Fx_file_dialog): Handle `z-group-above' frames.
108316         (w32_frame_list_z_order, Fw32_frame_list_z_order)
108317         (w32_frame_restack, Fw32_frame_restack): New functions.
108318         (w32_frame_parm_handlers): Add entries for new frame
108319         parameters.
108320         * src/w32font.c (Fx_select_font): Handle `z-group-above'
108321         frames during font selection dialogue.
108322         * src/w32term.c (construct_mouse_wheel): Construct mouse wheel
108323         event from F's w32 window.
108324         (w32_mouse_position): Handle child frames.
108325         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar):
108326         Don't draw scroll bars over child frames.
108327         (w32_read_socket): Always erase background of child frames.
108328         When generating SELECT_WINDOW_EVENTs handle new value of
108329         `focus-follows-mouse' and handle `no-accept-focus' parameter.
108330         Handle `mouse-wheel-frame' parameter.
108331         (x_calc_absolute_position, x_set_offset, x_set_window_size):
108332         Handle child frames.
108333         (x_make_frame_visible): Handle child frames specially.  Handle
108334         `no-focus-on-map' parameter.
108335         * src/w32term.h (w32_dialog_in_progress): Add external
108336         declaration.
108337         * src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not
108338         for child frames.
108339         * src/xfns.c (Xm/MwmUtil.h): Include for WM hints.
108340         (PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for
108341         non-Motif, non-GTK case.
108342         (x_real_pos_and_offsets): Handle child frames.
108343         (x_set_undecorated, x_set_parent_frame)
108344         (x_set_no_focus_on_map, x_set_no_accept_focus)
108345         (x_set_override_redirect): New functions.
108346         (x_set_menu_bar_lines): Not for child frames.
108347         (x_window): Handle `undecorated' and `override_redirect' cases.
108348         (Fx_create_frame): Handle new frame parameters.
108349         (frame_geometry): Handle child frames and outer border.
108350         (x_frame_list_z_order, Fx_frame_list_z_order)
108351         (x_frame_restack, Fx_frame_restack): New functions.
108352         (Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use.
108353         (x_frame_parm_handlers): Add entries for new frame parameters.
108354         * src/xmenu.c (x_menu_set_in_use): Handle `z-group-above'
108355         frames.
108356         * src/xterm.c (x_set_frame_alpha): Don't set alpha of parent
108357         for child frames.
108358         (XTmouse_position): Handle child frames.
108359         (x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll
108360         bars obscure child frames.
108361         (handle_one_xevent): Handle child frame positions.  If necessary
108362         set `skip-taskbar' and reassign proper `z-group' when we are
108363         mapped.  When generating SELECT_WINDOW_EVENTs handle new value
108364         of `focus-follows-mouse'.  Handle `mouse-wheel-frame' parameter.
108365         Let mouse clicks into a child frame activate the frame.
108366         (x_calc_absolute_position, x_set_offset): Handle child frames
108367         specially.
108368         (x_set_skip_taskbar, x_set_z_group): New functions.
108369         (x_make_frame_visible): Handle child frames.
108370         (ATOM_REFS_INIT): Add entries for
108371         Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above,
108372         Xatom_net_wm_state_below.
108373         * src/xterm.h (top-level): Declare Xatom_net_wm_state_above,
108374         Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar.
108375         (x_set_skip_taskbar, x_set_z_group): Add extern declarations.
108377 2017-04-11  Glenn Morris  <rgm@gnu.org>
108379         Update a package test for hydra
108381         * test/lisp/emacs-lisp/package-tests.el (with-package-test):
108382         Also bind package-gnupghome-dir, see eg
108383         http://hydra.nixos.org/build/51462182 .
108385 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
108387         Frame movement, focus and hook related changes
108389         New hook `move-frame-functions'.  Run `focus-in-hook'
108390         after switching to frame that gets focus.  Don't run
108391         XMoveWindow for GTK.
108393         * lisp/frame.el (handle-move-frame, frame-size-changed-p): New
108394         functions.
108396         * src/frame.c (do_switch_frame): Simplify code.
108397         (Fhandle_switch_frame): Switch frame before running
108398         `handle-focus-in'.
108399         (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
108400         (Vmove_frame_functions): New hook variable.
108401         * src/keyboard.c (kbd_buffer_get_event): Handle
108402         MOVE_FRAME_EVENT.  Handle SELECT_WINDOW_EVENT separately.
108403         (head_table): Add Qmove_frame entry.
108404         (syms_of_keyboard): Add Qmove_frame.
108405         (keys_of_keyboard): Define key for `move-frame'.
108406         * src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
108407         * src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
108408         * src/window.c (run_window_size_change_functions): Record size of
108409         FRAME's minibuffer window too.
108410         * src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
108411         (x_set_offset): For GTK call gtk_widget_move instead of
108412         XMoveWindow.
108414 2017-04-11  Werner LEMBERG  <wl@gnu.org>
108416         Avoid abort in ftfont.c due to faulty fonts
108418         * src/ftfont.c (ftfont_get_metrics): Try loading the font without
108419         hinting, before aborting.  (Bug#25945)
108421 2017-04-11  Eli Zaretskii  <eliz@gnu.org>
108423         Document 'line-pixel-height'
108425         * doc/lispref/display.texi (Size of Displayed Text): Document
108426         line-pixel-height.  Suggested by Tak Kunihiro
108427         <tkk@misasa.okayama-u.ac.jp>.  (Bug#26379)
108429 2017-04-11  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
108431         Introduce customizable variable 'package-gnupghome-dir'
108433         * lisp/emacs-lisp/package.el (package-import-keyring)
108434         (package--check-signature-content, package-check-signature):
108435         Use new variable package-gnupghome-dir to control which GnuPG
108436         homedir to use.
108437         * doc/emacs/package.texi: Mention package-gnupghome-dir.
108438         * etc/NEWS: Mention package-gnupghome-dir.
108440 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
108442         Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943
108444         This activates a change that was installed a few weeks ago but whose
108445         ChangeLog was inadvertently dropped during its commit.  The proper
108446         ChangeLog is included below as part of the present commit.
108448         * src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
108449         is set avoid calling x_gtk_parse_geometry (Bug#25851).
108450         (x_wm_set_size_hint): When x_gtk_use_window_move is set, set
108451         PPosition, USPosition and USSize flags if requested.
108452         * src/xterm.c (x_set_offset): With GTK when
108453         x_gtk_use_window_move is set, leave it entirely to
108454         gtk_window_move to position the window and skip any
108455         post-adjustments (Bug#25851 and Bug#25943).
108456         (x_gtk_use_window_move): New variable.
108458 2017-04-10  Alan Mackenzie  <acm@muc.de>
108460         Fix a loop in C Mode caused by inadequate analysis of comments.
108462         After M-;, and the insertion of the opening "/*", the CC Mode after-change
108463         function got confused, since the new comment opener matched the end of a
108464         subsequent comment, but moving back over that comment did not come back to the
108465         starting point.  Fix this.
108467         * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
108468         point is left if no end-of-macro is found before it.
108469         (c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
108470         non-nil except where we have an unclosed block comment at the end of a macro.
108471         This enables us to populate the cache more fully, at the cost of some run
108472         time.
108474 2017-04-10  Lars Brinkhoff  <lars@nocrew.org>
108476         Add PVSIZE function to return the size of a pseudovector.
108478         * src/lisp.h (PVSIZE): New function.
108480         * src/chartab.c (copy_char_table):
108481         * src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
108482         * src/doc.c (Fdocumentation, store_function_docstring):
108483         * src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
108484         * src/fns.c (Flength, Fcopy_sequence):
108485         * src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
108486         * src/lread.c (substitute_object_recurse):
108487         * src/print.c (print_object):
108488           Use it.
108490 2017-04-10  Michael Albinus  <michael.albinus@gmx.de>
108492         Add Tramp tests
108494         * lisp/net/tramp.el (tramp-syntax): Adapt docstring.
108496         * test/lisp/net/tramp-tests.el
108497         (tramp-test01-file-name-syntax-simplified)
108498         (tramp-test01-file-name-syntax-separate)
108499         (tramp-test02-file-name-dissect-simplified)
108500         (tramp-test02-file-name-dissect-separate): New tests.
108502 2017-04-10  Martin Rudalics  <rudalics@gmx.at>
108504         Make sure that `shell' makes BUFFER current
108506         * lisp/shell.el (shell): Restrict scope of recently added
108507         `with-current-buffer' to make sure that BUFFER is current when
108508         `shell' returns.
108510 2017-04-10  Jim Blandy  <jimb@red-bean.com>
108512         Default to PCRE syntax when reading .hgignore
108514         * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
108515         Default to the PCRE syntax (bug#26249).
108517 2017-04-09  Michael Albinus  <michael.albinus@gmx.de>
108519         Document Tramp changes
108521         * doc/misc/tramp.texi (Change file name syntax): New node.
108523         * etc/NEWS: Mention `tramp-change-syntax'.
108525         * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
108526         External packages uses it.
108527         (tramp-syntax): Set also `tramp-file-name-regexp'.
108529 2017-04-09  Paul Eggert  <eggert@cs.ucla.edu>
108531         Merge from gnulib (Bug#26398)
108533         This incorporates:
108534         2017-04-08 getopt: prefer - to _ in new file names
108535         2017-04-08 getopt: port recent getopt changes to macOS
108536         * .gitignore: Add lib/getopt-cdefs.h.
108537         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
108538         * lib/getopt-core.h: Rename from lib/getopt_core.h.
108539         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
108540         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
108541         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
108542         * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
108543         Copy from Gnulib.
108544         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
108546 2017-04-09  Ken Raeburn  <raeburn@raeburn.org>
108548         Write updated loaddefs to a temporary file and rename into place.
108550         In a parallel build, byte compilation can be running at the same times
108551         as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
108552         loaddefs.el is read at startup and must always be in a usable state.
108554         * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
108555         loaddefs.el.new and then rename it to loaddefs.el.
108557 2017-04-09  Glenn Morris  <rgm@gnu.org>
108559         In the manual, mention pops and imaps
108561         * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
108562         Mention pops and imaps protocols.
108564 2017-04-09  Glenn Morris  <rgm@gnu.org>
108566         * doc/emacs/rmail.texi: Prefer @command to @code for movemail.
108568 2017-04-09  Sergey Poznyakoff  <gray@gnu.org>
108570         Fix rmail handling of movemail protocols (bug#18278)
108572         * lisp/mail/rmail.el (rmail-remote-proto-p): New function.
108573         (rmail-parse-url): Return protocol in second list element.
108574         Only use passwords with remote mailboxes.
108575         (rmail-insert-inbox-text): Handle non-simple local
108576         mailboxes (maildir, MH, etc.).
108578 2017-04-09  Glenn Morris  <rgm@gnu.org>
108580         Fix typos in manual re movemail local mailboxes
108582         * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
108583         Fix examples of local mailbox urls.
108585 2017-04-08  Glenn Morris  <rgm@gnu.org>
108587         * lisp/gnus/nnmail.el (nnmail-crosspost-link-function): Simplify.
108589 2017-04-08  Glenn Morris  <rgm@gnu.org>
108591         Remove references to OS/2 in code, doc, and comments
108593         * lisp/gnus/nnheader.el (nnheader-read-timeout)
108594         (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
108595         * lisp/emulation/viper-util.el (viper-color-defined-p):
108596         * lisp/net/pop3.el (pop3-read-timeout):
108597         * lisp/net/imap.el (imap-read-timeout):
108598         * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
108599         * lisp/emulation/viper-ex.el (viper-glob-function):
108600         * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
108601         * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
108602         * doc/emacs/msdos-xtra.texi (MS-DOS):
108603         * doc/misc/gnus.texi (Various Various):
108604         * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
108606 2017-04-08  Michael Albinus  <michael.albinus@gmx.de>
108608         Tune Tramp syntax
108610         * lisp/net/tramp-cmds.el (tramp-change-syntax):
108611         Use `tramp-syntax-values'.
108613         * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
108615         * lisp/net/tramp.el (tramp-syntax): Rename possible values.
108616         (tramp-syntax-values): New defun.
108617         (tramp-prefix-format, tramp-method-regexp)
108618         (tramp-postfix-method-format, tramp-prefix-ipv6-format)
108619         (tramp-postfix-ipv6-format, tramp-postfix-host-format)
108620         (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
108621         and changed values.
108622         (tramp-completion-file-name-regexp-default): Rename from
108623         `tramp-completion-file-name-regexp-unified'.  Adapt docstring.
108624         (tramp-completion-file-name-regexp-simplified): Rename from
108625         `tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
108626         (tramp-initial-completion-file-name-regexp):
108627         Use `tramp-completion-file-name-regexp-default'.
108628         (tramp-run-real-handler): Do not autoload any longer.
108630 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
108632         Replace more nested ifs with cond
108634         This is a continuation of d526047 "Replace more nested ifs with cond".
108635         * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
108636         when and cond where appropriate.
108638 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
108640         Adjust the edebug spec of if-let*
108642         This was fixed in Bug#24748, but now looking more closely, using gate in
108643         the spec seems correct.  See (info "(elisp) Backtracking").
108644         * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
108646 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
108648         Replace some uses of cl-member-if with apply
108650         From the mhtml-mode series.  Some of the uses of cl-lib are not
108651         necessary.
108652         * lisp/align.el: Don't require cl-lib.
108653         (align-region): Use apply instead of cl-member-if.
108654         * lisp/emulation/viper.el: Don't require cl-lib.
108655         (viper-mode, this-major-mode-requires-vi-state): Use apply instead of
108656         cl-member-if.
108658 2017-04-08  Philipp Stephani  <phst@google.com>
108660         Validate SPEC of `dolist', cf. Bug#25477.
108662         * lisp/subr.el (dolist): Test type and length of SPEC.
108663         * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
108664         Add unit test.
108666 2017-04-08  Philipp Stephani  <phst@google.com>
108668         Add unit test for Bug#26378
108670         * test/lisp/vc/ediff-diff-tests.el
108671         (ediff-diff-tests--ediff-exec-process--nil): New unit test.
108673 2017-04-08  Lars Brinkhoff  <lars@nocrew.org>
108675         Fix circular read syntax for records.
108677         * src/lread.c (substitute_object_recurse): Work with records.
108679         * test/src/lread-tests.el (lread-record-1): New test.
108681 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
108683         Deprecate copy-record in favor of copy-sequence
108685         Since copy-sequence seems to be needed anyway for records, have it
108686         work on records, and remove copy-record as being superfluous.
108687         * doc/lispref/records.texi (Records, Record Functions):
108688         * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
108689         * lisp/emacs-lisp/eieio.el (make-instance, clone):
108690         * test/src/alloc-tests.el (record-3):
108691         Use copy-sequence, not copy-record, to copy records.
108692         * doc/lispref/sequences.texi (Sequence Functions)
108693         (Array Functions): Document that aref and copy-sequence
108694         work on records.
108695         * etc/NEWS: Omit copy-record.
108696         * src/alloc.c (Fcopy_record): Remove.
108697         * src/data.c (Faref): Document that arg can be a record.
108698         * src/fns.c (Fcopy_sequence): Copy records, too.
108700 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
108702         Fix dependency checking in src/Makefile.in
108704         * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
108705         dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
108706         Otherwise, some dependencies will be missed.
108708 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
108710         Minor tuneup of write-region change
108712         * src/fileio.c (write_region): Use SCHARS, not Flength,
108713         on a value known to be a string.
108715 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
108717         Adjust write-region so file name is at the beginning again
108719         * lisp/epa-file.el (epa-file-write-region):
108720         * lisp/gnus/mm-util.el (mm-append-to-file):
108721         * lisp/jka-compr.el (jka-compr-write-region):
108722         * lisp/net/ange-ftp.el (ange-ftp-write-region):
108723         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
108724         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
108725         * src/fileio.c (write_region): Put file name at the beginning and move
108726         number of characters to the end of the message.
108728 2017-04-08  Kaushal Modi  <kaushal.modi@gmail.com>
108730         Check that file argument is a string
108732         * lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
108733           passed to `file-local-copy' is a string (Bug#26378).  Also fix
108734           the existing comment for this function, and convert it to its
108735           doc-string.
108737 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
108739         Fix handling of non-integer START param to write-region
108741         The previous patch for Bug#354 incorrectly assumed that START would
108742         always be an integer.
108744         * lisp/epa-file.el (epa-file-write-region):
108745         * lisp/jka-compr.el (jka-compr-write-region):
108746         * lisp/net/ange-ftp.el (ange-ftp-write-region):
108747         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
108748         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
108749         * src/fileio.c (write_region): Handle nil and string values of START.
108751 2017-04-07  Glenn Morris  <rgm@gnu.org>
108753         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fixes.
108755 2017-04-07  Michael Albinus  <michael.albinus@gmx.de>
108757         Add Tramp versions to `customize-package-emacs-version-alist'
108759         * lisp/net/trampver.el (customize-package-emacs-version-alist):
108760         Add Tramp versions to `customize-package-emacs-version-alist'.
108762 2017-04-07  Tom Tromey  <tom@tromey.com>
108764         * lisp/textmodes/rst.el (rst-toc-link-keymap): Move before first use.
108766 2017-04-07  Lars Brinkhoff  <lars@nocrew.org>
108768         * doc/lispref/records.texi (Record Functions): fix typo.
108770 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
108772         More casefiddle minor fixes
108774         * src/casefiddle.c (case_character_impl): Omit unnecessary casts.
108775         (case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
108776         (GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
108778 2017-04-07  Jeff Clough  <kb1vqh@gmail.com>
108780         Output number of characters added to file (Bug#354)
108782         * src/fileio.c (write_region):
108783         * lisp/epa-file.el (epa-file-write-region):
108784         * lisp/jka-compr.el (jka-compr-write-region):
108785         * lisp/net/ange-ftp.el (ange-ftp-write-region):
108786         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
108787         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
108788         * lisp/gnus/mm-util.el (mm-append-to-file): Functions now output
108789         characters written in addition to file name.
108790         * doc/lispref/files.texi: Added documentation to write-region and
108791         append-to-file describing their output.
108793 2017-04-07  Noam Postavsky  <npostavs@users.sourceforge.net>
108795         Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap
108797         The recent changes to src/casefiddle.c cause build failure as seen
108798         below:
108800             Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
108801                 --batch --load loadup bootstrap
108802             [Thread debugging using libthread_db enabled]
108803             Using host libthread_db library "/usr/lib/libthread_db.so.1".
108804             Loading loadup.el (source)...
108805             Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
108806                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
108807                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
108808                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
108809                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
108810                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
108811             Loading emacs-lisp/byte-run (source)...
108812             Loading emacs-lisp/backquote (source)...
108813             Loading subr (source)...
108814             Loading version (source)...
108815             Loading widget (source)...
108816             Loading custom (source)...
108817             Loading emacs-lisp/map-ynp (source)...
108818             Loading international/mule (source)...
108819             Loading international/mule-conf (source)...
108821             lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
108823             Breakpoint 1, terminate_due_to_signal at emacs.c:363
108824             363   signal (sig, SIG_DFL);
108825             (gdb) bt
108826             #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
108827             #1  0x000000000060ec33 in die at alloc.c:7352
108828             #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
108829             #3  0x0000000000576884 in intern_c_string at lisp.h:3790
108830             #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
108831             #5  0x00000000005dd37f in casify_object at casefiddle.c:311
108832             #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
108833             #7  0x00000000006325ac in eval_sub at eval.c:2219
108834             #8  0x0000000000632368 in eval_sub at eval.c:2184
108835             #9  0x000000000063446c in apply_lambda at eval.c:2875
108836             #10 0x00000000006329af in eval_sub at eval.c:2294
108837             #11 0x000000000062d462 in Fprogn at eval.c:449
108838             #12 0x000000000062d4cf in prog_ignore at eval.c:461
108839             #13 0x000000000062f19c in Fwhile at eval.c:982
108840             #14 0x00000000006321f4 in eval_sub at eval.c:2172
108841             #15 0x000000000062d462 in Fprogn at eval.c:449
108842             #16 0x000000000062f0c4 in Flet at eval.c:963
108843             #17 0x00000000006321f4 in eval_sub at eval.c:2172
108844             #18 0x0000000000632963 in eval_sub at eval.c:2290
108845             #19 0x000000000062d462 in Fprogn at eval.c:449
108846             #20 0x000000000062f0c4 in Flet at eval.c:963
108847             #21 0x00000000006321f4 in eval_sub at eval.c:2172
108848             #22 0x0000000000668caa in readevalloop at lread.c:1927
108849             #23 0x0000000000667253 in Fload at lread.c:1332
108850             #24 0x0000000000632683 in eval_sub at eval.c:2233
108851             #25 0x0000000000668caa in readevalloop at lread.c:1927
108852             #26 0x0000000000667253 in Fload at lread.c:1332
108853             #27 0x0000000000632683 in eval_sub at eval.c:2233
108854             #28 0x0000000000631be5 in Feval at eval.c:2041
108855             #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
108856             #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
108857             #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
108858             #32 0x000000000062f51e in internal_catch at eval.c:1091
108859             #33 0x000000000057e0ea in command_loop at keyboard.c:1090
108860             #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
108861             #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
108862             #36 0x000000000057b55b in main at emacs.c:1687
108864             Lisp Backtrace:
108865             "capitalize" (0xffffcf70)
108866             "format" (0xffffd130)
108867             "define-charset" (0xffffd370)
108868             "while" (0xffffd560)
108869             "let" (0xffffd7c0)
108870             "dolist" (0xffffd910)
108871             "let" (0xffffdb70)
108872             "load" (0xffffdfe0)
108873             "load" (0xffffe4a0)
108875         * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
108876         Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
108877         Qspecial_titlecase.
108878         (prepare_casing_context): Use aforementioned symbols.
108880 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
108882         Merge from gnulib
108884         This merges some getopt fixes from Zack Weinberg, and affects only
108885         non-GNUish platforms.  It incorporates:
108886         2017-04-06 getopt-gnu: omit some duplicate code
108887         2017-04-06 getopt-posix: use angle-bracket include
108888         2017-04-06 getopt: annotate files with relationship to glibc
108889         2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
108890         2017-04-06 getopt: better handling of ambiguous options
108891         2017-04-06 getopt: refactor long-option handling
108892         2017-04-06 getopt: tidy up _getopt_initialize a bit
108893         2017-04-06 getopt: merge from glibc: repetition reduction
108894         2017-04-06 getopt: clean up error reporting
108895         2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
108896         2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
108897         2017-04-06 getopt: harmonize comments with glibc
108898         2017-04-06 getopt: remove USE_NONOPTION_FLAGS
108899         2017-04-06 getopt: tabify, in preparation for merge with glibc
108900         2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
108901         * build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
108902         * lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
108903         * lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
108904         * lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
108905         Copy from gnulib.
108906         * lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
108907         * lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
108908         New files, taken from gnulib.
108909         * lib/gnulib.mk.in, m4/gnulib-comp.m4:
108910         Regenerate.
108912 2017-04-07  Hong Xu  <hong@topbug.net>
108914         * src/search.c (Fre_search_forward, Fre_search_backward): Improve
108915         doc (Bug#25193).
108917 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
108919         Mention that processes start in default-directory (Bug#18515)
108921         * doc/lispref/processes.texi (Synchronous Processes):
108922         (Asynchronous Processes):
108923         * lisp/subr.el (start-process):
108924         * src/callproc.c (call-process): Mention that the subprocess starts in
108925         `default-directory' when local, suggest `start-file-process' and
108926         `process-file' otherwise.
108928 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
108930         * src/xdisp.c (vmessage, message): Clarify commentary.
108932 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
108934         Minor casefiddle.c cleanups
108936         * src/casefiddle.c: Redo recent changes to match GNU style,
108937         and prefer C99-style decls within blocks.
108938         (GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
108939         we are merely using the Unicode name, and make it a constant
108940         rather than a macro.  All uses changed.
108941         (SMALL_SIGMA): Remove; unused.
108942         (GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
108943         and make it a constant rather than a macro.  All uses changed.
108944         (do_casify_multibyte_string): Use ‘verify’ rather than an
108945         unportable static_assertion local.
108947 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
108949         * lisp/international/README: Update to match current list.
108951 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
108953         Fix 'make clean' in lib subdirectory
108955         * lib/Makefile.in (clean): Remove *-t files.
108956         (mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
108957         This removes files like lib/getopt.h that should be removed
108958         even if this configuration did not need to build them.
108959         (maintainer-clean): Remove TAGS here, not in distclean,
108960         to be consistent with ../src/Makefile.in.
108962 2017-04-06  Michael Albinus  <michael.albinus@gmx.de>
108964         Add new Tramp syntax
108966         * lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.
108968         * lisp/net/tramp.el (tramp-syntax): Change default to `def'.
108969         Add :set function.
108970         (tramp-prefix-port-format): Simplify.
108971         (tramp-file-name-regexp-separate): Remove.
108972         (tramp-initial-file-name-regexp)
108973         (tramp-completion-file-name-regexp-old-style)
108974         (tramp-initial-completion-file-name-regexp): New defconst.
108975         (tramp-prefix-format, tramp-prefix-regexp)
108976         (tramp-method-regexp, tramp-postfix-method-format)
108977         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
108978         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
108979         (tramp-postfix-ipv6-regexp)
108980         (tramp-postfix-host-format, tramp-postfix-host-regexp)
108981         (tramp-remote-file-name-spec-regexp)
108982         (tramp-file-name-structure, tramp-file-name-regexp)
108983         (tramp-completion-file-name-regexp)
108984         (tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
108985         (tramp-tramp-file-p, tramp-find-method)
108986         (tramp-dissect-file-name, tramp-make-tramp-file-name)
108987         (tramp-completion-make-tramp-file-name)
108988         (tramp-rfn-eshadow-update-overlay)
108989         (tramp-register-autoload-file-name-handlers)
108990         (tramp-register-file-name-handlers)
108991         (tramp-unload-file-name-handlers)
108992         (tramp-completion-handle-file-name-all-completions)
108993         (tramp-completion-dissect-file-name, tramp-clear-passwd):
108994         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
108995         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
108996         (tramp-compute-multi-hops): Use them.
108998 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
109000         Implement special sigma casing rule  (bug#24603)
109002         In Greek, a sigma character has two lower case forms which depend on
109003         their position in the word.  Implement logic determining it.
109005         * src/casefiddle.c (struct casing_context, case_character_impl): Don’t
109006         assume inword is true when flag is CASE_UP and false when flag is
109007         CASE_DOWN.  For final sigma detection we need this information tracked
109008         reliably;.
109009         (CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
109010         Unicode code point of different forms of sigma letter.
109011         (case_character): Implement support for final sigma casing.
109012         (do_casify_multibyte_string, do_casify_multibyte_region): Update after
109013         changes to case_character.
109015         * test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
109016         cases for final sigma.
109018 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
109020         Support casing characters which map into multiple code points  (bug#24603)
109022         Implement unconditional special casing rules defined in Unicode standard.
109024         Among other things, they deal with cases when a single code point is
109025         replaced by multiple ones because single character does not exist (e.g.
109026         ‘fi’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
109027         into SS).
109029         * admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
109030         standard distribution.
109031         * admin/unidata/README: Mention SpecialCasing.txt.
109033         * admin/unidata/unidata-gen.el (unidata-gen-table-special-casing,
109034         unidata-gen-table-special-casing--do-load): New functions generating
109035         ‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
109036         character Unicode properties built from the SpecialCasing.txt Unicode
109037         data file.
109039         * src/casefiddle.c (struct casing_str_buf): New structure for
109040         representing short strings used to handle one-to-many character
109041         mappings.
109043         (case_character_imlp): New function which can handle one-to-many
109044         character mappings.
109045         (case_character, case_single_character): Wrappers for the above
109046         functions.  The former may map one character to multiple (or no)
109047         code points while the latter does what the former used to do (i.e.
109048         handles one-to-one mappings only).
109050         (do_casify_natnum, do_casify_unibyte_string,
109051         do_casify_unibyte_region): Use case_single_character.
109052         (do_casify_multibyte_string, do_casify_multibyte_region): Support new
109053         features of case_character.
109054         * (do_casify_region): Updated to reflact do_casify_multibyte_string
109055         changes.
109057         (casify_word): Handle situation when one character-length of a word
109058         can change affecting where end of the word is.
109060         (upcase, capitalize, upcase-initials): Update documentation to mention
109061         limitations when working on characters.
109063         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
109064         Add test cases for the newly introduced character properties.
109065         (casefiddle-tests-casing): Update test cases which are now passing.
109067         * test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
109068         char-fold--ascii-downcase): New functions which behave like old ‘upcase’
109069         and ‘downcase’.
109070         (char-fold--test-match-exactly): Use the new functions.  This is needed
109071         because otherwise fi and similar characters are turned into their multi-
109072         -character representation.
109074         * doc/lispref/strings.texi: Describe issue with casing characters versus
109075         strings.
109076         * doc/lispref/nonascii.texi: Describe the new character properties.
109078 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
109080         Split up casify_region function  (bug#24603)
109082         No functional changes at this time but splitting casify_region into
109083         a function dealing with multibyte and another dealing with unibyte
109084         buffers will make future code changes slightly easier.
109086         * src/casefiddle.c (casify_region): Move most of the code into two
109087         new functions:
109088         (do_casify_multibyte_region, do_casify_unibyte_region): new functions.
109090 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
109092         Add support for title-casing letters  (bug#24603)
109094         * src/casefiddle.c (struct casing_context, prepare_casing_context): Add
109095         titlecase_char_table member.  It’s set to the ‘titlecase’ Unicode
109096         property table if capitalization has been requested.
109097         (case_character): Make use of the titlecase_char_table to title-case
109098         initial characters when capitalising.
109100         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
109101         casefiddle-tests-casing): Update test cases which are now passing.
109103 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
109105         Introduce case_character function
109107         Move single-character casing logic into a separate function so that
109108         it is collected in a single place.  This will make future changes to
109109         the logic easier.  This commit introduces no functionality changes.
109111         * src/casefiddle.c (struct casing_context, prepare_casing_context): New
109112         structure for saving casing context and function to initialize it.
109113         (case_character): New function which cases character base on provided
109114         context.
109115         (do_casify_integer, do_casify_multibyte_string,
109116         do_casify_unibyte_string, casify_object, casify_region): Convert to
109117         use casing_context and case_character.
109119 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
109121         Split casify_object into multiple functions
109123         casify_object had three major cases to cover and those were mostly
109124         independent of each other.  Move those branches to separate function
109125         so it’s easier to comprehend each individual case.
109127         While at it, use somewhat more descriptive ch and cased variable names
109128         rather than c and c1.
109130         This commit introduces no functional changes.
109132         * src/casefiddle.c (casify_object): Split into…
109133         (do_casify_integer, do_casify_multibyte_string,
109134         do_casify_unibyte_string): …new functions.
109136 2017-04-06  Lars Brinkhoff  <lars@nocrew.org>
109138         Update documentation for type semantics of records.
109140         * doc/lispref/objects.texi (Record Type): improve description of what
109141         `type-of' returns for records.
109142         (Type Descriptors): new section.
109143         * doc/lispref/elisp.texi: reference it.
109144         * doc/lispref/records.texi (Records): reference it.  Document
109145         behavior when type slot is a record.
109147         * admin/alloc-colors.c (Fmake_record, Frecord): mention type descriptors.
109149 2017-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
109151         * lisp/help-fns.el (describe-symbol): `nil' is not an interesting default.
109153 2017-04-06  Tom Tromey  <tom@tromey.com>
109155         require cl-lib to fix fallout from mhtml series
109157         * lisp/align.el, lisp/calc/calc-embed.el, lisp/cedet/semantic.el,
109158         lisp/emulation/viper.el: Require cl-lib.
109160 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
109162         In CANNOT_DUMP builds, allow editing of files named "dump".
109164         * lisp/loadup.el: Perform the "dump" or "bootstrap" actions like
109165         calling dump-emacs only if dump-emacs is defined; otherwise, don't
109166         treat those command-line argument specially.
109168 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
109170         In CANNOT_DUMP builds, don't prepare for unexec.
109172         Having a command-line argument of "dump" or "bootstrap" would trigger
109173         behavior like not installing signal handlers.  In CANNOT_DUMP modes,
109174         we should get signal handlers installed regardless of whatever funny
109175         file names we decide to edit.
109177         src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
109178         alterations to initialization that prepares the process for unexec.
109180 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
109182         Allow a CANNOT_DUMP build to use exec-path during bootstrap.
109184         During a bootstrap, loading rmail.el invokes movemail to determine its
109185         flavor, but call-process doesn't work if exec-path is nil.
109187         * lisp/loadup.el: Only clear exec-path if dumping.
109189 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
109191         Fix CANNOT_DUMP build on Darwin/macOS.
109193         * src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
109194         CANNOT_DUMP]: Don't define as unexec_malloc, etc.
109195         * src/emacs.c (main): Don't call unexec_init_emacs_zone.
109197 2017-04-05  Tom Tromey  <tom@tromey.com>
109199         add two more mhtml tests
109201         * test/manual/indent/html-multi-2.html: New file.
109202         * test/manual/indent/html-multi-3.html: New file.
109204 2017-04-05  Tom Tromey  <tom@tromey.com>
109206         enable mhtml-mode by default
109208         * lisp/files.el (auto-mode-alist): Reference mhtml-mode, not
109209         html-mode.
109210         (magic-fallback-mode-alist): Likewise.
109211         * lisp/net/eww.el (eww-view-source): Use mthml-mode.
109213 2017-04-05  Tom Tromey  <tom@tromey.com>
109215         add mhtml-mode.el
109217         * etc/NEWS: Update.
109218         * lisp/textmodes/mhtml-mode.el: New file.
109219         * test/manual/indent/html-multi.html: New file.
109220         * test/lisp/textmodes/mhtml-mode-tests.el: New file.
109221         * doc/emacs/text.texi (HTML Mode): Mention mhtml-mode.
109223 2017-04-05  Tom Tromey  <tom@tromey.com>
109225         change sgml-mode to help multi-html mode
109227         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): New
109228         defconst.
109229         (sgml-syntax-propertize): Use it.
109230         (sgml--find-<>-backward): New function.
109231         (sgml-parse-tag-backward): Use it.
109233 2017-04-05  Tom Tromey  <tom@tromey.com>
109235         make js.el respect prog-first-column
109237         * lisp/progmodes/js.el (js--proper-indentation): Call prog-first-column.
109239 2017-04-05  Tom Tromey  <tom@tromey.com>
109241         make smie.el respect prog-first-column
109243         * lisp/emacs-lisp/smie.el (smie-indent-bob): Call prog-first-column.
109245 2017-04-05  Tom Tromey  <tom@tromey.com>
109247         change viper to use derived-mode-p
109249         * lisp/subr.el (provided-mode-derived-p): New function.
109250         (derived-mode-p): Use it.
109251         * lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
109252         (this-major-mode-requires-vi-state): Use provided-mode-derived-p.
109253         (set-viper-state-in-major-mode): Use derived-mode-p.
109255 2017-04-05  Tom Tromey  <tom@tromey.com>
109257         change align to use derived-mode-p
109259         * lisp/align.el (align-region): Use derived-mode-p.
109261 2017-04-05  Tom Tromey  <tom@tromey.com>
109263         change org to use derived-mode-p
109265         * lisp/org/org-list.el (org-list-insert-radio-list): Use
109266         derived-mode-p.
109267         * lisp/org/org-table.el (orgtbl-setup, orgtbl-toggle-comment): Use
109268         derived-mode-p.
109270 2017-04-05  Tom Tromey  <tom@tromey.com>
109272         change semantic to use derived-mode-p
109274         * lisp/cedet/semantic.el (semantic-new-buffer-fcn): Use derived-mode-p.
109276 2017-04-05  Tom Tromey  <tom@tromey.com>
109278         change calc to use derived-mode-p
109280         * lisp/calc/calc-embed.el (calc-embedded-find-modes)
109281         (calc-embedded-make-info): Use derived-mode-p.
109283 2017-04-05  Tom Tromey  <tom@tromey.com>
109285         change auto-insert to use derived-mode-p
109287         * lisp/autoinsert.el (auto-insert): Use derived-mode-p.
109289 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
109291         * lisp/info.el (Info-search): Fix typo in April 1 change.
109293 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
109295         Minor cleanups related to type-of
109297         * src/data.c (Frecordp): Rename from Frecordp_p, for consistency.
109298         * src/data.c (syms_of_data):
109299         * src/frame.c (syms_of_frame): Put all the primitive type names
109300         together, under the "Types that type-of returns" comment.
109302 2017-04-05  Glenn Morris  <rgm@gnu.org>
109304         * doc/lispref/package.texi (Package Archives): Mention https.
109306 2017-04-05  Glenn Morris  <rgm@gnu.org>
109308         Advertise https for homepage of gnu.org packages
109310         * lisp/emacs-lisp/package.el (describe-package-1):
109311         Use https, if supported, for the homepage of packages on gnu.org.
109313 2017-04-05  Glenn Morris  <rgm@gnu.org>
109315         Default to https for elpa.gnu.org if gnutls available
109317         * lisp/emacs-lisp/package.el (package-archives):
109318         Default to https for elpa.gnu.org if gnutls is available.  Ref:
109319         https://lists.gnu.org/r/emacs-devel/2015-05/msg00130.html
109321 2017-04-04  Paul Eggert  <eggert@cs.ucla.edu>
109323         Minor simplifications and doc for records
109325         * doc/lispref/records.texi (Records): Mention size limit.
109326         * etc/NEWS: Mention records.
109327         * src/alloc.c (allocate_pseudovector, allocate_record):
109328         Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
109329         (allocate_record): Check arg range here, not in callers, as this
109330         simplifies the code.  Use allocate_vectorlike instead of
109331         allocate_vector, to avoid duplicate runtime tests.
109332         (Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
109333         the doc string, as it is not visible to the user.
109334         (Fmake_record, record, Fcopy_record):
109335         Prefer make_lisp_ptr to XSETVECTOR.
109336         (record): Broaden memcpy to copy the type, too.
109338 2017-04-04  Eli Zaretskii  <eliz@gnu.org>
109340         Fix recent changes in record data type
109342         * src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
109343         compiler warnings when 'ptrdiff_t' is narrower than 'long int'.
109345 2017-04-04  Philipp Stephani  <phst@google.com>
109347         Make subprocess functions resolve the default directory
109349         `call-process' doesn't respect file name handlers in
109350         `default-directory', so `file-name-non-special' has to resolve them
109351         for `process-file', `start-file-process', and
109352         `shell-command' (Bug#25949).
109354         * lisp/files.el (file-name-non-special): Also resolve default
109355         directory for 'process-file', 'start-file-process', and
109356         'shell-command'.
109357         * test/lisp/files-tests.el
109358         (files-tests--file-name-non-special--subprocess): Add unit test.
109360 2017-04-04  Philipp Stephani  <phst@google.com>
109362         Make ediff handle remote and quoted file names
109364         Quoted file names need to be unquoted before passed to
109365         subprocesses (Bug#25950).
109367         * lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
109368         file names.
109369         * test/lisp/vc/ediff-diff-tests.el
109370         (ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
109372 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
109374         Backward compatibility with pre-existing struct instances.
109376         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
109377         (cl-old-struct-compat-mode): New minor mode.
109379         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
109380         cl-struct-define to signal use of record objects.
109382         * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
109383         cl-struct-define): Enable legacy defstruct compatibility.
109385         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
109386         old-struct): New tests.
109388         * doc/lispref/elisp.texi, doc/lispref/records.texi: Document
109389         `old-struct-compat'.
109391 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
109393         Make the URL library use records.
109395         * lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
109396         lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
109397         lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.
109399         * lisp/url/url-http.el (url-http): Check for type `url' instead of
109400         `vector'.
109402 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
109404         Make EIEIO use records.
109406         * lisp/emacs-lisp/eieio-compat.el
109407         (eieio--generic-static-object-generalizer): Adjust to new tags.
109409         * lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
109410         directly as tag.
109411         (eieio--object-class): Adjust to new tag representation.
109412         (eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
109413         (eieio-defclass-internal): Use `make-record'.
109414         (eieio--generic-generalizer): Adjust generalizer code accordingly.
109416         * lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.
109418         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
109419         Add `recordp'.
109421         * doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
109423 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
109425         Make cl-defstruct use records.
109427         * lisp/emacs-lisp/cl-extra.el (cl--describe-class)
109428         (cl--describe-class-slots): Use the new `type-of'.
109430         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
109431         (cl--generic-struct-specializers): Adjust to new tag.
109433         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
109434         Use the type symbol as the tag.  Use copy-record to copy structs.
109435         (cl--defstruct-predicate): New function.
109436         (cl--pcase-mutually-exclusive-p): Use it.
109437         (cl-struct-sequence-type): Can now return `record'.
109439         * lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
109440         code to new format.
109441         (cl--struct-register-child): Work with records.
109442         (cl-struct-define): Don't touch the tag's symbol-value and
109443         symbol-function slots when we use the type as tag.
109445         * lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.
109447         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
109448         New test.
109450         * doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
109452 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
109454         Add record objects with user-defined types.
109456         * src/alloc.c (allocate_record): New function.
109457         (Fmake_record, Frecord, Fcopy_record): New functions.
109458         (syms_of_alloc): defsubr them.
109459         (purecopy): Work with records.
109461         * src/data.c (Ftype_of): Return slot 0 for record objects, or type
109462         name if record's type holds class.
109463         (Frecordp): New function.
109464         (syms_of_data): defsubr it.  Define `Qrecordp'.
109465         (Faref, Faset): Work with records.
109467         * src/fns.c (Flength): Work with records.
109469         * src/lisp.h (prec_type): Add PVEC_RECORD.
109470         (RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.
109472         * src/lread.c (read1): Add syntax for records.
109474         * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
109475         (print_object): Add syntax for records.
109477         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
109478         New test.
109480         * test/src/alloc-tests.el (record-1, record-2, record-3):
109481         New tests.
109483         * doc/lispref/elisp.texi, doc/lispref/objects.texi,
109484         doc/lispref/records.texi: Add documentation for records.
109486 2017-04-04  Tino Calancha  <tino.calancha@gmail.com>
109488         Fix a test in python-test.el
109490         Fix a test that breaks the test suite when it is run within a
109491         virtual environment.
109492         See following link for details:
109493         https://lists.gnu.org/r/emacs-devel/2017-03/msg00857.html
109494         * test/lisp/progmodes/python-tests.el
109495         (python-shell-calculate-process-environment-7): Bind
109496         python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
109497         bind it to '/env'.
109499 2017-04-04  Noam Postavsky  <npostavs@gmail.com>
109501         Throw a `search-failed' derived error in Info search
109503         The original fix for Bug#6106 switched from signaling `search-failed'
109504         to `user-error'.  However, this breaks incremental searching over
109505         multiple nodes because the isearch code doesn't expect a `user-error'.
109507         * src/search.c (syms_of_search): New error, `user-search-failed',
109508         with `user-error' and `search-failed' as parents.
109509         * doc/lispref/errors.texi (Standard Errors): Document it.
109510         * etc/NEWS: Announce it.
109511         * lisp/info.el (Info-search): Use it instead of `user-error' so that
109512         isearch will handle failed searches correctly.
109514 2017-04-03  Michael Albinus  <michael.albinus@gmx.de>
109516         Add Tramp test
109518         * doc/misc/tramp.texi (Remote processes): Fix typo.
109520         * lisp/shell.el (shell): Fix typo.
109522         * lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.
109524         * test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
109525         New test.
109526         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
109527         (tramp-test31-vc-registered)
109528         (tramp-test32-make-auto-save-file-name)
109529         (tramp-test33-make-nearby-temp-file)
109530         (tramp-test34-special-characters)
109531         (tramp-test34-special-characters-with-stat)
109532         (tramp-test34-special-characters-with-perl)
109533         (tramp-test34-special-characters-with-ls, tramp-test35-utf8)
109534         (tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
109535         (tramp-test35-utf8-with-ls)
109536         (tramp-test36-asynchronous-requests)
109537         (tramp-test37-recursive-load, tramp-test38-unload): Rename.
109539 2017-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
109541         * lisp/ses.el: Silence byte-compiler warnings.
109543         (ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
109544         byte-compiler warnings.
109546 2017-04-02  Glenn Morris  <rgm@gnu.org>
109548         Belated fixes for admin.el's M-x make-manuals-dist
109550         * admin/admin.el (make-manuals-dist-output-variables): Additions.
109551         (make-manuals-dist--1): Also copy docstyle.texi.
109553 2017-04-02  Paul Eggert  <eggert@cs.ucla.edu>
109555         Fix bugs in simplified test dependencies
109557         Problem reported by Glenn Morris in:
109558         https://lists.gnu.org/r/emacs-devel/2017-04/msg00017.html
109559         * test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
109560         (TESTS): Omit unnecessary patsubst.
109561         (test_template): Redo dependency heuristic, hopefully
109562         correctly this time.  It's the .log file that depends,
109563         not the phony test target.  Declare the phonies to be PHONY.
109564         Resurrect the exception for the *-tests subdirectory.
109565         Adjust to the fact that leading "./" is omitted now.
109567 2017-04-02  Wilfred Hughes  <me@wilfred.me.uk>
109569         Fix typo in docstring
109571         * lisp/help.el: Fix typo.
109573 2017-04-02  Michael Albinus  <michael.albinus@gmx.de>
109575         Apply connecion-local variables for shells
109577         * doc/misc/tramp.texi (Remote processes): Show use of connection-local
109578         variables.  Don't mention Emacs 23 anymore.
109579         (Frequently Asked Questions): Precise Emacs and MS Windows version.
109581         * lisp/files-x.el (connection-local-normalize-criteria):
109582         Suppress nil properties.
109583         (connection-local-set-profiles, with-connection-local-profiles):
109584         Adapt docstring.
109586         * lisp/shell.el (shell): Apply connecion-local variables.
109588 2017-04-01  Evgeni Kolev  <evgenysw@gmail.com>  (tiny change)
109590         Propertize only perl prototype chars `][$%&*;+@\' as punctuation
109592         This prevents variables in signatures such as `sub add ($a, $b)' from
109593         being treated as punctuation.
109594         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
109595         Strictly match only prototype characters as punctuation.  (Bug#26037)
109597 2017-04-01  Tom Tromey  <tom@tromey.com>
109599         fix two js-mode syntax propertization bugs
109601         Bug#26070:
109602         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
109603         zero-or-one to regular expression.
109604         (js-syntax-propertize-regexp): Update.  Propertize body of regexp
109605         literal up to END.
109606         * test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
109607         (js-mode-propertize-bug-2): New tests.
109609 2017-04-01  Paul Eggert  <eggert@cs.ucla.edu>
109611         Simplify test dependency generation
109613         Generate default dependencies by using GNU extensions to ‘make’
109614         rather than via a hacky auxiliary program and script.
109615         * .gitignore: Remove test/make-test-deps.mk.
109616         * test/Makefile.in (ELFILES, LOGFILES, TESTS):
109617         Use :=, not =, to avoid multiple redundant invocations of ‘find’.
109618         (test_template): Infer dependency directly instead of via
109619         make-test-deps.mk.
109620         (check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
109621         (clean): No need to clean make-test-deps.mk.
109622         (make-test-deps.mk): Remove rule.
109623         * test/make-test-deps.emacs-lisp: Remove.
109625 2017-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
109627         * test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests
109629         (cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
109630         test suite.
109631         (cl-lib-symbol-macrolet-2): New test.
109633 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
109635         Use only posix options in a ediff-ptch test
109637         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
109638         Use just "-b" patch option.  Don't assume a particular suffix for
109639         the backup files.
109641 2017-04-01  Jarno Malmari  <jarno@malmari.fi>
109643         Initial implementation of HTTP Digest qop for url
109645         This also refactors digest authentication functions in url-auth.el.
109647         * lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
109648         (url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
109649         (url-digest-auth-name-value-string, url-digest-auth-source-creds):
109650         (url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
109651         (url-digest-find-new-key, url-digest-prompt-creds): Add new functions
109652         to simplify code and aid in unit testing.
109653         (url-digest-auth-build-response): Hook up new functionality, or fall
109654         back to previous.
109655         (url-digest-auth-make-request-digest-qop):
109656         (url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
109657         (url-digest-auth-name-value-string): Add new helper functions.
109658         * test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
109659         (url-auth-test-digest-ha1, url-auth-test-digest-ha2):
109660         (url-auth-test-digest-request-digest): Add a few tests as now more
109661         features are testable via intermediate functions.
109662         (url-auth-test-challenges, url-auth-test-digest-request-digest): Test
109663         the new implementation.  Parts of these were accidentally already
109664         merged in the past.
109666 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
109668         Tweak ediff-ptch test in previous commit a bit more
109670         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
109671         Apply patches without requiring a shell.  Add some comments.
109673 2017-03-31  Glenn Morris  <rgm@gnu.org>
109675         Tweak an ediff-ptch test
109677         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
109678         Add skip conditions.  Avoid going through shell where not needed.
109680 2017-03-31  Michael Albinus  <michael.albinus@gmx.de>
109682         * lisp/net/tramp-smb.el (tramp-smb-errors):
109684         Add "NT_STATUS_PASSWORD_MUST_CHANGE".
109686 2017-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
109688         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet): New test.
109690 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
109692         dired-mark-suffix: New command
109694         Now dired-mark-extension prepends '.' to extension when not present.
109695         Add command dired-mark-suffix to preserve the previous
109696         behavior (Bug#25942).
109697         * lisp/dired-x.el (dired-mark-suffix): New command;
109698         mark files ending in a given suffix.
109699         (dired--mark-suffix-interactive-spec): New defun.
109700         (dired-mark-extension, dired-mark-suffix): Use it.
109701         * doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
109702         * test/lisp/dired-x-tests.el: New test suite; add test for these features.
109704 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
109706         default-directory: Remark that it must be a directory name
109708         * src/buffer.c (default-directory): Update docstring (Bug#26272).
109710 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
109712         Delete confuse statement in manual
109714         * doc/misc/cl.texi (For Clauses): Delete confuse statement
109715         and its example (Bug#23550).
109717 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
109719         Use find -delete if available
109721         This shortens the ‘make’ output and should avoid some
109722         repetitive scanning of directories during a build.
109723         * configure.ac (FIND_DELETE): New var.
109724         * lisp/Makefile.in (compile-always, bootstrap-clean):
109725         * test/Makefile.in (clean, bootstrap-clean): Use it.
109726         * test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
109728 2017-03-31  Mark Oteiza  <mvoteiza@udel.edu>
109730         Remove gnus-boundp
109732         * lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
109733         bound-and-true-p.
109734         * lisp/gnus/gnus-util.el (gnus-boundp): Remove.
109736 2017-03-31  Niels Möller  <nisse@lysator.liu.se>  (tiny change)
109738         Stop `fixup-whitespace' adding trailing whitespace (Bug#18783)
109740         * lisp/simple.el (fixup-whitespace): Insert no spaces if point is at
109741         end of line after deleting horizontal whitespace.
109743 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
109745         * src/inotify.c (add_watch): Add comment.
109747 2017-03-31  Andreas Politz  <politza@hochschule-trier.de>
109749         Minor filenotify.el fixes
109751         * lisp/filenotify.el: Require subr-x.
109752         (file-notify-callback): Use equal, not eq.
109754 2017-03-31  Noam Postavsky  <npostavs@gmail.com>
109756         Improve packaging documentation
109758         * doc/lispref/package.texi (Packaging Basics):
109759         * doc/lispref/tips.texi (Library Headers): Clarify some header
109760         formats, relation between file headers and package
109761         attributes (Bug#13281).
109763 2017-03-31  John Mastro  <john.b.mastro@gmail.com>
109765         Fix a small incompatibility in ibuffer
109767         Translate nil values from column functions to the empty string, so that
109768         subsequent calls to string-width don't signal an error (Bug#26317).
109769         * lisp/ibuffer.el (ibuffer-compile-format): If a column function returns
109770         nil, treat it like the empty string.
109772 2017-03-30  Alan Mackenzie  <acm@muc.de>
109774         Fix C++ fontification problems 500 bytes after typing a space, and other bugs
109776         Also implement the "asymmetric space" rule for fontifying otherwise
109777         ambiguous
109778         declarations/expressions.
109780         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Don't set
109781         c-new-BEG or c-new-END when there is no need.
109782         (c-forward-decl-or-cast-1): Add "CASE 17.5" to implement the "asymmetric
109783         space" rule.
109785         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): New function,
109786         extracted from c-font-lock-declarations.  Add to this function processing to
109787         make `context' 'decl for lines contained within parens when these are also
109788         declarations.
109789         (c-font-lock-declarations): Call the newly extracted function above in place
109790         of inline code.
109792         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Set point before calling
109793         c-literal-start.
109795         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag): New user option.
109797         * doc/misc/cc-mode.texi (Misc Font Locking): New node documenting the new
109798         "asymmetric fontification" rule, including the variable
109799         c-asymmetric-fontification-flag.
109801 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
109803         Some inotify cleanup
109805         This catches some problems with integer overflow and races
109806         that I noticed in inotify.c after reviewing the changes
109807         installed to fix Bug#26126.
109808         * src/fns.c, src/lisp.h (equal_no_quit): Now extern.
109809         * src/inotify.c (aspect_to_inotifymask):
109810         Check for cycles and for improper lists.
109811         (make_lispy_mask, lispy_mask_match_p): Remove.
109812         All callers changed to use INTEGER_TO_CONS and CONS_TO_INTEGER.
109813         (inotifyevent_to_event, add_watch):
109814         Don’t assume watch descriptors and cookies fit in fixnums.
109815         (add_watch): Use assoc_no_quit, not Fassoc.
109816         Avoid integer overflow in (very!) long-running processes where
109817         the Emacs watch ID could overflow.  Avoid some duplicate code.
109818         (find_descriptor): New function.
109819         (remove_descriptor): First arg is now the returned value from
109820         find_descriptor, rather than the descriptor.  This way, the
109821         value can be removed without calling Fdelete, which might quit.
109822         Wait until the end (when watch_list is consistent) before signaling
109823         any errors.
109824         (remove_watch, inotify_callback):
109825         Use find_descriptor to avoid the need for Fdelete.
109826         (inotify_callback): Use simpler tests for ioctl failure.
109827         Free temporary buffer if signaled, and put it on the stack if small.
109828         Use ssize_t to index through read results, to avoid a cast.
109829         (valid_watch_descriptor): New function, with a tighter check.
109830         (Finotify_rm_watch, Finotify_valid_p): Use it.
109831         (Finotify_valid_p): Use assoc_no_quit and ass_no_quit instead
109832         of Fassoc.  Do not assume the first assoc succeeds.
109833         * test/src/inotify-tests.el (inotify-valid-p-simple):
109834         Add inotify-valid-p tests, some of which dump core without
109835         the fixes noted above.
109837 2017-03-30  Michael Albinus  <michael.albinus@gmx.de>
109839         * lisp/net/tramp-sh.el (tramp-get-remote-locale): Add "C.UTF-8" as candidate.
109841 2017-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
109843         * lisp/cedet/semantic/wisent/wisent.el (wisent-automaton-p): Use obarrayp.
109845 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
109847         Fix assoc_no_quit so that it does not quit
109849         The problem was that it called Fequal, which can quit.
109850         * src/fns.c (enum equal_kind):
109851         New enum, to be used in place of a boolean.
109852         (equal_no_quit): New function.
109853         (Fmemql, Feql): Use it to compare floats, as a minor tuneup.
109854         (assoc_no_quit): Use it to avoid quitting, the main point here.
109855         (internal_equal): Generalize bool to enum equal_kind arg, so that
109856         there are now 3 possibilities instead of 2.  Do not signal an
109857         error if EQUAL_NO_QUIT.  Put the arg before the depth, since depth
109858         should be irrelevant if the arg is EQUAL_NO_QUIT.  All callers
109859         changed.
109861 2017-03-29  Alan Mackenzie  <acm@muc.de>
109863         Amend gitmerge to recognize the injunction "don't merge".
109865         * admin/gitmerge.el (gitmerge-skip-regexp): amend regexp to match "don't" as
109866         well as "do not".
109868 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
109870         Add one more CSS pseudo-class
109872         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add
109873         `focus-within'.
109875 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
109877         Update list of CSS pseudo-classes
109879         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Update list of
109880         pseudo-classes.
109882 2017-03-29  Noam Postavsky  <npostavs@gmail.com>
109884         Adjust some search failure errors in info.el
109886         * lisp/info.el (Info-select-node): The search for beginning of node is
109887         an internal detail, and is not normally expected to fail, so it should
109888         not be a user error.
109889         (Info-complete-menu-item): Failing to find a menu indicates the user
109890         searched for a menu when there isn't one, so change to `use-error'.
109892 2017-03-28  Alan Mackenzie  <acm@muc.de>
109894         * lisp/progmodes/cc-defs.el (c-version):  Restore c-version to 5.33
109896 2017-03-28  Paul Eggert  <eggert@cs.ucla.edu>
109898         Don’t mishandle (format "%i" -1.0)
109900         * src/editfns.c (styled_format): Treat %i like %d when converting arg.
109902 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
109904         * lisp/emacs-lisp/ert.el (ert-run-tests): Make INTERACTIVE arg optional.
109906 2017-03-28  Michael Albinus  <michael.albinus@gmx.de>
109908         * src/inotify.c (Finotify_add_watch): aspect can also be a symbol.
109910 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
109912         Don't add `search-failed' to ignored errors in info.el (Bug#6106)
109914         * lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
109915         (Info-select-node, Info-search): Replace (signal 'search-failed ...)
109916         with (user-error "Search failed: "...).
109918 2017-03-27  Paul Eggert  <eggert@cs.ucla.edu>
109920         Fix obsolete ‘test/automated’ references
109922         * Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
109923         (bootstrap-clean, maintainer-clean):
109924         Clean ‘test’, not ‘test/automated’.  Test for existence of
109925         subdirectory only for ‘test’, not for directories that should
109926         always exist.
109927         * admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
109928         * lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
109929         * lisp/man.el (Man-parse-man-k):
109930         * lisp/url/url-domsuf.el, make-dist:
109931         * test/file-organization.org:
109932         Fix obsolete references to test/automated.
109934 2017-03-27  Katsumi Yamaoka  <yamaoka@jpl.org>
109936         shr-image-fetched: Work for narrowed Gnus article
109938         See <8737e3msun.fsf@gmail.com> of bug#26231 in the bug-gnu-emacs list.
109940         * lisp/net/shr.el (shr-image-fetched): Work for narrowed article.
109942 2017-03-27  Michael Albinus  <michael.albinus@gmx.de>
109944         * lisp/net/tramp.el (tramp-file-name-handler): Autoload it.
109946 2017-03-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
109948         Expand manual section on quitting windows
109950         * doc/lispref/windows.texi (Quitting Windows): Provide more
109951           information about the elements of the quit-restore window parameter,
109952           and how they affect the behavior of quit-restore-window.
109954 2017-03-26  Philipp Stephani  <phst@google.com>
109956         Add check for expected backtrace in module calls.
109958         * test/manual/cedet/tests/test.el
109959         (mod-test-non-local-exit-signal-test): Compare actual backtrace to
109960         expected backtrace.
109962 2017-03-26  Eli Zaretskii  <eliz@gnu.org>
109964         Fix redisplay glitches due to recent change in redisplay_internal
109966         * src/xdisp.c (redisplay_internal): A better fix for bug#26097.
109967         See https://lists.gnu.org/r/emacs-devel/2017-03/msg00695.html
109968         for the problems caused by the original fix.
109970 2017-03-26  Michael Albinus  <michael.albinus@gmx.de>
109972         Fix Bug#26258
109974         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
109975         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
109976         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
109977         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
109978         Autoload.  Call `tramp-register-foreign-file-name-handler'.  (Bug#26258)
109980         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Remove.
109981         (tramp-register-autoload-file-name-handlers)
109982         (tramp-register-file-name-handlers): Do not handle
109983         `tramp-autoload-file-name-handler' anymore.  Mark `operations'
109984         the handlers are responsible for.
109985         (tramp-register-foreign-file-name-handler): New defun.
109987 2017-03-26  Noam Postavsky  <npostavs@gmail.com>
109989         Fix docstring of dabbrev-abbrev-char-regexp
109991         * lisp/dabbrev.el (dabbrev-abbrev-char-regexp): Using a value of nil
109992         is equivalent to "\\sw\\|\\s_", and has no special behavior.  If the
109993         previous character doesn't match, we search backwards for one that
109994         does, not throw an error.  Replace Lisp example with C based one to
109995         make it clear that "symbol" means a sequence of word and symbol
109996         constituent characters, not a Lisp symbol (Bug#358).
109998 2017-03-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
110000         * doc/misc/cl.texi (Iteration Clauses): Clarify example (Bug#19515).
110002 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
110004         Minor fixes for inotify.c and filenotify.el
110006         * lisp/filenotify.el (file-notify--watch-absolute-filename):
110007         Add docstring.
110008         (file-notify-callback): Simplify.
110010         * src/inotify.c (Finotify_add_watch): Adapt docstring.
110012 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
110014         Fix issues regarding inotify file-notification
110016         Remove special code handling the inotify back-end.
110017         * lisp/filenotify.el (file-notify--watch): New struct
110018         representing a file-watch.
110019         (file-notify-descriptors): Use the new struct as hash-value.
110020         (file-notify-handle-event): Check that event is a cons.
110021         (file-notify--rm-descriptor, file-notify--event-watched-file)
110022         (file-notify--event-file-name, file-notify--event-file1-name)
110023         (file-notify-callback, file-notify-add-watch)
110024         (file-notify-rm-watch, file-notify-valid-p): Use new struct.
110025         Remove special code handling inotify descriptors.  Remove code
110026         handling multiple clients per descriptor.
110027         (file-notify--descriptor): Remove unused function.
110029         Let inotify-add-watch return a unique descriptor on every
110030         call, like every other back-end does (Bug#26126).  Prevent
110031         multiple clients from interfering with each other, when
110032         watching a shared descriptor.
110033         * src/inotify.c (watch_list): Extend the format by including a
110034         id and the provided mask.
110035         (INOTIFY_DEFAULT_MASK): Default mask used for all clients.
110036         (make_watch_descriptor): Removed.
110037         (make_lispy_mask, lispy_mask_match_p): New functions.
110038         (inotifyevent_to_event): Match event against the mask provided
110039         by the client.
110040         (add_watch, remove_descriptor, remove_watch): New functions
110041         for managing the watch_list.
110042         (inotify_callback): Use the new functions.
110043         (Finotify_add_watch, Finotify_rm_watch): Remove deprecated
110044         flags from documentation.  Add check for validity of provided
110045         descriptor.  Use the new functions.  Use the default mask.
110046         (INOTIFY_DEBUG): Add new debug conditional.
110047         (inotify-watch-list, inotify-allocated-p): New debug functions.
110048         (symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.
110050         * test/lisp/filenotify-tests.el:
110051         (file-notify-test02-rm-watch): Remove expected failure for inotify.
110053 2017-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
110055         * lisp/emacs-lisp/pcase.el (pcase): Comment debug message (Bug#26177).
110057 2017-03-25  Jens Uwe Schmidt  <ju.schmidt@gmx.de>  (tiny change)
110059         Stop edebug getting stuck on backquote (Bug#23651)
110061         * lisp/emacs-lisp/edebug.el (edebug-read-sexp): Move forward after
110062         reading backquote or comma.
110064 2017-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
110066         Expand manual section on quitting windows
110068         * doc/lispref/windows.texi (Quitting Windows): Provide more
110069           information about the elements of the quit-restore window parameter,
110070           and how they affect the behavior of quit-restore-window.
110072 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
110074         Support in ispell.el multiple dictionaries loaded by Hunspell
110076         * lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
110077         Support Hunspell configurations that load more than one dictionary
110078         by default.  Doc fix.  (Bug#25830)
110080 2017-03-25  Michael Albinus  <michael.albinus@gmx.de>
110082         Simplify Tramp autoloading.
110084         * lisp/net/tramp.el (tramp-completion-file-name-handler):
110085         Simplify autoloading.  Give it the `operations' property.
110086         (tramp-completion-handle-expand-file-name): Remove.
110088 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
110090         Fix a segfault due to failure to realize some faces
110092         * src/xdisp.c (redisplay_internal): If the frame becomes garbaged
110093         while redisplaying its windows, redisplay all of its windows
110094         again.  (Bug#26097)
110095         (init_iterator): When freeing all realized faces on all frames,
110096         reset the 'face_change' flag of the frame whose window we are
110097         about to iterate.
110099 2017-03-25  Philipp Stephani  <phst@google.com>
110101         Use a named function for 'safe-local-variable
110103         This improves the help screen for `version-control' (Bug#25431).
110105         * lisp/files.el (version-control-safe-local-p): New function.
110106         (version-control): Use it.
110108 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
110110         ;* doc/misc/info.texi (Choose menu subtopic): Improve indexing.  (Bug#26236)
110112 2017-03-25  Helmut Eller  <eller.helmut@gmail.com>
110114         Make it easier to abort a series of tests with C-g
110116         * lisp/emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg.  If
110117         interactively is true and a test was aborted then ask if the remaining
110118         tests should be aborted too.
110119         (ert-run-tests-batch, ert-run-tests-interactively): Pass in
110120         interactively arg.
110122 2017-03-24  Paul Eggert  <eggert@cs.ucla.edu>
110124         Don’t require chown/chgrp for game installation
110126         Problem reported by Joseph Mingrone in:
110127         https://lists.gnu.org/r/emacs-devel/2017-03/msg00622.html
110128         * lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
110129         chgrp fails with update-game-score and the game directory.
110130         Instead, expect the installer to fix this up afterwards.
110132 2017-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
110134         * lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOL
110136         (elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2.
110137         Don't highlight \ at BOL.  Don't assume syntax-ppss preserves match-data.
110139 2017-03-23  Philipp Stephani  <phst@google.com>
110141         Protect against an infloop in python-mode
110143         There appears to be an edge case caused by using `syntax-ppss' in a
110144         narrowed buffer during JIT lock inside of Python triple-quote strings.
110145         Unfortunately it is impossible to reproduce without manually
110146         destroying the syntactic information in the Python buffer, but it has
110147         been observed in practice.  In that case it can happen that the syntax
110148         caches get sufficiently out of whack so that there appear to be
110149         overlapping strings in the buffer.  As Python has no nested strings,
110150         this situation is impossible and leads to an infloop in
110151         `python-nav-end-of-statement'.  Protect against this by checking
110152         whether the search for the end of the current string makes progress.
110154         * lisp/progmodes/python.el (python-nav-end-of-statement): Protect
110155         against infloop.
110156         * test/lisp/progmodes/python-tests.el
110157         (python-tests--python-nav-end-of-statement--infloop): Add unit test.
110159 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
110161         * doc/lispref/os.texi (File Notifications):
110163         Strengthen the recommendation to use filenotify.el.
110165 2017-03-23  Paul Eggert  <eggert@cs.ucla.edu>
110167         Merge from gnulib
110169         This incorporates:
110170         2017-03-22 getopt: merge from glibc
110171         * build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
110172         * lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
110173         * lib/gnulib.mk.in: Regenerate.
110175 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
110177         Use lexical-bind in Tramp
110179         * lisp/net/tramp*.el: Add lexical-binding cookie.  Move declarations up.
110181         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names): Use `push'
110182         rather than `add-to-list'.
110183         (tramp-adb-get-device): Remove unused variable.
110185         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Remove unused
110186         variable.
110188         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
110189         (tramp-find-file-name-coding-system-alist): Use `push' rather
110190         than `add-to-list'.
110192         * test/lisp/net/tramp-tests.el: Add lexical-binding cookie.
110193         Require 'dired.  Move declarations up.
110194         (tramp-test32-make-nearby-temp-file): Wrap `make-nearby-temp-file'
110195         and `temporary-file-directory' calls with `with-no-warnings'.
110196         (tramp-test35-asynchronous-requests): Mark unused variable.
110198 2017-03-23  Kaushal Modi  <kaushal.modi@gmail.com>
110199             Noam Postavsky  <npostavs@gmail.com>
110201         Do not include comment start chars in ffap string
110203         * lisp/ffap.el (ffap-string-at-point): If the point is in a comment,
110204         ensure that the returned string does not contain the comment start
110205         characters (especially for major modes that have '//' as comment start
110206         characters).  Otherwise, in a major mode like c-mode, with `ido-mode'
110207         enabled and `ido-use-filename-at-point' set to `guess', doing "C-x
110208         C-f" on a "//foo" comment will initiate an attempt to access a path
110209         "//foo" (Bug#24057).
110211 2017-03-23  Martin Rudalics  <rudalics@gmx.at>
110213         c:/Temp/gtk-window-move/ChangeLog.txt
110215 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
110217         Fix filenotify.el issue for kqueue
110219         * lisp/filenotify.el (file-notify-add-watch): Use directory
110220         for remote file name handlers.
110222         * test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
110223         Create/delete temporary file only for "kqueue".
110224         (file-notify-test02-rm-watch): Create/delete temporary files.
110226 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
110228         Extend `file-notify-test02-rm-watch'
110230         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
110231         Expect it failed for inotify.  Divide tests into different
110232         `unwind-protect' clauses.  Check, that removing watch
110233         descriptors out of order do not harm.  (Bug#26126)
110235 2017-03-22  Noam Postavsky  <npostavs@gmail.com>
110237         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-subsexp): Test for Bug#26187
110239 2017-03-22  Graham Dobbins  <gdobbins@protonmail.com>  (tiny change)
110241         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos case
110243 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
110245         Improve configure --with-pop etc. diagnostics
110247         * configure.ac: Improve diagnostics re --with-pop and
110248         --with-mailutils (Bug#26102).
110250 2017-03-21  Eli Zaretskii  <eliz@gnu.org>
110252         Revert "Make --without-pop the default."
110254         This reverts commit 9319de675e395517f9a7b50cae1a3aad9cd0abc2.
110256 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
110258         Don’t remove dependency files when configuring
110260         Problem reported by Tom Tromey in:
110261         https://lists.gnu.org/r/emacs-devel/2017-03/msg00533.html
110262         * configure.ac: Don’t remove */*.o and */deps/* when
110263         --enable-autodepend is in effect.
110265 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
110267         Make --without-pop the default.
110269         Suggested by Angelo Graziosi in:
110270         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
110271         * configure.ac: Change the default from --with-pop to
110272         --without-pop.  Adjust diagnostics to match.
110274 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
110276         Streamline dependency-file generation
110278         * configure.ac (AUTODEPEND_PARENTS): New var.
110279         mkdir the dependency directories here, to simplify ‘make’.
110280         Remove dependency files just before outputting Makefiles, so that
110281         they are preserved if ‘configure’ exits early due to some other problem.
110282         * lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
110283         * src/Makefile.in: Adjust deps strategies to be similar, as follows:
110284         (MKDEPDIR): Remove.  All uses removed.  This cuts down on the
110285         number of processes spun off by ‘make’.
110286         (clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
110287         (distclean): Remove $(DEPDIR) itself.
110288         * lwlib/Makefile.in (all): Move to front, so that depdir includes
110289         do not alter default action.
110291 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
110293         Port and simplify example sh script
110295         * doc/misc/org.texi (noweb-ref): Simplify shell script example and
110296         don’t use ‘tail -1’, which is not portable.
110298 2017-03-21  Noam Postavsky  <npostavs@gmail.com>
110300         Narrow scope of modification hook renabling in org-src fontification
110302         Modification hooks should be enabled while modifying text in the
110303         org-src temp buffer, but in 2017-01-29 "Call modification hooks in
110304         org-src fontify buffers" the hooks were enabled also for modifications
110305         to the original org buffer.  This causes fontification errors when
110306         combined with certain packages, as reported in
110307         https://lists.gnu.org/r/emacs-orgmode/2017-03/msg00420.html.
110309         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
110310         of inhibit-modification-hooks let-binding.
110312 2017-03-21  Tino Calancha  <tino.calancha@gmail.com>
110314         epatch: Save right backups in Git multipatches
110316         Multipatches on N Git files save wrong backups for
110317         N-1 files; only the last one has a correct backup (Bug#26084).
110318         * lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
110319         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
110320         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
110321         Rename from ibuffer-test-bug25010.
110322         (ediff-ptch-test-bug26084): New test.
110324 2017-03-21  Michael R. Mauger  <michael@mauger.com>
110326             * lisp/progmodes/sql.el: Version 3.6
110328             (sql-login-params): Added :must-match for completion of
110329             `server' and `database' login parameters.
110330             (sql-sqlite-login-params, sql-postgres-login-params): Set
110331             :must-match to `confirm'.
110332             (sql-get-login-ext): Use :must-match value to control
110333             `read-file-name' or `completing-read'.
110334             (sql-connect): Added optional BUF-NAME parameter; Reworked
110335             connection variable processing; Pass buffer name to
110336             `sql-product-interactive'.
110337             (sql-product-interactive): Pass buffer name along.
110338             (sql-comint): Add optional BUF-NAME and calculate reasonable default.
110339             (sql-comint-oracle, sql-sybase-comint, sql-comint-informix)
110340             (sql-comint-sqlite, sql-comint-mysql, sql-comint-solid)
110341             (sql-comint-ingres, sql-comint-ms, sql-comint-postgres)
110342             (sql-comint-interbase, sql-comint-db2, sql-comint-linter)
110343             (sql-comint-vertica): Add optional BUF-NAME, pass to
110344             `sql-comint'.
110345             (sql-oracle--list-oracle-name): New function.
110346             (sql-oracle-list-all): Use it.
110347             (sql-oracle-completion-object): Enhanced.
110349 2017-03-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>
110351         Solve ses-recalculate-cell updating only current line bug.
110353         * lisp/ses.el (ses-recalculate-cell): Add optional argument
110354         ses--curcell to avoid overwriting ses--curcell when function is
110355         called from ses-recalculate-all.  Update docstring accordingly.
110356         (ses-recalculate-all): Call ses-recalculate-cell with argument
110357         ses--curcell to avoid its overwriting.
110359 2017-03-20  Paul Eggert  <eggert@cs.ucla.edu>
110361         Fix problem with out-of-date dependencies
110363         Problem reported by Robert Marshall in:
110364         https://lists.gnu.org/r/emacs-devel/2017-03/msg00501.html
110365         Although this problem has been with us for a while, the recent
110366         change from Automake to GNU Make exposed it again.
110367         * configure.ac (AUTO_DEPEND): When autodepending, clean out any
110368         leftover dependency and object files, since the previous sources'
110369         dependencies may disagree with the current ones.  Reconfiguring
110370         typically needs to force a rebuild anyway.
110372 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
110374         Simpler filter implementation
110376         * lisp/play/dunnet.el (dun-endgame-question): Get or set
110377         dun-endgame-questions one time only.  Use dolist and an index to
110378         prune the list.
110380 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
110382         * lisp/button.el (forward-button): Use user-error instead.
110384 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
110386         Merge from gnulib
110388         This gets Emacs working again with HP-UX Itanium cc.
110389         It incorporates:
110390         2017-03-19 stdalign: tweak version# and test for HP-UX IA64
110391         2017-03-18 stdalign: restore previous behavior for HP-UX IA64
110392         2017-03-17 stat-time, timespec: Support header files in C++ mode
110393         2017-03-17 stdalign: Make it work with HP-UX cc
110394         2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
110395         2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
110396         2017-03-14 gnulib-tool: don't produce tests with only snippets
110397         2017-03-14 limits-h: Make it work with HP-UX cc.
110398         * etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
110399         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
110400         * lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
110401         * lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
110402         Copy from gnulib.
110404 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
110406         * ChangeLog.2: Merge from emacs-25.
110408 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
110410         Fixups after merge from emacs-25
110412         * etc/NEWS: Remove stray entry.
110413         * etc/NEWS.25: Copy from Emacs emacs-25 etc/NEWS.
110414         * lisp/textmodes/rst.el (rst-package-emacs-version-alist):
110415         Make it nondecreasing.
110417 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
110419         Merge from origin/emacs-25
110421         d71e071 Improve documentation of interactive "r".
110423 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
110425         Merge from origin/emacs-25
110427         a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
110428         1925dd9 Fix duplicate wording in Emacs manual
110429         6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
110430         2d671fd Fix wording in Emacs manual
110431         a8766a2 Document how to customize input methods
110432         6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
110433         aceac95 Fix warning message about native completion (Bug#25984)
110434         a314c1f Clarify documentation of 'raise' and 'height' display specs
110435         f366f6e Mention problems with GPaste in PROBLEMS
110436         6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
110437         6406618 Fix doc strings in info.el
110438         c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
110439         eed9677 Fix doc string of 'posn-at-point'
110440         0d5957e Documentation fix in elisp reference manual
110442 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
110444         Merge from origin/emacs-25
110446         ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
110447         2b774fa Mention "editor" in Emacs man page header
110448         ae60d0c Document problems with nerd-fonts
110449         2fdb5a9 ; Details about pinning Emacs to w32 task bar
110450         5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
110451         4c51ef4 Clarify what is the "cursor"
110452         8303c32 ; * etc/NEWS: Copyedits.
110453         3f7493e ; Fix a typo in comment
110454         c54cf8d Improve commentary in lisp.h
110455         8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
110456         0ba9932 Disable native completion for ipython (Bug#25067)
110457         38fc456 Fix a typo in ada-mode manual
110458         00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
110459         a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...
110461         # Conflicts:
110462         #       etc/NEWS
110463         #       etc/PROBLEMS
110465 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
110467         Merge from origin/emacs-25
110469         02d9ad8 * admin/make-tarball.txt: Add documentation regarding the rel...
110471 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
110473         Merge from origin/emacs-25
110475         e1171de * CONTRIBUTE (Documenting your changes): Index new vars/comma...
110477 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
110479         Merge from origin/emacs-25
110481         ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
110482         7e02a47 Index byte-compile-debug
110483         7c1e598 Document `byte-compile-debug' in the ELisp manual
110484         4d81eb4 Document variable `byte-compile-debug'
110485         72ef710 Fix call to debugger on assertion failure
110486         ae8264c Call modification hooks in org-src fontify buffers
110487         b3139da ; Fix last change in doc/lispref/strings.texi
110488         c331f39 Improve documentation of 'format' conversions
110489         9f52f67 Remove stale functions from ert manual
110490         c416b14 Fix a typo in Eshell manual
110491         06695a0 ; Fix a typo in ediff-merg.el
110492         954e9e9 Improve documentation of hooks related to saving buffers
110493         9fcab85 Improve documentation of auto-save-visited-file-name
110494         2236c53 fix typo in mailcap-mime-extensions
110495         85a3e4e Fix typos in flymake.el
110496         a1ef10e More NEWS checking for admin.el's set-version
110498         # Conflicts:
110499         #       lisp/emacs-lisp/bytecomp.el
110501 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
110503         Merge from origin/emacs-25
110505         5569e64 ; Spelling fixes
110506         24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (...
110507         9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
110508         69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#2...
110509         42eae54 Improve documentation of dabbrevs
110510         b0ade0d Clarify that easy-menu-add is a nop (Bug#25382)
110511         3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi...
110513         # Conflicts:
110514         #       lisp/textmodes/rst.el
110516 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
110518         Merge from origin/emacs-25
110520         0e35405 Improve documentation of coding-systems
110521         c2fd04c Improve definition of 'variable-pitch' face on MS-Windows
110522         16fb50d Fix an error message in python.el
110523         a2a2073 Clarify major mode switching
110524         fc38671 Add helpful comment to compile-command's docstring
110525         ee65d85 Fix ':version' of 'select-enable-primary'
110527 2017-03-19  Paul Pogonyshev  <pogonyshev@gmail.com>
110529         Fix bug in generator function with pcase (Bug#26068)
110531         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
110532         to symbol-name.
110534 2017-03-19  Alan Mackenzie  <acm@muc.de>
110536         Fix chaotic indentation of C++ lambda.  Enhance documentation thereof
110538         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): qualify an
110539         invocation of c-on-identifier with a check we're not at the _end_ of an
110540         identifier.
110542         * doc/misc/cc-mode.texi: (Tex title page): Remove @subtitlefont because the
110543         perl versions of texi2dvi haven't implemented it.
110544         (Syntactic Symbols): Note that `inlambda' is also used in C++ Mode, not just
110545         in Pike Mode.
110546         (Statement Block Symbols): Add a section illustrating a C++ lambda function.
110547         (FAQ): Add a question about "excessive" indentation of the contents of a C++
110548         lambda function, and how to get rid of it.
110550 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
110552         Remove unused vars in cl-extra.el and tramp.el.
110554         * lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove unused vars.
110556         * lisp/net/tramp.el (tramp-dissect-file-name): Remove unused `match'.
110557         (outline-regexp, ls-lisp-use-insert-directory-program): Declare.
110558         (tramp-find-foreign-file-name-handler): Mark unused arg, remove unused `v`.
110560 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
110562         Improve describe-symbol's layout of slots when describing types
110564         * lisp/emacs-lisp/cl-extra.el (cl--print-table): New function.
110565         (cl--describe-class-slots): Use it.
110567 2017-03-18  Michael Albinus  <michael.albinus@gmx.de>
110569         Fix Bug#26156
110571         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
110572         <expand-file-name>: Remove handler.  (Bug#26156)
110574 2017-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
110576         * lisp/obarray.el (obarray-size): Avoid compiler warning.
110578 2017-03-18  Eli Zaretskii  <eliz@gnu.org>
110580         Fix last change in lib/Makefile.in
110582         * lib/Makefile.in (srcdir): Define, as including
110583         $(srcdir)/../nt/gnulib-cfg.mk needs that.
110585 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
110587         * configure.ac: Fix typo in diagnostic.
110589 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
110591         Port out-of-source builds to windows-nt
110593         Problem reported by Angelo Graziosi in:
110594         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
110595         * lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
110596         to handle out-of-source builds if windows-nt.
110598 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
110600         MS-Windows followup for switch from Automake
110602         * nt/INSTALL:
110603         * nt/INSTALL.W64: Remove references to Automake.  (Bug#26100)
110605 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
110607         Improve documentation of interactive "r".
110609         * doc/lispref/commands.texi (Interactive Codes): Mention that mark
110610         must be set for "r" to work.
110612 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
110614         Fixups for GNU Make switchover
110616         This fixes some minor problems introduced in the recent switch to GNU
110617         Make, discovered by further testing.  Without some of these changes
110618         'make -j' would sometimes have race conditions caused by missing
110619         dependencies.  (Bug#26100)
110620         * .gitignore: Remove src/stamp-h.in, src/stamp-h1.
110621         * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
110622         src/config.in, since the former's timestamp now represents
110623         the latter's.
110624         ($(srcdir)/configure): Use plain ./autogen.sh, for consistency
110625         with other autogen.sh invocations.
110626         ($(srcdir)/src/stamp-h.in):
110627         Remove rule, as this file is no longer created.
110628         * Makefile.in (top_distclean):
110629         * src/Makefile.in (bootstrap-clean):
110630         No need to remove stamp-h1, as that was an Automake byproduct
110631         and Automake is no longer in use.
110632         * lib/Makefile.in, src/Makefile.in:
110633         (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
110634         (../config.status, Makefile): Simplify by limiting dependencies
110635         to files we care about and files in the repository, and by
110636         using just one file to represent the timestamps on multiple
110637         targets updated by the same rule.
110638         * autogen.sh: Do not create or use src/stamp-h.in.
110639         Instead, have 'find' test the two output files directly.
110641 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
110643         Switch from Automake to GNU Make
110645         Emacs assumes GNU Make, and GNU Make has much of the functionality of
110646         Automake built-in.  The Emacs build process uses Automake primarily
110647         because Emacs uses some Gnulib code and Gnulib formerly required
110648         Automake.  Now that Gnulib no longer requires Automake, Emacs can
110649         stop using Automake and this should simplify Emacs maintenance
110650         in the future (Bug#26100).  Although this patch may look long, most of
110651         it is generated automatically: the changes to build-aux/config.guess,
110652         build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
110653         all done by admin/merge-gnulib.
110654         * .gitignore: Remove build-aux/ar-lib, build-aux/compile,
110655         build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
110656         build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
110657         as they are no longer built by autogen.sh.
110658         Add lib/gnulib.mk, as it is now built by 'configure'.
110659         Remove nt/gnulib.mk, as it is no longer built by 'make'.
110660         * INSTALL.REPO, README, admin/make-tarball.txt:
110661         Remove mention of Automake.
110662         * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
110663         (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
110664         ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
110665         ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
110666         Remove.
110667         ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
110668         ($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
110669         ($(srcdir)/src/config.in):
110670         Use autogen.sh instead of doing it by hand.
110671         * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
110672         New vars, to simplify processing of avoided modules.
110673         (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
110674         Add --gnu-make, and change makefile name to gnulib.mk.in.
110675         Copy config.guess, config.sub, and install-sh too, since
110676         Automake no longer does that for us.
110677         * admin/notes/copyright:
110678         * admin/update_autogen (genfiles):
110679         Update list of files.
110680         Remove hack for nt/gnulib.mk, a file that is no longer needed.
110681         * autogen.sh (progs): Remove Automake.
110682         (automake_min): Remove.
110683         Build aclocal.m4 so that autoreconf need not use aclocal.
110684         * build-aux/config.guess, build-aux/config.sub:
110685         * build-aux/install-sh:
110686         New files, copied from Gnulib.  These are now updated by
110687         admin/merge-gnulib instead by autogen.sh.
110688         * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
110689         Remove.
110690         (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
110691         (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
110692         (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
110693         (--disable-silent-rules): New option, since Automake no longer
110694         does this for us.
110695         (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
110696         with AM_SUBST_NOTMAKE.
110697         (AC_PROG_INSTALL): Add call.
110698         (MAKEINFO): Do not bother with the 'missing' program.
110699         (MAKEINFO, SYSTEM_TYPE): AC_SUBST.
110700         (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
110701         (SUBDIR_MAKEFILES): Remove duplication.
110702         * lib/Makefile.am: Remove, replacing with:
110703         * lib/Makefile.in: New file, with the old Makefile.am contents
110704         and with the following changes:
110705         (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
110706         (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
110707         (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
110708         (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
110709         Remove.
110710         (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
110711         (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
110712         (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
110713         (mostlyclean, distclean, bootstrap-clean, maintainer-clean):
110714         New macros and rules, since Automake no longer does them.
110715         Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
110716         instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
110717         Include dependency files if AUTO_DEPEND.
110718         (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
110719         New macros.
110720         (bootstrap-clean): Depend on distclean, not maintainer-clean,
110721         and remove gnulib.mk.
110722         (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
110723         New macros and rules, copied from ../Makefile.in.
110724         ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
110725         (.c.o, e-%.o): New generic rules.
110726         * lib/gnulib.mk: Remove.
110727         * lib/gnulib.mk.in: New file, which is built by autogen.sh
110728         and contains much of what used to be in lib/gnulib.mk.
110729         * m4/gnulib-common.m4: Copy from gnulib.
110730         * make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
110731         build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
110732         nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
110733         lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
110734         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
110735         (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
110736         * nt/gnulib-cfg.mk: New file, which supersedes ...
110737         * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
110738         * src/Makefile.in (ACLOCAL_INPUTS): Remove.
110739         (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
110740         ($(top_srcdir)/configure, ../config.status, config.in Makefile):
110741         Defer to parent Makefile.
110743 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
110745         Don't suggest Mailutils on MS-Windows
110747         * configure.ac: Don't suggest GNU Mailutils on MS-Windows, as it
110748         hasn't been ported.
110750 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
110752         Fix bug: Range-check integer ‘alpha’ frame parm value
110754         Typo introduced 2013-04-01, "Prefer < to >
110755         in range checks such as 0 <= i && i < N".
110757         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
110759 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
110761         Fix bug: Range-check integer ‘alpha’ frame parm value
110763         Typo introduced 2013-04-01, "Prefer < to >
110764         in range checks such as 0 <= i && i < N".
110766         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
110768 2017-03-17  Michael Albinus  <michael.albinus@gmx.de>
110770         Fix Bug#26127
110772         * lisp/filenotify.el (file-notify--rm-descriptor): Check, that
110773         there is a function which could be called.  (Bug#26127)
110775         * test/lisp/filenotify-tests.el (file-notify--test-cleanup):
110776         Clear also `file-notify-descriptors'.
110777         (file-notify--test-make-temp-name): Move up.
110778         (file-notify-test02-rm-watch): New test.
110779         (file-notify-test03-events, file-notify-test04-autorevert)
110780         (file-notify-test05-file-validity)
110781         (file-notify-test06-dir-validity)
110782         (file-notify-test07-many-events, file-notify-test08-backup)
110783         (file-notify-test09-watched-file-in-watched-dir)
110784         (file-notify-test10-sufficient-resources): Rename.
110786 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
110788         * etc/PROBLEMS: Say that HP-UX cc doesn't work.
110790 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
110792         Emacs 'movemail' is now a configure-time option
110794         The new configure option --with-mailutils lets the builder say
110795         that Emacs should assume that GNU Mailutils is installed, instead
110796         of continuing to build and install its own limited and insecure
110797         substitute for 'movemail'.
110798         * INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
110799         * configure.ac: Add --with-mailutils option.
110800         (with_mailutils): New variable.
110801         Do not bother configuring 'movemail' when not building it.
110802         Warn about issues relating to --with-mailutils.
110803         * doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
110804         (Movemail, Remote Mailboxes): Document port numbers in
110805         POP and IMAP URLs.
110806         * lib-src/Makefile.in (with_mailutils): New macro.
110807         (UTILITIES): Use it.
110809 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
110811         Add obarray-size and fix tests accordingly.  Use obarrayp in cedet.
110813         * lisp/obarray.el (obarray-size): New function.
110815         * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
110816         (semantic-lex-spp-save-table, semantic-lex-spp-macros):
110817         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
110818         Use obarrayp.
110820         * test/lisp/obarray-tests.el (obarray-make-default-test)
110821         (obarray-make-with-size-test): Use it.
110823 2017-03-16  Michael Albinus  <michael.albinus@gmx.de>
110825         Document remote file name syntax change
110827         * doc/emacs/files.texi (Remote Files, Quoted File Names):
110828         * doc/misc/org.texi (dir): Change examples to use a method.
110830         * doc/misc/tramp.texi (Top) [trampf]: Remove macro.  Add
110831         `Testing' menu entry.
110832         (History): Fix typos.  Mention syntax change.
110833         (Configuration, Default Host, File name Syntax)
110834         (File name completion, Frequently Asked Questions):
110835         Change examples to use a method.
110836         (External methods, Default Host, Multi-hops, Remote processes):
110837         Fix typos.
110838         (Default Method): Mention pseudo method "-".
110839         (External packages): Rewrite intention of `non-essential'.
110841         * etc/NEWS: Mark recent Tramp entries as documented.
110843 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
110845         (semantic-lex-type-invalid): Fix nested backquote.
110847         * lisp/cedet/semantic/lex.el: Use lexical-binding.
110848         (semantic-lex-type-invalid): Fix nested backquote.
110849         (semantic-lex-map-symbols, semantic-lex-type-symbol)
110850         (semantic-lex-keyword-symbol): Use obarrayp.
110852 2017-03-15  Michael Albinus  <michael.albinus@gmx.de>
110854         * lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'.
110856 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
110858         Write a named function
110860         * lisp/comint.el (comint-nonblank-p): New function.
110861         (comint-input-filter): Use it.
110863 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
110865         Replace more nested ifs with cond
110867         This is a continuation of 0db5ba4 "Replace nested ifs with cond".
110868         * lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
110869         (dun-drop-check, dun-swim, dun-break): Use when and cond where
110870         appropriate.
110871         (dun-examine): Fix indentation.
110872         (dun-doverb): Use when.
110873         (dun-read-line): Refactor.
110875 2017-03-15  Noam Postavsky  <npostavs@gmail.com>
110877         Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again
110879         Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
110880         \n as whitespace" from 2016-07-04.  Setting \n to non-whitespace
110881         causes the regex engine to backtrack a lot when searching for
110882         "\\s-+$" (Bug#26079).
110884         * lisp/simple.el (delete-trailing-whitespace): Don't change newline
110885         syntax, search for "\\s-$" and then skip backward over trailing
110886         whitespace.
110888 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
110890         Merge from gnulib
110892         This incorporates:
110893         2017-03-14 snippets: move unadjusted snippet sources to lib
110894         2017-03-14 gnulib-tool: fix typo in comment output
110895         2017-03-14 snippets: work around GNU Make 3.82 VPATH
110896         2017-03-13 gnulib-tool: minor --gnu-make fixups
110897         2017-03-12 gnulib-tool: new option --gnu-make
110898         * .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
110899         lib/warn-on-use.h.  Change exception from
110900         build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
110901         * admin/authors.el (authors-renamed-files-regexps):
110902         * admin/notes/copyright, make-dist:
110903         The snippet files moved from build-aux/snippet to lib.
110904         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
110905         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
110906         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
110907         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
110908         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
110910 2017-03-14  Eli Zaretskii  <eliz@gnu.org>
110912         Fix duplicate wording in Emacs manual
110914         * doc/emacs/programs.texi (Which Function): Delete duplicate
110915         wording.  (Bug#26098)
110917 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
110919         Reenable lost Tramp test case
110921         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
110922         Reenable lost test case.
110924 2017-03-14  Alan Third  <alan@idiocy.org>
110926         Revert "Remove NSEvent loop from ns_select (bug#25265)"
110928         This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.
110930 2017-03-14  Alan Third  <alan@idiocy.org>
110932         Revert "Add missing timeout value in ns_select"
110934         This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.
110936 2017-03-14  Alan Third  <alan@idiocy.org>
110938         Remove old macOS compatibility code
110940         * src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for
110941         macOS versions below 10.6 as they are not supported in Emacs 25+.
110943 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
110945         Tune `tramp-completion-file-name-regexp-unified'
110947         * lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
110948         Extend this regexp to match also "/".
110950 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
110952         Show ancestor buffer in 3way merges
110954         Add an option ediff-show-ancestor', to control if the ancestor buffer
110955         must be shown in 3way merges (Bug#25493); set it non-nil by default.
110956         Add a toggle to change this option interactively; the original
110957         value of the option is restored on exit.
110959         Update the window setup so that the ancestor buffer is
110960         shown in 3way merges when ediff-show-ancestor is non-nil.
110962         Any operation on ediff windows must take in account the
110963         ancestor window as well, when this is shown.
110965         * lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
110966         (ediff--show-ancestor-orig): New defvar.
110967         * lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
110968         (ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
110969         Display ancestor buffer if ediff-show-ancestor is non-nil.
110970         (ediff-keep-window-config): Expect ancestor window in
110971         ediff-window-config-saved.
110972         (ediff-window-alist): Add entry for the ancestor window.
110973         * lisp/vc/ediff-util.el (ediff-setup-control-buffer):
110974         ediff-window-config-saved contains ancestor window.
110975         (ediff-show-ancestor): Delete this command.
110976         (ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
110977         (ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
110978         don't cheat it to think that is performing a comparison, that trick is not
110979         necessary anymore: simply call 'ediff-setup-diff-regions-function'
110980         with file-A, file-B and the file ancestor.
110981         (ediff-recenter): Update doc string.  Consider the ancestor buffer.
110982         (ediff--check-ancestor-exists): New defun.
110983         (ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
110984         (ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
110985         (ediff-scroll-vertically, ediff-scroll-horizontally)
110986         (ediff-operate-on-windows): Consider the ancestor as well.
110987         * lisp/vc/ediff-help.el (ediff-long-help-message-merge):
110988         List ediff-toggle-show-ancestor.
110989         * doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
110991 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
110993         diff-mode: Improve default faces for buffer ancestor
110995         * lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
110996         (ediff-fine-diff-Ancestor): Use defaults consistent with
110997         faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
110999 2017-03-14  Hong Xu  <hong@topbug.net>
111001         * lisp/paren.el (show-paren--default, show-paren-function): Add docstring.
111003 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
111005         Fix make-dist typo
111007         * make-dist: Fix typo introduced in the Bug#25895 fix.
111009 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
111011         Fix wording in Emacs manual
111013         * doc/emacs/text.texi (Paragraphs): Fix a garbled sentence.
111014         (Bug#26086)
111016 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
111018         etc/NEWS: Remote file names require a method.
111020 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
111022         Require method in remote file name syntax
111024         * lisp/minibuffer.el (completion--nth-completion):
111025         Do not bind `non-essential'.
111027         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
111028         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
111029         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
111030         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
111031         `tramp-check-proper-method-and-host'.
111033         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
111034         (tramp-maybe-open-connection): Do not use argument for
111035         ´tramp-completion-mode-p'.
111037         * lisp/net/tramp.el (tramp-default-method-marker): New defconst.
111038         (tramp-prefix-format, tramp-postfix-method-format)
111039         (tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
111040         (tramp-prefix-port-format, tramp-postfix-host-format)
111041         (tramp-file-name-regexp, tramp-completion-file-name-regexp):
111042         Use `eq' instead of `eqal'.
111043         (tramp-method-regexp, tramp-domain-regexp)
111044         (tramp-remote-file-name-spec-regexp)
111045         (tramp-file-name-regexp-unified)
111046         (tramp-completion-file-name-regexp-unified)
111047         (tramp-completion-file-name-regexp-separate): Adapt regexp.
111048         (tramp-completion-file-name-handler-alist)
111049         (tramp-run-real-handler): Autoload them.
111050         (tramp-find-method): Handle `tramp-default-method-marker'.
111051         (tramp-check-proper-method-and-host)
111052         (tramp-completion-run-real-handler): Remove them.
111053         (tramp-error-with-buffer, tramp-connectable-p): Do not use
111054         argument for ´tramp-completion-mode-p'.
111055         (tramp-find-foreign-file-name-handler): Remove COMPLETION
111056         argument.  Do not apply heuristic for completion.
111057         (tramp-file-name-handler): Do not modify `non-essential'.
111058         (tramp-completion-file-name-handler): Change implementation.
111059         (tramp-autoload-file-name-handler)
111060         (tramp-completion-handle-file-name-all-completions):
111061         Call `tramp-run-real-handler'.
111062         (tramp-completion-mode-p): Do not autoload.  Remove argument.
111063         Do not apply heuristic for completion.
111064         (tramp-completion-dissect-file-name): Simplify implementation.
111065         (tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.
111067         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
111068         (tramp-test02-file-name-dissect)
111069         (tramp-test03-file-name-defaults)
111070         (tramp-test06-directory-file-name): Adapt to the new syntax.
111071         (tramp-test11-copy-file, tramp-test12-rename-file)
111072         (tramp--test-check-files): Deactivate temporarily tests with
111073         quoted file names.
111074         (tramp-test16-directory-files, tramp-test17-insert-directory):
111075         Adapt tests.
111076         (tramp-test24-file-name-completion): Do not check for
111077         completion mode.
111078         (tramp-test31-make-auto-save-file-name): Deactivate temporarily
111079         two tests.
111081 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
111083         Fix bidi paragraph direction when inserting text at newline
111085         * src/insdel.c (invalidate_buffer_caches): Invalidate the bidi
111086         paragraph cache when inserting immediately after a newline.
111087         (Bug#26083)
111089 2017-03-13  Tino Calancha  <tino.calancha@gmail.com>
111091         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Fix regexp.
111093 2017-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
111095         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable
111097         (cl-print-object) <compiled-function>: Print the docstring and
111098         interactive form.  Obey cl-print-compiled.
111100 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
111102         Fix indent-sexp when called from inside a string (Bug#21343)
111104         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
111105         state from `syntax-ppss'.
111107 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
111109         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.
111111         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
111112         (indent-subsexp, indent-sexp-in-string): New tests.
111114 2017-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
111116         Use switch on pseudovector types; plus cleanups along the way
111118         * src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
111119         (PSEUDOVECTOR_TYPEP): Change type of `code'.
111121         * src/alloc.c (sweep_vectors): Remove out-of-date assertion.
111122         (mark_object): Use PSEUDOVECTOR_TYPE.
111124         * src/data.c (Ftype_of): Use switch on pvec type.
111126         * src/print.c (print_object): Use switch on pvec type.
111128         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
111129         Add recently added types.
111131 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
111133         Install update-game-score only on request
111135         Most distributions do not install update-game-score properly
111136         due to setuid/setgid complications, so install it only when
111137         the installer specifies a user or group (Bug#25895).
111138         * .gitattributes: Remove lib-src/update-game-score.exe.manifest.
111139         * Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
111140         New vars.
111141         (epaths-force): Use PATH_GAME.
111142         (uninstall): Remove snake-scores and tetris-scores only if shared.
111143         * configure.ac: Default --with-gameuser to 'no'.
111144         (UPDATE_MANIFEST): Remove.
111145         * etc/NEWS: Mention this.
111146         * lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
111147         (use_gamedir): New macro.
111148         (UTILITIES): Remove update-game-score unless use_gamedir.
111149         (SCRIPTS): Remove $(UPDATE_MANIFEST).
111150         ($(DESTDIR)${archlibdir}): Install game directory program and data
111151         only if use_gamedir.
111152         * lib-src/update-game-score.exe.manifest: Remove, as
111153         update-game-score is no longer installed on MS-Windows.
111154         * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
111155         Use auxiliary program only if setuid or setgid.
111156         * make-dist: Do not distribute update-game-score.exe.manifest.
111157         * src/callproc.c (init_callproc):
111158         Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
111159         (syms_of_callproc): Remove unnecessary initialization of
111160         Vshared_game_score_directory.
111162 2017-03-12  Simen Heggestøyl  <simenheg@gmail.com>
111164         Add `touch-action' to list of CSS properties
111166         * lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
111167         property.
111169 2017-03-12  Eli Zaretskii  <eliz@gnu.org>
111171         Teach etags to process ENUM_BF correctly
111173         * lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf.
111174         (hash): Regenerated values for asso_values[] array.
111175         (in_word_set): Update values of TOTAL_KEYWORDS and
111176         MAX_HASH_VALUE.  Add "ENUM_BF" to the wordlist[] array.
111177         (in_enum_bf): New file-global variable.
111178         (consider_token): Skip ENUM_BF if not in a macro definition.
111179         (C_entries): Reset the in_enum_bf flag when past its closing
111180         parenthesis.
111182         * test/manual/etags/ETAGS.good_1:
111183         * test/manual/etags/ETAGS.good_2:
111184         * test/manual/etags/ETAGS.good_3:
111185         * test/manual/etags/ETAGS.good_4:
111186         * test/manual/etags/ETAGS.good_5:
111187         * test/manual/etags/ETAGS.good_6:
111188         * test/manual/etags/CTAGS.good: Adapt to changes in etags.
111190 2017-03-12  Michael Albinus  <michael.albinus@gmx.de>
111192         Use path/to/file instead of path/to.file in tramp.texi
111194         * doc/misc/tramp.texi (Configuration, File name Syntax):
111195         Use path/to/file instead of path/to.file.
111197 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
111199         Remove some stray gnulib files
111201         * admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
111202         (GNULIB_MODULES): Remove unsetenv, as it is not needed and
111203         the --avoid=unsetenv option avoided most of it anyway.
111204         * lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
111205         * lib/gnulib.mk: Regenerate.
111207 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
111209         Merge from gnulib
111211         This incorporates:
111212         2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
111213         * doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.
111215 2017-03-12  Glenn Morris  <rgm@gnu.org>
111217         Remove trivial duplication in epg-config
111219         * lisp/epg-config.el (epg-config--program-alist):
111220         Use epg-gpg-minimum-version.
111222 2017-03-12  Glenn Morris  <rgm@gnu.org>
111224         Small epg-find-configuration improvement
111226         * lisp/epg-config.el (epg-find-configuration):
111227         Handle epg-gpg-program customized but not saved.  (Bug#25947)
111229 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
111231         Improve last change
111233         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
111234         Use ppss to check escaping and add help-echo.
111236 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
111238         Highlight useless backslashes in Elisp strings
111240         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
111241         Put warning face on backslashes that have no effect.
111243 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
111245         Document how to customize input methods
111247         * doc/emacs/mule.texi (Input Methods): Document how to customize
111248         input methods.
111250 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
111252         * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
111254 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
111256         Fix generation of nt/gnulib.mk on macOS
111258         * nt/Makefile.in (${srcdir}/gnulib.mk): Don't use the -f- option
111259         to Sed, as that is not portable with non-GNU Sed variants.
111260         (Bug#26043)
111262 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
111264         Avoid aborts/assertion violations due to 'vim-empty-lines-mode'
111266         * src/xdisp.c (handle_single_display_spec): If position to be
111267         restored after processing the display property comes from an
111268         overlay, protect against that overlay's end point being outside of
111269         the narrowed region.
111270         Reported by Filipe Silva <filipe.silva@gmail.com> in
111271         https://lists.gnu.org/r/emacs-devel/2017-03/msg00176.html.
111273 2017-03-10  Glenn Morris  <rgm@gnu.org>
111275         Small improvement for epa-display-error (bug#24553)
111277         * lisp/epa.el (epa-display-error): Report the actual program in use.
111279 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
111281         Tweak X toolkit code to pacify modern GCC
111283         * lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c:
111284         Don’t include <stdlib.h>, since this code now calls emacs_abort
111285         rather than abort.
111286         * lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback)
111287         (wm_delete_window):
111288         * lwlib/lwlib-Xm.c (make_menu_in_widget, do_call):
111289         * lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget):
111290         * lwlib/xlwmenu.c (abort_gracefully, draw_separator)
111291         (separator_height, XlwMenuInitialize):
111292         Use emacs_abort, not abort.  Without this change, some calls
111293         to ‘abort’ were invalid, as stdlib.h was not always included.
111294         * src/widget.c (resources, emacsFrameClassRec):
111295         * src/xfns.c (x_window) [USE_X_TOOLKIT]:
111296         * src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]:
111297         * src/xterm.c (emacs_options) [USE_X_TOOLKIT}:
111298         (x_term_init) [USE_X_TOOLKIT]:
111299         Cast string constants to char * to pacify --enable-gcc-warnings.
111301 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
111303         * doc/misc/tramp.texi (Android shell setup): Require adb program
111305 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
111307         Adapt tramp-tests.el
111309         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
111310         (tramp-test24-file-name-completion): Call
111311         `tramp-completion-mode-p' with argument.
111313 2017-03-10  Thien-Thi Nguyen  <ttn@gnu.org>
111315         [doc] Replace bindat example: s/fortune cookie/rfc868 payload/
111317         * doc/lispref/processes.texi (Bindat Examples):
111318         Mention two examples in intro blurb; rewrite first example.
111320 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
111322         Simplify checks for xdg-open and xdg-email
111324         browse-url's xdg-open detection was too picky on some GNU/Linux
111325         desktops; see Bug#25778.  Simplify the code by assuming xdg-open works
111326         if it is executable, as nowadays this is more likely to be correct than
111327         trying to use heuristics from a few years ago.  Don't test for nohup: it
111328         is ineffective nowadays, as xdg-open's child uses the default action for
111329         SIGHUP even if xdg-open's invoker ignores SIGHUP.  While we're at it,
111330         allow for Wayland here, as "emacs -nw" might be running in a non-X
111331         Wayland terminal.
111332         * lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
111333         * lisp/net/browse-url.el (browse-url-can-use-xdg-open):
111334         Simplify to a test for DISPLAY and whether the helper program is
111335         executable.  Allow WAYLAND_DISPLAY as an option.
111337 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
111339         Byte compile cond clauses without any bodies correctly.
111341         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
111342         cond clause has no body, push t on to the stack.
111344 2017-03-09  Michael Albinus  <michael.albinus@gmx.de>
111346         Fix bug#23006
111348         * lisp/minibuffer.el (completion--nth-completion):
111349         Let-bind `non-essential'.
111351         * lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
111352         (tramp-completion-mode-p): Optional parameter VEC.  Replace
111353         check for `last-input-event' by analysing VEC argument.
111354         (tramp-error-with-buffer, tramp-file-name-handler)
111355         (tramp-connectable-p, tramp-handle-file-name-as-directory):
111356         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
111358 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
111360         etc/NEWS: Add entry for new `switch' bytecode.
111362 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
111364         * src/data.c (arithcompare): Add comments.
111366 2017-03-08  Glenn Morris  <rgm@gnu.org>
111368         Update a cl-print test
111370         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
111371         Update for recent change in cl-print-object function output.
111373 2017-03-08  Sam Steingold  <sds@gnu.org>
111375         Replace change-log-date-face -> change-log-date
111377         This fixes c430f7e23fc2c22f251ace4254e37dea1452dfc3.
111379 2017-03-08  Michael Albinus  <michael.albinus@gmx.de>
111381         Fix bug#26011
111383         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
111384         Check, whether file is too large.  (Bug#26011)
111386 2017-03-08  Andreas Schwab  <schwab@linux-m68k.org>
111388         * src/data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.
111389         (Fmax, Fmin): Restore documentation.
111391         * src/data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): Reorder
111392         comparisons that are written backward.
111394 2017-03-08  Thien-Thi Nguyen  <ttn@gnu.org>
111396         [doc elisp] Add some index entries for "old" advice mechanism
111398         * doc/lispref/functions.texi (Porting old advice):
111399         Add one @cindex and two @findex entries.
111401 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
111403         * etc/NEWS: Adjust to match previous patch.
111405 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
111407         min and max should not return markers
111409         Problem reported by Glenn Morris in:
111410         https://lists.gnu.org/r/emacs-devel/2017-03/msg00147.html
111411         * src/data.c (minmax_driver): Convert any marker result to an
111412         integer, since some callers assume this.
111413         * test/src/data-tests.el (data-tests-max, data-tests-min):
111414         Test for this.
111416 2017-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
111418         * lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions.
111420 2017-03-08  Alan Third  <alan@idiocy.org>
111422         Add missing timeout value in ns_select
111424         * src/nsterm.m (ns_select): Set timeout to distant future when relying
111425         on fd_handler's timeout.
111427 2017-03-07  Glenn Morris  <rgm@gnu.org>
111429         * admin/update_autogen: Ensure nt/gnulib.mk exists, for autoreconf.
111431 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
111433         Remove isnan hack for Solaris 10 gcc 3.4.3
111435         This seems to have been a false alarm (Bug#26018).
111436         * src/data.c (isnan):
111437         * src/floatfns.c (isfinite, isnan):
111438         Use standard implementation if available.
111440 2017-03-07  Eli Zaretskii  <eliz@gnu.org>
111442         Support browsing URLs with embedded spaces on MS-Windows
111444         * lisp/net/browse-url.el (browse-url-default-windows-browser):
111445         Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
111446         support that in file:// URLs.  (Bug#26014)
111448 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
111450         Define copysign on all platforms
111452         * configure.ac (copysign): Remove test.
111453         * src/floatfns.c (signbit): New macro, if not already defined.
111454         (Fcopysign): Use it instead of copysign.
111455         (Fcopysign, syms_of_floatfns): Define the function on all platforms.
111457 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
111459         Revert "Replace ldefs-boot with a much smaller file"
111461         This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.
111463         This commit has been reverted because the new mechanism was too
111464         sensitive to changes in the lisp source, generation of new ldefs-boot
111465         files was platform specific and resulted in warnings about undefined
111466         variables.
111468         See also 11436e2890d.
111470 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
111472         Revert "Record autoloads till emacs dump"
111474         This reverts commit 72c668a9042ac6475eadedfee5c87fb1e6b2d753.
111476         This commit has been reverted because the new mechanism was too
111477         sensitive to changes in the lisp source, generation of new ldefs-boot
111478         files was platform specific and resulted in warnings about undefined
111479         variables.
111481         See also 11436e2890d.
111483 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
111485         Revert "Remove unused ldefs-boot.el"
111487         This reverts commit ef8c9f8fc922b615aca91b47820d1f1900fddc96.
111489         This commit has been reverted because the new mechanism was too
111490         sensitive to changes in the lisp source, generation of new ldefs-boot
111491         files was platform specific and resulted in warnings about undefined
111492         variables.
111494         See also 11436e2890d.
111496 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
111498         Revert "Remove conditional includes from bootstrap"
111500         This reverts commit 1b946305182312faa7fcd838caf55dcb07b2ab04.
111502         This commit has been reverted because the new mechanism was too
111503         sensitive to changes in the lisp source, generation of new ldefs-boot
111504         files was platform specific and resulted in warnings about undefined
111505         variables.
111507         See also 11436e2890d.
111509 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
111511         Revert "Speed generation of ldefs-boot-auto"
111513         This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba.
111515         This commit has been reverted because the new mechanism was too
111516         sensitive to changes in the lisp source, generation of new ldefs-boot
111517         files was platform specific and resulted in warnings about undefined
111518         variables.
111520         See also 11436e2890d.
111522 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
111524         Revert "Fix minor problems with loaddefs autogeneration"
111526         This reverts commit f2bd2c1e6476acc71e71f6cb2a1c56c5edd900ba.
111528         This commit has been reverted because the new mechanism was too
111529         sensitive to changes in the lisp source, generation of new ldefs-boot
111530         files was platform specific and resulted in warnings about undefined
111531         variables.
111533 2017-03-07  Noam Postavsky  <npostavs@gmail.com>
111535         Set default when asking for send-mail-function (Bug#25874).
111537         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
111538         option as default for `completing-read'.
111540 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
111542         min and max now return one of their arguments
111544         * doc/lispref/numbers.texi (Comparison of Numbers):
111545         * etc/NEWS: Document this.
111546         * src/data.c (Amax, Amin): Remove constants.  All uses removed.
111547         (minmax_driver): New function.
111548         (Fmax, Fmin): Use it instead of arith_driver.
111549         * test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
111551 2017-03-06  Alan Third  <alan@idiocy.org>
111553         Remove NSEvent loop from ns_select (bug#25265)
111555         * src/nsterm.m (ns_select): Remove event processing loop and replace
111556         with simple test for a new event.
111558 2017-03-06  Eli Zaretskii  <eliz@gnu.org>
111560         A better fix for bug#25845
111562         * src/xdisp.c (font_for_underline_metrics): New function.
111563         * src/dispextern.h: Add its prototype.
111564         * src/xterm.c (x_draw_glyph_string):
111565         * src/w32term.c (x_draw_glyph_string):
111566         * src/nsterm.m (ns_draw_text_decoration): Call it.  This avoids
111567         having identical code 3 times in 3 different files.
111569 2017-03-06  Noam Postavsky  <npostavs@gmail.com>
111571         Fix warning message about native completion (Bug#25984)
111573         * lisp/progmodes/python.el (python-shell-completion-native-turn-on-maybe):
111574         The relevant variable is `python-shell-completion-native-enable'.
111576 2017-03-06  Tom Tromey  <tom@tromey.com>
111578         Fix typos in EIEIO manual
111580         * doc/misc/eieio.texi (Slot Options, Class Options): Fix typos.
111582 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
111584         Merge from gnulib
111586         This incorporates:
111587         2017-03-04 dtotimespec: simplify
111588         * lib/dtotimespec.c: Copy from gnulib.
111590 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
111592         ffloor etc. now accept only floats
111594         * etc/NEWS: Say why.
111595         * src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate):
111596         Require arg to be float.
111597         * test/src/floatfns-tests.el (fround-fixnum): Check this.
111599 2017-03-05  Eli Zaretskii  <eliz@gnu.org>
111601         Fix display of cursor on underlined text
111603         * src/nsterm.m (ns_draw_text_decoration):
111604         * src/xterm.c (x_draw_glyph_string):
111605         * src/w32term.c (x_draw_glyph_string): Compute the position and
111606         thickness of the underline by looking for the first glyph of the
111607         run of underlined glyphs that includes the glyph string we are
111608         drawing.  (Bug#25845)
111610 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
111612         Add more CL concept index items, print Concept Index
111614         * doc/misc/cl.texi: Print concept index.
111615         (Generalized Variables, Variable Bindings):
111616         (Dynamic Bindings, Function Bindings, Macro Bindings, Conditionals):
111617         (Blocks and Exits, Iteration, Multiple Values): Add concept index
111618         items.
111620 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
111622         Add 'loop facility' to the CL concept index
111624         * doc/misc/cl.texi (Loop Facility): Add "loop facility" as a concept
111625         index item.
111627 2017-03-05  martin rudalics  <rudalics@gmx.at>
111629         In `window--display-buffer' fix behavior reported in Bug#25946
111631         * lisp/window.el (window--display-buffer): Set the dedicated
111632         status of the window used and clear its history of previous
111633         buffers also for the case that the window already shows the
111634         buffer to be displayed.  (Bug#25946)
111636 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
111638         Compare and round more carefully
111640         * etc/NEWS: Document this.
111641         * src/data.c (store_symval_forwarding):
111642         * src/sound.c (parse_sound):
111643         Do not botch NaN comparison.
111644         * src/data.c (cons_to_unsigned, cons_to_signed):
111645         Signal an error if a floating-point arg is not integral.
111646         * src/data.c (cons_to_unsigned, cons_to_signed):
111647         * src/fileio.c (file_offset):
111648         Use simpler overflow check.
111649         * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
111650         Avoid rounding error in overflow check.
111651         (Fcar_less_than_car): Use arithcompare directly.
111652         * test/src/charset-tests.el: New file.
111654 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
111656         Fewer rounding errors with (format "%f" fixnum)
111658         * etc/NEWS: Document this.
111659         * src/editfns.c (styled_format): When formatting integers via a
111660         floating-point format, use long double instead of double
111661         conversion, if long double’s extra precision might help.
111663 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
111665         * src/floatfns.c (Fftruncate): Simplify via emacs_trunc.
111667         * src/editfns.c (styled_format): Omit unnecessary code for "%0d" etc.
111669 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
111671         Clarify documentation of 'raise' and 'height' display specs
111673         * doc/lispref/display.texi (Other Display Specs): Clarify the
111674         effect of 'height' display spec on the following 'raise'.
111675         (Bug#25824)
111677 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
111679         Fix header shown by Info 'L' command
111681         * lisp/info.el (Info-history-find-node): A better heading for the
111682         list of visited nodes.  (Bug#25876)
111684 2017-03-04  K. Handa  <handa@gnu.org>
111686         Add a section about incorrect Bengali rendering.
111688 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
111690         Fix minor problems with loaddefs autogeneration
111692         * admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
111693         and coding-system-for-write, to produce a UTF-8 file with Unix
111694         EOLs on MS-Windows.
111696         * lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.
111698 2017-03-04  David Bremner  <david@tethera.net>  (tiny change)
111700         Fix issues with dedicated windows in shr.el
111702         * lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
111703         the window not dedicated, to avoid errors if it was, before
111704         setting its buffer temporarily.  (Bug#25828)
111706 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
111708         Mention problems with GPaste in PROBLEMS
111710         * etc/PROBLEMS (GPaste): Mention the problem in yanking caused by
111711         GPaste, and its solution.  (Bug#25902)
111713 2017-03-04  Glenn Morris  <rgm@gnu.org>
111715         Avoid duplicate gud menu items with gdb-mi
111717         * lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
111718         entries in gdbmi mode.  (Bug#23923)
111720 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
111722         * src/editfns.c (styled_format): Omit unnecessary code.
111724 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
111726         logb now works correctly on large integers
111728         * admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
111729         * etc/NEWS: Document the change.
111730         * lib/count-leading-zeros.c, lib/count-leading-zeros.h:
111731         * m4/count-leading-zeros.m4: New files, copied from Gnulib.
111732         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
111733         * src/floatfns.c: Include count-leading-zeros.h.
111734         (Flogb): Do not convert fixnum to float before taking the log,
111735         as the rounding error can cause the answer to be off by 1.
111736         * src/lisp.h (EMACS_UINT_WIDTH): New constant.
111737         * test/src/floatfns-tests.el (logb-extreme-fixnum): New test.
111739 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
111741         Merge from gnulib
111743         This incorporates:
111744         2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
111745         2017-02-24 ftoastr: port to -Wdouble-promotion
111746         * lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.
111748 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
111750         Avoid duplicating characters recorded in macros
111752         * src/keyboard.c (record_char): Don't store in macro definitions
111753         characters that came from executing a macro.  (Bug#25860)
111755 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
111757         Fix color component calculations in color.el
111759         * lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
111760         (color-rgb-to-hex): Accept an optional argument
111761         DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
111762         notation either for 8 or 16 bits per component.  (Bug#25890)
111763         * lisp/net/shr-color.el (shr-color->hexadecimal): Call
111764         color-rgb-to-hex with the optional argument of 2, to match color
111765         processing on the Web.
111767 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
111769         Use lexical binding in benchmark.el
111771         * lisp/emacs-lisp/benchmark.el: Enable lexical binding.
111772         (benchmark-elapse): Use 'declare'.
111773         * test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
111775 2017-03-03  Noam Postavsky  <npostavs@gmail.com>
111777         Switch pp.el to lexical binding
111779         Additionally, do some minor code cleanup.
111781         * lisp/emacs-lisp/pp.el: Set lexical-binding.
111782         (pp-buffer): Use skip-syntax-forward.
111783         (pp-eval-expression): Use push.
111784         (pp-last-sexp): Use with-syntax-table.
111785         * test/lisp/emacs-lisp/pp-tests.el: New tests.
111787 2017-03-03  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
111789         Fix completing-read call in reb-change-syntax
111791         * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
111792         of completing-read.
111794 2017-03-03  Rolf Ade  <rolf@pointsman.de>  (tiny change)
111796         sql-mode w/ sqlite: In-memory database
111798         Enable the usage of an in-memory database. Prior to this, sql-mode w/
111799         sqlite could only be used with file databases.
111800         * lisp/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
111801         file name provided by the user, but call sub-process sqlite with that,
111802         in which case it uses an in-memory database.
111804 2017-03-03  Allen Li  <vianchielfaura@gmail.com>
111806         Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
111808         `abbrev--before-point' does not adjust `pos' to account for when it
111809         deletes the "-" left by abbrev-prefix-mark.  Therefore, when
111810         `abbrev-before-point' goes to restore point, it moves point one
111811         character too far forward.
111813         * lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
111815 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
111817         * lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section.
111819 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
111821         Restore XFLOATINT but with restricted args
111823         Turn instances of extract_float into XFLOAT_DATA when possible,
111824         and to a resurrected XFLOATINT when the arg is a number.
111825         The resurrected XFLOATINT is more like XFLOAT and XINT in
111826         that is valid only if its arg is a number.  This clarifies
111827         the ways in which floats can be extracted at the C level.
111828         * src/editfns.c (styled_format):
111829         * src/floatfns.c (extract_float, Fexpt):
111830         Use XFLOATINT rather than open-coding it.
111831         * src/fns.c (internal_equal):
111832         * src/image.c (imagemagick_load_image):
111833         * src/xdisp.c (resize_mini_window):
111834         Prefer XFLOAT_DATA to extract_float on values known to be floats.
111835         * src/frame.c (x_set_screen_gamma):
111836         * src/frame.h (NUMVAL):
111837         * src/image.c (x_edge_detection, compute_image_size):
111838         * src/lread.c (read_filtered_event):
111839         * src/window.c (Fset_window_vscroll):
111840         * src/xdisp.c (handle_single_display_spec, try_scrolling)
111841         (redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
111842         (on_hot_spot_p):
111843         Prefer XFLOATINT to extract_float on values known to be numbers.
111844         * src/lisp.h (XFLOATINT): Bring back this function, except
111845         it now assumes its argument is a number.
111847 2017-03-02  Glenn Morris  <rgm@gnu.org>
111849         Ert commands to error if no test at point (bug#25931)
111851         * lisp/emacs-lisp/ert.el (ert-results-mode-menu):
111852         Deactivate some items if no test at point.
111853         (ert--results-test-at-point-no-redefinition):
111854         Add option to signal an error rather than return nil.
111855         (ert-results-pop-to-backtrace-for-test-at-point)
111856         (ert-results-pop-to-messages-for-test-at-point)
111857         (ert-results-pop-to-should-forms-for-test-at-point)
111858         (ert-results-describe-test-at-point): Error if no test at point.
111860 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
111862         Remove XFLOATINT
111864         * src/lisp.h (XFLOATINT): Remove this alias for extract_float.
111865         All callers changed to use extract_float.
111866         * src/frame.h (NUMVAL): Now an inline function, not a macro.
111868 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
111870         Fix rounding errors in <, =, etc.
111872         * etc/NEWS: Document this.
111873         * src/bytecode.c (exec_byte_code):
111874         * src/data.c (arithcompare):
111875         Do not lose information when comparing floats to integers.
111876         * test/src/data-tests.el (data-tests-=, data-tests-<)
111877         (data-tests->, data-tests-<=, data-tests->=):
111878         Test this.
111880 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
111882         Fix display of mouse-highlight produced by overlapping overlays
111884         * src/xfaces.c (face_at_buffer_position): If called to find the
111885         mouse-face, only consider the highest-priority source for that
111886         face, and ignore the rest.  Previously, all the mouse-face
111887         definitions at POS were merged in that case.
111888         * src/xdisp.c (note_mouse_highlight): Record the overlay that
111889         specifies mouse-face _after_ clearing the info about the previous
111890         overlay, so as not to clear the information about the just-recorded
111891         overlay.  (Bug#25906)
111893 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
111895         Fix display of strike-through text in variable-height lines
111897         * src/nsterm.m (ns_draw_text_decoration):
111898         * src/xterm.c (x_draw_glyph_string):
111899         * src/w32term.c (x_draw_glyph_string): Fix calculation of the
111900         strike-through y-coordinate for a glyph row which is taller than
111901         the strike-through text.  (Bug#25907)
111903 2017-03-02  Martin Rudalics  <rudalics@gmx.at>
111905         Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887)
111907         * src/xterm.c (handle_one_xevent): For ConfigureNotify events
111908         don't call x_net_wm_state when the window is a scroll bar window.
111909         (Bug#24963, Bug#25887)
111911 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
111913         gnus-summary-select-article-buffer: Don't re-render existing article
111915         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
111916         Don't re-render existing article.
111918 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
111920         Don't add debbugs address to message body (bug#25896)
111922         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
111923         Don't add debbugs address to message body (bug#25896), and
111924         don't add it to message header either if it already exists.
111926 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
111928         * lisp/cedet/semantic/db-global.el: Make dynbind use explicit
111930         (semanticdb--ih): Declare.
111931         (semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
111932         (semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
111933         (semanticdb-find-tags-for-completion-method): Silence compiler warning.
111935 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
111937         * lisp/help-fns.el (describe-variable): Use cl-print for the value
111939         Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.
111941 2017-03-02  Glenn Morris  <rgm@gnu.org>
111943         * test/lisp/net/puny-tests.el: New file.
111945 2017-03-02  Glenn Morris  <rgm@gnu.org>
111947         Small puny.el fix
111949         * lisp/net/puny.el (puny-decode-string-internal):
111950         Handle strings with no ascii parts.  (Bug#23688)
111952 2017-03-02  Glenn Morris  <rgm@gnu.org>
111954         Small recover-this-file improvement
111956         * lisp/files.el (recover-this-file): Explicit error if not
111957         visiting a file.  (Bug#23671)
111959 2017-03-01  Glenn Morris  <rgm@gnu.org>
111961         Fix for coding-system completion (bug#23670)
111963         * lisp/international/mule.el (read-buffer-file-coding-system):
111964         Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
111965         so that completion-pcm--pattern->regex can append "*?".
111967 2017-03-01  Paul Eggert  <eggert@cs.ucla.edu>
111969         Fix rounding error in ‘ceiling’ etc.
111971         Without this fix, (ceiling most-negative-fixnum -1.0) returns
111972         most-negative-fixnum instead of correctly signaling range-error,
111973         and similarly for floor, round, and truncate.
111974         * configure.ac (trunc): Add a check, since Gnulib’s doc says
111975         ‘trunc’ is missing from MSVC 9.  The Gnulib doc says ‘trunc’ is
111976         also missing from some other older operating systems like Solaris
111977         9 which I know we don’t care about any more, so MSVC is the only
111978         reason to worry about ‘trunc’ here.
111979         * src/editfns.c (styled_format): Formatting a float with %c is now an
111980         error.  The old code did not work in general, because FIXNUM_OVERFLOW_P
111981         had rounding errors.  Besides, the "if (FLOATP (...))" was in there
111982         only as a result of my misunderstanding old code that I introduced
111983         2011.  Although %d etc. is sometimes used on floats that represent
111984         huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
111985         happen with characters.
111986         * src/floatfns.c (rounding_driver): Rework to do the right thing
111987         when the intermediate result equals 2.305843009213694e+18, i.e.,
111988         is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
111989         Simplify so that only one section of code checks for overflow,
111990         rather than two.
111991         (double_identity): Remove.  All uses changed to ...
111992         (emacs_trunc): ... this new function.  Add replacement for
111993         platforms that lack ‘trunc’.
111994         * src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
111995         Make it clear that the arg cannot be floating point.
111996         * test/src/editfns-tests.el (format-c-float): New test.
111997         * test/src/floatfns-tests.el: New file, to test for this bug.
111999 2017-03-01  Glenn Morris  <rgm@gnu.org>
112001         Small help--loaded-p fix
112003         * lisp/help-fns.el (help--loaded-p): Handle entry in load-history
112004         with nil file name.  (Bug#25847)
112006 2017-03-01  Leo Liu  <sdl.web@gmail.com>
112008         * src/fns.c (Fbuffer_hash): Doc fix.
112010 2017-03-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
112012         Don't use mapconcat with chars in gnus registry marks (Bug#25839)
112014         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
112015         Instead, use a plain concat, which will create a string out of a list
112016         of characters.
112018 2017-03-01  Noam Postavsky  <npostavs@gmail.com>
112020         Fix epg-tests with dummy-pinentry program (Bug#23619)
112022         * test/data/epg/dummy-pinentry: New file.
112023         * test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
112024         when a passphrase is required.  Add debug declaration.  Set
112025         GPG_AGENT_INFO non-destructively.
112027 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
112029         Speed generation of ldefs-boot-auto
112031         Previously, generation of ldefs-boot-auto required at least one full
112032         bootstrap and, in extreme cases, two. Now, from build system, it
112033         requires the same time as taken to dump Emacs.
112035         * Makefile.in: Remove all calls, pass to src.
112036         * admin/ldefs-clean.el: Update for changed messages.
112037         * lisp/Makefile.in (compile-first-delete): Add.
112038         * lisp/ldefs-boot-auto.el: Update.
112039         * src/Makefile.in (generate-ldefs-boot): Add.
112041 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
112043         Add error handling to magic-mode-alist
112045         * lisp/files.el (set-auto-mode): Add explicit error handling in two
112046           places.
112048 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
112050         Remove conditional includes from bootstrap
112052         Previously, bootstrap-emacs includes optional functionality, depending
112053         on the platform which is not needed for bootstrap function.  As a
112054         result, bootstrap-emacs contains different functions in different
112055         circumstances.  If ldefs-boot-auto.el is generated, then loaded
112056         functions will not be added to ldefs-boot-auto.el, although they may be
112057         required during some builds.  With this change, bootstrap-emacs should
112058         always behave the same way and, therefore, require the same autoloads.
112060          * lisp/loadup.el: No longer load optional includes during bootstrap
112061            dumping.
112062          * lisp/ldefs-boot-auto.el: Regenerate.
112063          * lisp/ldefs-boot-manual.el: Add two autoloads.
112065 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
112067         Do not use find-file non-interactively
112069          * lisp/international/titdic-cnv.el (miscdic-convert): Use
112070            insert-file-contents in place of find-file.
112072 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
112074         * src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
112076         (update_overlay_arrows): Skip non-markers.
112078 2017-02-28  Ken Brown  <kbrown@cornell.edu>
112080         Try to avoid hang when logging out of MS-Windows
112082         * src/w32term.c (x_update_window_begin, x_update_window_end)
112083         (my_show_window, my_set_window_pos, my_set_focus)
112084         (my_set_foreground_window, my_destroy_window)
112085         (my_bring_window_to_top, x_iconify_frame): Replace calls to
112086         SendMessage by calls to SendMessageTimeout with a 6-second
112087         timeout.  (Bug#25875)
112089 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
112091         * lisp/textmodes/reftex-toc.el (reftex-re-enlarge): Demote errors.
112093 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
112095         * doc/misc/eieio.texi: Update to account for the cl-generic facilities
112097         (Quick Start, Class Options, Generics): Adjust names for cl-generic.
112098         (Methods): Document cl-defmethod.
112099         Explain in more detail the order in which the various
112100         methods are executed.  Document the conditions under which a method
112101         is redefined.  Remove reference to `eieio-generic-call-arglst`.
112102         Don't document the precise return value of cl-next-method-p.
112103         (Static Methods): Adjust to use `subclass` specializer.
112104         (Method Invocation): Use cl-call-next-method and drop mention of :primary.
112105         (Signal Handling, Signals): Adjust names and args for cl-generic; add
112106         cl-no-primary-method.
112107         (CLOS compatibility, Wish List): Adjust to new featureset.
112109 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
112111         * lisp/cedet/mode-local.el (define-mode-local-override): Declare doctring.
112113         * lisp/nxml/nxml-mode.el (nxml-mode): Use new sgml-syntax-propertize.
112115 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
112117         * lisp/textmodes/sgml-mode.el: syntax-propertize <![CDATA and <?..?>
112119         (sgml-syntax-propertize-function): Mark <![CDATA and <?..?>.
112120         (sgml-syntax-propertize-inside): New fun.
112122 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
112124         * lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert
112126         ": ;" after completing a property.
112128 2017-02-28  Tino Calancha  <tino.calancha@gmail.com>
112130         Show Ibuffer and jump to line listing current buffer
112132         * lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577).
112134 2017-02-27  Juri Linkov  <juri@linkov.net>
112136         * lisp/vc/add-log.el (change-log-next-buffer): Check if file exists
112138         before adding it to the list of files.
112140 2017-02-27  Juri Linkov  <juri@linkov.net>
112142         Put text properties on query-replace separator string instead of "\0"
112144         * lisp/replace.el (query-replace--split-string):
112145         Split at a substring instead of just character.
112146         (query-replace-read-from): Put text properties on the
112147         separator string instead of "\0".  (Bug#25482)
112149 2017-02-27  Juri Linkov  <juri@linkov.net>
112151         Add file name and its extension to suggestions in dired-mark-files-regexp
112153         * lisp/dired.el (dired-mark-files-regexp): Add file name
112154         and its extension to the list of suggested defaults.  (Bug#25578)
112156 2017-02-27  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
112158         Prompt default extension in dired-mark-extension
112160         * lisp/dired-x.el (dired-mark-extension): Prompt default extension
112161         based on extension of file at point.  (Bug#25578)
112163 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
112165         Prevent for consing in cl-mapc and cl-mapl
112167         * lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
112168         If non-nil, accumulate values in the result (Bug#25826).
112169         (cl-mapc): Do computations inside function instead of call cl-map.
112170         (cl-mapl): Do computations inside function instead of call cl-maplist.
112171         * lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
112172         Call cl--mapcar-many with non-nil 3rd argument.
112173         * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
112174         (cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
112175         (cl-extra-test-maplist): New tests.
112177 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
112179         Choose the right target dir on dired operations
112181         Prevent from changing the input target dir
112182         when dired-dwim-target is non-nil (Bug#25609).
112183         * lisp/dired-aux.el (dired-do-create-files):
112184         If dired-dwim-target is non-nil, then bind 'default' to nil.
112185         * test/lisp/dired-tests.el (dired-test-bug25609): Add test.
112187 2017-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
112189         * src/xdisp.c (overlay_arrows_changed_p): Fix last change.
112191 2017-02-27  Noam Postavsky  <npostavs@gmail.com>
112193         Don't record eshell/clear "command" in history (Bug#25838)
112195         `eshell/clear' is implemented by sending a series of blank lines,
112196         which is not a useful thing to have in the history.
112198         * lisp/eshell/em-hist.el (eshell-input-filter-default): Use
112199         `string-blank-p' which does check for newlines (even though newlines
112200         have comment-end syntax, not whitespace syntax class).
112201         * lisp/eshell/esh-mode.el (eshell/clear): Remove
112202         `eshell-add-to-history' from `eshell-input-filter-functions' while
112203         sending the blank lines.  This change is needed to solve the bug if
112204         the user customizes `eshell-input-filter' to something that doesn't
112205         filter newlines.
112207 2017-02-26  Paul Eggert  <eggert@cs.ucla.edu>
112209         Remove a few unused C functions
112211         * src/eval.c (let_shadows_global_binding_p):
112212         * src/print.c (write_string):
112213         * src/systhread.c (sys_mutex_destroy, sys_thread_equal):
112214         Remove.
112215         * src/print.c (write_string): Rename from write_string_1.
112216         All uses changed.
112218 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
112220         Avoid segfault in overlay_arrows_changed_p
112222         * src/xdisp.c (overlay_arrows_changed_p): Fix recent change
112223         to avoid a segfault.
112225 2017-02-26  Noam Postavsky  <npostavs@gmail.com>
112227         Don't call package--ensure-init-file if initialized during startup
112229         * lisp/emacs-lisp/package.el (package-initialize): Check
112230         `after-init-time' rather than `load-file-name' to decide if
112231         `package--ensure-init-file' should be called.  Depending on
112232         `load-file-name' will fail if the user calls `pacakge-initialize' in
112233         file which is loaded from the init file (Bug#24643, Bug#25819).
112235 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
112237         Fix display of before- and after-strings at invisible text
112239         * src/xdisp.c (next_overlay_string): Don't raise the
112240         ignore_overlay_strings_at_pos_p flag if the iterator is already
112241         set to continue at a buffer position different from the one
112242         where the overlay strings we just processed were loaded.  (Bug#25856)
112244 2017-02-26  Michael Albinus  <michael.albinus@gmx.de>
112246         Work on `tramp-completion-mode-p'
112248         * etc/NEWS: Say that `tramp-completion-mode' is obsolete.
112250         * lisp/net/tramp.el (tramp-completion-mode): Make it obsolete.
112251         (tramp-completion-mode-p): Reintroduce the check for 'tab.
112253 2017-02-25  Tom Tromey  <tom@tromey.com>
112255         Use font-lock-doc-face in js-mode
112257         Bug#25858:
112258         * lisp/progmodes/js.el (js-font-lock-syntactic-face-function): New
112259         defun.
112260         (js-mode): Use it.
112261         * test/lisp/progmodes/js-tests.el (js-mode-doc-comment-face): New
112262         test.
112264 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
112266         Don't use IP 0.0.0.0 for package test server (Bug#22582)
112268         * test/lisp/emacs-lisp/package-resources/package-test-server.py: Set
112269         'server_address' when port number is given on the command line.  Print
112270         IP and port number as a URL, and flush it after printing.
112271         * test/lisp/emacs-lisp/package-tests.el:
112272         (package-test-update-archives-async): Grab the whole URL from server
112273         output.
112275 2017-02-25  Tom Tromey  <tom@tromey.com>
112277         Add more branch support to vc-dir
112279         Bug#25859:
112280         * lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
112281         * lisp/vc/vc.el (vc-revision-history): New defvar.
112282         (vc-read-revision): Use vc-revision-history.
112283         (vc-print-branch-log): New function.
112284         * doc/emacs/maintaining.texi (VC Directory Commands): Document new
112285         bindings.
112286         * etc/NEWS: Mention new vc-dir bindings.
112288 2017-02-25  Alan Mackenzie  <acm@muc.de>
112290         Allow for the :: operator in C++ "enum class" declarations.
112292         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for
112293         "::".
112295 2017-02-25  Michael Albinus  <michael.albinus@gmx.de>
112297         Fix bug#25854
112299         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
112300         Simplify error handling for huge inodes.
112301         (tramp-convert-file-attributes): Handle very huge inodes.  (Bug#25854)
112303 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
112305         Avoid leaving garbage on screen when using 'raise' display property
112307         * src/xdisp.c (display_line): Reset voffset value of the iterator
112308         when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
112309         which then leaves stuff on screen that needs to be cleared by
112310         redisplay.  (Bug#25855)
112312 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
112314         Fix doc strings in info.el
112316         * lisp/info.el (Info-selection-hook, Info-mode-hook)
112317         (Info-edit-mode-hook): Doc fixes.  (Bug#25794)
112319 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
112321         Fix doc string of 'posn-at-point'
112323         * src/keyboard.c (Fposn_at_point): Clarify the doc string.
112324         (Bug#25796)
112326 2017-02-25  Peder O. Klingenberg  <peder@klingenberg.no>
112328         New option -u / --suppress-output to emacsclient
112330         * lib-src/emacsclient.c (print_help_and_exit, longopts)
112331         (decode_options, main): Implement new option --suppress-output / -u to
112332         suppress printing of eval-results.
112333         * doc/emacs/misc.texi (emacsclient Options): Document the new
112334         "--suppress-output/-u" options.
112335         * etc/NEWS: Mention the new options.
112337 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
112339         Fix scrolling with partial line corner case (Bug#25792)
112341         Also fix up the scrolling tests so that they don't make so many
112342         assumptions about the current window configuration.
112344         * src/xdisp.c (try_window): Take partial line height into account when
112345         comparing cursor position against scroll margin.
112347         * test/manual/scroll-tests.el (scroll-tests-with-buffer-window): Add
112348         HEIGHT argument, to allow setting up window with exact height and
112349         partial line.
112350         (scroll-tests-display-buffer-with-height): New display-buffer action
112351         function.
112352         (scroll-tests-scroll-margin-over-max):
112353         (scroll-tests--scroll-margin-whole-window): Pass HEIGHT to
112354         `scroll-tests--scroll-margin-whole-window'.
112355         (scroll-tests-conservative-show-trailing-whitespace): New test.
112356         (scroll-tests-scroll-margin-negative): Fix line counting.
112357         (scroll-tests--point-in-middle-of-window-p): Set window height
112358         properly.
112360 2017-02-25  Tom Tromey  <tom@tromey.com>
112362         Fix indentation error in js.el
112364         * lisp/progmodes/js.el (js--indent-in-array-comp): Wrap forward-sexp
112365         call in condition-case.
112366         * test/lisp/progmodes/js-tests.el (js-mode-indentation-error): New
112367         test.
112369 2017-02-24  Tom Tromey  <tom@tromey.com>
112371         add "async" and "await" keywords
112373         * lisp/progmodes/js.el (js--keyword-re): Add async, await.
112375 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
112377         Use cl-print for Edebug and EIEIO
112379         * lisp/emacs-lisp/edebug.el (edebug-prin1-to-string): Use cl-print.
112380         (edebug-prin1, edebug-print): Remove.
112382         * lisp/emacs-lisp/eieio.el (object-print): Declare obsolete.
112383         (cl-print-object): Add a method for EIEIO objects.
112384         (eieio-edebug-prin1-to-string): Delete.
112385         (edebug-prin1-to-string): Don't advise any more.
112387         * lisp/emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
112388         Replace `object-print' -> `cl-prin1-to-string'.
112390 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
112392         Fix left over uses of `call-next-method'
112394         * lisp/cedet/semantic/db-global.el (object-print):
112395         * lisp/cedet/semantic/db.el (object-print): Use `cl-call-next-method'.
112397 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
112399         Minor redisplay optimizations
112401         * src/frame.c (Ficonify_frame): No need to redisplay everything.
112403         * src/xdisp.c (overlay_arrows_changed_p): Add `set_redisplay' argument.
112404         (redisplay_internal): Use it to avoid redisplaying everything.
112405         (try_window_id): Use it keep the same behavior as before.
112407 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
112409         * lisp/emacs-lisp/cl-print.el: New file
112411         * lisp/emacs-lisp/nadvice.el (advice--where): New function.
112412         (advice--make-docstring): Use it.
112414         * src/print.c (print_number_index): Don't declare here any more.
112415         (Fprint_preprocess): New function.
112417         * test/lisp/emacs-lisp/cl-print-tests.el: New file.
112419 2017-02-24  Peder O. Klingenberg  <peder@klingenberg.no>
112421         Make calc's least common multiple positive (bug#25255)
112423         * lisp/calc/calc-comb.el (calcFunc-lcm): Return absolute value.
112424         * doc/misc/calc.texi (Combinatorial Functions): Update for the above.
112426 2017-02-24  Tino Calancha  <tino.calancha@gmail.com>
112428         Documentation fix in elisp reference manual
112430         * doc/lispref/macros.texi (Defining Macros): Drop redundant mention
112431         on 'declare' forms (Bug#25846).
112433 2017-02-24  Gemini Lasswell  <gazally@runbox.com>
112435         Support read syntax for circular objects in Edebug (Bug#23660)
112437         * lisp/emacs-lisp/edebug.el (edebug-read-special): New name
112438         for edebug-read-function. Handle the read syntax for circular
112439         objects.
112440         (edebug-read-objects): New variable.
112441         (edebug-read-and-maybe-wrap-form1): Reset edebug-read-objects.
112443         * src/lread.c (Fsubstitute_object_in_subtree): Make
112444         substitute_object_in_subtree into a Lisp primitive.
112446 2017-02-24  Lixin Chin  <lixinchin@gmail.com>  (tiny change)
112448         Add Conference to the list of valid bibtex entry types
112450         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
112451         Add Conference as a duplicate of InProceedings.  (Bug#25143)
112453 2017-02-23  Glenn Morris  <rgm@gnu.org>
112455         * lisp/comint.el (comint-password-prompt-regexp): Add SUDO. (Bug#24817)
112457 2017-02-23  Glenn Morris  <rgm@gnu.org>
112459         Small dunnet score file improvements
112461         * lisp/play/dunnet.el (dun-log-file): Switch to per-user default.
112462         (dun-do-logfile): Handle non-existing score file.
112464 2017-02-23  Glenn Morris  <rgm@gnu.org>
112466         * lisp/play/dunnet.el (dun-help): Doc fix.
112468 2017-02-23  Mark Oteiza  <mvoteiza@udel.edu>
112470         Declare dun-line and dun-line-list
112472         Previously, there were free variables 'line' and 'line-list'.
112473         * lisp/play/dunnet.el (dun-line, dun-line-list): New variables.
112474         (dun-press, dun-vparse, dun-parse2, dun-unix-parse, dun-batch-parse):
112475         (dun-batch-parse2, dun-batch-loop, dun-batch-dos-interface):
112476         (dun-batch-unix-interface): Use them.
112478 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
112480         Merge from gnulib
112482         This incorporates:
112483         2017-02-16 xbinary-io: rename from xsetmode
112484         2017-02-15 xsetmode: new module
112485         * lib-src/etags.c (main):
112486         * lib-src/hexl.c (main):
112487         * src/emacs.c (main) [MSDOS]:
112488         Prefer set_binary_mode to the obsolescent SET_BINARY.
112489         * lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
112491 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
112493         hexl: handle large files and I/O errors
112495         * lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc.
112496         Do not include ctype.h, as the code no longer uses isdigit.
112497         (DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’.
112498         (DEFAULT_BASE, endian): Remove; was not really used.
112499         (usage): Remove; now done by ‘main’, as that’s simpler.
112500         (progname): Now static.
112501         (output_error, hexchar): New functions.
112502         (main): Use them.  Simplify.  Remove "-oct", "-big-endian", and
112503         "-little-endian" options, as they did not work and were not used.
112504         Use SET_BINARY only on stdin, and fopen with "rb" otherwise.
112505         Use SET_BINARY only once on stdout.
112506         Do not assume file offsets fit in ‘long’.
112507         If an I/O error occurs, report it and exit with nonzero status.
112509 2017-02-23  Eli Zaretskii  <eliz@gnu.org>
112511         Avoid quitting inside a critical section on MS-Windows
112513         * src/w32uniscribe.c (uniscribe_list_family):
112514         * src/w32font.c (w32font_list_family, w32font_text_extents)
112515         (w32font_list_internal, w32font_match_internal)
112516         (list_all_matching_fonts): Prevent quitting while these functions
112517         cons lists of fonts, to avoid leaving the critical section taken
112518         by the main thread, which will then cause any other thread
112519         attempting to enter the critical section to hang.  (Bug#25279)
112521 2017-02-22  Dmitry Gutov  <dgutov@yandex.ru>
112523         Use revision-completion-table in vc-retrieve-tag
112525         * lisp/vc/vc.el (vc-retrieve-tag): Use the
112526         revision-completion-table command for completion (bug#25710).
112528 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
112530         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add `atom'
112532         remove entries whose car can't be returned by type-of.
112533         (cl--generic-all-builtin-types): New var.
112534         (cl-generic-generalizers): Use it to avoid requiring
112535         extra entries in cl--generic-typeof-types.
112537 2017-02-22  Noam Postavsky  <npostavs@gmail.com>
112539         Find macro binding for symbol-bound macros too (Bug#6848)
112541         There are 2 ways to bind a macro: with global-set-key or
112542         kmacro-bind-to-key.  The former binds a key to a symbol, while the
112543         latter binds to a lambda.  In 2010-03-03 "Fix keyboard macro key
112544         lookup (Bug#5481)", `insert-kbd-macro' was fixed to detect the lambda
112545         case, but broke the symbol case.
112547         * lisp/macros.el (insert-kbd-macro): Also check for bindings of
112548         MACRONAME.
112550 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
112552         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix last change
112554 2017-02-22  Juri Linkov  <juri@linkov.net>
112556         * lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092).
112558 2017-02-22  Juri Linkov  <juri@linkov.net>
112560         * lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
112562         (isearch-lazy-highlight-update): Check it to decide whether to apply
112563         overlays only on the selected window.
112565         * lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
112566         (Bug#17453, bug#21092)
112568 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
112570         Minor weak hash table performance tweaks
112572         * src/fns.c (make_hash_table): Omit unnecessary assignment to
112573         h->next_weak when the hash table is not weak.
112574         (copy_hash_table): Put the copy next to the original in the
112575         weak_hash_tables list, as this should have better locality
112576         when scanning the weak hash tables.
112578 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
112580         Use float instead of Lisp_Object for rehash_size
112582         * src/alloc.c (purecopy_hash_table):
112583         * src/fns.c (maybe_resize_hash_table, Fmake_hash_table):
112584         (Fhash_table_rehash_size):
112585         * src/lisp.h (struct Lisp_Hash_Table.rehash_size):
112586         The rehash_size member of struct Lisp_Hash_Table is now a
112587         float, not a Lisp_Object.
112588         * src/alloc.c (purecopy_hash_table): Assign members in order.
112589         * src/fns.c (make_hash_table): Use EMACS_INT for size and
112590         float for rehash_size, instead of Lisp_Object for both.
112591         All callers changed.
112592         * src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double,
112593         and 1 smaller.
112594         * src/print.c (print_object): Simplify by calling
112595         Fhash_table_rehash_size and Fhash_table_rehash_threshold.
112596         Avoid unnecessary NILP.
112598 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
112600         Use ptrdiff_t instead of Lisp_Object for collision
112602         * src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
112603         * src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
112604         arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
112605         integer (or Qnil if empty).  All callers changed.
112606         (larger_vecalloc): New static function.
112607         (larger_vector): Use it.
112608         (HASH_NEXT, HASH_INDEX): Move here from lisp.h.  Return ptrdiff_t
112609         index (or -1) not Lisp_Object integer (or Qnil).  All callers changed.
112610         * src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
112611         (hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
112612         * src/profiler.c (evict_lower_half, record_backtrace):
112613         -1, not nil, is now the convention for end of collision list.
112614         * src/fns.c (maybe_resize_hash_table): Avoid double-initialization
112615         of the free list.  Reallocate H->next last, in case other
112616         reallocations exhaust memory.
112617         * src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
112618         ptrdiff_t, not Lisp_Object.  Adjust commentary for ‘next’ and
112619         ‘index’, which no longer contain nil.
112620         (HASH_NEXT, HASH_INDEX): Move to src/fns.c.
112622 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
112624         Hash table threshold is now float, not double
112626         Change default from 0.8 to 0.8125 so it fits in float without
112627         rounding glitches.
112628         * doc/lispref/hash.texi (Creating Hash):
112629         * doc/lispref/objects.texi (Hash Table Type):
112630         * etc/NEWS:
112631         Document change.
112632         * src/fns.c (make_hash_table, maybe_resize_hash_table)
112633         (Fmake_hash_table): Threshold is now float, not double.
112634         Be consistent about how this is rounded.
112635         * src/lisp.h (struct Lisp_Hash_Table.rehash_threshold):
112636         Change back to float, now that the other code rounds consistently.
112637         (DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.
112639 2017-02-22  Juri Linkov  <juri@linkov.net>
112641         Avoid flicker in lazy-highlight by doing all updates without redisplay.
112643         * lisp/isearch.el (lazy-highlight-max-at-a-time):
112644         Change default value from 20 to nil to not trigger redisplay
112645         between updating iterations.
112646         (lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
112647         overlays when non-nil.
112648         (isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
112649         with non-nil second arg when the search string is not empty.
112650         Run timer with isearch-lazy-highlight-start instead of
112651         isearch-lazy-highlight-update.
112652         (isearch-lazy-highlight-start): New function. (Bug#25751)
112654 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
112656         * lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric
112658         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.
112660 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
112662         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Fix duplication
112664         which resulted in incomplete list of parents in one copy of the
112665         cl-structure-class class.
112667 2017-02-21  Glenn Morris  <rgm@gnu.org>
112669         Tweak recent custom-reevaluate-setting change
112671         * lisp/custom.el (custom-reevaluate-setting):
112672         Tweak previous change to avoid font-lock init issues.
112674 2017-02-21  Glenn Morris  <rgm@gnu.org>
112676         Ensure delayed-init custom variables get marked special
112678         * lisp/custom.el (custom-reevaluate-setting):
112679         If the variable has never been set, defvar it.  (Bug#25770)
112681 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
112683         Turn on lexical-binding in dunnet.el
112685         * lisp/play/dunnet.el: Turn on lexical-binding.  Re-instate lexical
112686         byte compile warnings.
112688 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
112690         Make dunnet insertion functions n-ary
112692         * lisp/play/dunnet.el (dun-mprinc, dun-mprincl, dun-minsert):
112693         (dun-minsertl, dun-batch-mprinc, dun-batch-mprincl): Change to accept
112694         any number of arguments.
112695         (dun-parse, dun-describe-room, dun-quit, dun-inven, dun-shake):
112696         (dun-take, dun-go, dun-move, dun-press, dun-score):
112697         (dun-compile-save-out, dun-do-logfile): Collect arguments from
112698         multiple insertion calls into less calls with more args.
112700 2017-02-21  Katsumi Yamaoka  <yamaoka@jpl.org>
112702         message-goto-body-1: Fix regexp so as not to match multi-line
112704         * lisp/gnus/message.el (message-goto-body-1):
112705         Fix regexp so as not to match multi-line.
112707 2017-02-20  Noam Postavsky  <npostavs@gmail.com>
112709         Simplify cl-get using `plist-member'
112711         * lisp/emacs-lisp/cl-extra.el (cl-get, cl-getf, cl--set-getf): Use
112712         `plist-member' instead of explicit loop.
112713         * test/lisp/emacs-lisp/cl-extra-tests.el: New tests.
112715 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
112717         Verify xwidget USE_LSB_TAG assumption
112719         * src/xwidget.c (Fxwidget_webkit_execute_script):
112720         Add verification.  Problem reported by Andreas Schwab (Bug#25816#8).
112722 2017-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
112724         * src/insdel.c (make_gap): Improve comment.
112726 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
112728         Do not use switch-to-buffer for working in a temp buffer
112730         * lisp/play/dunnet.el (dunnet): Use pop-to-buffer-same-window instead,
112731         cf. Bug#22244.
112732         (dun-load-d, dun-eval, dun-save-game, dun-do-logfile): Use
112733         with-temp-buffer instead.
112735 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
112737         Make dun-room-shorts a defconst
112739         * lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
112740         initial value into the declaration.
112741         (dun-space-to-hyphen): Remove.
112743 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
112745         Port xwidget to -DCHECK_LISP_OBJECT_TYPE
112747         * src/xwidget.c (webkit_javascript_finished_cb)
112748         (Fxwidget_webkit_execute_script): Don't assume Lisp_Object is an
112749         integer.  This fix is just a hack; I’ll file a bug report about
112750         the underlying problem.
112752 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
112754         mm-decode.el: Simplify regexp used to search html meta tag
112756         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag, mm-shr):
112757         Simplify regexp used to search html meta tag.
112759 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
112761         mm-shr: Ignore coding-system `ascii'
112763         * lisp/gnus/mm-decode.el (mm-shr): Ignore coding-system `ascii'.
112765 2017-02-20  Tom Tromey  <tom@tromey.com>
112767         vc-log-outgoing fixes for git; add binding to vc-dir
112769         * lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
112770         * lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
112771         async execution.
112772         (vc-git-log-view-mode): Also truncate lines for log-outgoing and
112773         log-incoming.
112774         * lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
112775         as remote-location argument.
112777 2017-02-20  Tom Tromey  <tom@tromey.com>
112779         Remove stale comments from vc-git and vc-hg
112781         * lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
112782         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
112784 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
112786         Remove member clone
112788         * lisp/play/dunnet.el (dun-answer): Use member instead.
112789         (dun-members): Remove.
112791 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
112793         Prefix global var
112795         * lisp/play/dunnet.el (room): Rename to dun-room.
112796         (dun-messages, dunnet, dun-describe-room, dun-drop, dun-move):
112797         (dun-restore, dun-do-logfile, dun-batch-loop): Use new name.
112799 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
112801         Replace nested ifs with cond
112803         * lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
112804         (dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
112805         and cond where appropriate.
112806         (dun-sauna-heat): Accept sauna level as an argument.  Use cond.
112807         (dun-take): Use null and dun-mprincl.
112808         (dun-inven-weight, dun-load-d): Reformat.
112809         (dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.
112811 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
112813         Fix glitches in recent hash table changes
112815         * src/fns.c (Fmake_hash_table): Simplify the machine code slightly
112816         by using 0 rather than -1.
112817         * src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
112818         than a bitfield, for speed (the bitfield did not save space).
112819         (struct Lisp_Hash_Table.rehash_threshold): Now double rather than
112820         float, since the float caused unwanted rounding errors, e.g.,
112821         (hash-table-rehash-threshold (make-hash-table)) yielded
112822         0.800000011920929 instead of the correct 0.8.
112824 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
112826         * src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.
112828 2017-02-19  Eli Zaretskii  <eliz@gnu.org>
112830         Avoid aborts during loadup
112832         * src/emacs-module.c (syms_of_module):
112833         * src/image.c (xpm_make_color_table_h): Update calls to
112834         make_hash_table to adjust to a recent change in fns.c.
112835         * src/fns.c (make_hash_table):
112836         * src/lisp.h (make_hash_table): 4th arg is now of type double.
112838 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
112840         Rework connection local variables
112842         For connection local variables interface, `class' is renamed
112843         to `profile'.  All arguments `criteria' are a plist now.
112845         * doc/lispref/variables.texi (Connection Local Variables):
112846         Rewrite.
112848         * lisp/files-x.el (connection-local-profile-alist): Rename
112849         from `connection-local-class-alist'.  Adapt docstring.
112850         (connection-local-criteria-alist): Adapt docstring.
112851         (connection-local-normalize-criteria): New defun.
112852         (connection-local-get-profiles): Rename from
112853         `connection-local-get-classes'.  Rewrite.
112854         (connection-local-set-profiles): Rename from
112855         `connection-local-set-classes'.  Rewrite.
112856         (connection-local-get-profile-variables): Rename from
112857         `connection-local-get-class-variables'.  Rewrite.
112858         (connection-local-set-profile-variables): Rename from
112859         `connection-local-set-class-variables'.  Rewrite.
112860         (hack-connection-local-variables)
112861         (hack-connection-local-variables-apply)): Rewrite.
112862         (with-connection-local-profiles): Rename from
112863         `ith-connection-local-classes'.  Rewrite.
112865         * lisp/net/tramp.el (tramp-set-connection-local-variables):
112866         Compute criteria.
112868         * lisp/net/tramp-cmds.el (tramp-bug):
112869         Use `connection-local-profile-alist'.
112871         * test/lisp/files-x-tests.el (files-x-test--variables1)
112872         (files-x-test--variables2, files-x-test--variables3)
112873         (files-x-test--variables4, files-x-test--criteria1)
112874         (files-x-test--criteria2): Make them a defconst.
112875         (files-x-test--application)
112876         (files-x-test--another-application, files-x-test--protocol)
112877         (files-x-test--user, files-x-test--machine): New defconst.
112878         (files-x-test--criteria): New defvar.
112879         (files-x-test--criteria3): Remove.
112880         (files-x-test-connection-local-set-profile-variables):
112881         Rename from `files-x-test-connection-local-set-class-variables'.
112882         Rewrite.
112883         (files-x-test-connection-local-set-profiles): Rename from
112884         `files-x-test-connection-local-set-classes'.  Rewrite.
112885         (files-x-test-hack-connection-local-variables-apply)  Rewrite.
112886         (files-x-test-with-connection-local-profiles): Rename from
112887         `files-x-test-with-connection-local-classes'.  Rewrite.
112889 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
112891         Set up combination and random item location
112893         * lisp/play/dunnet.el (dun-combination): Make defconst.
112894         (tloc, tcomb): Remove.  Replace with a top-level form.
112896 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
112898         Replace movement variables with an alist and accessor
112900         * lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
112901         (northwest, southwest, up, down, in, out): Remove.
112902         (dun-movement-alist): New constant.
112903         (dun-movement): New function.
112904         (dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
112905         (dun-down, dun-in, dun-out): Use a symbol for indicating movement.
112906         (dun-move, dun-special-move): Translate movement symbol to an
112907         enumeration.
112909 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
112911         Change top-level setq forms to defvar or defconst
112913         Also collect some code onto fewer lines and reindent.
112914         * lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
112915         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
112916         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
112917         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
112918         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
112919         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
112920         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
112921         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
112922         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
112923         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
112924         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
112925         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
112926         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
112927         (dun-diggables, dun-room-shorts, dun-endgame-questions): Change
112928         declaration to use defvar or defconst.
112929         (dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
112930         (dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
112931         dun-verblist.  Those are now constants and the byte compiler doesn't
112932         allow defconsts in lambda lists.
112934 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
112936         Move all dunnet globals up to the top
112938         * lisp/play/dunnet.el: Adjust comments to reflect moved forms.
112939         (dun-visited, dun-current-room, dun-exitf):
112940         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
112941         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
112942         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
112943         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
112944         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
112945         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
112946         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
112947         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
112948         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
112949         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
112950         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
112951         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
112952         (dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
112953         top of the file, before any uses.
112955 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
112957         Fix bug#25788
112959         * lisp/net/tramp.el (tramp-autoload-file-name-handler):
112960         Do not load tramp.el just for "/".  (Bug#25788)
112962 2017-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
112964         Fix fringe bitmap initialization on MS-Windows
112966         * src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
112967         of fb->bits.  (Bug#25673)
112969 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
112971         Change type of `rehash_threshold' and `pure' fields in hash-tables
112973         * src/lisp.h (struct Lisp_Hash_Table): Change type of
112974         `rehash_threshold' and `pure' fields and move them after `count'.
112975         * src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
112976         (Fmake_hash_table, Fhash_table_rehash_threshold):
112977         * src/category.c (hash_get_category_set):
112978         * src/xterm.c (syms_of_xterm):
112979         * src/profiler.c (make_log):
112980         * src/print.c (print_object):
112981         * src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.
112983 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
112985         Use 'char *FOO' instead of 'char* FOO'
112987 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
112989         More json.el changes
112991         * lisp/json.el (json-read-keyword, json-read-number, json-read-object):
112992         (json-read-array): Just use = for char comparison.
112994 2017-02-18  Noam Postavsky  <npostavs@gmail.com>
112996         * lisp/woman.el (woman): Fix docstring prefix arg description.
112998 2017-02-18  Alan Mackenzie  <acm@muc.de>
113000         Fix edebug-spec on c-lang-defvar.
113002         This allows c-lang-defvars with the symbol 'dont-doc in the place of the
113003         optional documentation to be instrumented for edebug.
113005         lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
113006         c-lang-defvar.
113007         (c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
113008         'dont-doc.
113010 2017-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
113012         Lists used as plists now have to be an even length
113014         * lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
113015         (eww-process-text-input): Not here, either.
113017 2017-02-18  Michael Albinus  <michael.albinus@gmx.de>
113019         Unset `non-essential' in Tramp when not needed anymore
113021         * doc/misc/trampver.texi:
113022         * lisp/net/trampver.el: Change version to "2.3.2-pre".
113024         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
113025         Use `tramp-completion-mode-p'.
113027         * lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
113028         when file name doesn't match `tramp-completion-file-name-regexp'.
113030 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
113032         Automatically regenerate emacs.1 and *.rc files
113034         * Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
113035         non-Makefile files produced by config.status.
113036         ($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
113037         their targets are regenerated when the source changes.
113039 2017-02-18  Alan Mackenzie  <acm@muc.de>
113041         Set the syntax table in AWK Mode.
113043         This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
113044         It fixes bug #25722.
113046         lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
113048 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
113050         Mention "editor" in Emacs man page header
113052         * doc/man/emacs.1.in: Mention "editor" in the header line.
113053         (Bug#25771, Bug#25779)
113055 2017-02-18  Göktuğ Kayaalp  <self@gkayaalp.com>
113057         Fix Turkish language environment setup
113059         * lisp/language/european.el ("Turkish"): Fix a typo in Turkish
113060         language setup.  (Bug#25763)
113062 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
113064         Support 24-bit direct colors on text terminals
113066         * src/term.c (init_tty): Use 24-bit terminal colors if corresponding
113067         foreground and background functions are present in terminal type
113068         definition.
113069         * src/tparam.h: Define prototype for tigetstr.
113071         * lisp/term/tty-colors.el (tty-color-define): Convert color palette
113072         index to pixel value on 16.7M color terminals.
113073         (tty-color-24bit): New function to convert color palette index to
113074         pixel value on 16.7M color terminals.
113075         (tty-color-desc): Don't approximate colors on 16.7M color terminals.
113076         * lisp/term/xterm.el (xterm-register-default-colors): Define all named
113077         TTY colors on 16.7M color terminals.
113079         * doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
113080         enable direct color TTY mode.
113081         * etc/NEWS: Mention direct color TTY mode and point to FAQ.
113083 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
113085         Remove unused TN_max_pairs field
113087         * src/termchar.h (tty_display_info): Remove TN_max_pairs field,
113088         describing maximum number of terminal background/foreground color pairs.
113089         * src/term.c (tty_default_color_capabilities, tty_setup_colors)
113090         (init_tty): Remove references to TN_max_pairs.
113092 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
113094         Improve documentation of query-replace-from-to-separator
113096         * doc/emacs/search.texi (Query Replace): Document the meaning of
113097         the nil value of query-replace-from-to-separator.  (Bug#25482)
113099 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
113101         Document problems with nerd-fonts
113103         * etc/PROBLEMS (fonts): Describe the potential problems with
113104         nerd-fonts that cause slow display.  (Bug#25697)
113106 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
113108         Improve commentary for a recent change in keyboard.c
113110         * src/keyboard.c (Fset__this_command_keys): Add a comment about
113111         the magic 248 value.  (Bug#25612)
113113 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
113115         Avoid infloop in rect.el
113117         * lisp/rect.el (rectangle--*-char): Avoid inflooping when called
113118         with argument N whose absolute value is greater than 1.  (Bug#25773)
113120 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
113122         Remove annoying warnings about let-binding
113124         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
113125         Remove warnings about making symbols local while let-bound.
113126         (Bug#25561)
113128 2017-02-18  Hong Xu  <hong@topbug.net>
113130         Avoid errors when flyspell-generic-check-word-predicate is a lambda.
113132         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
113133         functionp instead of fboundp on
113134         flyspell-generic-check-word-predicate (Bug#25765).
113136 2017-02-18  Glenn Morris  <rgm@gnu.org>
113138         Remove the build number from emacs-version variable
113140         It's a largely internal detail that can confuse users.  (Bug#25590)
113141         * lisp/version.el (emacs-build-number): New constant.
113142         (emacs-version): Use emacs-build-number.
113143         * lisp/loadup.el (top-level): When dumping, increment
113144         emacs-build-number rather than emacs-version.
113145         * src/emacs.c (emacs-version): Doc fix.
113146         * doc/lispref/intro.texi (Version Info): Update emacs-version details.
113147         Mention emacs-build-number.
113148         * lisp/gnus/gnus-util.el (gnus-emacs-version):
113149         * lisp/mail/emacsbug.el (report-emacs-bug):
113150         * admin/admin.el (set-version): Update for emacs-version change.
113152 2017-02-18  Glenn Morris  <rgm@gnu.org>
113154         Ensure that user-mail-address always has a value
113156         * lisp/startup.el (user-mail-address): Initialize in the normal way.
113157         (command-line): Reset user-mail-address if needed using
113158         standard custom machinery.
113159         * lisp/mail/feedmail.el (feedmail-fiddle-from):
113160         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
113161         * lisp/mail/rmailsum.el (rmail-header-summary):
113162         Simplify now that user-mail-address is always set.
113164 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
113166         Turn on lexical-binding in ruby-mode
113168         * lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
113169         (ruby-font-lock-syntax-table): Use make-syntax-table.
113170         (ruby-mode): 'define-derived-mode' writes the keys for us.
113172 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
113174         Turn on lexical-binding in elint.el
113176         * lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
113177         (elint-running, elint-current-pos): Move these dynamic vars to toward
113178         the top of the file.
113179         (elint-check-quote-form): Ignore unused argument.
113180         (elint-check-conditional-form): Remove unused binding.
113182 2017-02-18  Gemini Lasswell  <gazally@runbox.com>
113184         * lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)
113186 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
113188         Enable erc-accidental-paste-threshold-seconds by default
113190         * lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
113191         default to 0.2 (Bug#25709).
113193 2017-02-17  Michal Nazarewicz  <mina86@mina86.com>
113195         Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
113197         The [5ec3a584: Generate upcase and downcase tables from Unicode data]
113198         commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
113199         one created with ‘make extraclean’), see
113200         <http://hydra.nixos.org/build/48774928>.
113202         The failure was caused by characters.el trying to read Unicode
113203         property tables which aren’t available so early in the build process.
113205         Wrap the part that requires Unicode property tables in a condition
113206         checking if those are available.  If they aren’t they case and syntax
113207         tables won’t be fully set but later on, the characters.el file will be
113208         evaluated again and this time with Unicode properties available so
113209         final Emacs ends up with the exact same case and syntax tables.
113211 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
113213         mm-add-meta-html-tag: Improve regexp
113215         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
113216         Improve regexp to search html meta tag.
113218 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
113220         mm-shr: Prefer charset specified in html meta tag
113222         * lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
113223         meta tag than mail-parse-charset in the case there is no charset spec
113224         in MIME header.
113226 2017-02-17  Glenn Morris  <rgm@gnu.org>
113228         Stop duplicating some custom-types in message.el
113230         * lisp/gnus/message.el (user-mail-address, user-full-name):
113231         No need to re-specify custom-type.
113233 2017-02-17  Glenn Morris  <rgm@gnu.org>
113235         Whitespace trivia in dunnet.el
113237         * lisp/play/dunnet.el (dun-special-object, dun-put-objs)
113238         (dun-rlogin-endgame): Whitespace trivia.
113240 2017-02-17  Glenn Morris  <rgm@gnu.org>
113242         Explicit error on changing case of negative integers
113244         * src/casefiddle.c (casify_object): Reject negative integers:
113245         Emacs characters are positive integers.  (Bug#25684)
113247 2017-02-17  Dmitry Gutov  <dgutov@yandex.ru>
113249         Fix buffers update in vc-retrieve-tag
113251         * lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
113252         `repository', use the repository root and pass it to
113253         vc-resynch-buffer (bug#25714).
113255 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
113257         * src/buffer.h: Fix indenting.
113259 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
113261         Add sanity checks for Bswitch hash tables
113263         * src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
113264         Check that operand is a hash table and hashes to ints.
113266 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
113268         * src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.
113270 2017-02-16  Vibhav Pant  <vibhavp@gmail.com>
113272         bytecomp.el: Avoid unnecessary calculation for jump table addresses.
113274         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
113275           redundant operations while calculating the correct jump addresses
113276           from TAGs in jump tables.
113278 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
113280         Minor changes in json.el
113282         * lisp/json.el (json-advance): Simpler docstring.
113283         (json-read-escaped-char): Use xdigit subform in rx expression.
113284         (json-read-string): Just use = for char comparison.
113286 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
113288         Don't expand body inside a let-binding when there are no bindings
113290         * lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
113291         is non-nil.
113293 2017-02-16  Glenn Morris  <rgm@gnu.org>
113295         Handle user-mail-address being the empty string
113297         * lisp/mail/feedmail.el (feedmail-fiddle-from):
113298         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
113299         * lisp/mail/rmailsum.el (rmail-header-summary):
113300         Belated update for 2002-09-29 startup.el change, 680ebfa, where
113301         the value of user-mail-address during initialization was changed
113302         from nil to the empty string.
113304 2017-02-15  Michael Albinus  <michael.albinus@gmx.de>
113306         Continue to fix bug#25607
113308         * lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
113309         (ido-file-name-all-completions-1): Do not bind `non-essential'.
113311         * lisp/net/tramp.el: (tramp-completion-file-name-handler):
113312         Improve autoloaded version.
113313         (tramp-completion-file-name-handler): Remove old compat code.
113314         Check only for `tramp-completion-mode-p'.
113315         (tramp-completion-mode-p): Autoload.  Do not check any longer
113316         for `last-input-event'.
113317         (tramp-completion-handle-expand-file-name): Simplify.  (Bug#25607)
113319 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
113321         casing: don’t assume letters are *either* upper- or lower-case  (bug#24603)
113323         A compatibility digraph characters, such as Dž, are neither upper- nor
113324         lower-case.  At the moment however, those are reported as upper-case¹
113325         despite the fact that they change when upper-cased.
113327         Stop checking if a character is upper-case before trying to up-case it
113328         so that title-case characters are handled correctly.  This fixes one of
113329         the issues mentioned in bug#24603.
113331         ¹ Because they change when converted to lower-case.  Notice an asymmetry
113332           in that for a character to be considered lower-case it must not be
113333           upper-case (plus the usual condition of changing when upper-cased).
113335         * src/buffer.h (upcase1): Delete.
113336         (upcase): Change to upcase character unconditionally just like downcase
113337         does it.  This is what upcase1 was.
113339         * src/casefiddle.c (casify_object, casify_region): Use upcase instead
113340         of upcase1 and don’t check !uppercasep(x) before calling upcase.
113342         * src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
113343         downcase(x) and see if it changed.
113345         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
113346         casefiddle-tests-casing): Update test cases which are now passing.
113348 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
113350         Generate upcase and downcase tables from Unicode data  (bug#24603)
113352         Use Unicode data to generate case tables instead of mostly repeating
113353         them in lisp code.  Do that in a way which maps ‘Dz’ (and similar)
113354         digraph to ‘dz’ when down- and ‘DZ’ when upcasing.
113356         https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
113357         changes to syntax table and case tables introduced by this commit.
113359         * lisp/international/characters.el: Remove case-pairs defined with
113360         explicit Lisp code and instead use Unicode character properties.
113362         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
113363         casefiddle-tests-casing): Update test cases which are now working
113364         as they should.
113366 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
113368         Add tests for casefiddle.c  (bug#24603)
113370         Fixes cases marked FIXME upcoming in followup commits.
113372         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
113373         casefiddle-tests-case-table, casefiddle-tests-casing-character,
113374         casefiddle-tests-casing, casefiddle-tests-casing-byte8,
113375         casefiddle-tests-casing-byte8-with-changes): New tests.
113376         (casefiddle-tests--test-casing): New helper function for running
113377         some of the tests.
113379 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
113381         oldXMenu: add missing #include <string.h>
113383         Some of the files in oldXMenu use functions from string.h without
113384         including that header which results in compile warnings:
113386                 ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
113387                 ChgPane.c:46:20: warning: incompatible implicit declaration of
113388                         built-in function ‘strlen’
113389                 ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
113390                 ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
113391                         function ‘strlen’
113392                 Create.c:220:5: warning: implicit declaration of function ‘strcmp’
113393                 InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
113394                 InsPane.c:65:20: warning: incompatible implicit declaration of
113395                         built-in function ‘strlen’
113396                 InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
113397                 InsSel.c:68:20: warning: incompatible implicit declaration of built-in
113398                         function ‘strlen’
113399                 InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’
113401         Add the necessary ‘#include <string.h>’.
113403         oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
113404         oldXMenu/InsSel.c: add missing #include <string.h>
113406 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
113408         Fixup recent rmail patch
113410         * lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
113412 2017-02-15  Richard Stallman  <rms@gnu.org>
113414         Rmail fix
113416         * lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
113417         as element 4 of the value.
113418         (rmail-epa-decrypt): Take the text to insert from that element.
113420 2017-02-15  Vibhav Pant  <vibhavp@gmail.com>
113422         bytecomp-tests.el: Store all test forms in one constant.
113424         * test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
113425         in a single constant (byte-opt-testsuite-arith-data), add new forms
113426         which generate lapcode with adjacent/redundant tags.
113428 2017-02-15  Glenn Morris  <rgm@gnu.org>
113430         Small lispref edit
113432         * doc/lispref/os.texi (User Identification):
113433         Remove extraneous detail about user-mail-address.
113435 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
113437         Document fill-separate-heterogeneous-words-with-space (bug#25685)
113439         * doc/lispref/text.texi (Filling):
113440         Document fill-separate-heterogeneous-words-with-space (bug#25685).
113442 2017-02-15  Noam Postavsky  <npostavs@gmail.com>
113444         Test comment-multi-line = nil auto fill case too
113446         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
113447         `comment-multi-line' both nil and non-nil.
113448         * lisp/newcomment.el (comment-multi-line): Mark safe if it's a
113449         boolean.
113450         * etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
113452 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
113454         Don't delete leading and trailing space from CJK word (bug#25685)
113456         * lisp/textmodes/fill.el (fill-delete-newlines):
113457         Don't delete leading and trailing space from CJK word.
113458         (fill-separate-heterogeneous-words-with-space):
113459         New user option that controls it (bug#25685).
113461 2017-02-15  Juri Linkov  <juri@linkov.net>
113463         ‘M-s w RET word C-s’ repeats incremental search.
113465         * lisp/isearch.el (isearch-new-nonincremental): New variable.
113466         (with-isearch-suspended): Bind isearch-new-nonincremental to
113467         isearch-nonincremental, and restore it afterwards.
113468         (isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
113469         Set isearch-new-nonincremental to nil.  (Bug#25562)
113471 2017-02-14  Tom Tromey  <tom@tromey.com>
113473         Make vc-git detect conflict state for vc-dir
113475         * lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
113476         (vc-git-dir-status-update-file): New function.
113477         (vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
113478         vc-git-dir-status-state; add 'ls-files-conflict state.
113479         (vc-git-dir-status-files): Create a vc-git-dir-status-state.
113481 2017-02-14  Vibhav Pant  <vibhavp@gmail.com>
113483         byte-opt: Replace merged tags in jump tables too. (bug#25716)
113485         * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
113486           adjacent tags, make sure that the old tag is replaced in all jump
113487           tables, if any. This fixes the bytecode VM jumping to the wrong
113488           address in compiled cond forms where the body of a clause was a loop
113489           of any sort.
113491 2017-02-14  Glenn Morris  <rgm@gnu.org>
113493         Remove overly broad element from default mail-dont-reply-to-names
113495         * lisp/mail/mail-utils.el (mail-dont-reply-to):
113496         Do not include just "user@" in mail-dont-reply-to-names, and simplify.
113497         Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
113498         * lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
113499         * doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
113501 2017-02-14  Juri Linkov  <juri@linkov.net>
113503         * etc/NEWS: Mention query-replace-from-to-separator.  (Bug#25482)
113505 2017-02-13  Arash Esbati  <arash@gnu.org>
113507         Match all characters in optional argument of \documentclass
113509         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
113510         characters in optional argument containing name of the main file.
113512 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
113514         Merge branch 'master' into feature/byte-switch
113516 2017-02-13  Katsumi Yamaoka  <yamaoka@jpl.org>
113518         Fix non-ASCII text encoding (bug#25658)
113520         * lisp/gnus/mm-bodies.el (mm-encode-body):
113521         Fix non-ASCII text encoding (bug#25658).
113523 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
113525         test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.
113527 2017-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
113529         * doc/lispref/modes.texi (Derived Modes): Make example more idiomatic
113531 2017-02-13  Glenn Morris  <rgm@gnu.org>
113533         Fix recent bootstrap issue by moving string-to-list
113535         * lisp/international/mule-util.el (string-to-list, string-to-vector):
113536         Move from here...
113537         * lisp/subr.el (string-to-list, string-to-vector): ...to here.
113538         The implementation is trivial and at least string-to-list
113539         has ended up being needed early during bootstrap.
113541 2017-02-13  Glenn Morris  <rgm@gnu.org>
113543         Doc fixes related to mail-host-address
113545         * lisp/startup.el (mail-host-address): Doc fix.
113546         * doc/lispref/os.texi (System Environment):
113547         Remove extraneous details of mail-host-address.
113549 2017-02-13  Glenn Morris  <rgm@gnu.org>
113551         Simplify time-stamp mail host usage
113553         * lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
113554         (time-stamp-string-preprocess): Handle "h" (mail host) directly.
113556 2017-02-13  Glenn Morris  <rgm@gnu.org>
113558         Doc fix for vhdl-mode re mail-host-address
113560         * lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
113561         (mail-host-address): Do not add to vhdl-related custom group,
113562         since vhdl-template-replace-header-keywords doesn't use it.
113564 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
113566         Substitute leading $HOME/ in xdg-user-dirs
113568         * lisp/xdg.el (xdg--substitute-home-env): New function.
113569         (xdg--user-dirs-parse-line): Use it.
113570         (xdg-user-dir): Expand ~/ in xdg-user-dirs values.
113572 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
113574         * lisp/buff-menu.el: Turn on lexical-binding.
113576 2017-02-13  Juri Linkov  <juri@linkov.net>
113578         * lisp/replace.el (query-replace-from-to-separator): Move propertize
113580         and char-displayable-p test to query-replace-read-from.
113581         Add choice nil to disable this feature.
113582         (query-replace-read-from): Don't reevaluate custom setting.
113583         Use char-displayable-p to test the first non-whitespace character
113584         in query-replace-from-to-separator, use " -> " when fails.
113585         Add prompt for the case when separator is nil but
113586         query-replace-defaults is non-nil.
113587         Remove unused test for regexp-flag.
113588         Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
113590 2017-02-13  Karl Fogel  <kfogel@red-bean.com>
113592         Convert more uses of `looking-at' to `following-char'
113594         This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
113595         (commit 91478f46238a) with more of the same.
113597         * lisp/bookmark.el (bookmark-send-edited-annotation):
113598           (bookmark-bmenu-execute-deletions): Replace instances of looking-at
113599           with char comparisons using following-char.
113601 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
113603         Fix typos in tests for lax-plist-get etc.
113605         Problem reported by Eli Zaretskii (Bug#25606#62).
113606         * test/src/fns-tests.el (test-cycle-lax-plist-get)
113607         (test-cycle-plist-put, test-cycle-lax-plist-put):
113608         Fix tests to match behavior.
113610 2017-02-12  Michael Albinus  <michael.albinus@gmx.de>
113612         Fix bug#25607
113614         * lisp/net/tramp.el (tramp-completion-file-name-handler):
113615         Improve autoloaded version.
113616         (tramp-autoload-file-name-handler): Avoid recursive load.
113617         (tramp-completion-handle-expand-file-name): Handle empty NAME.
113618         (Bug#25607)
113620 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
113622         Remove server-buffer-clients string from minor-mode-alist
113624         * lisp/server.el: Don't put an element for server-buffer-clients into
113625         minor-mode-alist. (Bug#20201)
113627 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
113629         Nix some useless uses of looking-at, looking-back
113631         * lisp/allout.el (allout-kill-topic):
113632         (allout-next-topic-pending-encryption):
113633         * lisp/bookmark.el (bookmark-kill-line):
113634         * lisp/cus-edit.el (custom-save-variables, custom-save-faces):
113635         * lisp/cus-theme.el (custom-theme-write-variables):
113636         (custom-theme-write-faces):
113637         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
113638         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
113639         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
113640         (checkdoc-interactive-ispell-loop):
113641         (checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
113642         (checkdoc-this-string-valid-engine):
113643         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
113644         * lisp/emulation/viper-cmd.el (viper-backward-indent):
113645         * lisp/image-dired.el (image-dired-delete-char):
113646         * lisp/simple.el (kill-visual-line): Replace instances of looking-at,
113647         looking-back with char comparisons using following-char, preceding-char.
113649 2017-02-12  Eli Zaretskii  <eliz@gnu.org>
113651         Clarify what is the "cursor"
113653         * doc/lispref/windows.texi (Window Point): Clarify the notion of
113654         "cursor".
113656 2017-02-11  Tom Tromey  <tom@tromey.com>
113658         Recognize JS regexp literals more correctly
113660         Bug#25529
113661         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
113662         constant.
113663         (js-syntax-propertize-regexp): Use it.  Remove "end" argument.
113664         (js--syntax-propertize-regexp-syntax-table): Remove.
113665         (js-syntax-propertize): Update.
113666         * test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
113667         New test.
113669 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
113671         src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.
113673         This avoids using XUINT every time while comparing it with
113674         HASH_HASH (h, i), replacing it with EQ.
113676 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
113678         src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.
113680 2017-02-11  Tom Tromey  <tom@tromey.com>
113682         Fix bug in css--mdn-find-symbol
113684         * lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
113685         before skipping word characters.
113686         test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
113687         regression test.
113689 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
113691         src/bytecode.c: Add optional sanity check for jump tables.
113693         * src/bytecode.c (exec_byte_code): When sanity checks are enabled,
113694           check that the jump table's size is equal to it's count.
113696 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
113698         Merge branch 'master' into feature/byte-switch
113700         * src/bytecode.c: Refactor to follow GNU coding standards
113702 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
113704         Fix handling of XBM images on MS-Windows
113706         * src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
113707         'nbytes' when inverting XBM data bits.  (Bug#25661)
113709 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
113711         Fix handling of PBM data
113713         * src/image.c (pbm_load): Handle PBM data with no blanks between
113714         individual pixel values correctly.  (Bug#25660)
113716 2017-02-10  Noam Postavsky  <npostavs@gmail.com>
113718         Fix warnings in debug tracing code
113720         * src/xdisp.c (dump_glyph, dump_glyph_string):
113721         * src/xfaces.c (dump_realized_face): Cast arguments or adjust format
113722         specifiers to match signedness.
113724 2017-02-10  Sam Steingold  <sds@gnu.org>
113726         Extract grep-find-ignored-directories processing from rgrep-default-command
113728         (rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
113729         Some Emacs packages use `grep-find-ignored-directories' to ignore some
113730         directories, so will use this function instead of custom code.
113731         (rgrep-default-command): Use `rgrep-find-ignored-directories'.
113733 2017-02-10  Vibhav Pant  <vibhavp@gmail.com>
113735         src/bytecode.c: Avoid comparing values unnecessarily in Bswitch
113737         * src/bytecode.c: (exec_byte_code) While linear searching the jump
113738           table, compare the value's hash table first to avoid calling
113739           h->test.cmpfn every time.
113741 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
113743         Fix a few integer-overflow glitches
113745         * src/composite.c (composition_compute_stop_pos, composition_reseat_it):
113746         * src/dispextern.h (struct composition_it.rule_idx):
113747         * src/keyboard.c (Fset__this_command_keys):
113748         * src/xwidget.c (webkit_js_to_lisp):
113749         Don’t assume object sizes fit in ‘int’.
113750         * src/xwidget.c (Fxwidget_resize):
113751         Don’t assume Emacs integers fit in ‘int’.
113753 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
113755         Fix a bug with displaying an image after a TAB
113757         * src/xdisp.c (display_line): Handle TAB at end of screen line
113758         specially only when we are displaying characters.  (Bug#25662)
113760 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
113762         Improve commentary in lisp.h
113764         * src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
113765         object is discouraged.
113767 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
113769         Move cyclic tests to fns-tests.el
113771         * test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
113772         (test-cycle-length, test-cycle-safe-length, test-cycle-member)
113773         (test-cycle-memq, test-cycle-memql, test-cycle-assq)
113774         (test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
113775         (test-cycle-delq, test-cycle-delete, test-cycle-reverse)
113776         (test-cycle-plist-get, test-cycle-lax-plist-get)
113777         (test-cycle-plist-member, test-cycle-plist-put)
113778         (test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
113779         New tests.
113780         * test/manual/cyclic-tests.el: File deleted.
113782 2017-02-10  Gemini Lasswell  <gazally@runbox.com>
113784         Fix instrumenting code with propertized strings in Edebug
113786         * lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
113787         'read' to decide what is and isn't a syntax error.  (Bug#25068)
113789 2017-02-10  Vladimir Panteleev  <vladimir@thecybershadow.net>
113791         Improve fontification in bat-mode
113793         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
113794         word and symbol constituents when looking for variable names
113795         to fontify; also, correct the syntax table and mark the equal
113796         sign (=) character as punctuation.  Improve fontification
113797         accuracy of iteration/positional variables.
113798         (bat-mode): Set comment-start-skip.  (Bug#25541)
113800         * test/lisp/progmodes/bat-mode-tests.el: New file, tests for
113801         bat-mode.el.
113803 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
113805         Restore special setting of this-command-keys by M-x
113807         It was lost when execute-extended-command was reimplemented in Lisp.
113809         * src/keyboard.c (Fset__this_command_keys): New function.
113810         (syms_of_keyboard): Defsubr it.
113812         * lisp/simple.el (execute-extended-command): Set this-command-keys
113813         as novice.el expects.  (Bug#25612)
113815 2017-02-09  Juri Linkov  <juri@linkov.net>
113817         * lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
113819         to t to display "Pending" in the search prompt for lax
113820         word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
113821         when 'bound' is non-nil.
113822         (word-search-regexp, isearch-symbol-regexp): Don't depend on lax
113823         at the beginning of regexp (bug#22589).
113825         * lisp/info.el (Info-isearch-search):
113826         Use isearch--lax-regexp-function-p.
113828         * doc/emacs/search.texi (Word Search, Symbol Search):
113829         Mention "Pending" prompt for lax word/symbol search.
113831 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
113833         src/bytecode.c (exec_byte_code): Remove unneeded assert.
113835         bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE
113837 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
113839         bytecode.c (exec_byte_code): don't check hash code in linear search.
113841         * src/bytecode.c (exec_byte_code): Don't check that the hash code is
113842           not nil when linear scanning the jump table. Hash tables for are
113843           declared with :size as the exact number of cases, so each entry i
113844           should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
113845           check.
113847 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
113849         Ibuffer: Update mode documentation
113851         * lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.
113853 2017-02-09  Steven Allen  <steven@stebalien.com>  (tiny change)
113855         Fix environment variable for xdg-data-dirs
113857         * lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS
113859 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
113861         Ibuffer: Erase output buffer before shell commands
113863         * lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
113864         BEFORE and AFTER; they are forms to run before/after the operation.
113865         * lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
113866         New defun; if shell-command-dont-erase-buffer is nil, then
113867         erase shell command output buffer.
113868         (ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.
113870 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
113872         Ibuffer: Don't truncate shell command output
113874         * lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
113875         (ibuffer-do-shell-command-pipe-replace)
113876         Use 'call-shell-region' (Bug#22679).
113877         (ibuffer-do-shell-command-file): Use call-process-shell-command.
113878         If FILE, the file that the buffer object is visiting,
113879         exists and the buffer is up-to-date, then use
113880         FILE instead of creating a temporary file (Bug#22679).
113882 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
113884         Improve byte-switch execution.
113886         * lisp/emacs-lisp/byte-opt.el,
113887           lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
113888           (byte-compile-lapcode): Calculate the actual jump address while
113889           compiling, store it in the jump table.
113891         * src/bytecode.c: Jump to the looked up value directly, do a linear
113892           search when the number of elements is <= 5.
113894 2017-02-09  Noam Postavsky  <npostavs@gmail.com>
113896         Make sure eshell pipelines don't drop data
113898         * lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
113899         handling output of the process, make sure to close the pipes only later,
113900         so that the next process in the pipeline receives EOF only after getting
113901         all its input (Bug#25549).
113903 2017-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
113905         Make mm-shr use mail-parse-charset by default
113907         * lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
113908         This helps an html message with no charset spec to be decoded.
113910 2017-02-08  Stephen Berman  <stephen.berman@gmx.net>
113912         describe-char: unambiguous name for inserting ASCII 7
113914         * lisp/descr-text.el (describe-char): Make the input
113915         suggestion for inserting ASCII character 7 by name use the
113916         unambiguous name "BELL (BEL)" (bug#25641).
113918 2017-02-08  Michael Albinus  <michael.albinus@gmx.de>
113920         Modify suppressing `vc-refresh-state' in filenotify-tests.el
113922         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
113923         Use an advice rather than an alias for suppressing `vc-refresh-state'.
113925 2017-02-08  Noam Postavsky  <npostavs@gmail.com>
113927         Disable native completion for ipython (Bug#25067)
113929         * lisp/progmodes/python.el:
113930         (python-shell-completion-native-disabled-interpreters): Add "ipython".
113932 2017-02-07  Michael Albinus  <michael.albinus@gmx.de>
113934         Suppress undesired error messages in filenotify-tests.el
113936         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
113937         Suppress `vc-refresh-state', it produces undesired error messages.
113939 2017-02-07  Eli Zaretskii  <eliz@gnu.org>
113941         Fix a typo in ada-mode manual
113943         * doc/misc/ada-mode.texi (Project file variables): Add a missing
113944         right bracket.  Reported by Jean-Christophe Helary
113945         <jean.christophe.helary@gmail.com>.
113947 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
113949         Ensure that Gnus bugs show up in the Emacs tracker
113951         * lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
113952         package spec.
113954 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
113956         Revert "Don't tag Gnus bugs with "gnus""
113958         This reverts commit b6fa58072304c2a24f1fe8a0e06a4739a7f8211b.
113960         The debbugs syntax requires a package name
113962 2017-02-07  Vibhav Pant  <vibhavp@gmail.com>
113964         Add tests for checking byte-switch code.
113966         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
113967           test byte-switch bytecode.
113969 2017-02-07  Mark Oteiza  <mvoteiza@udel.edu>
113971         Add xdg library
113973         * etc/NEWS: Mention new library.
113974         * lisp/xdg.el: New file.
113976 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
113978         Do not trick info/dir’s timestamp
113980         * Makefile.in (${srcdir}/info/dir): When making this file, do not
113981         do anything special about its timestamp.  Previously this rule
113982         used move-if-change, which meant that this file’s timestamp could
113983         end up being older than the files it depends on, and this caused
113984         ‘make --question info’ to fail, which caused ‘make-dist’ to fail
113985         now that ‘make-dist’ invokes ‘make --question info’.
113987 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
113989         Make FOR_EACH_TAIL more like other FOR_EACH macros
113991         See comments by Stefan Monnier in:
113992         https://lists.gnu.org/r/emacs-devel/2017-02/msg00181.html
113993         and by Eli Zaretskii in:
113994         https://lists.gnu.org/r/emacs-devel/2017-02/msg00207.html
113995         * src/fns.c (internal_equal): Do not bypass check for depth
113996         overflow when tail-recursing via a dotted list tail or an overlay
113997         plist, to avoid a rare infloop.
113998         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
113999         arg, and update it at each iteration, rather than have callers
114000         access it.tail.  All callers changed.
114001         (FOR_EACH_TAIL): Do not check for dotted lists, as this is now
114002         the caller’s responsibility.  All callers changed.
114003         (FOR_EACH_TAIL_CONS): Remove.  All callers changed.
114004         (struct for_each_tail_internal.tail): Remove; no longer needed.
114005         (FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
114006         arg each time through the loop.  All callers changed.
114008 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
114010         Port to clang 3.8.0
114012         It does not allow a for-loop's control var to be an anonymous struct.
114013         * src/lisp.h (struct for_each_tail_internal): New type.
114014         (FOR_EACH_TAIL_INTERNAL): Use it.
114016 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
114018         Add cyclic-list tests
114020         * test/manual/cycle-tests.el: New file (Bug#25606).
114022 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
114024         FOR_EACH_TAIL now checks for quit
114026         As per Eli Zaretskii (Bug#25606#20).  Although these calls to
114027         maybe_quit are unnecessary in practice, Eli was not convinced
114028         that the calls are unnecessary.
114029         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
114030         Call maybe_quit every so often.
114031         (FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT.  All callers changed.
114033 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
114035         Signal list cycles in ‘length’ etc.
114037         Use macros like FOR_EACH_TAIL instead of maybe_quit to
114038         catch list cycles automatically instead of relying on the
114039         user becoming impatient and typing C-g (Bug#25606).
114040         * src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
114041         (Frassoc, Fdelete, Freverse):
114042         Use FOR_EACH_TAIL instead of maybe_quit.
114043         (Fnreverse): Use simple EQ to check for circular list instead
114044         of rarely_quit, as this suffices in this unusual case.
114045         (Fplist_put, Flax_plist_put, Flax_plist_put):
114046         Use FOR_EACH_TAIL_CONS instead of maybe_quit.
114047         (internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
114048         of by-hand tail recursion that did not catch cycles.
114049         * src/fns.c (Fsafe_length, Fplist_get):
114050         * src/xdisp.c (display_mode_element):
114051         Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
114052         * src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
114053         (rarely_quit): Simply count toward USHRT_MAX + 1, since the
114054         fancier versions are no longer needed.
114055         (FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
114056         (FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
114057         mostly taken from FOR_EACH_TAIL.
114058         (FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.
114060 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
114062         Simplify use of FOR_EACH_TAIL
114064         * src/data.c (circular_list): New function.
114065         * src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
114066         decl, to eliminate the need for the args TAIL, TORTOISE and N, and
114067         to speed things up a bit on typical hosts with optimization.
114068         All uses changed (Bug#25605).
114070 2017-02-05  Simen Heggestøyl  <simenheg@gmail.com>
114072         * lisp/textmodes/css-mode.el: Require subr-x at compile time
114074 2017-02-05  Eli Zaretskii  <eliz@gnu.org>
114076         Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
114078         * doc/lispref/nonascii.texi (Text Representations): Clarify that
114079         'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
114080         'filepos-to-bufferpos' can lead to expensive and slow processing.
114082         * lisp/international/mule-util.el (filepos-to-bufferpos)
114083         (bufferpos-to-filepos): Doc fix.  (Bug#25626)
114085 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
114087         Merge remote-tracking branch 'origin/master' into feature/byte-switch
114089 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
114091         bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.
114093         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
114094           (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
114095           make sure that obj1/obj2 can be compared with `eq'.
114097 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
114099         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =.
114101 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
114103         bytecomp.el: Inline lapcode containing `byte-switch' correctly.
114105         * lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
114106           Restore value of byte-compile-depth after emitting a jump to a tag
114107           in a jump table, or default/done tags.
114108           Set the depth of final tags for byte-switch to nil after emitting
114109           any jumps to them.
114111 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
114113         byte-opt.el: Replace jump tables while decompiling correctly.
114115         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
114116           Don't make a copy of the constant vector, as it isn't used with
114117           the decompiled lapcode.
114118           Make sure that the correct lapcode pair/list is being modified while
114119           replacing the jump table.
114121 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
114123         bytecomp.el: Don't store non-keyword symbols in jump-tables.
114125         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
114126           nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
114127           table can only be used when comparing variables with constant values.
114129 2017-02-04  Tom Tromey  <tom@tromey.com>
114131         typo fix
114133         (css--colon-inside-selector-p): Fix typo in docstring.
114135 2017-02-04  Tom Tromey  <tom@tromey.com>
114137         Set comment-multi-line in js-mode
114139         Bug#6806:
114140         * lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
114141         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.
114143 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
114145         * test/manual/indent/scss-mode.scss: Fix indentation
114147 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
114149         Fix indentation of multiline CSS property values
114151         * lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
114152         to properties higher precedence.
114153         (css--colon-inside-selector-p, css--colon-inside-funcall): New
114154         functions for helping SMIE during tokenization.
114155         (css-smie--forward-token, css-smie--backward-token): Distinguish
114156         colons belonging to properties from other colons.
114158         * test/manual/indent/css-mode.css: Add tests for the changes above.
114160         * test/manual/indent/scss-mode.scss: Ditto.
114162 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
114164         Add tests for lisp/kmacro.el
114166         * test/lisp/kmacro-tests.el: New file.  (Bug#24939)
114168 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
114170         Fix autorevert-tests on MS-Windows
114172         * test/lisp/autorevert-tests.el
114173         (auto-revert-test02-auto-revert-deleted-file): Don't check that
114174         auto-revert-use-notify was reset to nil on w32.
114176 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
114178         New macro 'ert-with-message-capture'
114180         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
114181         (Bug#25158)
114183         * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
114184         (auto-revert-test00-auto-revert-mode)
114185         (auto-revert-test01-auto-revert-several-files)
114186         (auto-revert-test02-auto-revert-deleted-file)
114187         (auto-revert-test03-auto-revert-tail-mode)
114188         (auto-revert-test04-auto-revert-mode-dired):
114189         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
114190         ert-with-message-capture.
114192 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
114194         Avoid invalid read syntax errors due to 'ert-with-test-buffer'
114196         * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
114197         'declare' form.  (Bug#24722)
114199 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
114201         Fix a syntax error when evaluating pcase.el under Edebug
114203         * lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
114204         with an explicit 'put' form.  Suggested by Gemini Lasswell
114205         <gazally@runbox.com>.  (Bug#24717)
114207 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
114208             Eli Zaretskii  <eliz@gnu.org>
114210         Change edebug-max-depth from defconst to defcustom
114212         * lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
114213         (Bug#24713)
114215         * etc/NEWS: Mention edebug-max-depth.
114217         * doc/lispref/edebug.texi (Checking Whether to Stop): Mention
114218         edebug-max-depth and index it.  Add cross-references for
114219         max-lisp-eval-depth and max-specpdl-size.
114221 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
114223         Support options with embedded whitespace in 'dired-listing-switches'
114225         * lisp/dired.el (dired-listing-switches): Document how to quote
114226         options with embedded whitespace.
114228         * lisp/files.el (insert-directory): Use split-string-and-unquote
114229         to support dired-listing-switches that specify command-line
114230         options with embedded spaces.  (Bug#25485)
114232 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
114233             Noam Postavsky  <npostavs@users.sourceforge.net>
114235         Add tests for lisp/emacs-lisp/testcover.el
114237         * test/lisp/emacs-lisp/testcover-tests.el: New file.
114238         * test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.
114240 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
114242         Document 'save-some-buffers-default-predicate'
114244         * doc/lispref/files.texi (Saving Buffers):
114245         * doc/emacs/files.texi (Save Commands): Document
114246         save-some-buffers-default-predicate.
114248 2017-02-04  Richard Stallman  <rms@gnu.org>
114250         New defcustom 'save-some-buffers-default-predicate'
114252         * lisp/files.el (save-some-buffers-default-predicate): New defcustom.
114253         (save-some-buffers): Use it when PRED is nil or omitted.
114255 2017-02-04  Mark Oteiza  <mvoteiza@udel.edu>
114257         Rename to if-let* and when-let*
114259         Make the existing if-let and when-let aliases.
114260         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros.  Rewrite
114261         docstrings, incorporating that from let* and the existing if-let.
114262         (if-let, when-let, and-let*): Alias them.
114264 2017-02-03  Vibhav Pant  <vibhavp@gmail.com>
114266         Revert "Use maphash instead of cl-loop."
114268         This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.
114270 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
114272         Bump Emacs version to 25.2 RC1
114274         * README:
114275         * configure.ac:
114276         * msdos/sed2v2.inp:
114277         * nt/README.W32: Bump Emacs version.
114278         * lisp/ldefs-boot.el: Update.
114280 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
114282         * admin/make-tarball.txt: Add documentation regarding the release banner.
114284 2017-02-03  Tino Calancha  <tino.calancha@gmail.com>
114286         * CONTRIBUTE (Documenting your changes): Index new vars/commands in manual.
114288 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
114290         Re-port alloc.c to Solaris sparc and simplify
114292         alloc.c had bitrotted a bit, and used an undefined symbol
114293         stack_base when Emacs was built on Solaris sparc, leading to
114294         compilation failures.  Also, code related to __builtin_unwind_init
114295         was unnecessarily duplicated.  Fix the bitrot and remove some
114296         duplication.
114297         * src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
114298         is never defined.
114299         (test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
114300         Define a no-op dummy, to simplify use.
114301         (test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
114302         than in the caller, to simplify use.
114303         (stacktop_sentry): New type.
114304         (__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
114305         (SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
114306         (flush_stack_call_func, Fgarbage_collect): Use it.
114307         (init_alloc): Omit unnecessary initialization.
114308         After dumping, Emacs need not re-test setjmp.
114310 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
114312         Add tests for scrolling
114314         * test/manual/scroll-tests.el: New tests for scroll-margin behavior.
114316 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
114318         Fix scrolling with partial lines
114320         * src/xdisp.c (partial_line_height): New function.
114321         (try_scrolling):
114322         * src/window.c (window_scroll_pixel_based): Use it for calculating the
114323         pixel scroll margin correctly in a window with partial lines.
114325 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
114327         Make limit on scroll-margin variable
114329         * src/xdisp.c (maximum-scroll-margin): New variable.
114330         * lisp/cus-start.el: Make it customizable.
114331         * etc/NEWS: Mention it.
114332         * doc/emacs/display.texi (Auto Scrolling):
114333         * doc/lispref/windows.texi (Textual Scrolling): Document it.
114334         * src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
114335         division by 4 (Bug #5718).
114337 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
114339         Don't count mode line for scroll-margin limit
114341         * src/window.c (window_scroll_margin): Use window_box_height to avoid
114342         counting header line, scrollbars for scroll-margin limit (Bug #5718).
114344 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
114346         Refactor uses of scroll_margin to a function
114348         Its effective range needs to be clamped between 0 and (window height /
114349         4), so it's better to have this constraint in a single place.
114351         * src/window.c (window_scroll_margin): New function.
114352         (window_scroll_pixel_based, window_scroll_line_based):
114353         (Frecenter, Fmove_to_window_line):
114354         * src/xdisp.c (try_scrolling, try_cursor_movement):
114355         (redisplay_window, try_window, try_window_id): Use it.
114357 2017-02-03  Dmitry Gutov  <dgutov@yandex.ru>
114359         (xref-collect-matches): Use '-E' together with '-e'
114361         * lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
114362         together with '-e', as suggested by Noam Postavsky
114363         (https://lists.gnu.org/r/emacs-devel/2017-01/msg00780.html).
114365 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
114367         Pacify Oracle Studio 12.5
114369         * src/emacs.c (main): Do not silently convert char * to bool.
114371 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
114373         Fix lisp.h underparenthesization
114375         * src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
114376         Parenthesize compound literals that are function call args.
114377         Although this does not fix any bugs, it is the proper style for
114378         macro parenthesization as it means this code will continue to
114379         work even if make_lisp_ptr is changed to a macro.
114381 2017-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
114383         * lisp/doc-view.el (doc-view-mode): Don't require a final newline
114385         (doc-view-revert-buffer): Silence overflow warnings.
114387 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
114389         Merge from gnulib
114391         2017-01-30 Port to PGI 16.10 x86-64
114392         2017-01-20 time_rz: fix comment typo
114393         2017-01-14 strftime: %z is -00 if unknown
114394         This incorporates:
114395         * doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
114396         * lib/time-internal.h, lib/verify.h:
114397         Copy from gnulib.
114399 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
114401         Check if there are hunks before kill or refine a hunk
114403         * lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
114404         (diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).
114406 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
114408         Ignore error after kill last file or hunk
114410         * lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
114411         Ignore error after kill last hunk (Bug#25570).
114412         (diff-file-kill): Idem.
114414 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
114416         Show current line highlighted in *Occur* buffer
114418         * lisp/replace.el (list-matching-lines-current-line-face)
114419         (list-matching-lines-jump-to-current-line): New user options.
114420         (occur--orig-line, occur--orig-line-str): New variables.
114421         (occur, occur-engine): Use them.
114422         (occur--final-pos): New variable.
114423         (occur-1): Use it.
114424         (occur-engine): Idem.
114425         Show the current line with 'list-matching-lines-current-line-face'.
114426         Set point on the first matching line after the current one.
114427         * etc/NEWS: Add entry for the new option.
114429 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
114431         Allow occur command to operate on the region
114433         See discussion in:
114434         https://lists.gnu.org/r/emacs-devel/2016-12/msg01084.html
114435         * lisp/replace.el (occur--region-start, occur--region-end)
114436         (occur--matches-threshold): New variables.
114437         (occur-engine): Use them.
114438         (occur): Idem.
114439         Add optional arg REGION; if non-nil occur applies in that region.
114440         * doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
114441         * doc/emacs/search.texi (Other Repeating Search): Idem.
114443 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
114445         Treat list-buffers-directory as a string
114447         Another step in the long history of list-buffers-directory.  A thread
114448         branch discussing the meaning/use of the variable starts here
114449         https://lists.gnu.org/r/emacs-devel/2009-09/msg00684.html
114450         Also see (info "(elisp) Buffer File Name").
114451         * lisp/buff-menu.el: Relocate special case code into info.el.  Nix
114452         Info-* defvars.
114453         (Buffer-menu--pretty-file-name): Remove special case.  Use
114454         bound-and-true-p.
114455         (Buffer-menu-info-node-description): Remove.
114456         * lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
114457         list-buffers-directory as a string.
114458         * lisp/info.el (Info-node-description): New function.
114459         (Info-select-node): Use it.
114461 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
114463         Turn on lexical-binding in parse-time.el
114465         * lisp/calendar/parse-time.el: Turn on lexical-binding.
114466         (parse-time-iso8601-regexp, parse-iso8601-time-string): Remove unused
114467         bindings.
114469 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
114471         Prevent creating thumbnails of all gif frames
114473         With the previous defaults, doing image-dired on a directory with an
114474         animated foo.gif would cause creation of foo.thumb-N.gif for each of
114475         N frames in foo.gif.  By default image-dired looks for foo.thumb.gif, so
114476         there additionally is no usable thumbnail after all the needless effort.
114477         image-dired never handled animation, regardless.
114478         * lisp/image-dired.el: Mention limitation.
114479         (image-dired-cmd-create-thumbnail-options):
114480         (image-dired-cmd-create-temp-image-options):
114481         (image-dired-cmd-create-standard-thumbnail-options): Append [0] to
114482         filename to indicate only converting the 0th frame.
114483         (image-dired-display-image-mode): Don't show a cursor.
114485 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
114487         Fix quitting bug when buffers are frozen
114489         Problem noted by Eli Zaretskii in:
114490         https://lists.gnu.org/r/emacs-devel/2017-01/msg00721.html
114491         This patch also fixes some other issues in that report.
114492         * src/lisp.h (incr_rarely_quit): Remove.
114493         All callers changed to use rarely_quit directly.
114494         * src/search.c (freeze_buffer_relocation)
114495         (thaw_buffer_relocation): New functions.
114496         (looking_at_1, fast_looking_at, search_buffer):
114497         Use them to fix bug when quitting when buffers are frozen.
114498         * src/sysdep.c (emacs_intr_read): Rename from emacs_nointr_read.
114499         All uses changed.
114501 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
114503         Revamp quitting and fix infloops
114505         This fixes some infinite loops that cannot be quitted out of,
114506         e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
114507         when byte-compiled and when run under X.  See:
114508         https://lists.gnu.org/r/emacs-devel/2017-01/msg00577.html
114509         This also attempts to keep the performance improvements I recently
114510         added, as much as possible under the constraint that the infloops
114511         must be caught.  In some cases this fixes infloop bugs recently
114512         introduced when I removed immediate_quit.
114513         * src/alloc.c (Fmake_list):
114514         Use rarely_quit, not maybe_quit, for speed in the usual case.
114515         * src/bytecode.c (exec_byte_code):
114516         * src/editfns.c (Fcompare_buffer_substrings):
114517         * src/fns.c (Fnthcdr):
114518         * src/syntax.c (scan_words, skip_chars, skip_syntaxes)
114519         (Fbackward_prefix_chars):
114520         Use rarely_quit so that users can C-g out of long loops.
114521         * src/callproc.c (call_process_cleanup, call_process):
114522         * src/fileio.c (read_non_regular, Finsert_file_contents):
114523         * src/indent.c (compute_motion):
114524         * src/syntax.c (scan_words, Fforward_comment):
114525         Remove now-unnecessary maybe_quit calls.
114526         * src/callproc.c (call_process):
114527         * src/doc.c (get_doc_string, Fsnarf_documentation):
114528         * src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents):
114529         * src/lread.c (safe_to_load_version):
114530         * src/sysdep.c (system_process_attributes) [GNU_LINUX]:
114531         Use emacs_read_quit instead of emacs_read in places where
114532         C-g handling is safe.
114533         * src/eval.c (maybe_quit): Move comment here from lisp.h.
114534         * src/fileio.c (Fcopy_file, e_write):
114535         Use emacs_write_quit instead of emacs_write_sig in places where
114536         C-g handling is safe.
114537         * src/filelock.c (create_lock_file): Use emacs_write, not
114538         plain write, as emacs_write no longer has a problem.
114539         (read_lock_data): Use emacs_read, not read, as emacs_read
114540         no longer has a problem.
114541         * src/fns.c (rarely_quit): Move to lisp.h and rename to
114542         incr_rarely_quit.  All uses changed..
114543         * src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member):
114544         * src/indent.c (compute_motion):
114545         * src/syntax.c (find_defun_start, back_comment, forw_comment)
114546         (Fforward_comment, scan_lists, scan_sexps_forward):
114547         Use incr_rarely_quit so that users can C-g out of long loops.
114548         * src/fns.c (Fnconc): Move incr_rarely_quit call to within
114549         inner loop, so that it catches C-g there too.
114550         * src/keyboard.c (tty_read_avail_input): Remove commented-out
114551         and now-obsolete code dealing with interrupts.
114552         * src/lisp.h (rarely_quit, incr_rarely_quit): New functions,
114553         the latter moved here from fns.c and renamed from rarely_quit.
114554         (emacs_read_quit, emacs_write_quit): New decls.
114555         * src/search.c (find_newline, search_buffer, find_newline1):
114556         Add maybe_quit to catch C-g.
114557         * src/sysdep.c (get_child_status): Always invoke maybe_quit
114558         if interruptible, so that the caller need not bother.
114559         (emacs_nointr_read, emacs_read_quit, emacs_write_quit):
114560         New functions.
114561         (emacs_read): Rewrite in terms of emacs_nointr_read.
114562         Do not handle C-g or signals; that is now for emacs_read_quit.
114563         (emacs_full_write): Replace PROCESS_SIGNALS two-way arg
114564         with INTERRUPTIBLE three-way arg.  All uses changed.
114566 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
114568         Remove immediate_quit.
114570         The old code that sets and clears immediate_quit was
114571         ineffective except when Emacs is running in terminal mode, and
114572         has problematic race conditions anyway, so remove it.  This
114573         will introduce some hangs when Emacs runs in terminal mode,
114574         and these hangs should be fixed in followup patches.
114575         * src/keyboard.c (immediate_quit): Remove.  All uses removed.
114577 2017-02-01  Alan Mackenzie  <acm@muc.de>
114579         Allow C++ nested brace-list-entries to be better indented.
114581         This fixes bug #24431.  The key change of this bug fix is correctly analyzing
114582         nested brace lists when the opening element stands on the same line as both
114583         its introductory brace and an enclosing parameter list parenthesis.
114585         * lisp/progmodes/cc-align.el (c-lineup-under-anchor): New line-up function.
114587         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Accept the
114588         presence of exactly an identifier between an open parenthesis and an open
114589         brace as evidence of the brace starting a brace list.
114590         (c-looking-at-statement-block): New function, extracted from
114591         c-looking-at-inexpr-block.  Enhance it to analyze inner blocks recursively
114592         when needed.
114593         (c-looking-at-inexpr-block): Extract new function (see above) and call it.
114594         (c-add-stmt-syntax): Enhance, with new &optional parameter, to supply the
114595         prime syntactic symbol with a fixed anchor point.  When this is used, restrict
114596         all added syntactic symbols to those having an anchor point on the same line.
114597         Add, in addition to the current additional symbols, c-brace-list-entry when
114598         needed; use c-looking-at-statement-block to determine the latter.
114599         (c-guess-basic-syntax, CASE 9D): Use c-add-stmt-syntax rather than just
114600         c-add-syntax, to assemble the syntactic context of a 'brace-list-entry, thus
114601         getting, possibly, several accompanying syntactic entries.
114603         * lisp/progmodes/cc-styles.el (c-style-alist, "gnu" style): New entry for
114604         'brace-list-intro, namely c-lineup-arglist-intro-after-paren.
114606         * lisp/progmodes/cc-vars.el (c-offsets-alist): Change the factory default
114607         offset for 'brace-list-entry from 0 to c-lineup-under-anchor.
114609         * doc/misc/cc-mode.texi (Syntactic Symbols): Amend the definition of
114610         brace-list-intro.
114611         (Brace List Symbols): Amend the example to show the new analysis of brace
114612         lists when the first element comes on the same line as the opening brace.
114613         (Misc Line-Up): Document the new line-up function c-lineup-under-anchor.
114615 2017-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
114617         Revert "DOn't use string-as-unibyte in Gnus"
114619         This reverts commit d1c931009004aef847105b7bac6b6ffafd985b82.
114621         Not all the cases where we had string-as-unibyte were characters,
114622         so this needs to be considered more thoroughly before being redone.
114624 2017-02-01  Vibhav Pant  <vibhavp@gmail.com>
114626         Use maphash instead of cl-loop.
114628         * lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
114629           instead of cl-loop
114631 2017-02-01  Michael Albinus  <michael.albinus@gmx.de>
114633         Fix a subtle problem in Tramp with timers
114635         * lisp/net/tramp.el (tramp-accept-process-output): Change argument
114636         list.  Make it work when called inside a timer.  See
114637         <https://lists.gnu.org/r/tramp-devel/2017-01/msg00010.html>.
114639 2017-01-31  Eli Zaretskii  <eliz@gnu.org>
114641         Index byte-compile-debug
114643         * doc/lispref/compile.texi (Compilation Functions): Index
114644         byte-compile-debug.
114646 2017-01-31  Philipp Stephani  <phst@google.com>
114648         Document `byte-compile-debug' in the ELisp manual
114650         * doc/lispref/compile.texi: Document variable `byte-compile-debug'.
114652 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
114654         read-multiple-choice: explain dialog popups more
114656         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
114657         when a graphical popup is used and how it can be avoided.
114659 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
114661         auth-source-user-and-password: add forgotten user parameter
114663                 * lisp/auth-source.el (auth-source-user-and-password): Use
114664                   accidentally unused "user" parameter.
114665                   Reported by Oscar Najera <najera.oscar@gmail.com>.
114667 2017-01-31  Simen Heggestøyl  <simenheg@gmail.com>
114669         Fix typo in a NEWS entry for CSS mode
114671 2017-01-31  Philipp Stephani  <phst@google.com>
114673         Document variable `byte-compile-debug'
114675         * lisp/emacs-lisp/bytecomp.el (byte-compile-debug): Document variable.
114677 2017-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
114679         DOn't use string-as-unibyte in Gnus
114681         * lisp/gnus/nnmail.el (nnmail-parse-active): Don't use
114682         string-as-unibyte.
114683         (nnmail-insert-xref): Ditto.
114685         * lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto.
114687         * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto.
114689         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto.
114690         (gnus-browse-foreign-server): Ditto.
114691         (gnus-browse-foreign-server): Ditto.
114693         * lisp/gnus/gnus-start.el
114694         (gnus-update-active-hashtb-from-killed): Ditto.
114695         (gnus-read-newsrc-el-file): Ditto.
114697         * lisp/gnus/mml.el (mml-generate-mime-1): Ditto.
114699         * lisp/gnus/nnir.el (nnir-get-active): Ditto.
114700         (nnir-get-active): Ditto.
114702 2017-01-31  Juri Linkov  <juri@linkov.net>
114704         Allow C-s C-w to yank ' to the search ring in the Gnus article buffer
114706         * lisp/gnus/gnus-art.el (gnus-article-mode-syntax-table): Make
114707         M-. in article buffers work for `foo' strings, and still allow
114708         C-s C-w to yank ' to the search ring (bug#22248).
114710 2017-01-31  Paul Eggert  <eggert@cs.ucla.edu>
114712         * src/alloc.c, src/lisp.h: Fix minor glitches in recent changes.
114714 2017-01-31  Tino Calancha  <tino.calancha@gmail.com>
114716         * test/lisp/vc/diff-mode-tests.el: Require diff-mode.
114718 2017-01-31  Dima Kogan  <dima@secretsauce.net>
114720         New test for diff-mode handling trailing --
114722         test/lisp/vc/diff-mode-tests.el: New test file
114724 2017-01-31  Dima Kogan  <dima@secretsauce.net>
114726         Handle patch terminators produced by git and bzr patch export
114728         Patch by Juri Linkov posted in the #9597 bug report
114730         * lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
114731         terminator (Bug #9597, #5302)
114733 2017-01-31  Dima Kogan  <dima@secretsauce.net>
114735         Revert two accidental commits
114737         This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
114738         This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.
114740 2017-01-31  Dima Kogan  <dima@secretsauce.net>
114742         stash
114744 2017-01-31  Dima Kogan  <dima@secretsauce.net>
114746         comint-get-old-input-default: behavior follows docstring
114748         lisp/comint.el (comint-get-old-input-default): Modify behavior to follow
114749         docstring: if `comint-use-prompt-regexp' is nil, then return the CURRENT LINE,
114750         if point is on an output field.
114752 2017-01-31  Noam Postavsky  <npostavs@gmail.com>
114754         Fix call to debugger on assertion failure
114756         * lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): The first
114757         argument must be `error', and the second is a list of arguments for
114758         `signal'.
114760 2017-01-30  Tom Tromey  <tom@tromey.com>
114762         css-mode documentation lookup feature
114764         * etc/NEWS: Mention new feature.
114765         * lisp/textmodes/css-mode.el (css-mode-map): New defvar.
114766         (css--mdn-lookup-history): New defvar.
114767         (css-lookup-url-format): New defcustom.
114768         (css--mdn-property-regexp, css--mdn-completion-list): New defconsts.
114769         (css--mdn-after-render, css--mdn-find-symbol, css-lookup-symbol): New
114770         defuns.
114771         * test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): New
114772         test.
114774 2017-01-30  Glenn Morris  <rgm@gnu.org>
114776         edt-mapper: just loading a library should not run code
114778         * lisp/emulation/edt-mapper.el (edt-mapper): New function,
114779         containing code previously at top-level.
114780         * lisp/emulation/edt.el (edt-load-keys): After loading edt-mapper,
114781         run edt-mapper function.
114783 2017-01-30  Glenn Morris  <rgm@gnu.org>
114785         mh-compat.el: remove duplicate definition
114787         * lisp/mh-e/mh-compat.el (mh-make-obsolete-variable):
114788         Remove duplicate definition.
114790 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
114792         Add delq list arg check
114794         * src/fns.c (Fdelq): Check that list is a proper list.
114795         This is more compatible with what ‘delete’ does.
114797 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
114799         * lisp/indent.el (indent-region-line-by-line): New function.
114801         Extracted from indent-region.
114802         (indent-region, indent-region-function): Use it.
114804 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
114806         * lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete.
114808 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
114810         More fixes to prevent crashes on C-g
114812         * src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit
114813         before returning, to avoid crashes in quit.  (Bug#25566)
114815 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
114817         Avoid crashes on C-g in TTY sessions
114819         * src/keyboard.c (handle_interrupt): Don't quit if
114820         waiting_for_input is set, as doing that is "unsafe": it will
114821         abort.  (Bug#25566)
114823 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
114825         * lisp/emacs-lisp/bytecomp.el: Create jump tables with :purecopy t
114827         Merge remote-tracking branch 'origin/master' into feature/byte-switch
114829 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
114831         Fix hash tables not being purified correctly.
114833         * src/alloc.c
114834         (purecopy_hash_table) New function, makes a copy of the given hash
114835         table in pure storage.
114836         Add new struct `pinned_object' and `pinned_objects' linked list for
114837         pinning objects.
114838         (Fpurecopy) Allow purifying hash tables
114839         (purecopy) Pin hash tables that are either weak or not declared with
114840         `:purecopy t`, use purecopy_hash_table otherwise.
114841         (marked_pinned_objects) New function, marks all objects in pinned_objects.
114842         (garbage_collect_1) Use it. Mark all pinned objects before sweeping.
114843         * src/lisp.h: Add new field `pure' to struct `Lisp_Hash_Table'.
114844         * src/fns.c: Add `purecopy' parameter to hash tables.
114845         (Fmake_hash_table): Check for a `:purecopy PURECOPY' argument, pass it
114846         to make_hash_table.
114847         (make_hash_table): Add `pure' parameter, set h->pure to it.
114848         (Fclrhash, Fremhash, Fputhash): Enforce that the table is impure with
114849         CHECK_IMPURE.
114850         * src/lread.c: (read1) Parse for `purecopy' parameter while reading
114851           hash tables.
114852         * src/print.c: (print_object) add the `purecopy' parameter while
114853           printing hash tables.
114854         * src/category.c, src/emacs-module.c, src/image.c, src/profiler.c,
114855           src/xterm.c: Use new (make_hash_table).
114857 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
114859         Escape dash in xref rgrep regexp
114861         * lisp/progmodes/xref.el (xref-collect-matches): Escape dash
114862         in REGEXP if it's the first character.
114864 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
114866         Say JavaScript, not Javascript
114868         * lisp/progmodes/js.el (js-mode-map, js-syntax-propertize)
114869         (js-js-error, js-eval, js-set-js-context)
114870         (js--get-js-context):
114871         Refer to the language consistently as JavaScript.
114873 2017-01-29  Juanma Barranquero  <lekktu@gmail.com>
114875         lisp/*.el: Fix some warnings
114877         * lisp/battery.el (dbus-get-property):
114878         * lisp/dired-aux.el (format-spec): Declare function.
114880         * lisp/net/zeroconf.el (zeroconf-list-service-names)
114881         (zeroconf-list-service-types, zeroconf-list-services):
114882         Mark unused lexical arg.
114884         * lisp/progmodes/hideshow.el (hs-hide-block-at-point):
114885         * lisp/progmodes/sql.el (sql-end-of-statement):
114886         Pass LIMIT to 'looking-back'.
114888 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
114890         Don't warn about obsolete defgenerics when defining them
114892         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
114893         should run after the definition code (Bug#25556).
114895 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
114897         Call modification hooks in org-src fontify buffers
114899         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
114900         `inhibit-modification-hooks' to nil, since this function can be called
114901         from jit-lock-function which binds that variable to t (Bug#25132).
114903 2017-01-29  Tino Calancha  <tino.calancha@gmail.com>
114905         Fix Bug#25524
114907         * lisp/vc/diff-mode.el (diff-beginning-of-hunk):
114908         Return position at the beginning off the hunk.
114909         (diff-file-junk-re): Add SVN keywords.
114911 2017-01-28  Stephen Berman  <stephen.berman@gmx.net>
114913         hl-line.el: Don't try to operate on a killed buffer
114915         * lisp/hl-line.el (hl-line-maybe-unhighlight): Examine only
114916         live buffers (bug#25522).
114918 2017-01-28  Mark Oteiza  <mvoteiza@udel.edu>
114920         Use access-file in EWW to check before downloading a file
114922         * lisp/net/eww.el (eww-download): Check accessibility of
114923         eww-download-directory to prevent starting a download that will fail
114924         to write.
114925         * src/fileio.c (Faccess_file): Clarify the use of string argument in
114926         the docstring.
114928 2017-01-28  Yuri D'Elia  <wavexx@thregr.org>
114930         Subject: Check Bcc after the Messag hook has run
114932         * lisp/gnus/message.el (message-send): If the hook modifies
114933         the message (mml tags or headers), we should check bcc on the
114934         final message, not on the original.
114936 2017-01-28  Eli Zaretskii  <eliz@gnu.org>
114938         Improve documentation of 'format' conversions
114940         * src/editfns.c (Fformat): More accurate description of %g and
114941         effects of the various flags on it.  More accurate description of
114942         integer conversions.
114944         * doc/lispref/strings.texi (Formatting Strings): More accurate
114945         description of %g and effects of the various flags on it.  More
114946         accurate description of integer conversions.  (Bug#25557)
114948 2017-01-28  Juanma Barranquero  <lekktu@gmail.com>
114950         test/*.el: Avoid byte-compiler warnings
114952         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.
114954         * test/lisp/faces-tests.el (faces--test): New customization group.
114955         (faces--test1, faces--test2): Use it.
114957         * test/lisp/ffap-tests.el (ffap-tests-25243):
114958         Call 'mark-whole-buffer' interactively.
114960         * test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
114961         (ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
114962         (ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
114963         (ibuffer-format-qualifier, ibuffer-unary-operand): Declare.
114965         * test/lisp/minibuffer-tests.el (completion-test1):
114966         Mark unused lexical arguments.
114968         * test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
114969         'with-no-warnings' to avoid them when the macro is invoked for effect.
114971         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
114972         Mark unused lexical arguments.
114974         * test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
114975         Mark unused lexical arguments.
114976         (let-alist-cons): Remove unused let binding.
114978         * test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
114979         (dbus-get-unique-name): Declare.
114981         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
114982         Call 'font-lock-fontify-buffer' interactively.
114984         * test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
114985         Mark unused lexical argument.
114987 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
114989         Restore a test that was removed by a recent commit
114991         * src/fileio.c (Ffile_accessible_directory_p): Don't overwrite the
114992         errno value unless it's necessary.  (Bug#25419)
114994 2017-01-27  Mark Oteiza  <mvoteiza@udel.edu>
114996         Fix a couple eww customization types
114998         * lisp/new/eww.el (eww-download-directory, eww-bookmarks-directory):
114999         Change customization type to "directory".
115001 2017-01-27  Philipp Stephani  <phst@google.com>
115003         Don't require a shell when loading htmlfontify
115005         * lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
115006         detecting the etags version (Bug#25468).
115007         * test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
115008         test.
115010 2017-01-27  Paul Eggert  <eggert@cs.ucla.edu>
115012         Slightly tune file-accessible-directory-p fix
115014         * src/fileio.c (Ffile_accessible_directory_p):
115015         Remove unnecessary test (Bug#25419).
115017 2017-01-27  Arash Esbati  <arash@gnu.org>
115019         Add \citetitle to biblatex cite format
115021         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
115022         \citetitle[*] to `reftex-cite-format' and bind them to keys i/I
115023         per user request
115024         https://lists.gnu.org/r/auctex/2017-01/msg00049.html.
115026 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
115028         Fix charsets and encodings from non-file MIME parts
115030         * lisp/gnus/mml.el (mml-generate-mime-1): Get the charsets and
115031         encoding right for parts that do not originate from files.
115033 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
115035         Fix 'describe-variable' for longish variable values
115037         * lisp/help-fns.el (describe-variable): Don't accidentally remove
115038         the last character of a variable's value.  (Bug#25545)
115040 2017-01-27  Vladimir Panteleev  <git@thecybershadow.net>  (tiny change)
115042         Remove stale functions from ert manual
115044         * doc/misc/ert.texi (Useful Techniques when Writing Tests):
115045         Replace ert--mismatch references with its cl-lib replacement,
115046         cl-mismatch.
115048 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
115050         Fix a typo in Eshell manual
115052         * doc/misc/eshell.texi (History): Fix a typo.  Reported by Mak
115053         Kolybabi <mak@kolybabi.com>.
115055 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
115057         Ensure last line is at window bottom in shell buffers
115059         * lisp/shell.el (shell-mode): Use setq-local.  Set
115060         scroll-conservatively to 101 locally.  See the discussion at
115061         https://lists.gnu.org/r/emacs-devel/2016-12/msg00736.html
115062         for the reasons.
115064 2017-01-27  Michael Hoffman  <emacs-hoffman@sneakemail.com>  (tiny change)
115066         Support Bash Ctrl-Z indication of directory name in term.el
115068         * lisp/term/xterm.el (term-emulate-terminal): Do not display ?\032 escape
115069         codes even when 'handled-ansi-message' is non-nil.  (Bug#11919)
115071 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
115073         Don't report zero errno for inaccessible directory
115075         * src/fileio.c (Ffile_accessible_directory_p): Report EACCES when
115076         a file handler reports a failure.  (Bug#25419)
115078 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
115080         Fix filenotify-tests on MS-Windows
115082         * test/lisp/filenotify-tests.el (file-notify-test04-file-validity)
115083         (file-notify-test05-dir-validity)
115084         (file-notify-test06-many-events)
115085         (file-notify-test08-watched-file-in-watched-dir): Manually remove
115086         the watch descriptor before calling file-notify--test-cleanup-p.
115087         (Bug#25539)
115089 2017-01-27  Hong Xu  <hong@topbug.net>
115091         python-mode: Fix detection for opening blocks.
115093         * lisp/progmodes/python.el
115094         (python-info-dedenter-opening-block-positions): There can't be any
115095         back-indented lines between an opening block and the current line.
115097         * test/lisp/progmodes/python-tests.el
115098         (python-indent-electric-colon-4): Add an indent test case where
115099         there is one-more indented previous opening block.
115101 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
115103         Fix Message check for bogus domain names
115105         * lisp/gnus/message.el (message-make-fqdn): Fix check for
115106         bogus system names (bug#24570).
115108 2017-01-27  Øyvind Stegard  <oyvind@stegard.net>  (tiny change)
115110         Subject: Restore correct Gnus newsgroup name after sending message
115112         * lisp/gnus/gnus-msg.el (gnus-msg-mail): Set the value of
115113         gnus-newsgroup-name in the correct buffer (bug#24329).
115115 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
115117         Mention the new Gnus sorting command
115119 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
115121         Don't try to find charsets of non-text MIME parts
115123         * lisp/gnus/mml.el (mml-generate-mime-1): It seems nonsensical
115124         to try to determine the charset of non-text message parts, so
115125         skip that (bug#24190).  This will also remove messages like
115126         "bunzip2ing /tmp/acsb.cpio.bz2...done" while sending messages
115127         if you include such files.
115129 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
115131         Add new command gnus-article-sort-by-marks
115133         * doc/misc/gnus.texi (Summary Sorting): Mention
115134         gnus-summary-sort-by-marks.
115136         * lisp/gnus/gnus-sum.el (gnus-article-sort-by-marks): New
115137         function (bug#23393).
115138         (gnus-thread-sort-by-marks): Ditto.
115139         (gnus-summary-sort-by-mark): New command suggested by Dan Jacobson.
115140         (gnus-summary-mode-map): Add keystroke.
115141         (gnus-summary-make-menu-bar): Add to menu.
115143 2017-01-26  Katsumi Yamaoka  <yamaoka@jpl.org>
115145         Make `C-h b' work correctly in Gnus article buffer (bug#18257)
115147         * lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
115148         Ignore summary commands that aren't bound to
115149         gnus-article-read-summary-keys keys (bug#18257).
115151 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115153         Fix crossposting in non-primary groups
115155         * lisp/gnus/message.el
115156         (message-cross-post-followup-to-header): Gnus server prefixes
115157         shouldn't be included in the group names (bug#21661).
115158         (message-cross-post-followup-to): Ditto.
115160 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115162         Gnus doc clarification
115164         * doc/misc/gnus.texi (Unavailable Servers): Explicitly say
115165         that "unreachable" is the same as disabling it (bug#21630).
115167 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115169         Remove dead code from rfc2047
115171         * lisp/mail/rfc2047.el (rfc2047-fold-field): Remove dead code.
115173         It's been disabled since 2005, when I made the change with the
115174         following comment.
115176         (rfc2047-encode-message-header): Disabled header folding -- not
115177         all headers can be folded, and this should be done by the message
115178         composition mode.  Probably.  I think.
115180 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115182         Fill too long mail headers
115184         * lisp/gnus/message.el (message--fold-long-headers): New
115185         function to fold too-long headers (bug#21608).
115186         (message-send-mail): Use it to fill headers longer than 998
115187         characters (which is the protocol limit).
115189 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115191         Make nndoc more resilient against corrupted files
115193         * lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Don't bug
115194         out on invalid files, like invalid .gz files (bug#21538).
115195         This may hinder Gnus from starting up.
115197 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115199         Respect buffer-local message-fcc-handler-function
115201         * lisp/gnus/message.el (message-do-fcc): Copy the local
115202         variables from the Message buffer so that local settings of
115203         `message-fcc-handler-function' etc are respected (bug#21174).
115205 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115207         (message-do-fcc): Modernize the code slightly.
115209         * lisp/gnus/message.el (message-do-fcc): Modernize the code slightly.
115211 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115213         Avoid a regexp overflow in message-goto-body
115215         * lisp/gnus/message.el (message-goto-body-1): Avoid using a
115216         complicated backtracking regexp, because they may overflow on
115217         large headers (bug#21160).
115219 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115221         Refactor message-goto-body
115223         * lisp/gnus/message.el (message-goto-body-1): Refactor out for reuse.
115225 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115227         Fix typo in last checkin
115229         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
115230         nnimap-shell-program (bug#20651).
115232 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115234         Document nnimap-shell-program
115236         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
115237         nnimap-shell-program (bug#20651).
115239 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115241         Document :shell-command in `make-network-process'
115243         * doc/lispref/processes.texi (Network): Document :shell-command.
115245         * lisp/net/network-stream.el (open-network-stream): Document
115246         the :shell-command parameter (bug#20651).
115248 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115250         Gnus doc clarification
115252         * lisp/gnus/gnus-sum.el (gnus-summary-save-article): Mention
115253         the gnus-prompt-before-saving variable (bug#20500).
115255 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115257         Fix the previous mml patch better
115259         * lisp/gnus/mml.el (mml-minibuffer-read-file): Fix the
115260         previous patch in a better way (bug#20480).
115262 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115264         Give a slight better error message in mml-minibuffer-read-file
115266         * lisp/gnus/mml.el (mml-minibuffer-read-file): Give a slightly
115267         better error message when the user enters nothing (bug#20480).
115269 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
115271         * lisp/emacs-lisp/bytecomp.el:(bc-cond-jump-table-info)add docstring
115273 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115275         Make eww buffers prettier in the buffer listing
115277         * lisp/net/eww.el (eww-render): Put the currently visited URL
115278         into the buffer listing (bug#23738).
115279         (eww-render): Ditto.
115281 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115283         Allow mml-attach-file to prompt less
115285         * lisp/gnus/mml.el (mml-attach-file): If given a prefix, don't
115286         prompt for type/description/disposition, but use defaults
115287         (bug#19202).
115289 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
115291         Don't allow message-newline-and-reformat to be run outside the body
115293         * lisp/gnus/message.el (message-newline-and-reformat): Error
115294         out if run outside the body of a message (bug#18820).
115296 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
115298         * lisp/emacs-lisp/bytecomp.el: Use correct function to push nil
115300         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
115301           byte-compile-constant instead of byte-compile-form to push nil.
115303 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
115305         * lisp/emacs-lisp/disass.el: Fix spacing while showing jump tables
115307 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
115309         Replace QUIT with maybe_quit
115311         There’s no longer need to have QUIT stand for a slug of C statements.
115312         Use the more-obvious function-call syntax instead.
115313         Also, use true and false when setting immediate_quit.
115314         These changes should not affect the generated machine code.
115315         * src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.
115317 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
115319         A quicker check for quit
115321         On some microbenchmarks this lets Emacs run 60% faster on my
115322         platform (AMD Phenom II X4 910e, Fedora 25 x86-64).
115323         * src/atimer.c: Include keyboard.h, for pending_signals.
115324         * src/editfns.c (Fcompare_buffer_substrings):
115325         * src/fns.c (Fnthcdr, Fmemq, Fmemql, Fassq, Frassq, Fplist_put)
115326         (Fnconc, Fplist_member):
115327         Set and clear immediate_quit before and after loop instead of
115328         executing QUIT each time through the loop.  This is OK for loops
115329         that affect only locals.
115330         * src/eval.c (process_quit_flag): Now static.
115331         (maybe_quit): New function, containing QUIT’s old body.
115332         * src/fns.c (rarely_quit): New function.
115333         (Fmember, Fassoc, Frassoc, Fdelete, Fnreverse, Freverse)
115334         (Flax_plist_get, Flax_plist_put, internal_equal, Fnconc):
115335         Use it instead of QUIT, for
115336         speed in tight loops that might modify non-locals.
115337         * src/keyboard.h (pending_signals, process_pending_signals):
115338         These belong to keyboard.c, so move them here ...
115339         * src/lisp.h: ... from here.
115340         (QUIT): Redefine in terms of the new maybe_quit function, which
115341         contains this macro’s old definiens.  This works well with branch
115342         prediction on processors with return stack buffers, e.g., x86
115343         other than the original Pentium.
115345 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
115347         Simplify make-list implementation
115349         * src/alloc.c (Fmake_list): Don’t unroll loop, as the complexity
115350         is not worth it these days.
115352 2017-01-26  Mark Oteiza  <mvoteiza@udel.edu>
115354         Make use of cl-loop destructuring
115356         * lisp/progmodes/js.el (js--get-tabs): Replace extraneous bits with
115357         destructuring.
115358         (with-js): Add declare forms.
115360 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115362         Revert "Bind C-c keys in the article buffer"
115364         This reverts commit 6b4195f2ace1f6328c5a833fde40f39babef4fa6.
115366         The commit somehow lead to problems in other parts of Emacs.
115368 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115370         Document how to quote MML tags
115372         * doc/misc/emacs-mime.texi (MML Definition): Mention how to
115373         quote MML tags (bug#18881).
115375 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115377         Make address parsing more robust
115379         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't
115380         bug out on addresses like
115381         (ietf-drums-parse-address "\"Foo \"bar\" <larsi@gnus.org>")
115382         (bug#18572).
115384 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115386         Fix the %P (line number) thing in Gnus summary buffers
115388         * lisp/gnus/gnus-salt.el (gnus-pick-line-number): Remove hack.
115390         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Reset the
115391         "pick" mode line number on entry instead of relying in a hack (bug#18311).
115393 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115395         Fix wrong documentation on nnmairix keystrokes
115397         * doc/misc/gnus.texi (nnmairix keyboard shortcuts): The
115398         nnmairix commands are on G G, not $ (bug#18260).
115400 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115402         Bind C-c keys in the article buffer
115404         * lisp/gnus/gnus-art.el (gnus-article-mode-map): Also bind the
115405         C-c keys so that they execute in the summary buffer
115406         (bug#18257).  This makes commands like `C-c C-f' work from the
115407         article buffer.
115409 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115411         Don't mark articles in Gnus as displayed when they aren't
115413         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Don't
115414         mark any articles as selected if we're not selecting any
115415         articles (bug#18255).
115417 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
115419         * lisp/emacs-lisp/disass.el: Display jump tables for switch.
115421         * lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table
115423         * lisp/emacs-lisp/bytecomp.el: Simplify b-c-cond-valid-obj2-p
115425         * lisp/emacs-lisp/bytecomp.el: Fix byte-switch codegen with symbols.
115427 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
115429         * lisp/emacs-lisp/byte-opt.el: Add support for decompiling switch
115431         * lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
115432           constant encountered precedes a byte-switch op, replace all the
115433           addresses in the jump table with tags.
115435 2017-01-25  Mark Oteiza  <mvoteiza@udel.edu>
115437         Move cXXXr and cXXXXr to subr.el
115439         * etc/NEWS: Mention new core Elisp.
115440         * doc/lispref/lists.texi (List Elements): Document and index the new
115441         functions.
115442         * doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
115443         * lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
115444         (cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
115445         (cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
115446         (cddddr): New functions.
115447         * lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
115448         (cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
115449         (cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
115450         (cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
115451         (cl-cdddar, cl-cddddr): Alias to new subr functions.
115452         * lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
115453         elements.
115455 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115457         Only save .newsrc file if the native method is NNTP
115459         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
115460         the .newsrc file if the native select method is NNTP
115461         (bug#18198).  This avoids problems with invalid IMAP group
115462         names and the like in the .newsrc file.
115464 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115466         Only save .newsrc file if the native method is NNTP
115468         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
115469         the .newsrc file if the native select method is NNTP
115470         (bug#18198).  This avoids problems with invalid IMAP group
115471         names and the like in the .newsrc file.
115473 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115475         Gnus custom spec fix
115477         * lisp/gnus/gnus-art.el (gnus-signature-limit): Fix customize
115478         spec to match the doc string (bug#17679).
115480 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115482         Clarify confusing Gnus error message
115484         * lisp/gnus/gnus-topic.el (gnus-topic-unindent): Clarify
115485         confusing error message (bug#17677).
115487 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115489         Make C-u C-x m work with Message as documented
115491         * lisp/gnus/message.el (message-mail): Respect the CONTINUE
115492         parameter (bug#17175).
115494 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115496         Fix problem with auto-mode and dir-locals-collect-variables
115498         * lisp/files.el (dir-locals-collect-variables): When run from
115499         auto-mode, the file in question may not be an absolute path
115500         name (bug#24016).
115502         Example backtrace:
115504         Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
115505           dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
115506           hack-dir-local-variables()
115507           hack-local-variables(no-mode)
115508           run-mode-hooks(diff-mode-hook)
115509           diff-mode()
115510           mm-display-inline-fontify((#<buffer  *mm*-923037> ("text/x-diff" (
115512 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115514         Attach text files correctly in Message
115516         * lisp/gnus/mml.el (mml-generate-mime-1): Detect which coding
115517         system has been used in attached text files, and don't try to
115518         do any encoding of these files (bug#13808).
115520 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115522         Build fix for older gnutls versions
115524         * src/gnutls.c (emacs_gnutls_handle_error):
115525         GNUTLS_E_PREMATURE_TERMINATION is apparently only present in
115526         gnutls-3.
115528 2017-01-25  Tino Calancha  <tino.calancha@gmail.com>
115530         ediff-difference-vector-alist: Drop duplicated definition
115532         * lisp/vc/ediff-init.el (ediff-difference-vector-alist):
115533         Drop duplicated definition.
115534         (ediff-difference-vector-A, ediff-difference-vector-B)
115535         (ediff-difference-vector-C, ediff-difference-vector-Ancestor):
115536         Move definition before 'ediff-difference-vector-alist'.
115538 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115540         Revert "nnimap.el: support additional expunge options"
115542         This reverts commit 4e9baea6aba1633074889339dcc7cdc9d73880d3.
115544         The patch broke fetching new mail:
115546         Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
115547           format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
115548           (looking-at (format "%d .*\n" sequence))
115549           (not (looking-at (format "%d .*\n" sequence)))
115550           (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))
115552 2017-01-25  Nikolaus Rath  <Nikolaus@rath.org>
115554         nnimap.el: support additional expunge options
115556         * lisp/gnus/nnimap.el (nnimap-close-group)
115557         (nnimap-request-expire-articles, nnimap-delete-article)
115558         (nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
115559         settings for nnimap-expunge (bug#20670).
115561 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115563         Don't tag Gnus bugs with "gnus"
115565         * lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.
115567         * lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
115568         have its own package any more in the bug tracker.
115570 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
115572         Tweak TLS error messaging on closed connections
115574         * src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
115575         peer-closed-connection "The TLS connection was non-properly
115576         terminated" message to a lower level so that it isn't shown to
115577         the user by default.
115579 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
115581         Avoid having eww unexpectedly open external browsers
115583         * lisp/net/eww.el (eww-render): Instead of opening unsupported
115584         content types like audio/mpeg directly in an external browser
115585         (which can be very confusing especially when something
115586         redirects to a file like that), just display a simple
115587         interstitial that people can choose to click on or not
115588         (bug#22671).
115590 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
115592         When opening new eww buffers, use buffer names based on the host name
115594         * lisp/net/eww.el (eww-browse-url): When opening in a new
115595         window, use a buffer name based on the host name (bug#23738).
115596         (eww--dwim-expand-url): Refactored out into its own function
115597         for easier reuse.
115599 2017-01-24  David Engster  <deng@randomsample.de>
115601         xml: Fix parsing of default namespace with quoted names
115603         * lisp/xml.el (xml-parse-attlist): Properly extract namespace when
115604           parsing is done with quoted symbol names (bug#23440).
115605         * test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
115606           (xml-parse-test-default-namespace-qnames): Test for the above.
115608 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
115610         Fix rendering of some complex SVG images
115612         * lisp/net/shr.el (shr-parse-image-data): Don't transform
115613         SVG->DOM->XML unless we're blocking images, as this is apt to
115614         destroy the SVG (bug#24111).
115616 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
115618         Clarify the last clarification
115620         * lisp/net/shr.el (shr-width): Clarify the interaction with
115621         `shr-use-fonts' (bug#24928).
115623 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
115625         shr-width doc clarification
115627         * lisp/net/shr.el (shr-width): Clarify the interaction with
115628         `shr-use-fonts' (bug#24928).
115630 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
115632         Allow passing in max-width/height
115634         * lisp/net/shr.el (shr-rescale-image): Allow passing in
115635         max-width/height (bug#25287).
115637 2017-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
115639         * lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars
115641         Require `cl' for `pushnew'.
115642         (vhdl-scan-project-contents, vhdl-compose-wire-components)
115643         (vhdl-uniquify): Use `pushnew' instead of `add-to-list'.
115645 2017-01-24  Noam Postavsky  <npostavs@gmail.com>
115647         Fix comment detection on open parens
115649         Characters having both open paren syntax and comment start syntax were
115650         being detected as open parens even when they should have been part a
115651         comment starter (Bug#24870).
115653         * src/syntax.c (in_2char_comment_start): New function, extracted from
115654         `scan_sexps_forward'.
115655         (scan_sexps_forward): Add check for a 2-char comment starter before the
115656         loop.  Inside the loop, do that check after incrementing the 'from'
115657         character index.  Move the single char comment syntax cases into the
115658         switch instead of special casing them before.
115659         * test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
115660         (parse-partial-sexp-continue-over-comment-marker): New tests.
115662 2017-01-23  Alan Mackenzie  <acm@muc.de>
115664         Give , and .@ doc strings.  Fixes bug #24561.
115666         Also make *Help* links to ``' possible.  Also make usable as such doc strings
115667         on the function-documentation property of a symbol.
115669         * lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
115670         function-documentation property.  Also give these symbols a reader-construct
115671         property.
115673         * lisp/help-fns.el (describe-function): Allow the function-documentation
115674         property to work.  Use princ rather than prin1 to print the function's name
115675         when it has a reader-construct property.
115676         (help-fns-signature): Don't insert `high-usage' for a reader-construct.
115677         (describe-function-1): Adapt to process documentation on the
115678         function-documentation property.  Print "a reader construct" when appropriate.
115680         * lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
115681         ``'.
115683 2017-01-22  Paul Eggert  <eggert@cs.ucla.edu>
115685         Improve uses of CHECK_LIST etc.
115687         * src/eval.c (FletX): Report an error for invalid constructs like
115688         ‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
115689         (lambda_arity): Use plain CHECK_CONS.
115690         * src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
115691         (Fcopy_alist): Remove unnecessary CHECK_LIST call, since
115692         concat does that for us.
115693         (Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
115694         Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
115695         runtime check out of the loop.
115696         (Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
115697         (Fassq, Fassoc, Frassq, Frassoc):
115698         Simplify and use CHECK_LIST_END instead of CAR.
115699         (assq_no_quit, assoc_no_quit): Simplify and assume proper list.
115700         (Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
115701         * src/fontset.c (Fnew_fontset):
115702         * src/frame.c (Fmodify_frame_parameters):
115703         Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
115704         more-complete check.
115705         * src/gfilenotify.c (Fgfile_add_watch):
115706         Omit unnecessary CHECK_LIST, since Fmember does that for us.
115707         * src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
115708         Remove; no longer used.
115709         (CHECK_LIST_END): New inline function.
115711 2017-01-22  Tino Calancha  <tino.calancha@gmail.com>
115713         Prevent to use tabulated-list--near-rows unbound
115715         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
115716         Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
115718 2017-01-22  Juri Linkov  <juri@linkov.net>
115720         * lisp/simple.el (region-bounds): New function.
115722         (region-noncontiguous-p): Use it.
115723         https://lists.gnu.org/r/emacs-devel/2017-01/msg00044.html
115725 2017-01-21  Alan Mackenzie  <acm@muc.de>
115727         Fix low-level handling of (big) C macros.
115729         In particular, ensure that a comment detected by its syntax is not a CPP
115730         construct marked with generic comment delimiter syntax-table text
115731         properties.
115733         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
115734         c-macro-cache-syntactic to nil when the cached macro changes.
115735         (c-syntactic-end-of-macro, c-no-comment-end-of-macro)
115736         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
115737         (c-state-pp-to-literal, c-parse-ps-state-to-cache)
115738         (c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
115739         (c-determine-limit): When checking a parse syntax for a comment, check that
115740         we're not in a CPP construct marked by syntax-table generic comment delimiter
115741         text property.
115742         (c-state-pp-to-literal): Change from a defsubst to a defun.
115744         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
115745         parse syntax as described above under cc-engine.el.
115747 2017-01-21  Vibhav Pant  <vibhavp@gmail.com>
115749         * lisp/emacs-lisp/bytecomp.el: Remove unused debugging statements.
115751 2017-01-21  Noam Postavsky  <npostavs@gmail.com>
115753         Don't wait for frame to become visible
115755         * src/xterm.c (x_make_frame_visible): Remove code that waits for the
115756         frame to become visible.  We have to deal with invisible frames anyway,
115757         the loop could sometimes before the frame turned visible, and for some
115758         window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
115759         busy loop (Bug#24091).
115761 2017-01-21  Tino Calancha  <tino.calancha@gmail.com>
115763         diff-hunk-kill independent of point inside headers
115765         Make diff-apply-hunk and diff-hunk-kill independent of the point
115766         position in a diff header (Bug#17544).
115767         This change allows to apply hunks in order.  It also makes possible to
115768         press M-k repeatedly to kill hunks in the order they appear in the buffer.
115769         See discussion on #Bug25105.
115770         * lisp/vc/diff-mode.el (diff-file-junk-re):
115771         Move definition before it's used.
115772         (diff--at-diff-header-p): New predicate; return non-nil when point
115773         is inside a hunk header, a file header, or within a line
115774         matching diff-file-junk-re.
115775         (diff-beginning-of-hunk): Use it.
115776         Check if the point is inside a diff header, in the middle of a hunk,
115777         or before the first hunk.
115778         (diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
115779         before apply the hunk.
115780         (diff-hunk-kill, diff-file-kill):
115781         Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
115782         (diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
115784 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
115786         Improve documentation of hooks related to saving buffers
115788         * lisp/files.el (write-file-functions, write-contents-functions)
115789         (before-save-hook, after-save-hook): Note that these are only used
115790         by save-buffer.
115792         * doc/lispref/backups.texi (Auto-Saving):
115793         * doc/lispref/files.texi (Saving Buffers): Mention that
115794         save-related hooks are not run by auto-saving.  (Bug#25460)
115796 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
115798         Improve documentation of auto-save-visited-file-name
115800         * doc/emacs/files.texi (Auto Save Files): Mention subtle
115801         differences between saving the buffer and auto-saving with
115802         auto-save-visited-file-name set non-nil.  (Bug#25478)
115804 2017-01-20  Noam Postavsky  <npostavs@gmail.com>
115806         Fix free var FOO-mode-{syntax,abbrev}-table warnings
115808         * lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
115809         defvar the syntax and abbrev tables so that the compiler will know that
115810         they are dynamically bound variables (Bug#25446).
115812 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
115814         * lisp/emacs-lisp/bytecomp.el: Fix errors with matching quoted forms
115816         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
115817           eval obj2 to avoid quoted forms being stored as is.
115819 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
115821         lisp/emacs-lisp/bytecomp.el: Use byte-switch only for quoted symbols
115823 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
115825         * lisp/emacs-lisp/bytecomp.el: Add default-case for last cond clause.
115827         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
115828         default-case for last cond clause.
115830 2017-01-19  Philipp Stephani  <phst@google.com>
115832         Check that variable lists are actually lists
115834         'let' and 'let*' document that their first argument has to be a list,
115835         but don't check for that; instead, they allow (and silently ignore)
115836         other types.  Introduce an explicit type check.
115838         * src/eval.c (Flet, FletX): Check that the variable list is indeed a
115839         list.
115840         * test/src/eval-tests.el: Add unit tests.
115842 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
115844         Add type checking for Bswitch, when enabled at compile time.
115846         * src/bytecode.c: (exec_byte_code) If BYTE_CODE_SAFE is enabled at
115847           compile time, use CHECK_TYPE to verify that the jump table is a hash table.
115849 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
115851         Use byte-switch for all symbols.
115853         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
115854           t for all symbols (instead for just keywords)
115856 2017-01-19  Noam Postavsky  <npostavs@gmail.com>
115858         Avoid inefficient regex in diff-refine-hunk (Bug#25410)
115860         * lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
115861         (diff-refine-hunk): Use it instead of trying to match multiple lines
115862         with a single lines.
115864 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
115866         Remove lock file when auto-saving into the visited file
115868         * src/fileio.c (write_region): When auto-saving into the visited
115869         file, unlock the file whenever we mark the buffer unmodified.
115870         (Bug#25470)
115872 2017-01-18  Vibhav Pant  <vibhavp@gmail.com>
115874         * src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch
115876         Fgethash type checks the provided table object, which is unnecessary
115877         for compiled bytecode.
115879 2017-01-18  Tom Tromey  <tom@tromey.com>
115881         fix typo in mailcap-mime-extensions
115883         * lisp/net/mailcap.el (mailcap-mime-extensions): Use "text/x-patch",
115884         not "test/x-patch".  (Bug#25472)
115886 2017-01-18  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
115888         Fix typos in flymake.el
115890         * lisp/progmodes/flymake.el (flymake-check-patch-master-file-buffer):
115891         Spelling fixes in the doc string.
115893 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
115895         Fix a bug with signaling a thread that waits for condvar
115897         * src/thread.c (lisp_mutex_lock_for_thread): New function,
115898         with all the guts of lisp_mutex_lock.
115899         (lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
115900         (condition_wait_callback): Don't call post_acquire_global_lock
115901         before locking the mutex, as that could cause a signaled thread to
115902         exit prematurely, because the condvar's mutex is recorded to be
115903         not owned by any thread, and with-mutex wants to unlock it as part
115904         of unwinding the stack in response to the signal.
115906 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
115908         Rudimentary error handling for non-main threads
115910         * src/thread.c (last_thread_error): New static variable.
115911         (syms_of_threads): Staticpro it.
115912         (record_thread_error, Fthread_last_error): New functions.
115913         (syms_of_threads): Defsubr Fthread_last_error.
115915         * doc/lispref/threads.texi (Basic Thread Functions): Document
115916         thread-last-error.
115918         * test/src/thread-tests.el (thread-errors, thread-signal-early)
115919         (threads-condvar-wait): Test the values returned by
115920         thread-last-error.
115922 2017-01-17  Tom Tromey  <tom@tromey.com>
115924         Add info-lookup help for gdb-script-mode
115926         Bug#25464:
115927         * lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
115928         function.
115929         Add help for gdb-script-mode.
115931 2017-01-17  Tom Tromey  <tom@tromey.com>
115933         Treat ":root" as a css-selector
115935         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
115936         ":root" as selector.
115938 2017-01-17  Tom Tromey  <tom@tromey.com>
115940         Fix JS regexp literal syntax propertization in expressions
115942         Bug#25465:
115943         * lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
115944         literal after "!", "&", and "|".
115945         test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.
115947 2017-01-17  Glenn Morris  <rgm@gnu.org>
115949         More NEWS checking for admin.el's set-version
115951         * admin/admin.el (set-version): Warn if temporary NEWS markup
115952         still present in release candidates.
115954 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
115956         Mark unused arguments and remove unused variables
115958         * lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
115959         (dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
115960         (dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
115961         (dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
115962         (dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
115963         (dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
115964         (dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
115965         (dungeon-nil): Mark arguments as unused.
115966         (dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
115967         (dun-restore): Remove unused variable.
115969 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
115971         Fix auto-save-file-name problem in Tramp on MS Windows
115973         * lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
115974         rather than an ange-ftp regexp.
115976         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
115977         Fix a problem when running on MS Windows.
115979         * test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
115980         Adapt test.
115982 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
115984         Fix auto-save-file-name problem in Tramp on MS Windows. Do not merge
115986         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
115987         Fix a problem when running on MS Windows.
115989 2017-01-17  Paul Eggert  <eggert@cs.ucla.edu>
115991         Merge from origin/emacs-25
115993         42614fa Update remaining copyright years with admin.el M-x set-copyright
115994         f17a006 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...
115996 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
115998         Nix some uses of eval
116000         * lisp/play/dunnet.el: Fix triple negative.
116001         (dun-doverb): Use funcall instead of eval.
116002         (dun-echo): Just call dun-mprinc.
116003         (dun-save-val): Just bind value without eval.
116005 2017-01-17  Tom Tromey  <tom@tromey.com>
116007         Fix comment in css-mode.el
116009         * lisp/textmodes/css-mode.el: Remove obsolete comment.
116011 2017-01-16  Vibhav Pant  <vibhavp@gmail.com>
116013         update branch
116015 2017-01-16  Ian Dunn  <dunni@gnu.org>  (tiny change)
116017         * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (Bug#25445).
116019 2017-01-15  Noam Postavsky  <npostavs@gmail.com>
116021         Improve ffap-gopher-at-point handling of long lines
116023         * lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part.  Note
116024         setting to nil is now supported.
116025         (ffap--gopher-var-on-line): New function.
116026         (ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
116027         which could overflow the regexp stack on long lines (Bug#25391).  Use
116028         `let-alist' instead of calling `set' on local variables.
116029         * test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.
116031 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
116033         * lisp/emacs-lisp/byte-opt.el: Optimize how tags are checked for use.
116035         * lisp/emacs-lisp/byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
116036           finding the tag in a jump table.
116038 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
116040         * lisp/emacs-lisp/bytecomp.el: Add documentation, remove code duplication
116042 2017-01-14  Vibhav Pant  <vibhavp@gmail.com>
116044         Add new 'switch' byte-code.
116046         'switch' takes two arguments from the stack: the variable to test, and
116047         a jump table (implemented as a hash-table with the appropriate :test
116048         function). By looking up the value of the variable in the hash table,
116049         the interpreter can jump to the label pointed to by the value, if any.
116050         This implementation can only be used for `cond' forms of the type
116051         `(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
116052         variable `x` is same for all clauses.
116054         * lisp/emacs-lisp/bytecomp.el:
116056           * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
116057             (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
116058             (byte-compile-cond-jump-table), byte-compile-jump-tables.
116060           * Add defcustom `byte-compile-cond-use-jump-table'.
116062           * (byte-compile-cond): Use them.
116064           * (byte-compile-lapcode): Patch tags present in jump tables, if any.
116066         * lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
116067           some peephole optimizations to prevent them from messing up any code
116068           involving `byte-switch`.
116070         * src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
116072 2017-01-14  Alan Third  <alan@idiocy.org>
116074         Fix NS main thread check (bug#25265)
116076         * src/nsterm.m (ns_read_socket, ns_select): Replace mainThread with
116077         isMainThread.
116079 2017-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
116081         * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
116083         `:sqli-comint-func' does not have to be a symbol.
116085 2017-01-14  Alan Mackenzie  <acm@muc.de>
116087         Correct c-parse-state-get-strategy for moving HERE backward into a macro.
116089         * lisp/progmodes/cc-engine.el (c-parse-state-get-strategy): When HERE is below
116090         its previous value, we chose strategy 'forward, and the new HERE is in a
116091         (different) macro, ensure the returned START-POINT is not above the start of
116092         the macro.
116094 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
116096         Include "Date:" in mail messages filed by 'sendmail-send-it'
116098         * lisp/mail/sendmail.el (mail-do-fcc): Insert a 'Date:' header
116099         into the filed message.  In the outgoing message, sendmail will
116100         add the date, but the composed message body doesn't have it.
116101         (Bug#25436)
116103 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
116105         * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#25440)
116107 2017-01-14  Dmitry Gutov  <dgutov@yandex.ru>
116109         Remove leftover references to log-view-message-face
116111         * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.
116113         * lisp/vc/vc-git.el (vc-git-root-log-format): Same.
116115         * lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
116117 2017-01-13  Phillip Lord  <phillip.lord@russet.org.uk>
116119         Record autoloads till emacs dump
116121         * admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
116122         * lisp/ldefs-boot-auto.el (batch-byte-compile): Update
116124         Previously, autoloads were collected till loaddefs.el was generated as
116125         part of the build. However, bootstrap-emacs does not load
116126         loaddefs (rather it is dumped), hence we must record autoloads until the
116127         full emacs binary is dumped.
116129 2017-01-13  Tom Tromey  <tom@tromey.com>
116131         Add chained indentation to js-mode
116133         Bug#20896
116134         * lisp/progmodes/js.el (js-chain-indent): New variable.
116135         (js--skip-term-backward, js--skip-terms-backward)
116136         (js--chained-expression-p): New functions.
116137         (js--proper-indentation): Call js--chained-expression-p.
116138         * test/manual/indent/js-chain.js: New file.
116139         * test/manual/indent/js.js: Add (non-)chained indentation test.
116141 2017-01-13  Tom Tromey  <tom@tromey.com>
116143         Fix js-mode indentation bug
116145         Bug#15582:
116146         * lisp/progmodes/js.el (js--find-newline-backward): New function.
116147         (js--continued-expression-p): Use it.
116148         * test/manual/indent/js.js: Add new test.
116150 2017-01-13  Tom Tromey  <tom@tromey.com>
116152         Fix definition of EMACS in test/manual/indent/Makefile
116154         * test/manual/indent/Makefile (EMACS): Add one more "..".
116156 2017-01-13  Tom Tromey  <tom@tromey.com>
116158         Add .jsx to auto-mode-alist
116160         Bug#25389:
116161         * lisp/files.el (auto-mode-alist): Add entry for .jsx.
116163 2017-01-13  Tom Tromey  <tom@tromey.com>
116165         Fix two js-mode filling bugs
116167         Bug#19399 and Bug#22431:
116168         * lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
116169         c-block-comment-start-regexp.
116170         * test/lisp/progmodes/js-tests.el: New file.
116172 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
116174         Fix last change
116176         * test/src/thread-tests.el (threads-condvar-wait): Revert
116177         previous change.  Make sure no other threads from previous
116178         tests are running, to avoid interfering with our thread counts.
116180 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
116182         Fix the new condvar test
116184         * test/src/thread-tests.el (threads-condvar-wait): Enlarge the
116185         time we sleep in the main thread to let the other thread
116186         process notifications.
116188 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
116190         Minor improvements in the new condvar test
116192         * test/src/thread-tests.el (threads-test-condvar-wait): Use
116193         with-mutex instead of emulating it inline.
116194         (threads-condvar-wait): Improve comments.  Check that the new
116195         thread is alive before waiting for it to become blocked on the
116196         conditional variable.
116198 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
116200         Fix a bug in waiting for condition variable
116202         * src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
116203         (lisp_mutex_unlock_for_wait, condition_wait_callback)
116204         (condition_notify_callback): Improve commentary.
116205         (condition_wait_callback): Call post_acquire_global_lock before
116206         attempting to lock the mutex, to make sure the lock's owner is
116207         recorded correctly.
116209         * test/src/thread-tests.el (threads-condvar-wait): New test.
116211 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
116213         Improve documentation of dabbrevs
116215         * doc/emacs/abbrevs.texi (Dynamic Abbrevs): Add a cross reference
116216         to "Dabbrev Customization".
116217         (Dabbrev Customization): More details about the default value of
116218         dabbrev-abbrev-char-regexp and use cases when it might not be good
116219         enough.  (Bug#25432)
116221 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
116223         Fix last change of dd80ee6 (was: mm-uu.el: Don't dissect patch part)
116225 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
116227         mm-uu.el: Don't dissect patch part
116229         This fixes a bug that the patch part is broken in the article
116230         <87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.
116232         * lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
116233         Don't dissect patch part.
116235 2017-01-13  Dmitry Lazurkin  <dilaz03@gmail.com>
116237         Fix extracting async def type and name in python mode imenu
116239         * lisp/progmodes/python.el (python-imenu--get-defun-type-name):
116240         New function.
116241         (python-imenu--build-tree): Use python-imenu--get-defun-type-name for
116242         extract async or simple def type and name at current
116243         position (Bug#24820).
116244         * test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
116245         (python-imenu-create-flat-index-1): Add async def's.
116247 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
116249         Remove garbage from Content-Transfer-Encoding value (bug#25420)
116251         * lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
116252         (ietf-drums-remove-garbage): New function.
116253         (ietf-drums-remove-whitespace): Remove CR as well.
116255         * lisp/mail/mail-parse.el (mail-header-strip-cte):
116256         Alias to ietf-drums-strip-cte.
116258         * lisp/gnus/gnus-art.el (article-decode-charset):
116259         * lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
116260         * lisp/gnus/mm-decode.el (mm-dissect-buffer):
116261         * lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
116262         (nndoc-rfc822-forward-generate-article):
116263         * lisp/mh-e/mh-mime.el (mh-decode-message-body):
116264         Replace mail-header-strip with mail-header-strip-cte.
116266 2017-01-13  Paul Eggert  <eggert@cs.ucla.edu>
116268         Restore behavior of ‘./autogen.sh autoconf git’
116270         * autogen.sh: Do both autoconf and git setup when invoked
116271         as ‘./autogen.sh autoconf git’.  Avoid unnecessary newline in chatter.
116272         Mention new --no-check option in usage message.  (Bug#25359)
116274 2017-01-12  Glenn Morris  <rgm@gnu.org>
116276         * autogen.sh: Simplify argument parsing.
116278 2017-01-12  Noam Postavsky  <npostavs@gmail.com>
116280         Clarify that easy-menu-add is a nop (Bug#25382)
116282         * lisp/emacs-lisp/easymenu.el (easy-menu-add): Make it into an alias of
116283         `ignore', like `easy-menu-remove'.
116285 2017-01-12  Glenn Morris  <rgm@gnu.org>
116287         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fix entry.
116289 2017-01-11  Glenn Morris  <rgm@gnu.org>
116291         * autogen.sh: Add --no-check option.  (Bug#25359)
116293 2017-01-11  Glenn Morris  <rgm@gnu.org>
116295         Convert some network test failures to skipping
116297         These tests intermittently fail on hydra.nixos.org for unclear
116298         reasons related to starting the external process.
116299         This isn't an Emacs issue, and the failures cause noise on
116300         the emacs-buildstatus list.  (Bug#24503)
116301         * test/lisp/net/network-stream-tests.el (echo-server-nowait)
116302         (connect-to-tls-ipv4-nowait): Skip rather than fail if the
116303         external process fails to start properly.
116305 2017-01-11  Eli Zaretskii  <eliz@gnu.org>
116307         Revert "Add DNS keywords and remove duplications"
116309         This reverts commit 1cb9aa5b14867983d0013a61709b4d0af18364ff.
116311 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
116313         Add DNS keywords and remove duplications
116315         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
116316         NSEC" DNS related keywords and remove duplication of "NSAP".
116318 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
116320         Add DNS keywords and remove duplications
116322         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
116323         NSEC" DNS related keywords and remove duplication of "NSAP".
116325 2017-01-11  Alan Mackenzie  <acm@muc.de>
116327         Handle syntactic WS cache properties more accurately at buffer changes.
116329         This fixes bug #25362.
116331         * lisp/progmodes/cc-engine.el (c-sws-lit-type, c-sws-lit-limits)
116332         (c-invalidate-sws-region-before, c-invalidate-sws-region-after-del)
116333         (c-invalidate-sws-region-after-ins): New variables and functions.
116334         (c-invalidate-sws-region-after): Change from a defsubst to a defun.
116335         Also pass
116336         it the standard OLD-LEN argument.  Call both
116337         c-invalidate-sws-region-after-{ins,del} to check for "dangerous" WS
116338         cache
116339         properties.
116341         * lisp/progmodes/cc-langs.el (c-block-comment-ender-regexp): New language
116342         variable.
116344         * lisp/progmodes/cc-mode.el (c-before-change): Call
116345         c-invalidate-sws-region-before.
116346         (c-after-change): Pass old-len to c-invalidate-sws-region-after.
116348 2017-01-11  Michael Albinus  <michael.albinus@gmx.de>
116350         Support stat 8.26 in Tramp
116352         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
116353         environment variable of newer coreutils.  (Bug#23422)
116355 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
116357         Improve documentation of coding-systems
116359         * doc/lispref/nonascii.texi (Coding System Basics): Mention
116360         'prefer-utf-8'.  Index it and 'undecided'.
116361         (Encoding and I/O): Fix a typo.
116362         (User-Chosen Coding Systems): Improve the documentation of
116363         ACCEPT-DEFAULT-P argument to select-safe-coding-system.  Document
116364         select-safe-coding-system-function.
116365         (Specifying Coding Systems): Document coding-system-require-warning.
116367 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
116369         Merge from gnulib
116371         This incorporates:
116372         2017-01-09 maint: time stamp -> timestamp
116373         2017-01-07 stdioext: Port to Minix 3.2 and newer
116374         2017-01-06 glob, intprops, xalloc: work around Clang bug
116375         2017-01-02 revert copyright-year change to synced files
116376         * doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
116377         * lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
116378         * lib/utimens.c, lib/xalloc-oversized.h:
116379         Copy from gnulib.
116381 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
116383         Don't use unsafe encoding for the bookmark file
116385         * lisp/bookmark.el (bookmark-write-file): Handle the case when the
116386         explicitly specified encoding of the bookmark file cannot encode the
116387         additional bookmarks just added.  (Bug#25365)
116389 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
116391         Improve definition of 'variable-pitch' face on MS-Windows
116393         * lisp/faces.el (variable-pitch): Don't specify too many
116394         attributes of the font, otherwise faces that request different
116395         weight or slant or size will not get them.
116397 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
116399         Fix an error message in python.el
116401         * lisp/progmodes/python.el (python-shell-get-process-or-error):
116402         Don't repeat the same key binding twice.  (Bug#25405)
116404 2017-01-09  Phillip Lord  <phillip.lord@russet.org.uk>
116406         Remove unused ldefs-boot.el
116408          * lisp/ldefs-boot.el: Remove
116410         This file was not removed as reported in c27b645956a11, but accidentally
116411         left.
116413 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
116414             Eli Zaretskii  <eliz@gnu.org>
116416         Use expanded stack during regex matches
116418         While the stack is increased in main(), to allow the regex stack
116419         allocation to use alloca we also need to modify regex.c to actually take
116420         advantage of the increased stack, and not limit stack allocations to
116421         SAFE_ALLOCA bytes.
116423         * src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
116424         allocations in signal handlers which no longer happens and correct
116425         description about when and why MATCH_MAY_ALLOCATE should be defined.
116426         (emacs_re_safe_alloca): New variable.
116427         (REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
116428         of MAX_ALLOCA.
116429         (emacs_re_max_failures): Rename from `re_max_failures' to avoid
116430         confusion with glibc's `re_max_failures'.
116431         * src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
116432         to the stack.  Instead of changing emacs_re_max_failures based on the
116433         new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
116434         remains constant regardless, since if we run out stack space SAFE_ALLOCA
116435         will fall back to heap allocation.
116437 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
116439         Fix computation of regex stack limit
116441         The regex stack limit was being computed as the number of stack entries,
116442         whereas it was being compared with the current size as measured in
116443         bytes.  This could cause indefinite looping when nearing the stack limit
116444         if re_max_failures happened not to be a multiple of sizeof
116445         fail_stack_elt_t (Bug #24751).
116447         * src/regex.c (GROW_FAIL_STACK): Compute both current stack size and
116448         limit as numbers of stack entries.
116450 2017-01-08  Alan Third  <alan@idiocy.org>
116452         Remove apploopnr
116454         * src/nsterm.m (ns_select, ns_read_socket): Remove apploopnr and only
116455         allow app loop to run in main thread.
116457 2017-01-08  Glenn Morris  <rgm@gnu.org>
116459         Remove unused configure output variable
116461         * configure.ac (GNULIB_MK):
116462         * Makefile.in (gnulib_mk): Remove, no longer used.
116464 2017-01-08  Glenn Morris  <rgm@gnu.org>
116466         Fix automake dependencies
116468         * Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk.  (Bug#25372)
116469         All platforms need this file to exist.
116471 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
116473         Remove unnecessary blankp code
116475         * src/character.c (blankp): Remove redundant code that slows Emacs
116476         down a bit.  The caller already does the test.
116478 2017-01-08  Stefan Merten  <stefan@merten-home.de>
116480         * lisp/textmodes/rst.el: Fix rst-forward-indented-block.
116482         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
116483         (rst-svn-timestamp)
116484         (rst-official-version, rst-official-cvs-rev)
116485         (rst-package-emacs-version-alist): Maintain version numbers.
116486         (rst-forward-indented-block): Fix. Start searching at next
116487         line again. Fixes fontification of comments continuing on the
116488         same line they started.
116490 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
116492         Remove @SET_MAKE@ from manually-maintained files
116494         Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
116495         * Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
116496         * src/Makefile.in: Remove @SET_MAKE@.
116498 2017-01-07  Michael Albinus  <michael.albinus@gmx.de>
116500         Fix a problem with `start-file-process' in Tramp
116502         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
116503         `start-file-process' shall work when `non-essential' is
116504         non-nil, but there is already an established connection.
116505         <https://github.com/company-mode/company-mode/issues/462>
116507 2017-01-07  Rolf Ade  <rolf@pointsman.de>  (tiny change)
116509         Fix selecting SQLite database files with sql-mode (Bug#23566)
116511         * lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
116512         SQLite database file name, by default.
116513         (sql-get-login-ext): Fixed read-file-name arguments to provide
116514         path completion even if a database name pattern is customized and to
116515         allow creation of new SQLite database files.
116517 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
116519         Clarify major mode switching
116521         * doc/emacs/modes.texi (Major Modes):
116522         * doc/lispref/modes.texi (Modes, Major Modes): Explicitly say that each
116523         buffer has exactly one major mode and can't be "turned off", only
116524         switched away from (Bug#25357).
116526 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
116528         Add helpful comment to compile-command's docstring
116530         * lisp/progmodes/compile.el (compile-command): Mention trailing space in
116531         docstring (Bug#25337).
116533 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
116535         Specify encoding of the bookmark file
116537         * lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
116538         Accept an argument CODING and include a 'coding:' cookie in the
116539         bookmark file preamble.
116540         (bookmark-upgrade-file-format-from-0): Call
116541         'bookmark-insert-file-format-version-stamp' with the file buffer's
116542         encoding, as detected when it was read.
116543         (bookmark-file-coding-system): New variable.
116544         (bookmark-load): Set bookmark-file-coding-system to the encoding
116545         of the loaded file.
116546         (bookmark-write-file): Bind coding-system-for-write to either the
116547         user setting via "C-x RET c" or to the existing file encoding,
116548         defaulting to 'utf-8-emacs'.  Update the value of
116549         bookmark-file-coding-system.  (Bug#25365)
116551 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
116553         Avoid infloop in 'ispell-region'
116555         * lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
116556         Protect against 'ispell-skip-region-alist' being nil.  Reported by
116557         Ernest Adrogué <nfdisco@gmail.com>, see
116558         https://lists.gnu.org/r/help-gnu-emacs/2017-01/msg00007.html.
116560 2017-01-06  Philipp Stephani  <phst@google.com>
116562         Add support for Unicode whitespace in [:blank:]
116564         See Bug#25366.
116566         * src/character.c (blankp): New function for checking Unicode
116567         horizontal whitespace.
116568         * src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal
116569         whitespace.
116570         (BIT_BLANK): New bit for range table.
116571         (re_wctype_to_bit, execute_charset): Use it.
116572         * test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add
116573         unit test for [:blank:] character class.
116574         * test/src/regex-tests.el (test): Adapt unit test.
116575         * doc/lispref/searching.texi (Char Classes): Document new Unicode
116576         behavior for [:blank:].
116578 2017-01-06  Eli Zaretskii  <eliz@gnu.org>
116580         Fix ':version' of 'select-enable-primary'
116582         * lisp/select.el (select-enable-primary): Fix a typo in
116583         ':version'.  (Bug#25375)
116585 2017-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
116587         (feedmail-deduce-address-list): Avoid add-to-list on local variables.
116589         Author:
116591         * lisp/mail/feedmail.el (feedmail-deduce-address-list):
116592         Avoid add-to-list on local variables.
116594 2017-01-06  Noam Postavsky  <npostavs@gmail.com>
116596         Fix isearch handling of C-u C-u...
116598         * lisp/isearch.el: Add `isearch-scroll' property to
116599         universal-argument-more so that `isearch-allow-scroll' will apply to it
116600         as well.
116601         (isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
116602         `universal-argument-more' as well (Bug#25302).
116604 2017-01-05  Paul Eggert  <eggert@cs.ucla.edu>
116606         Shorten autogen.sh script
116608         * autogen.sh: Use a shorter script, as some 'sed' implementations
116609         mishandle long scripts.
116611 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
116613         Yet another fix for autogen.sh
116615         * autogen.sh (gnulib.mk): Make the Sed script more portable.
116617         * nt/Makefile.in (${srcdir}/gnulib.mk): Adapt the Sed command to
116618         the changes in autogen.sh.
116620 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
116622         * autogen.sh (gnulib.mk): Another attempt to fix macOS build.
116624 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
116626         Fix dependencies of nt/gnulib.mk
116628         * Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
116629         of nt/gnulib.mk on lib/Makefile.in.
116631 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
116633         Unbreak macOS build
116635         * autogen.sh (gnulib.mk): Don't use non-portable extensions of GNU
116636         Sed.
116638 2017-01-05  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
116640         Fix term.el handling of ^Z-sequences spanning chunks
116642         Bash will after each command send ?\032 and the current directory "/tmp"
116643         to inform term.el.  Bash output is buffered in 4096 bytes chunks.  If a
116644         command outputs roughly 4096 bytes then the end of the first chunk will
116645         be "/tm" (Bug#13350).
116647         * lisp/term.el (term-emulate-terminal): Change the regexp to find the
116648         end of the ?\032 sequence to use \n instead of $, the latter can match
116649         end of string as well.
116651 2017-01-05  Mark Oteiza  <mvoteiza@udel.edu>
116653         Turn on lexical-binding in mb-depth.el
116655         * lisp/mb-depth.el: Turn on lexical-binding.
116656         (minibuffer-depth-setup): Bind things used multiple times.
116658 2017-01-04  Alan Third  <alan@idiocy.org>
116660         Revert "Rework NS event handling (bug#25265)"
116662         This reverts commit e0e5b0f4a4ce1d19ee0240c514dedd873d4165dc.
116664 2017-01-04  Glenn Morris  <rgm@gnu.org>
116666         Update remaining copyright years with admin.el M-x set-copyright
116668         * etc/refcards/ru-refcard.tex (cyear): Set to 2017.
116670 2017-01-04  Glenn Morris  <rgm@gnu.org>
116672         * lisp/ffap.el (ffap-lax-url): Bump :version after recent change.
116674 2017-01-04  Paul Eggert  <eggert@cs.ucla.edu>
116676         Port recent autogen.sh changes to Darwin
116678         Problem reported by Sam Steingold (Bug#25347).
116679         * autogen.sh: Don't assume 'sed -f-' reads a script from stdin, as
116680         POSIX does not require it and it does not work on Darwin.
116682 2017-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
116684         Avoid add-to-list on local variables
116686         * lisp/gnus/nnir.el: Use lexical-binding and cl-lib.
116687         (nnir-retrieve-headers): Use pcase.
116688         (nnir-search-thread): Avoid add-to-list on local variables.
116690         * lisp/gnus/smime.el: Use lexical-binding and cl-lib.
116691         (smime-verify-region): Avoid add-to-list on local variables.
116693         * lisp/mail/undigest.el: Use lexical-binding and cl-lib.
116694         (rmail-digest-parse-mime, rmail-digest-rfc1153)
116695         (rmail-digest-parse-rfc934): Avoid add-to-list on local variable.
116697         * lisp/net/ldap.el (ldap-search): Move init into declaration.
116699         * lisp/net/newst-backend.el (newsticker--cache-add):
116700         Avoid add-to-list on local variables; Simplify code with `assq'.
116702         * lisp/net/zeroconf.el: Use lexical-binding and cl-lib.
116703         (dbus-debug): Remove declaration, unused.
116704         (zeroconf-service-add-hook, zeroconf-service-remove-hook)
116705         (zeroconf-service-browser-handler, zeroconf-publish-service):
116706         Avoid add-to-list and *-hook on local variables.
116708         * lisp/org/org-archive.el (org-all-archive-files):
116709         * lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
116710         Avoid add-to-list on local variables.
116712         * lisp/org/ox-publish.el (org-publish--run-functions): New function.
116713         (org-publish-projects): Use it to avoid run-hooks on a local variable.
116714         (org-publish-cache-file-needs-publishing): Avoid add-to-list on
116715         local variables.
116717         * lisp/progmodes/ada-prj.el: Use setq instead of (set '...).
116718         (ada-prj-load-from-file): Avoid add-to-list on local variables.
116720         * lisp/progmodes/ada-xref.el (ada-initialize-runtime-library): Simplify.
116721         (ada-gnat-parse-gpr, ada-parse-prj-file-1)
116722         (ada-xref-find-in-modified-ali): Avoid add-to-list on local variables.
116724         * lisp/progmodes/idlw-shell.el (idlwave-shell-update-bp-overlays):
116725         Avoid add-to-list on local variables.
116727 2017-01-04  Mark Oteiza  <mvoteiza@udel.edu>
116729         Turn on lexical-binding in md4.el
116731         * lisp/md4.el: Turn on lexical-binding.
116732         * test/lisp/md4-tests.el: New file.
116734 2017-01-03  Stefan Merten  <stefan@merten-home.de>
116736         Lots of refactorings and a few minor improvements.
116738         User visible improvements and changes:
116739         * Improve and debug `rst-forward-section` and `rst-backward-section`.
116740         * Auto-enumeration may be used with all styles for list insertion.
116741         * Improve and debug `rst-toc-insert`.
116742         * Adapt change in Emacs to use customization group `text` instead of `wp`.
116743         * Bind `n` and `p` in `rst-toc-mode`.
116744         * `z` in `toc-mode` returns to the previous window configuration.
116745         * Require Emacs version >= 24.1.
116747         Lots of refactorings including:
116748         * Silence byte compiler.
116749         * Use lexical binding.
116750         * Use `cl-lib`.
116751         * Add tests and raise test coverage.
116753 2017-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
116755         (cl-defstruct): Improve error message for slots w/o value (bug#25312)
116757         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
116758         emit a warning for those coders who forgot to put a default value in
116759         their slot.
116761 2017-01-03  Philipp Stephani  <p.stephani2@gmail.com>
116763         Small patch for ffap.el
116765         * lisp/ffap.el (ffap-alist): Document that ffap sets the match data
116766         while walking 'ffap-alist'.
116768 2017-01-03  Eli Zaretskii  <eliz@gnu.org>
116770         Generate nt/gnulib.mk from lib/gnulib.mk
116772         This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
116773         with the purpose of avoiding manual maintenance of
116774         nt/gnulib.mk.
116776         * nt/gnulib-modules-to-delete.cfg: New file.
116777         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
116778         (am__v_GEN_1): New variables.
116779         (${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
116780         lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.
116782         * make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
116783         files to link.
116784         * configure.ac (GNULIB_MK): Compute the value according to $opsys.
116785         * autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
116786         running autoreconf.
116787         * Makefile.in (gnulib_mk): New variable.
116788         ($(srcdir)/nt/gnulib.mk): Rule to produce it.
116789         (AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
116790         name.
116791         * .gitignore: Add nt/gnulib.mk.
116793         * src/w32.c (acl_errno_valid): Implement it here, as we no longer
116794         build the acl-permissions module from Gnulib.
116796 2017-01-03  Noam Postavsky  <npostavs@gmail.com>
116798         Handle multibyte chars spanning chunks in term.el
116800         * lisp/term.el (term-terminal-undecoded-bytes): New variable.
116801         (term-mode): Make it buffer local.  Don't make `term-terminal-parameter'
116802         buffer-local twice.
116803         (term-emulate-terminal): Check for bytes of incompletely decoded
116804         characters, and save them until the next call when they can be fully
116805         decoded (Bug#25288).
116807 2017-01-03  Michael Albinus  <michael.albinus@gmx.de>
116809         Finish work on filenotify-tests.el
116811         * test/lisp/filenotify-tests.el (file-notify--test-monitors):
116812         New variable.
116813         (file-notify--test-cleanup, file-notify--test-monitor): Use it.
116814         (file-notify--test-read-event, file-notify-test02-events)
116815         (file-notify-test04-file-validity): Handle "gvfs-monitor-dir.exe".
116816         (file-notify-test03-autorevert)
116817         (file-notify-test08-watched-file-in-watched-dir):
116818         Set `file-notify--test-desc' for proper work of
116819         `file-notify--test-monitor'.  (Bug#21804)
116821 2017-01-02  Michael Albinus  <michael.albinus@gmx.de>
116823         Check also for "gvfs-monitor-dir.exe" in Tramp
116825         * lisp/net/tramp-sh.el (tramp-get-remote-gvfs-monitor-dir): Check also
116826         for "gvfs-monitor-dir.exe".
116828 2017-01-02  Eli Zaretskii  <eliz@gnu.org>
116830         Fix compilation --without-x
116832         * src/composite.c (autocmp_chars) [HAVE_WINDOW_SYSTEM]: Call
116833         font_range only if it is compiled in.  (Bug#25334)
116835 2017-01-02  Sašo Živanović  <saso.zivanovic@guest.arnes.si>
116837         Fix RefTeX to show table of contents for dtx files (tiny change)
116839         * lisp/textmodes/reftex.el (reftex-compile-variables): Change the
116840           section regexp so that it accepts lines starting with the comment
116841           character. (tiny change)
116842         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file): Filter
116843           gathered toc entries, accepting a commented entry if and only if the
116844           source file is a ".dtx" file. (tiny change)
116846 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
116848         Remove mistakenly-added files
116850         Problem reported by Glenn Morris in:
116851         https://lists.gnu.org/r/emacs-devel/2017-01/msg00008.html
116852         * lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
116853         * lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
116854         * lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
116855         * lisp/obsolete/iso-acc.el, lisp/obsolete/iso-insert.el:
116856         * lisp/obsolete/iso-swed.el, lisp/obsolete/resume.el:
116857         * lisp/obsolete/scribe.el, lisp/obsolete/spell.el:
116858         * lisp/obsolete/swedish.el, lisp/obsolete/sym-comp.el:
116859         Remove files that were added by mistake during a merge.
116861 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
116863         Warn about incomplete untarring of link files
116865         The current tar-mode doesn't really support unpacking symlinks, it
116866         simply creates an empty file of the same name.
116868         * lisp/tar-mode.el (tar--describe-as-link): New function extracted from
116869         `tar--check-descriptor'.
116870         (tar-untar-buffer): Use it to warn about imperfectly untarred link
116871         files.
116873 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
116875         Remove sh-mode's skeleton-end-hook
116877         * lisp/progmodes/sh-script.el (sh-mode): Remove local setting of
116878         `skeleton-end-hook', `skeleton-insert' already does `newline-and-indent'
116879         and also respects `skeleton-end-newline' (Bug#16634).
116881 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
116883         * nt/gnulib.mk (stdint.h): Update to match lib/gnulib.mk here.
116885 2017-01-01  Mark Oteiza  <mvoteiza@udel.edu>
116887         Add term/tmux.el
116889         Since tmux version 2.1, new tmux terminfos are shipped due to oddities
116890         with xterm and screen terminfos.  This is simply a duplication of
116891         term/screen.el with screen -> tmux.
116892         * lisp/term/tmux.el: New file.
116894 2017-01-01  Philipp Stephani  <phst@google.com>
116896         Fix encoding of JSON surrogate pairs
116898         JSON requires that such pairs be treated as UTF-16 surrogate pairs, not
116899         individual code points; cf. Bug #24784.
116901         * lisp/json.el (json-read-escaped-char): Fix decoding of surrogate
116902         pairs.
116903         (json--decode-utf-16-surrogates): New defun.
116905         * test/lisp/json-tests.el (test-json-read-string): Add test for
116906         surrogate pairs.
116908 2017-01-01  Michael Albinus  <michael.albinus@gmx.de>
116910         Remove tramp-gw.el, which was synced from emacs-25 by accident
116912 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
116914         Do not use Gnulib’s m4/wint_t.m4.
116916         * admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
116917         Fix typo so that warn-on-use.m4 is removed too.
116918         * configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
116919         * m4/wint_t.m4: Remove.
116921 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
116923         Merge from gnulib, continued
116925         * m4/wint_t.m4: New file, copied from gnulib.
116927 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
116929         Update copyright year to 2017 in master
116931         Run admin/update-copyright in the master branch.  This fixes files
116932         that were not already fixed in the emacs-25 branch before it was
116933         merged here.
116935 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
116937         Remove test/automated detritus from merge
116939 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
116941         Merge from gnulib
116943         This incorporates:
116944         2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
116945         2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
116946         2016-12-17 getlogin: Port to newer mingw
116947         2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
116948         2016-12-17 Avoid redefinition errors on MSVC
116949         * lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
116950         * m4/stdint.m4, m4/unistd_h.m4:
116951         Copy from gnulib.
116952         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
116953         Plus, this commit updates the indenting on copyright notices to
116954         match that of gnulib.
116956 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
116958         Merge from origin/emacs-25
116960         2e2a806 Fix copyright years by hand
116961         5badc81 Update copyright year to 2017
116963 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
116965         Merge from origin/emacs-25
116967         665be69 ; Update ChangeLog.2 and AUTHORS files
116969         # Conflicts:
116970         #       etc/AUTHORS
116972 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
116974         Merge from origin/emacs-25
116976         697167b ; Improve wording of previous change in variables.texi
116977         d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
116978         8b71826 Don't modify minibuffer variables globally
116979         5b5e036 Revert to pre-25.1 behavior in ffap
116980         19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
116981         3ace730 Attempt to fix 64-bit AIX build
116982         f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
116983         c04ac8a Document that variable binding order is unspecified
116984         272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
116985         08de101 Fix M-x hints on Mac port
116986         86a297a Work around reporting a dpi change in apply_xft_settings
116987         cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
116988         9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't m...
116989         88cdf14 Improve skeleton docstrings
116991 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
116993         Merge from origin/emacs-25
116995         4179238 Improve documentation of 'w32-scroll-lock-modifier'
116997 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
116999         Merge from origin/emacs-25
117001         9adb101 Document 'describe-fontset'
117002         229315c ; Add missing symbol quoting.
117003         3d94931 Repair desktop restoration on text terminals
117004         43022f9 Ignore forward-sexp-function in js-mode indentation code
117005         b19fb49 Improve documentation of 'define-coding-system'
117006         467768f Fix Bug#25162
117007         6db78ae Fix a typo in define-abbrev-table
117008         5f7d906 Bump makeinfo requirement from 4.7 to 4.13
117009         442e2f6 Fixes related to select-enable-clipboard
117010         e4ac450 Define struct predicate before acccesors
117011         08decbd Doc fix for vc-git
117012         5531e75 Further improve make-dist checking
117013         953bf67 Improve previous make-dist change
117014         129645a Make make-dist --snapshot do some sanity checks
117016         # Conflicts:
117017         #       lisp/menu-bar.el
117019 2017-01-01  Alan Mackenzie  <acm@muc.de>
117021         Give eval-and-compile a correct edebug spec.  Fixes bug #16184 properly.
117023         * lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
117024         from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.
117026         * lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
117027         t to (&rest def-form).
117029 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
117031         Fix copyright years by hand
117033         These are dates that admin/update-copyright did not update, or
117034         updated incorrectly.
117036 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
117038         Update copyright year to 2017
117040         Run admin/update-copyright.
117042 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
117044         Clarify internal_catch etc.
117046         The recent change to internal_catch and friends relied on some
117047         confusion I introduced to the code in 2013.  Attempt to fix
117048         the confusion by clarifying the code instead.  This saves an
117049         instruction and a load dependency in the typical case.
117050         * src/eval.c (internal_catch, internal_condition_case)
117051         (internal_condition_case_1, internal_condition_case_2)
117052         (internal_condition_case_n): Undo the previous change.  Instead,
117053         use use ‘c’ rather than ‘handlerlist’ in the typical case.
117054         Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.
117056 2016-12-31  Ken Brown  <kbrown@cornell.edu>
117058         Further improve filenotify-tests.el
117060         * test/lisp/filenotify-tests.el
117061         (file-notify--test-read-event): Adapt to file monitors of type
117062         GFamFileMonitor, which occur on Cygwin.
117063         (file-notify--test-monitor): Update doc string.
117065 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
117067         * src/xdisp.c (string_from_display_spec): Simplify.
117069 2016-12-31  Alan Third  <alan@idiocy.org>
117071         Rework NS event handling (bug#25265)
117073         * src/nsterm.m (unwind_apploopnr): Remove.
117074         (ns_read_socket): Remove references to apploopnr.  Make processing the
117075         NS event loop conditional on being in the main thread.
117076         (ns_select): Remove references to apploopnr.  Remove all fd_handler
117077         related stuff.  Check if there are events waiting on the NS event
117078         queue rather than running the event loop.  Remove unused variables and
117079         code.
117080         (fd_handler): Remove.
117081         (ns_term_init): Remove creation of fd_handler thread.
117082         (hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
117083         EmacsView:windowDidExpose): Remove send_appdefined.
117084         (ns_send_appdefined): Always check the event queue for
117085         applicationDefined events rather than relying on send_appdefined var.
117086         * src/nsterm.h: Remove reference to fd_handler method.
117088 2016-12-31  Philipp Stephani  <phst@google.com>
117090         Checkdoc: use syntax functions instead of regex
117092         In checkdoc.el, get rid of the error-prone regex to find definition
117093         forms, and use existing syntax-based navigation functions instead.
117094         This fixes a corner case with one-argument `defvar' forms.
117096         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
117097         (checkdoc-next-docstring, checkdoc-defun): Use it.
117098         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
117099         Add unit test.
117101 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
117103         Don't define NOMINMAX on MS-Windows
117105         * src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define.  This is no
117106         longer needed with the current sources and MinGW headers, while
117107         defining NOMINMAX causes an annoying compiler warning.
117109 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
117111         Simplify code in eval.c that calls 'setjmp'
117113         * src/eval.c (internal_catch, internal_condition_case)
117114         (internal_condition_case_1, internal_condition_case_2)
117115         (internal_condition_case_n): Factor out the common tail of the
117116         functions.
117118 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
117120         Simplify code in 'string_from_display_spec'
117122         * src/xdisp.c (string_from_display_spec): Eliminate a redundant
117123         test before the loop.
117125 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
117127         Serialize random number generation on MS-Windows
117129         * src/w32.c (rand_as183): New function.
117130         (random): Use it instead of MS runtime's 'rand'.  This avoids
117131         producing separate and identical random series in each Lisp
117132         thread.
117133         (srandom): Modify to supply 3 seed values to 'rand_as183'.
117135 2016-12-31  Michael Albinus  <michael.albinus@gmx.de>
117137         * src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol.
117139 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
117141         Don't call xg_select for a NextStep build.
117143         NextStep builds use glib but don't use xg_select.
117145         * src/process.c (wait_reading_process_output): Don't call xg_select
117146         for a NextStep build.
117148 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
117150         Increase the obarray size.
117152         In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
117153         the time we've started.  The old obarray size ensured an average chain
117154         length of 10 or more.
117156         * src/lread.c (OBARRAY_SIZE): Increase to 15121.
117158 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
117160         Initialize thread support for Xlib.
117162         * src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
117163         before doing anything else with X.
117165 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
117167         Rename primary_thread to main_thread
117169         This avoids the confusion of using two different phrases "main thread"
117170         and "primary thread" internally to mean the same thing.  See:
117171         https://lists.gnu.org/r/emacs-devel/2016-12/msg01142.html
117172         * src/thread.c (main_thread): Rename from primary_thread,
117173         since the new name no longer clashes with main_thread_id
117174         and Emacs internals normally call this the "main thread".
117175         (init_main_thread): Rename from init_primary_thread.
117176         (main_thread_p): Rename from primary_thread_p.
117177         All uses changed.
117179 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
117181         Rename main_thread to main_thread_id and simplify
117183         * src/emacs-module.c: Include syssignal.h, for main_thread_id.
117184         [HAVE_PTHREAD]: Do not include pthread.h.
117185         (main_thread): Remove.  All uses replaced by main_thread_id,
117186         or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
117187         the main_thread_id established by sysdep.c, there is no need for a
117188         separate copy of the main thread ID here.
117189         (module_init): Remove.  All uses removed.
117190         * src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
117191         Rename from main_thread.  All uses changed.  Now extern.
117193 2016-12-30  Michael Albinus  <michael.albinus@gmx.de>
117195         * src/gfilenotify.c (Fgfile_monitor_name): Return a symbol.
117197 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
117199         * src/sysdep.c (deliver_process_signal): Improve comment.
117201 2016-12-30  Alan Mackenzie  <acm@muc.de>
117203         CC Mode: Fix the fontification of a spuriously recognized enum member.
117205         The "enum" was in an argument list, but triggered the fontification of a
117206         following identifier in the function block as though it were in an enum
117207         declaration.
117209         * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
117210         (c-basic-matchers-after): Replace the inline stanza for enum elements with a
117211         call to c-font-lock-enum-body.
117213         * lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
117214         variable.
117216 2016-12-30  Nicolas Petton  <nicolas@petton.fr>
117218         Bump Emacs version to 25.1.91
117220         * README:
117221         * configure.ac:
117222         * msdos/sed2v2.inp:
117223         * nt/README.W32: Bump Emacs version.
117224         * lisp/ldefs-boot.el: Update.
117226 2016-12-30  Eli Zaretskii  <eliz@gnu.org>
117228         Attempt to fix crashes with threads in GTK builds
117230         * src/xgselect.c (xg_select): Call pselect via thread_select, not
117231         directly, to avoid running Lisp (via unblock_input) when more than
117232         one thread could be running.  (Bug#25247)
117233         * src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
117234         xg_select directly instead of through thread_select.
117235         * src/xgselect.h (xg_select): Last 2 arguments are no longer
117236         'const', for consistency with thread_select.
117238 2016-12-30  Arash Esbati  <arash.esbati@gmail.com>
117240         Add entry for biblatex
117242         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
117243         entry for biblatex macros.
117245 2016-12-30  Alan Mackenzie  <acm@muc.de>
117247         Backport: Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
117249         The ambiguity was whether INITVALUE is evaluated when it's not going to be
117250         used to set SYMBOL's value.
117252         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
117254         (cherry picked from commit 8295e97f18490a535d1188a3daf0b0fd1bf4fa0d)
117256 2016-12-30  Tino Calancha  <tino.calancha@gmail.com>
117258         ffap-string-at-point: Limit max length of active region
117260         Prevents that 'ffap-guesser' waste time checking large strings
117261         which are likely not valid candidates (Bug#25243).
117262         * lisp/ffap.el (ffap-max-region-length): New variable.
117263         (ffap-string-at-point): Use it.
117264         * test/lisp/ffap-tests.el: New test suite.
117265         (ffap-tests-25243): Add test for this bug.
117267 2016-12-30  Thien-Thi Nguyen  <ttn@gnu.org>
117269         last-chance: Also ignore NEWS files + typo fixes
117271         * admin/last-chance.el: Fix typo in copyright notice.
117272         (last-chance-uninteresting-regexps): Add entry to match NEWS files.
117273         (last-chance-cleanup): Fix typo in docstring.
117275 2016-12-29  Mike Kupfer  <mkupfer@alum.berkeley.edu>
117277         * lisp/mh-e/mh-e.el (mh-fetch-x-image-url): Fix a docstring typo.
117279 2016-12-29  Alan Mackenzie  <acm@muc.de>
117281         Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
117283         The ambiguity was whether INITVALUE is evaluated when it's not going to be
117284         used to set SYMBOL's value.
117286         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
117288 2016-12-29  Michael Albinus  <michael.albinus@gmx.de>
117290         Improve filenotify-tests.el
117292         * src/inotify.c (Finotify_valid_p):
117293         * src/kqueue.c (Fkqueue_valid_p):
117294         * src/w32notify.c (Fw32notify_valid_p):
117295         * src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
117296         (Fgfile_monitor_name): New defun.
117297         (syms_of_gfilenotify): Declare Sgfile_monitor_name.
117299         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
117300         New defun, derived from `file-notify--test-read-event-timeout'.
117301         Replace all calls of `read-event' by this.
117302         (file-notify--test-timeout): Fix docstring.
117303         (file-notify--test-monitor): New defun.
117304         (file-notify--deftest-remote): Do not bind
117305         `file-notify--test-read-event-timeout' anymore.
117306         (file-notify-test00-availability): Print also monitor, if existent.
117307         (file-notify--test-with-events): Add an additional
117308         `file-notify--test-read-event' call, in order to get it work
117309         after `file-notify-add-watch'.  Remove special timeout for cygwin.
117310         (file-notify-test02-events): Make a better check for cygwin.
117311         (file-notify-test06-many-events): Improve event list for cygwin.
117312         (file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
117314 2016-12-29  Alan Mackenzie  <acm@muc.de>
117316         Partially correct fontification of "(b*3)", and the like, in C++ Mode
117318         This problem is caused by the fundamental ambiguity in C++ between
117319         argument declarations and initialization clauses.
117321         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
117322         paren preceded by an arithmetic operator, we give this the context nil, not
117323         'arglist.
117325         * lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
117326         New lang consts and vars.
117328 2016-12-29  Alan Mackenzie  <acm@muc.de>
117330         Initialize edebug-offset-indices to a cons, not nil.  Fixes bug #16184.
117332         This is because there are times when this variable is changed by setcar before
117333         an atom is pushed onto it by debug-enter.  This happens, for example, whilst
117334         instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.
117336         * lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).
117338 2016-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
117340         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
117342         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
117343         Cherry picked from commit e6161f648903d821865b9610b3b6aa0f82a5dcb7.
117345 2016-12-27  Michael Albinus  <michael.albinus@gmx.de>
117347         Release Tramp 2.3.1
117349         * doc/misc/trampver.texi:
117350         * lisp/net/trampver.el: Change version to "2.3.1".
117352         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
117353         `eshell-mode-hook' but `eshell-first-time-mode-hook'.
117355         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
117356         (tramp-compat-file-name-quote)
117357         (tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.
117359 2016-12-27  Paul Eggert  <eggert@cs.ucla.edu>
117361         Simplify prog1 implementation
117363         Inspired by a suggestion from Chris Gregory in:
117364         https://lists.gnu.org/r/emacs-devel/2016-12/msg00965.html
117365         On my platform, this generates exactly the same machine insns.
117366         * src/eval.c (prog_ignore): Rename from unwind_body, since
117367         it’s more general than that.  All callers changed.
117368         (Fprog1): Simplify by using prog_ignore.
117369         (Fwhile): Clarify by using prog_ignore.
117371 2016-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
117373         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
117375         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
117377 2016-12-27  Mark Oteiza  <mvoteiza@udel.edu>
117379         Remove a use of lexical-let
117381         * lisp/gnus/message.el (message-completion-function): Just use let,
117382         since the file now uses lexical-binding.
117384 2016-12-27  Ken Brown  <kbrown@cornell.edu>
117386         Improve filenotify-tests.el on Cygwin (Bug #21804)
117388         * test/lisp/filenotify-tests.el [CYGWIN]
117389         (file-notify--test-read-event-timeout): Increase.
117390         (file-notify--test-with-events): Add delay before executing body.
117391         (file-notify-test02-events, file-notify-test04-file-validity):
117392         Adjust expected results.
117394 2016-12-27  Eli Zaretskii  <eliz@gnu.org>
117396         Fix expand-file-name on DOS_NT systems when /: escaping is used
117398         * src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
117399         file names escaped by "/:".  Don't recursively expand
117400         default-directory escaped with "/:" which is not followed by a
117401         drive spec.  (Bug#25183)
117403 2016-12-27  Bake Timmons  <65pandas@gmail.com>
117405         Fix `mail-sources' value of `(group)' in Gnus manual (bug#25275)
117407         * doc/misc/gnus.texi (Mail Source Specifiers):
117408         Replace wrong `mail-sources' value of `(group)' in Gnus manual with
117409         the correct `((group))' value.  (bug#25275) (tiny change)
117411 2016-12-27  Bake Timmons  <65pandas@gmail.com>
117413         Fix bug in customizing `mail-sources' variable (bug#25274)
117415         * lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
117416         for lone argument. (bug#25274) (tiny change)
117418 2016-12-26  Philipp Stephani  <phst@google.com>
117420         Checkdoc: Don't require a space before an arg list
117422         See Bug#24998.
117424         * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
117425         space before a argument list.
117426         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
117427         Add unit test.
117429 2016-12-26  Eli Zaretskii  <eliz@gnu.org>
117431         Document 'default-toplevel-value' and 'set-default-toplevel-value'
117433         * doc/lispref/variables.texi (Default Value): Document
117434         'default-toplevel-value' and 'set-default-toplevel-value'.
117436 2016-12-25  Michihito Shigemura  <m_shigemura@shigemk2.com>  (tiny change)
117438         Add zshrc and zshenv detection to sh-mode (bug#25217)
117440         * lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match
117442 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
117444         Fix typo in lisp.h reordering patch
117446         * src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
117447         Reported by Eli Zaretskii (Bug#25128#19).
117449 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
117451         regex.h now includes sys/types.h
117453         * src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
117454         Do not include sys/types.h; no longer needed.
117455         * src/regex.h: Include <sys/types.h>, as that's what Gnulib and
117456         glibc regex.h does, and POSIX has blessed this since 2008.
117458 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
117460         Reorder lisp.h to declare types before using them
117462         This puts basic functions for types to be after the corresponding
117463         type definitions.  This is a more-common programming style in C,
117464         and will make it easier to port Emacs to gcc
117465         -fcheck-pointer-bounds, since the functions now have access to the
117466         corresponding types' sizes.  This patch does not change the code;
117467         it just moves declarations and definitions and removes
117468         no-longer-needed forward declarations (Bug#25128).
117469         * src/buffer.c, src/data.c, src/image.c:
117470         Include process.h, for PROCESSP.
117471         * src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
117472         * src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
117473         * src/termhooks.h (TERMINALP, XTERMINAL):
117474         * src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
117475         * src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
117476         (XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
117477         Move here from lisp.h.
117478         * src/intervals.h: Include buffer.h, for BUFFERP.
117479         Include lisp.h, for Lisp_Object.
117480         * src/lisp.h: Reorder declarations and definitions as described
117481         above.  Move thread includes to be later, so that they can use the
117482         reordered definitions.  Move some symbols to other headers (noted
117483         elsewhere).  Remove forward decls that are no longer needed.
117484         * src/thread.h: Include systhread.h here, not in lisp.h,
117485         since lisp.h itself does not need systhread.h.
117487 2016-12-25  Leo Liu  <sdl.web@gmail.com>
117489         Don't modify minibuffer variables globally
117491         * lisp/files.el (cd): Use setq-local instead.  (Bug#25260)
117493 2016-12-25  Dima Kogan  <dima@secretsauce.net>
117495         diff-mode auto-refines only after a successful motion
117497         Prior to this patch (if enabled) auto-refinement would kick in after all
117498         hunk navigation commands, even if the motion failed.  This would result
117499         in a situation where the hunk navigation would signal an error and beep,
117500         but yet still accomplish potentially useful work, by auto-refining.
117501         This patch moves the auto-refinement code to only run when a motion was
117502         successful
117504         * lisp/vc/diff-mode.el (diff--internal-hunk-next,
117505           diff--internal-hunk-prev): Removed auto-refinement-triggering code
117506         * lisp/vc/diff-mode.el (diff--wrap-navigation): Added
117507           auto-refinement-triggering code
117509 2016-12-25  Dima Kogan  <dima@secretsauce.net>
117511         diff-mode is able to better handle file headers
117513         This fixes a regression introduced in
117515           https://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
117517         This bug was filed in
117519           https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105
117521         Patches generated from a VCS such as git contain a patch message at the
117522         start, and diff-mode is now once-again able to properly able to ignore
117523         this message when issuing navigation commands around the message.
117525         * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
117526           thoroughly ignore the header when looking for a beginning of file
117527           diffs.
117529 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
117531         Use libpng-config --ldflags, not --libs
117533         Problem reported by James K. Lowden (Bug#25268).
117534         * configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.
117536 2016-12-24  Eli Zaretskii  <eliz@gnu.org>
117538         Revert to pre-25.1 behavior in ffap
117540         * lisp/ffap.el (ffap-lax-url): Change the default to t, to produce
117541         the same behavior as in Emacs 24.x.  (Bug#25264)
117542         Explain the trade-offs of customizing this in the doc string.
117544 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
117546         * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
117548 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
117550         Remove redundant `save-match-data' in whitespace.el
117552         * lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
117553         (whitespace-report-region): Remove redundant `save-match-data' calls.
117555 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
117557         Fix whitespace eob cleanup
117559         * lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
117560         of empty lines at end of buffer.
117561         * test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
117562         (whitespace-tests--cleanup-string): New helper function for tests.
117564 2016-12-24  Hong Xu  <hong@topbug.net>
117566         Fix timezone detection of parse-iso8601-time-string
117568         * lisp/calendar/parse-time.el (parse-iso8601-time-string): Fix timezone
117569         parsing.  Add a doc string.  (Bug#25086)
117570         * src/editfns.c (Fdecode-time): Doc fix.
117571         * doc/misc/emacs-mime.texi (time-date): Add an example for
117572         parse-iso8601-time-string.
117573         * test/lisp/calendar/parse-time-tests.el (parse-time-tests): Add
117574         tests for parse-iso8601-time-string.
117576 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
117578         Simplify exec_byte_code via moving decls etc.
117580         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
117581         initializers into decls, and by omitting some unnecessary changes
117582         to ‘top’.
117584 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
117586         Remove interpreter’s byte stack
117588         This improves performance overall on my benchmark on x86-64,
117589         since the interpreted program-counter resides in a machine
117590         register rather than in RAM.
117591         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
117592         is no longer a byte stack to decode.
117593         * src/bytecode.c (struct byte_stack, byte_stack_list)
117594         (relocate_byte_stack): Remove.  All uses removed.
117595         (FETCH): Simplify now that pc is now local (typically, in a
117596         register) and no longer needs to be relocated.
117597         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
117598         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
117599         (exec_byte_code): Allocate a copy of the function’s bytecode,
117600         so that there is no problem if GC moves it.
117601         * src/lisp.h (struct handler): Remove byte_stack member.
117602         All uses removed.
117603         * src/thread.c (unmark_threads): Remove.  All uses removed.
117604         * src/thread.h (struct thread_state): Remove m_byte_stack_list member.
117605         All uses removed.  m_stack_bottom is now the first non-Lisp field.
117607 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
117609         BYTE_CODE_SAFE typo fix
117611         * src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
117612         not on whether it is defined.
117614 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
117616         BYTE_CODE_SAFE cleanups
117618         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
117619         (struct byte_stack) [BYTE_MAINTAIN_TOP]:
117620         Remove unused members ‘top’ and ‘bottom’.
117621         (exec_byte_code): Nest inside { } to avoid GCC warning about
117622         jumping over declaration when compiled with -DBYTE_CODE_SAFE.
117624 2016-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
117626         last-chance: new utility lib for dangling deterrence
117628         * admin/last-chance.el: New file.
117630 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
117632         Use max_align_t instead of void *
117634         * src/thread.c (run_thread): Don’t assume void * is aligned enough.
117636 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
117638         Attempt to fix 64-bit AIX build
117640         * src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
117641         type-casts that assumed 32-bit pointers.  (Bug#25141)
117643 2016-12-23  Philipp Stephani  <phst@google.com>
117645         Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
117647         * doc/misc/ediff.texi (Hooks): Clarify usage of 'ediff-cleanup-hook'
117649 2016-12-23  Philipp Stephani  <phst@google.com>
117651         Document that variable binding order is unspecified
117653         * doc/lispref/variables.texi (Local Variables):
117654         * doc/misc/cl.texi (Modify Macros): Document that binding order in 'let' and
117655         'cl-letf' is unspecified.
117657 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
117659         Prevent infloops in redisplay due to truncate-lines and overlays
117661         * src/xdisp.c (hscroll_window_tree): Avoid inflooping in
117662         redisplay_window when a screen line ends in an overlay string with
117663         a newline.  (Bug#25246)
117665 2016-12-23  Philipp Stephani  <phst@google.com>
117667         Treat incomplete integer literals as errors
117669         See Bug#25120.
117671         * src/lread.c (read_integer): Treat incomplete integer literals as errors.
117672         * test/src/lread-tests.el (lread-empty-int-literal): New unit test for
117673         incomplete integer literals.
117675 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
117677         * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
117679 2016-12-23  Stefan Monnier  <monnier@IRO.UMontreal.CA>
117681         Fix M-x hints on Mac port
117683         * lisp/simple.el (execute-extended-command--shorter): Call
117684         input-pending-p to trigger input processing on some systems, such
117685         as Mac port.  (Bug#23002)
117687 2016-12-23  Michael Albinus  <michael.albinus@gmx.de>
117689         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Make it robust.
117691 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
117693         Avoid aborts due to unaligned byte stack of threads
117695         * src/thread.c (run_thread): Make sure the pointers to thread byte
117696         stack are properly aligned.  (Bug#25247)
117698 2016-12-22  Paul Eggert  <eggert@cs.ucla.edu>
117700         Pacify --enable-gcc-warnings
117702         * src/charset.c (load_charset_map):
117703         * src/coding.c (decode_coding_object):
117704         * src/frame.c (make_frame):
117705         * src/window.c (Frecenter):
117706         Mark locals with UNINIT to silence false alarms from
117707         -Wmaybe-uninitialized.
117708         * src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
117709         (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
117710         Check and assume that values are nonnull.  This pacifies
117711         -Wmaybe-uninitialized in Fmake_variable_buffer_local and
117712         Fmake_local_variable.
117714 2016-12-22  Eli Zaretskii  <eliz@gnu.org>
117716         Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS
117718         * src/thread.c (primary_thread_p): New function.
117719         * src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
117720         meant for thread objects allocated dynamically.
117721         * src/thread.h (primary_thread_p): Add prototype.
117723 2016-12-22  Martin Rudalics  <rudalics@gmx.at>
117725         Work around reporting a dpi change in apply_xft_settings
117727         * src/xsettings.c (apply_xft_settings): Don't report a change
117728         when dpi settings do not differ substantially.
117730 2016-12-22  Noam Postavsky  <npostavs@gmail.com>
117732         Use completion-at-point in verilog-mode
117734         There were some functions in verilog-mode that implemented in-buffer
117735         completion, but this needlessly duplicates completion-at-point
117736         functionality, and the popup window management had problems
117737         (see Bug #23842).  We need to keep them for backwards compatibility with
117738         older emacs versions, but use completion-at-point if available.
117740         * lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
117741         obsolete if completion-cycle-threshold is available.
117742         (verilog-mode-map, verilog-menu): Bind completion-at-point and
117743         completion-help-at-point in preference to verilog-complete-word and
117744         verilog-show-completions, respectively.
117745         (verilog-mode): Add verilog-completion-at-point to
117746         completion-at-point-functions.
117747         (verilog-completion-at-point): New function.
117748         (verilog-show-completions, verilog-complete-word): Use it to avoid code
117749         duplication.
117751 2016-12-21  Reuben Thomas  <rrt@sc3d.org>
117753         Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries
117755         * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
117756         override CASECHARS and NOT-CASECHARS.  The ispell dictionaries
117757         retain their hardwired values, and all other dictionaries are given
117758         sensible defaults.
117760 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
117762         * lisp/textmodes/tex-mode.el (tex-compile-commands): Add luatex
117763         and xetex commands.
117765 2016-12-21  Eli Zaretskii  <eliz@gnu.org>
117767         Fix aborts in GC under GC_CHECK_MARKED_OBJECTS
117769         * src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
117770         for thread objects.  They are marked via the all_threads list, and
117771         therefore don't need to be inserted into the red-black tree, so
117772         mem_find will never find them.  Reported by Daniel Colascione
117773         <dancol@dancol.org> in
117774         https://lists.gnu.org/r/emacs-devel/2016-12/msg00817.html.
117776 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
117778         * src/data.c (Fmake_variable_frame_local): Remove
117780         * src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.
117782         * src/data.c (swap_in_symval_forwarding, set_internal)
117783         (set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
117784         (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
117785         Don't pay attention to ->frame_local any more.
117786         (syms_of_data): Remove Qtrapping_frame_local and don't defsubr
117787         Smake_variable_frame_local.
117789         * etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
117790         of make-variable-frame-local.
117792         * lisp/help-fns.el (describe-variable): Don't handle the now impossible
117793         frame-local case.
117795         * lisp/subr.el (make-variable-frame-local): Remove obsolescence data.
117797         * src/frame.c (store_frame_param):
117798         * src/eval.c (specbind): Don't pay attention to ->frame_local any more.
117800         * src/widget.c (first_frame_p): Remove, unused.
117802 2016-12-21  Paul Eggert  <eggert@cs.ucla.edu>
117804         Port dumping better to WSL
117806         Problem reported by Angelo Graziosi in:
117807         https://lists.gnu.org/r/emacs-devel/2016-12/msg00822.html
117808         * src/sysdep.c (disable_address_randomization):
117809         Detect buggy platforms where 'personality' always returns 0.
117811 2016-12-21  Michael Albinus  <michael.albinus@gmx.de>
117813         Remove gateway methods in Tramp
117815         * doc/misc/tramp.texi (Top, Configuration): Remove section
117816         `Gateway methods', insert section `Firewalls' in menu.
117817         (History): Gateways are removed now.
117818         (Gateway methods): Remove section.
117819         (Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
117820         (Firewalls): New section.
117822         * etc/NEWS: Gateway methods in Tramp have been removed.
117824         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
117825         (tramp-file-name-port, tramp-accept-process-output): Simplify.
117827         * lisp/net/tramp-gw.el: Remove.
117829         * lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
117830         (tramp-gw-socks-method): Remove declarations.
117831         (tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
117832         Remove `tramp-gw-args' and `tramp-default-port'.  (Bug#18967)
117833         (tramp-do-copy-or-rename-file-out-of-band)
117834         (tramp-compute-multi-hops, tramp-maybe-open-connection):
117835         Remove gateway support.
117837         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
117838         Remove gateway tests.
117840 2016-12-20  Alan Mackenzie  <acm@muc.de>
117842         Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't merge to trunk.
117844         lisp/progmodes/cc-defs.el: Amend the version number.
117845         etc/NEWS: Add an item explaining the change.
117847 2016-12-20  Tino Calancha  <tino.calancha@gmail.com>
117849         files-test-read-file-in-: Delete temporary dir on exit
117851         * test/lisp/files-tests.el (files-test-read-file-in-~):
117852         Create subdir inside dir.
117854 2016-12-20  Christopher Genovese  <genovese@cmu.edu>
117856         ibuffer: New filters and commands
117858         Add several new filters and improve documentation.
117859         See discussion on:
117860         https://lists.gnu.org/r/emacs-devel/2016-11/msg00399.html
117861         * lisp/ibuf-ext.el: Add paragraph to file commentary.
117862         (ibuffer-saved-filters, ibuffer-filtering-qualifiers)
117863         (ibuffer-filter-groups): Update doc string.
117864         (ibuffer-unary-operand): Add new function that transparently
117865         handles 'not' formats for compound filters.
117866         (ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
117867         (ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
117868         (ibuffer-decompose-filter): Handle 'and' as well,
117869         and handle 'not' consistently with other uses.
117870         (ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
117871         (ibuffer--or-and-filter): New defun.
117872         (ibuffer-or-filter, ibuffer-and-filter): Use it.
117873         (ibuffer-format-qualifier): Handle 'and' filters as well.
117874         (ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
117875         (ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
117876         (ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
117877         Add new pre-defined filters.
117878         (ibuffer-filter-chosen-by-completion): Add new interactive command
117879         for easily choosing a filter from the descriptions.
117880         * lisp/ibuffer.el (ibuffer-mode-map):
117881         Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
117882         ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
117883         ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
117884         respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
117885         'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
117886         'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
117887         and '/ DEL' respectively.
117888         * test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
117889         skip specification.
117890         Add menu entries for the new filters.
117891         (ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
117892         ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
117893         ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
117894         ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
117895         ibuffer-decompose-filter, ibuffer-and-filter
117896         ibuffer-or-filter): Add new tests; they are skipped unless
117897         ibuf-ext is loaded.
117899 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
117901         Update NEWS
117903         * etc/NEWS (Image-Dired): New section.
117905 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
117907         Recognize graphicsmagick in image-dired
117909         * lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
117910         (image-dired-cmd-create-thumbnail-options):
117911         (image-dired-cmd-create-temp-image-program):
117912         (image-dired-cmd-create-temp-image-options):
117913         (image-dired-cmd-create-standard-thumbnail-options):
117914         (image-dired-cmd-rotate-thumbnail-program):
117915         (image-dired-cmd-rotate-thumbnail-options): Account for existence of
117916         gm(1) executable.
117918 2016-12-20  Noam Postavsky  <npostavs@gmail.com>
117920         Improve skeleton docstrings
117922         * lisp/skeleton.el (skeleton-end-newline): Remove mention of
117923         `skeleton-end-hook', its default code was moved into `skeleton-insert'.
117924         (skeleton-insert): Mention `skeleton-end-newline' and move reference to
117925         `skeleton-end-hook' above the explanation of skeleton syntax.
117927 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
117929         Implement asynchronous thumbnail generation in image-dired
117931         Additionally, all FOO-options defcustoms that were in fact shell command
117932         strings have been converted to argument lists.  Another method for
117933         shrinking PNG thumbs with optipng(1) has been added.
117934         * lisp/image-dired.el: Remove TODO item in commentary.
117935         (image-dired-cmd-create-thumbnail-options):
117936         (image-dired-cmd-create-temp-image-options):
117937         (image-dired-cmd-rotate-thumbnail-options):
117938         (image-dired-cmd-rotate-original-options):
117939         (image-dired-cmd-write-exif-data-options):
117940         (image-dired-cmd-read-exif-data-options): Convert to argument lists.
117941         (image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
117942         Change string type to file.
117943         (image-dired-cmd-create-standard-thumbnail-command): Remove.
117944         (image-dired-cmd-pngnq-options):
117945         (image-dired-cmd-create-standard-thumbnail-options):
117946         (image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
117947         New defcustoms.
117948         (image-dired-queue, image-dired-queue-active-jobs):
117949         (image-dired-queue-active-limit): New variables.
117950         (image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
117951         (image-dired-optipng-thumb): New functions.
117952         (image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
117953         Use start-process instead of call-process.  Set file modes.  Trigger
117954         PNG file optimization in process sentinel.
117955         (image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
117956         (image-dired-display-thumbs):
117957         (image-dired-create-thumbs): Don't expect call-process return value.
117958         (image-dired-display-image, image-dired-rotate-thumbnail): Use
117959         start-process instead of call-process.
117960         (image-dired-rotate-original, image-dired-set-exif-data):
117961         (image-dired-get-exif-data): Adapt to arguments being an arg list.
117963 2016-12-19  Andreas Schwab  <schwab@linux-m68k.org>
117965         Protect change of window's buffer in vertical-motion against unwinds (bug#25209)
117967         * src/indent.c (restore_window_buffer): New function.
117968         (Fvertical_motion): Use it to restore window's buffer.
117970 2016-12-19  Glenn Morris  <rgm@gnu.org>
117972         Improve default load-path for uninstalled CANNOT_DUMP builds
117974         * src/lread.c (load_path_default) [CANNOT_DUMP]:
117975         Use build load-path if we seem to be running uninstalled.  (Bug#24974)
117976         I think this became an issue several years ago when we stopped
117977         using EMACSLOADPATH in the Makefiles; however this change should
117978         improve the CANNOT_DUMP uninstalled case in general.
117980 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
117982         Improve documentation of 'w32-scroll-lock-modifier'
117984         * doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
117985         w32-scroll-lock-modifier so that Scroll Lock toggles the LED.
117987         * src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
117988         fix.  (Bug#25204)
117990 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
117992         Document 'describe-fontset'
117994         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
117995         (Bug#25216)
117997 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
117999         Document 'describe-fontset'
118001         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
118002         (Bug#25216)
118004 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
118006         Fix crashes upon C-g on Posix TTY frames
118008         * src/thread.h (struct thread_state): New member not_holding_lock.
118009         (maybe_reacquire_global_lock): Add prototype.
118010         * src/thread.c: Include syssignal.h.
118011         (maybe_reacquire_global_lock): New function.
118012         (really_call_select): Set the not_holding_lock member of the
118013         thread state before releasing the lock, and rest it after
118014         re-acquiring the lock when the select function returns.  Block
118015         SIGINT while doing this to make sure we are not interrupted on TTY
118016         frames.
118017         * src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
118018         functions.
118019         * src/syssignal.h (block_interrupt_signal, restore_signal_mask):
118020         Add prototypes.
118021         * src/keyboard.c (read_char) [THREADS_ENABLED]: Call
118022         maybe_reacquire_global_lock.  (Bug#25178)
118024 2016-12-19  Sam Steingold  <sds@gnu.org>
118026         avoid Eager macro-expansion failure: (void-function string-to-list)
118028         * lisp/loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
118029           in "mule-util", so we have to load "mule-util" before "ucs-normalize",
118030           otherwise I get "Eager macro-expansion failure" on "make bootstrap"
118032 2016-12-19  Michael Albinus  <michael.albinus@gmx.de>
118034         Fix Bug#24980
118036         * lisp/ido.el (ido-add-virtual-buffers-to-list):
118037         Suppress Tramp invocation.  (Bug#24980)
118039 2016-12-18  Philipp Stephani  <phst@google.com>
118041         Add a new compile error regexp for Clang includes
118043         Clang uses a slight variation of GCC's include format, causing includes
118044         to be treated as warnings instead of informational messages.  Use a new
118045         regular expression instead.
118047         * lisp/progmodes/compile.el
118048         (compilation-error-regexp-alist-alist): New element
118049         `clang-include' for Clang-style "included from" lines.
118050         * test/lisp/progmodes/compile-tests.el
118051         (compile-tests--test-regexps-data): Add unit test.
118053 2016-12-18  Alan Third  <alan@idiocy.org>
118055         Reinstate ispell character offset (bug#25219)
118057         * lisp/textmodes/ispell.el (ispell-process-line): insert -1 where
118058         ispell-offset used to be.
118060 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
118062         Bind new image-mode scroll commands in image-dired
118064         * lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings
118065         to new image-mode commands.
118067 2016-12-18  Noam Postavsky  <npostavs@gmail.com>
118069         Fix rx-any with range with ?\] and ?-
118071         * lisp/emacs-lisp/rx.el: Make sure not to produce a circular
118072         list (Bug#25123).
118073         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test.
118075 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
118077         Use floor of mtime instead of rounding for thumb property
118079         This seems to be the correct thing to do, at least more in line with
118080         what at least one other implementation does.  Anything using
118081         gnome-desktop [0] effectively does the same, as
118082         gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for
118083         comparison and time_t on GNU/Linux is a signed int.
118084         [0] https://git.gnome.org/browse/gnome-desktop/
118085         * lisp/image-dired.el (image-dired-create-thumb): Use floor here.
118087 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
118089         Fix spelling mistake in private defun name (Bug#25218)
118091         lisp/textmodes/flyspell.el (flyspell-ajust-cursor-point): Rename to
118092         `flyspell-adjust-cursor-point'.
118094 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
118096         Remove XEmacs support from flyspell.el (Bug#25218)
118098         lisp/textmodes/flyspell.el (flyspell-prog-mode, flyspell-mode-on):
118099         (flyspell-word, flyspell-delete-region-overlays):
118100         (flyspell-correct-word-before-point): Remove XEmacs support.
118101         (flyspell-xemacs-popup): Remove XEmacs-specific defun.
118103 2016-12-17  Michael Albinus  <michael.albinus@gmx.de>
118105         More tests for Tramp
118107         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle quoted
118108         file names.
118110         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Quote file
118111         name properly.
118113         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
118114         Mark quoted file name as absolute.  (Bug#25183)
118115         (tramp--test-windows-nt-and-batch)
118116         (tramp--test-windows-nt-and-pscp-psftp-p): New defuns.
118117         (tramp--test-windows-nt-or-smb-p): Rename from
118118         `tramp--test-smb-windows-nt-p'.  Adapt callees.
118119         (tramp--test-check-files): Improve checks for environment variables.
118120         (tramp-test33-special-characters)
118121         (tramp-test33-special-characters-with-stat)
118122         (tramp-test33-special-characters-with-perl)
118123         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
118124         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
118125         (tramp-test34-utf8-with-ls): Add more checks for skip.
118127 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
118129         Fix comments
118131         * src/thread.h (struct thread_state): Fix comments.
118132         * src/process.c (wait_reading_process_output): Fix a typo in
118133         commentary.
118135 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
118137         Repair desktop restoration on text terminals
118139         * lisp/desktop.el (desktop-restoring-frameset-p): Test for the GUI
118140         frame here, instead of in desktop-restoring-frameset.  That's
118141         because desktop-read wants to know whether frameset will actually
118142         be restored, and has fallback procedures up its sleeve when it
118143         won't be; these fallbacks need to be invoked when the frameset is
118144         not going to be restored.  (Bug#24298)
118146 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
118148         Fix crashes on MS-Windows during dumping
118150         * src/unexw32.c (get_section_info): Make extra_bss_size be the
118151         maximum of extra_bss_size and extra_bss_size_static.  This avoids
118152         computing the size of the output file smaller than it actually
118153         needs to be, which then causes copy_executable_and_dump_data to
118154         write beyond the requested size of the file mapping, thus relying
118155         on the OS roundup to page boundary to save us from ourselves.  See
118156         https://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
118157         for the details.
118159         * lib/stdio-impl.h: Revert the workaround fix of not including
118160         errno.h for MinGW.
118162 2016-12-17  Dmitry Gutov  <dgutov@yandex.ru>
118164         Ignore forward-sexp-function in js-mode indentation code
118166         * lisp/progmodes/js.el (js--multi-line-declaration-indentation)
118167         (js--maybe-goto-declaration-keyword-end):
118168         Bind forward-sexp-function to nil (bug#25215).
118170 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
118172         Be more selective clearing the image cache
118174         * lisp/image-dired.el (image-dired-create-thumbs):
118175         (image-dired-rotate-thumbnail, image-dired-refresh-thumb): Only clear
118176         the current thumbnail file from the image cache.
118178 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
118180         Unbreak the MinGW build
118182         * lib/stdio-impl.h [__MINGW32__]: Don't include errno.h.  Without
118183         this, temacs crashes while dumping.
118185 2016-12-16  Nicolas Petton  <nicolas@petton.fr>
118187         Make seq-into return the sequence when no conversion needed
118189         * lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
118190           no conversion is needed.
118191         * test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
118192           a regression test checking for identity.
118194 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
118196         Improve documentation of 'define-coding-system'
118198         * lisp/international/mule.el (define-coding-system): Warn against
118199         possible infinite recursion in pre-write-conversion and
118200         post-read-conversion functions.  (Bug#25203)
118202 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
118204         New commands image-scroll-left and image-scroll-right
118206         * etc/NEWS: Mention them.
118207         * lisp/image-mode.el (image-scroll-left, image-scroll-right): New
118208         functions.
118210 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
118212         More image-dired refactoring
118214         * lisp/image-dired.el (image-dired-thumbnail-mode):
118215         (image-dired-display-image-mode): Add :group 'image-dired so
118216         customize-mode works.
118217         (image-dired-display-image): Rearrange.
118218         (image-dired-copy-with-exif-file-name): This map is for side effect.
118219         (image-dired-dired-edit-comment-and-tags): Just use #'identity.
118221 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
118223         * lisp/image-dired.el: Turn on lexical-binding.
118225 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
118227         Teach image-dired to also generate large thumbs
118229         * lisp/image-dired.el (image-dired-thumbnail-storage): Add
118230         standard-large option.
118231         (image-dired-thumb-size): Add condition for standard-large storage.
118232         (image-dired-insert-thumbnail): Check for new option.  Change
118233         thumbnail path conditionally.
118234         (image-dired-thumb-size): New function.
118235         (image-dired-create-thumb, image-dired-line-up-dynamic): Use it.
118237 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
118239         Merge from gnulib
118241         This incorporates:
118242         2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
118243         2016-12-12 fpending: port to native Windows with MSVC
118244         * .gitignore: Do not ignore lib/stdio-impl.h.
118245         * lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
118246         Copy from gnulib.
118247         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
118248         * lib/stdio-impl.h:
118249         New file, copied from gnulib.
118250         * nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
118252 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
118254         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
118255         Append newline.
118257 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
118259         Don't abuse princ and spam messages
118261         * lisp/image-dired.el (image-dired-format-properties-string): Nix princ.
118262         (image-dired-display-thumb-properties):
118263         (image-dired-dired-display-properties): Nix princ.  Bind
118264         message-log-max to nil.
118266 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
118268         Inherit things from special-mode and image-mode
118270         * lisp/image-dired.el: Require image-mode library.
118271         (image-dired-thumbnail-mode-map): Remove superfluous binding.
118272         (image-dired-display-image-mode-map): Remove superfluous binding.
118273         Add movement remaps from image-mode-map.
118274         (image-dired-thumbnail-mode): Derive from special-mode.
118275         (image-dired-display-image-mode): Derive from special-mode. Call
118276         image-mode-setup-winprops.
118278 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
118280         Fix some image-dired customization types
118282         * lisp/image-dired.el (image-dired): Add info link to defgroup.
118283         (image-dired-dir, image-dired-gallery-dir): Set type to directory.
118284         (image-dired-db-file, image-dired-temp-image-file):
118285         (image-dired-cmd-create-thumbnail-program):
118286         (image-dired-cmd-create-temp-image-program):
118287         (image-dired-cmd-rotate-thumbnail-program):
118288         (image-dired-cmd-rotate-original-program):
118289         (image-dired-temp-rotate-image-file):
118290         (image-dired-cmd-write-exif-data-program):
118291         (image-dired-cmd-read-exif-data-program): Set type to file.
118292         (image-dired-create-thumb, image-dired-line-up-dynamic): Check storage
118293         type at runtime, since setting image-dired-thumb-size does not
118294         automatically set image-dired-thumb-width and image-dired-thumb-height.
118296 2016-12-15  Eli Zaretskii  <eliz@gnu.org>
118298         Prevent crashes in xg_select due to concurrency
118300         * src/xgselect.c (xg_select): Don't call Glib functions that use
118301         'context' if we failed to acquire it.  This means some other
118302         thread owns the context, in which case both using the context and
118303         calling block_input/unblock_input will step on that thread's toes
118304         and eventually lead to crashes.  (Bug#25172)
118306 2016-12-15  Nicolas Petton  <nicolas@petton.fr>
118308         Fix circular list handling in seq-mapn
118310         * lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
118311         * test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
118312           Add a regression test.
118314 2016-12-15  Michael Albinus  <michael.albinus@gmx.de>
118316         Check in tramp-tests.el, that environment variables are set correctly
118318         * test/lisp/net/tramp-tests.el (tramp--test-check-files):
118319         Check also, that environment variables are set correctly.
118321 2016-12-15  Dominique Quatravaux  <dominique.quatravaux@epfl.ch>  (tiny change)
118323         Protect environment variables with double quotes in Tramp
118325         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
118326         Protect environment variables with double quotes.
118328 2016-12-15  Tino Calancha  <tino.calancha@gmail.com>
118330         * lisp/ibuf-macs.el (define-ibuffer-filter): Wrap ,@body in a progn.
118332 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
118334         * lisp/image-dired.el (image-dired-create-thumb): Create parent directories.
118336 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
118338         * lisp/image-mode.el (image-mode-winprops-alist): Add docstring.
118340 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
118342         Recognize pngnq or pngnq-s9
118344         * lisp/image-dired.el (image-dired-cmd-pngnq-program): Also consider
118345         pngnq-s9 as a possible executable.
118347 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
118349         Update standard image-dired thumbnail location
118351         * lisp/image-dired.el (image-dired-thumb-name): Conform to the latest
118352         standard: consider XDG_CACHE_HOME, falling back on ~/.cache.
118354 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
118356         Reset window scroll when displaying an image
118358         When viewing a large image full size and scrolling, for instance, to
118359         the lower right corner, then selecting a much smaller image in the
118360         thumbnail buffer, the window stays scrolled so the new image is out of
118361         the window.  One must scroll back to the "origin" to view the new
118362         displayed image, or just kill the image-dired-display-image buffer and
118363         try again.  This fixes the issue.
118364         * lisp/image-dired.el (image-dired-display-window-width):
118365         (image-dired-display-window-height): Operate on a window as argument.
118366         (image-dired-display-image): Bind (image-dired-display-window) and use
118367         it. Set window vscroll and hscroll to zero when refreshing the
118368         buffer's contents.
118370 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
118372         More image-dired polish
118374         * lisp/image-dired.el (image-dired-file-name-at-point): New function.
118375         (image-dired-thumbnail-mode, image-dired-display-image-mode): Disable
118376         undo list. Add image-dired-file-name-at-point to
118377         file-name-at-point-functions to facilitate find-file and friends.
118378         (image-dired-thumbnail-display-external):
118379         (image-dired-dired-display-external): Use start-process instead, to
118380         avoid needlessly blocking and using a shell.
118382 2016-12-13  Phillip Lord  <phillip.lord@russet.org.uk>
118384         Replace ldefs-boot with a much smaller file
118386          * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
118387            (bootstrap): Depend on bootstrap-build.
118388          * admin/ldefs-clean.el: New file.
118389          * lisp/Makefile.in (compile-first): Depend on loaddefs.el
118390          * lisp/ldefs-boot.el: Remove.
118391          * lisp/ldefs-boot-auto.el: New file.
118392          * lisp/ldefs-boot-manual.el: New file.
118393          * lisp/loadup.el: Load ldefs-boot-manual.el.
118394          * src/emacs.c (generating_ldefs_boot): New variable.
118395            (main): Check whether we are generating ldefs.
118396          * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
118397            requested.
118398          * src/lisp.h (generating_ldefs_boot): New variable.
118399          * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
118400            lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
118401            lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
118402            ldefs-boot.
118403          * admin/update_autogen: Alter mechanism for ldefs-boot generation.
118405 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118407         Remove support for aspell < 0.60 (from 2004)
118409         lisp/textmodes/ispell.el (ispell-check-version): Require Aspell 0.60.
118410         (ispell-aspell-dictionary-alist): Remove check that we have Aspell 0.60.
118412 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118414         Minor docstring and comment fixes to ispell.el
118416         lisp/textmodes/ispell.el (ispell-aspell-dictionary-alist): Mention
118417         ispell-aspell-dictionary-alist, not ispell-dictionary-alist.
118418         (ispell-set-spellchecker-params): Change double-single quotes to
118419         single single quotes in comment.
118421 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118423         Remove unused variable
118425         * lisp/textmodes/ispell.el (current-ispell-directory): Remove.
118427 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118429         Remove XEmacs-specific ispell-with-no-warnings
118431         * lisp/textmodes/ispell.el (ispell-with-no-warnings): Remove this
118432         defmacro, needed only for XEmacs.
118433         (ispell-command-loop, ispell-message): Use with-no-warnings directly.
118435 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118437         Remove meaningless defconst ispell-version
118439         * lisp/textmodes/ispell.el (ispell-version): Since ispell.el is now
118440         firmly part of Emacs, and the version hasn’t changed since 2003, and
118441         isn’t used anywhere, remove it.  3rd-party code can better use the
118442         Emacs version, or feature or function checks.
118443         (ispell-check-version): No longer report ispell.el version.
118445 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118447         Remove boundp test for always-bound symbol
118449         * lisp/textmodes/ispell.el (ispell-message): mail-yank-prefix is
118450         defvar’d at the top of the file, so remove a test to see if it is
118451         bound.
118453 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118455         Remove support for ispell < 3.1.12
118457         * lisp/textmodes/ispell.el (ispell-offset): Remove.
118458         (ispell-check-version): Require ispell >= 3.1.12, released in 1994.
118459         (ispell-process-line): No longer use ispell-offset.
118461 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118463         Remove unused constant
118465         * lisp/textmodes/ispell.el (ispell-required-version): Remove.
118467 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118469         Remove support for old versions of supercite and GNUS from ispell.el
118471         * lisp/textmodes/ispell.el (ispell-message): Require supercite >= 3.0
118472         and GNUS >= 5.  Not exactly the bleeding edge!
118474 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118476         Remove remaining mentions of XEmacs from ispell.el
118478         * lisp/textmodes/ispell.el (ispell-valid-dictionary-list):
118479         (ispell-add-per-file-word-list): Remove mentions of XEmacs from
118480         comments.
118482 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118484         Remove XEmacs-specific minibuffer handling code from ispell.el
118486         * lisp/textmodes/ispell.el (ispell-init-process): Assume we are not in
118487         XEmacs.
118489 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118491         Remove XEmacs-specific horizontal scrollbar handling in ispell.el
118493         * lisp/textmodes/ispell.el (ispell-command-loop): Remove
118494         XEmacs-specific code.
118496 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118498         Remove XEmacs-specific code dealing with enable-multibyte-characters
118500         * lisp/textmodes/ispell.el (ispell-decode-string):
118501         (ispell-init-process):  Remove XEmacs-specific guard.
118503 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118505         Remove XEmacs-specific code from ispell.el
118507         * lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
118508         (ispell-menu-map-needed): Remove XEmacs-specific check.
118509         (ispell-word): Remove XEmacs-specific extent code.
118510         (ispell-init-process): Remove XEmacs workaround for local add-hook.
118511         Assume we have set-process-query-on-exit-flag.
118512         (ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
118513         workaround for called-interactively-p.
118515 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118517         Remove some commented-out code
118519         lisp/textmodes/ispell.el (ispell-process)
118520         ispell-valid-dictionary-list): Remove commented-out code.
118522 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118524         Remove XEmacs and old Emacs highlighting code
118526         * lisp/textmodes/ispell.el
118527         (ispell-highlight-spelling-error-xemacs): Remove.
118528         (ispell-highlight-spelling-error): Assume display-color-p exists.
118530 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118532         Assume Emacs supports [:alpha:] in regexps
118534         * lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
118535         (ispell-set-spellchecker-params): Remove tests of
118536         ispell-emacs-alpha-regexp.
118538 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118540         Remove some XEmacs-specific code from ispell.el
118542         * lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
118543         (ispell-int-char): Remove.
118545 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118547         Generalize over-specific documentation
118549         * lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
118550         document precise personal wordlist filenames for only two supported
118551         spelling checkers, simply say that the default personal dictionary
118552         depends on the chosen spelling checker.  The user can check the
118553         spelling checker’s documentation if necessary.  This is simpler, and
118554         works for other supported (and future, or unknown) spelling checkers.
118556 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118558         Remove tests for built-in functions
118560         * lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
118561         back-up definition.
118562         (ispell-add-per-file-word-list): Remove tests for comment-padright and
118563         comment-normalize-vars.
118565 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118567         Remove unused ispell-looking-back
118569         * lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.
118571 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118573         Assume we have version<= for checking ispell version
118575         * lisp/textmodes/ispell.el (ispell-check-minver): Remove.
118576         (ispell-check-version): Use version<= directly.
118578 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
118580         Remove ispell.el pre-GNU Emacs comments
118582         * lisp/textmodes/ispell.el (Commentary): Remove original maintainer
118583           details, as Emacs version, bug report address and so forth should be
118584           used instead for this version.  Remove in-line change history; use
118585           git instead.
118587 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
118589         More small fixes for image-dired
118591         * lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
118592         node.
118593         (image-dired--with-db-file): Add declare forms.
118594         (image-dired-hidden-p): Rewrite with cl-loop.  It's not necessary to
118595         run through the whole list.
118597 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
118599         Remove image-dired-kill-buffer-and-window
118601         This breaks window layout, especially when quitting a
118602         image-dired-display-image-mode buffer.
118603         * lisp/image-dired.el (image-dired-thumbnail-mode-map):
118604         (image-dired-display-image-mode-map): Replace in keymap and menu items
118605         bindings to image-dired-kill-buffer-and-window with quit-window.
118606         (image-dired-kill-buffer-and-window): Remove.
118608 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
118610         Replace image-dired-setup-dired-keybindings with a minor mode
118612         * lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
118613         remove mention of nonexistent image-dired-dired and to refer to the
118614         new minor mode.
118615         (image-dired-minor-mode-map): New keymap assimilated from
118616         image-dired-setup-dired-keybindings.  In the future, the keymap parent
118617         should be removed, and perhaps also the duplicate bindings that
118618         already exist in dired-mode-map.
118619         (image-dired-setup-dired-keybindings): Remove.  Replace with an
118620         obsolete function alias.
118621         (image-dired-minor-mode): New minor mode, assuming the role of
118622         image-dired-setup-dired-keybindings.
118624 2016-12-13  Paul Eggert  <eggert@cs.ucla.edu>
118626         * test/src/regex-resources/PTESTS: Convert to UTF-8.
118628 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
118630         Clarify thread-signal semantics
118632         * doc/lispref/threads.texi (Basic Thread Functions): Explain that the
118633         thread will be signaled as soon as possible.
118635 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
118637         Clean up var watcher disabling on thread switching
118639         * src/data.c (Fset_default): Move code into new C level function,
118640         `set_default_internal'.
118641         (set_default_internal): New function, like `Fset_default' but also takes
118642         additional bindflag parameter.
118643         (set_internal): Only call `notify_variable_watchers' if bindflag is not
118644         SET_INTERNAL_THREAD_SWITCH.
118645         * src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
118646         passed on to set_internal and set_default_internal.  Adjust callers.
118647         (rebind_for_thread_switch, unbind_for_thread_switch): Pass
118648         SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
118649         temporarily adjusting symbol's trapped_write field.
118651 2016-12-13  Glenn Morris  <rgm@gnu.org>
118653         Minor fix for define-derived-mode
118655         * lisp/emacs-lisp/derived.el (define-derived-mode):
118656         Do not let eg eval-defun reset the values of syntax or abbrev tables,
118657         since they might have been defined externally.  (Bug#16160)
118659 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
118661         * build-aux/git-hooks/pre-commit: Add whitespace comment.
118663 2016-12-12  Clément Pit--Claudel  <clement.pitclaudel@live.com>
118665         Move backtrace to ELisp using a new mapbacktrace primitive
118667         * src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
118668         (Fmapbacktrace, Fbacktrace_frame_internal): New functions.
118669         (get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
118671         * lisp/subr.el (backtrace--print-frame): New function.
118672         (backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
118673         (backtrace-frame): Reimplement using `backtrace-frame--internal'.
118675         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
118676         `mapbacktrace' instead of searching for "(debug" in the output of
118677         `backtrace'.
118679         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
118680         (subr-test-backtrace-integration-test): New tests.
118682         * doc/lispref/debugging.texi (Internals of Debugger): Document
118683         `mapbacktrace' and missing argument BASE of `backtrace-frame'.
118685 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
118687         Use C99 syntax for font drivers
118689         Problem reported by Daniel Colascione in:
118690         https://lists.gnu.org/r/emacs-devel/2016-12/msg00515.html
118691         * src/ftcrfont.c (ftcrfont_driver):
118692         * src/ftfont.c (ftfont_driver):
118693         * src/ftxfont.c (ftxfont_driver):
118694         * src/macfont.m (macfont_driver):
118695         * src/nsfont.m (nsfont_driver):
118696         * src/xfont.c (xfont_driver):
118697         * src/xftfont.c (xftfont_driver):
118698         Use C99 syntax, not the old GNU C syntax.
118700 2016-12-12  Glenn Morris  <rgm@gnu.org>
118702         Obsolete gs.el
118704         * lisp/gs.el: Move to lisp/obsolete.  (Bug#1524)
118705         * doc/lispref/display.texi (Image Formats): Remove postscript.
118706         (PostScript Images): Remove section.
118707         * doc/lispref/elisp.texi: Update menu.
118709 2016-12-12  Glenn Morris  <rgm@gnu.org>
118711         Un-revert recent Ffset change
118713         * src/data.c (Ffset): Reinstate the check for "nil".
118715 2016-12-12  Glenn Morris  <rgm@gnu.org>
118717         Minor advice.el fix
118719         * lisp/emacs-lisp/advice.el (ad-preactivate-advice):
118720         Avoid setting the function definition of nil.
118721         This was happening during bootstrap of org-compat.el,
118722         apparently due to eager macro expansion of code behind
118723         a (featurep 'xemacs) test.
118725 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
118727         Make etags-tests work in out-of-tree builds
118729         * test/lisp/progmodes/etags-tests.el (etags-bug-158)
118730         (etags-bug-23164): Make them work in an out-of-tree build.
118731         Reported by Ken Brown <kbrown@cornell.edu>.
118733 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
118735         Avoid crashing if a new thread is signaled right away
118737         * src/thread.c (post_acquire_global_lock): Don't raise the pending
118738         signal if the thread's handlers were not yet set up, as that will
118739         cause Emacs to exit with a fatal error.  This can happen if a
118740         thread is signaled as soon as make-thread returns, before the new
118741         thread had an opportunity to acquire the global lock, set up the
118742         handlers, and call the thread function.
118744         * test/src/thread-tests.el (thread-signal-early): New test.
118746 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
118748         Fix point motion in cloned buffers
118750         * src/thread.c (post_acquire_global_lock): Call
118751         set_buffer_internal_2 instead of tricking set_buffer_internal_1
118752         into resetting the current buffer even if it didn't change.  This
118753         avoids bug#25165, caused by failing to record the modified values
118754         of point and mark, because current_buffer was set to NULL.  Also,
118755         don't bother re-setting the buffer if there was no thread switch,
118756         as that just wastes cycles.
118757         * src/buffer.c (set_buffer_internal_2): New function, with most of
118758         the body of set_buffer_internal_1, but without the test for B
118759         being identical to the current buffer.
118760         (set_buffer_internal_1): Call set_buffer_internal_2 if B is not
118761         identical to the current buffer.
118762         * src/buffer.h (set_buffer_internal_2): Add prototype.
118764         * test/src/thread-tests.el (thread-sticky-point): New test.
118766 2016-12-12  Michael Albinus  <michael.albinus@gmx.de>
118768         Further improvements in Tramp's file name unquoting
118770         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
118771         (tramp-adb-handle-write-region): Unquote localname.
118772         (tramp-adb-handle-copy-file): Implement direct copy on remote device.
118773         (tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.
118775         * lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
118776         (tramp-handle-file-name-case-insensitive-p):
118777         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
118778         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
118779         (tramp-gvfs-maybe-open-connection):
118780         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
118781         * lisp/net/tramp-smb.el (tramp-smb-get-share)
118782         (tramp-smb-get-localname): Use it.
118784         * test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
118785         (tramp--test-special-characters, tramp-test34-utf8)
118786         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
118787         (tramp-test34-utf8-with-ls): Use it.
118789 2016-12-12  Martin Rudalics  <rudalics@gmx.at>
118791         Strengthen conditions for resizing sibling windows (Bug#25169)
118793         * lisp/window.el (window-resize, delete-window): Resize other siblings
118794         only if `window-combination-resize' equals t (Bug#25169).
118796 2016-12-12  Noam Postavsky  <npostavs@gmail.com>
118798         Quote filenames containing '~' in prompts
118800         When in a directory named '~', the default value given by
118801         `read-file-name' should be quoted by prepending '/:', in order to
118802         prevent it from being interpreted as referring to the $HOME
118803         directory (Bug#16984).
118805         * lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
118806         (completion--sifn-requote, read-file-name-default): Use it instead of
118807         `minibuffer--double-dollars'.
118808         * test/lisp/files-tests.el (files-test-read-file-in-~): Test it.
118810 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
118812         Undo part of last change
118814         * src/thread.h:
118815         * src/keyboard.c:
118816         * src/keyboard.h: Undo part of last change:
118817         input_available_clear_time is again a global variable.
118819 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
118821         Avoid aborts when a thread signals an error
118823         * src/thread.h (struct thread_state): Add members
118824         m_waiting_for_input and m_input_available_clear_time.
118825         (waiting_for_input, input_available_clear_time): New macros.
118826         * src/keyboard.c (waiting_for_input, input_available_clear_time):
118827         Remove; they are now macros that reference the current thread.
118828         (Bug#25171)
118829         * src/w32select.c: Don't include keyboard.h.
118831         * test/src/thread-tests.el (thread-errors): New test.
118833 2016-12-11  Philipp Stephani  <phst@google.com>
118835         Clean up compile-tests.el
118837         Switch to lexical binding.  Make checkdoc happy.
118839         * test/lisp/progmodes/compile-tests.el (compile--test-error-line)
118840         (compile-test-error-regexps): Instead of checking a single Boolean
118841         value, use `should' for each attribute of the message to be compared.
118842         (compile-tests--test-regexps-data): Document sixth list element
118843         TYPE.
118845 2016-12-11  Michael Albinus  <michael.albinus@gmx.de>
118847         Fix Bug#25162
118849         * doc/emacs/files.texi (Reverting): Document
118850         auto-revert-remote-files and auto-revert-verbose.
118852         * lisp/autorevert.el (auto-revert-verbose, auto-revert-mode)
118853         (auto-revert-tail-mode, global-auto-revert-mode): Fix docstring.
118855 2016-12-11  Glenn Morris  <rgm@gnu.org>
118857         Fix a typo in define-abbrev-table
118859         * lisp/abbrev.el (define-abbrev-table): Fix typo in docstring handling.
118861 2016-12-11  Glenn Morris  <rgm@gnu.org>
118863         Improve previous cperl-mode change
118865         * lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
118866         Improve previous change.
118868 2016-12-11  Glenn Morris  <rgm@gnu.org>
118870         Mark default cperl abbrevs as system ones
118872         * lisp/progmodes/cperl-mode.el (cperl-mode):
118873         Mark our abbrevs as system ones.  (Bug#10934)
118875 2016-12-11  Glenn Morris  <rgm@gnu.org>
118877         Revert earlier Ffset change
118879         * src/data.c (Ffset): Allow nil again, since it caused
118880         eager macro-expansion failures.
118882 2016-12-11  Glenn Morris  <rgm@gnu.org>
118884         Tweaks for message bogus address detection
118886         * lisp/gnus/message.el (message-bogus-recipient-p):
118887         Do not require "@", since some mailers deliver to local addresses
118888         without one.  (Bug#23054)
118889         Move "@.*@" from here...
118890         (message-bogus-addresses): ...to here, so it can be customized.
118892 2016-12-11  Glenn Morris  <rgm@gnu.org>
118894         Do not allow nil to be defined as a function
118896         * lisp/emacs-lisp/byte-run.el (defun):
118897         * src/data.c (Ffset): Do not allow "nil".  (Bug#25110)
118899 2016-12-11  Glenn Morris  <rgm@gnu.org>
118901         Bump makeinfo requirement from 4.7 to 4.13
118903         * configure.ac: Bump makeinfo version requirement from 4.7 to 4.13.
118904         We need at least 4.8, and that may be buggy, so go for the last
118905         of the 4 series, which is 8 years old.  (Bug#25108)
118907 2016-12-11  Glenn Morris  <rgm@gnu.org>
118909         Fixes related to select-enable-clipboard
118911         * lisp/menu-bar.el (clipboard-yank, clipboard-kill-ring-save)
118912         (clipboard-kill-region):
118913         * lisp/eshell/esh-io.el (eshell-virtual-targets)
118914         (eshell-clipboard-append):
118915         Replace option gui-select-enable-clipboard with
118916         select-enable-clipboard; renamed October 2014.  (Bug#25145)
118918 2016-12-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
118920         Add some sanity checking of defun arglist
118922         * lisp/emacs-lisp/byte-run.el (defun):
118923         Check for malformed argument lists.  (Bug#15715)
118925 2016-12-11  Matt Armstrong  <marmstrong@google.com>  (tiny change)
118927         Minor shell-mode fix for zsh
118929         * lisp/shell.el (shell-mode): Prevent shell-dirstack-query
118930         becoming confused by zsh abbreviations.  (Bug#24632)
118932 2016-12-10  Noam Postavsky  <npostavs@gmail.com>
118934         Define struct predicate before acccesors
118936         The accessor functions use the predicate function, which causes problems
118937         when reloading after unload-feature: the compiler-macro property is
118938         still present on the predicate symbol, and the compiler fails to find
118939         the definition when trying to inline it into the accessor
118940         function (Bug#25088).
118942         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
118943         before field accessor definitions.
118945 2016-12-10  Andreas Schwab  <schwab@linux-m68k.org>
118947         * Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
118948         system unit file.
118950 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
118952         Support concurrency in Emacs Lisp
118954         Merge branch 'test-concurrency'
118956         * src/thread.c:
118957         * src/thread.h:
118958         * src/systhread.c:
118959         * src/systhread.h: New files.
118960         * src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
118961         xnmalloc unconditionally.
118962         * src/window.c (struct save_window_data): Rename current_buffer to
118963         f_current_buffer.
118964         * src/w32proc.c (sys_select): Change the function signature to
118965         closer fit 'pselect' on Posix hosts.
118966         * src/search.c:
118967         * src/regex.h: Convert some globals to macros that reference
118968         thread-specific values.
118969         * src/process.c (pset_thread, add_non_keyboard_read_fd)
118970         (add_process_read_fd, add_non_blocking_write_fd)
118971         (recompute_input_desc, compute_input_wait_mask)
118972         (compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
118973         (compute_write_mask, clear_waiting_thread_info)
118974         (update_processes_for_thread_death, Fset_process_thread)
118975         (Fprocess_thread): New functions.
118976         (enum fd_bits): New enumeration.
118977         (fd_callback_data): Add 'thread' and 'waiting_thread', rename
118978         'condition' to 'flags'.
118979         (set_process_filter_masks, create_process, create_pty)
118980         (Fmake_serial_process, finish_after_tls_connection)
118981         (connect_network_socket, deactivate_process)
118982         (server_accept_connection, wait_reading_process_output)
118983         (Fcontinue_process, Fstop_process, keyboard_bit_set)
118984         (add_timer_wait_descriptor, add_keyboard_wait_descriptor)
118985         (delete_keyboard_wait_descriptor): Use the new functions instead
118986         of manipulating fd flags and masks directly.
118987         (syms_of_process): Defsubr the new primitives.
118988         * src/print.c (print_object): Print threads, mutexes, and
118989         conditional variables.
118990         * src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
118991         and PVEC_CONDVAR.
118992         (XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
118993         (CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
118994         (XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
118995         (struct handler): Add back byte_stack.  Rename lisp_eval_depth to
118996         f_lisp_eval_depth.
118997         * src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
118998         (rebind_for_thread_switch, do_one_unbind)
118999         (unbind_for_thread_switch): New functions.
119000         (init_eval): 'handlerlist' is not malloc'ed.
119001         (specbind): Call do_specbind.
119002         (unbind_to): Call do_one_unbind.
119003         (mark_specpdl): Accept 2 arguments.
119004         (mark_specpdl): Mark the saved value in a let-binding.
119005         * src/emacs.c (main): Call init_threads_once, init_threads, and
119006         syms_of_threads.
119007         * src/data.c (Ftype_of): Support thread, mutex, and condvar
119008         objects.
119009         (Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
119010         (syms_of_data): DEFSYM and defsubr new symbols and primitives.
119011         * src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
119012         (BYTE_CODE_QUIT): Add back.
119013         (exec_byte_code): Add back byte stack manipulation.
119014         * src/alloc.c (cleanup_vector): Handle threads, mutexes, and
119015         conditional variables.
119016         (mark_stack): Now extern; accept additional argument 'bottom'.
119017         (flush_stack_call_func): New function.
119018         (garbage_collect_1): Call mark_threads and unmark_threads.  Don't
119019         mark handlers.
119020         * src/.gdbinit (xbytecode): Add back.
119022         * test/src/thread-tests.el: New tests.
119023         * test/src/data-tests.el (binding-test-manual)
119024         (binding-test-setq-default, binding-test-makunbound)
119025         (binding-test-defvar-bool, binding-test-defvar-int)
119026         (binding-test-set-constant-t, binding-test-set-constant-nil)
119027         (binding-test-set-constant-keyword)
119028         (binding-test-set-constant-nil): New tests.
119030         * doc/lispref/processes.texi (Processes and Threads): New
119031         subsection.
119032         * doc/lispref/threads.texi: New file
119033         * doc/lispref/elisp.texi (Top): Include it.
119034         * doc/lispref/objects.texi (Thread Type, Mutex Type)
119035         (Condition Variable Type): New subsections.
119036         (Type Predicates): Add thread-related predicates.
119037         * doc/lispref/objects.texi (Editing Types):
119038         * doc/lispref/elisp.texi (Top): Update higher-level menus.
119040         * etc/NEWS: Mention concurrency features.
119042 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
119044         Fix error messages in thread.c
119046         * src/thread.c (lisp_mutex_unlock, Fcondition_wait)
119047         (Fcondition_notify, Fthread_join): Fix error messages.
119049 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
119051         Improve doc strings in thread.c
119053         * src/thread.c (Fmake_condition_variable, Fcondition_wait)
119054         (Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
119055         (Fthread_join, Fall_threads): Doc fixes.
119057 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
119059         Fix building with check-lisp-object-type
119061         * src/thread.c (mark_one_thread): Use NILP to compare with
119062         m_saved_last_thing_searched, which is a Lisp object.  Reported by
119063         Andreas Politz <politza@hochschule-trier.de>.
119065 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
119067         Documentation and commentary improvements
119069         * src/lisp.h:
119070         * src/regex.c:
119071         * src/xgselect.c (xg_select): Improve commentary and formatting.
119073         * doc/lispref/objects.texi (Thread Type, Mutex Type)
119074         (Condition Variable Type): New subsections.
119075         (Type Predicates): Add thread-related predicates.
119076         * doc/lispref/objects.texi (Editing Types):
119077         * doc/lispref/elisp.texi (Top): Update higher-level menus.
119079 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
119081         Fix further problems with quoted file names in Tramp
119083         * lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
119084         (tramp-unquote-name): Move defsubst ...
119085         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
119086         (tramp-compat-file-name-quote)
119087         (tramp-compat-file-name-unquote): ... here. Adapt callees.
119089         * lisp/net/tramp-cache.el (tramp-flush-file-property)
119090         (tramp-flush-directory-property):
119091         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
119092         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
119093         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
119094         (tramp-smb-handle-substitute-in-file-name)
119095         (tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
119097 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
119099         *src/sysdep.c: Fix a comment.
119101 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
119103         Fix compilation error on Fedora 24
119105         * src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
119106         Reported by Paul Eggert <eggert@cs.ucla.edu>.
119108 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
119110         Fix compilation warnings due to prototype of thread_select
119112         * src/thread.h <int select_func>: Make the 5th and 6th arguments
119113         be 'const'.
119114         * src/process.c [WINDOWSNT]:
119115         * src/w32proc.c: Make the 5th and 6th argument to sys_select be
119116         'const'.
119118 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
119120         Fix compilation on Debian GNU/Linux
119122         * src/thread.h: Include sys/types.h, for ssize_t that regex.h
119123         uses.  Reported by Robert Marshall <robert.marshall@codethink.co.uk>.
119125 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
119127         Fix subtle errors with let-binding of localized variables
119129         * src/eval.c (do_specbind): Don't require a "symbol" that is
119130         actually a cons cell, in order to call set-default, as there are
119131         no longer such bindings.  This makes do_specbind work like the
119132         pre-concurrency implementation in specbind for bindings of
119133         forwarded symbols.  Use specpdl_kind to access the type of the
119134         binding.
119135         (specpdl_kind): New function.
119137 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
119139         Document file-name-quote, file-name-unquote and file-name-quoted-p
119141         * doc/lispref/files.texi (File Name Expansion):
119142         * etc/NEWS: Mention file-name-quote, file-name-unquote and
119143         file-name-quoted-p.
119145         * lisp/files.el (file-name-non-special): Revert using
119146         file-name-quote, file-name-unquote and file-name-quoted-p.
119148 2016-12-09  Noam Postavsky  <npostavs@gmail.com>
119150         Fix bad quoting of python-shell-interpreter
119152         `python-shell-calculate-command' was using `shell-quote-argument' as if
119153         it was generating a shell command, but its callers don't pass the result
119154         to a shell, and they expect to parse it with `split-string-and-unquote'.
119155         This caused problems depending on the flavor of shell quoting in
119156         effect (Bug#25025).
119158         * lisp/progmodes/python.el (python-shell-calculate-command): Use
119159         `combine-and-quote-strings' to quote the interpreter, so that it can be
119160         parsed by `python-shell-make-comint' successfully using
119161         `split-string-and-unquote'.
119163 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
119165         * src/lisp.h (struct terminal): Remove unnecessary forward decl.
119167 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
119169         Make read1 more reentrant
119171         This is needed if ‘read’ is called soon after startup, before the
119172         Unicode tables have been set up, and it reads a \N escape and
119173         needs to look up a value the Unicode tables, a lookup that in turn
119174         calls read1 recursively.  Although this change doesn’t make ‘read’
119175         fully reentrant, it’s good enough to handle this case.
119176         * src/lread.c (read_buffer_size, read_buffer): Remove static vars.
119177         (grow_read_buffer): Revamp to use locals, not statics, and to
119178         record memory allocation un the specpdl.  All callers changed.
119179         (read1): Start with a stack-based buffer, and use the heap
119180         only if the stack buffer is too small.  Use unbind_to to
119181         free any heap buffer allocated.  Use bool for boolean.
119182         Redo symbol loop so that only one call to grow_read_buffer
119183         is needed.
119184         (init_obarray): Remove no-longer-needed initialization.
119186 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
119188         Fix compilation warnings
119190         * src/thread.c (Fmake_thread): Call emacs_abort, to avoid
119191         compilation warning.
119193 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
119195         Fix unlikely substitute-command-keys memory leak
119197         * src/doc.c (Fsubstitute_command_keys):
119198         Free buffer when unwinding.
119200 2016-12-08  Michael Albinus  <michael.albinus@gmx.de>
119202         Add file-name-quoted-p, file-name-quote, file-name-unquote
119204         * lisp/files.el (file-name-quoted-p, file-name-quote)
119205         (file-name-unquote): New defsubst.
119206         (find-file--read-only, find-file-noselect)
119207         (file-name-non-special): Use them.
119209 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
119211         Add a NEWS entry.
119213 2016-12-08  Glenn Morris  <rgm@gnu.org>
119215         Minor fix for symbol-file
119217         * lisp/subr.el (symbol-file): Avoid false matches with "require"
119218         elements in load-history.  (Bug#25109)
119220 2016-12-08  Glenn Morris  <rgm@gnu.org>
119222         Doc fix for vc-git
119224         * lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.
119226 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
119228         Fix Bug#24962
119230         * lisp/buff-menu.el (list-buffers--refresh):
119231         List buffers with name starting with " " if they visit a file.
119232         * test/lisp/buff-menu-tests.el (buff-menu-24962):
119233         Update test result as pass.
119235 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
119237         ediff-fixup-patch-map: Improve prompt
119239         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
119240         Make clear in the prompt when we are applying a multi patch.
119242 2016-12-08  Glenn Morris  <rgm@gnu.org>
119244         Retain message logging in map-y-or-n-p
119246         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
119247         Stop disabling logging to Messages buffer.  (Bug#13326)
119249 2016-12-08  Glenn Morris  <rgm@gnu.org>
119251         Doc fix for recent change
119253         * lisp/simple.el (region-modifiable-p): Doc fix.
119255 2016-12-08  Glenn Morris  <rgm@gnu.org>
119257         Quieten make-dist default operation
119259         * make-dist: Add --verbose option.  Default to quieter operation.
119261 2016-12-08  Glenn Morris  <rgm@gnu.org>
119263         Further improve make-dist checking
119265         * make-dist: Print status messages when checking.
119267 2016-12-08  Glenn Morris  <rgm@gnu.org>
119269         Improve previous make-dist change
119271         * make-dist: Let make check the info files more thoroughly.
119273 2016-12-08  Glenn Morris  <rgm@gnu.org>
119275         Make make-dist --snapshot do some sanity checks
119277         * make-dist: Snapshot mode no longer disables checks.
119278         Checks now includes checks for freshness.  (Bug#25084)
119279         Checks now exits with an error if problems were found.
119281 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
119283         Fix regression introduced by commit 7b1e97f
119285         * lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
119286         of cadr; required after commit 20f5a5b.
119288 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119290         Put post-25 ChangeLog entries into ChangeLog.3
119292         * ChangeLog.2: Copy from emacs-25 branch.
119293         * ChangeLog.3: New file, with changes only in master.
119294         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
119296 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
119298         Fix network streams.
119300         The original code messed up flags in fd_callback_data[], and also
119301         didn't call add_process_read_fd for process-related file descriptors.
119303 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
119305         Minimize spurious diffs from master.
119307 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
119309         Fix the test suite
119311         * test/automated/bindings.el: Contents moved to
119312         test/src/data-tests.el.
119313         * test/automated/threads.el: Moved to test/src/thread-tests.el.
119315 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
119317         Fix a typo in bytecode.c.
119319 2016-12-05  Eli Zaretskii  <eliz@gnu.org>
119321         Fix compilation problems.
119323         Fix merged code in process.c and eval.c.
119325 2016-12-04  Eli Zaretskii  <eliz@gnu.org>
119327         Merge branch 'concurrency'
119329         Conflicts (resolved):
119330                 configure.ac
119331                 src/Makefile.in
119332                 src/alloc.c
119333                 src/bytecode.c
119334                 src/emacs.c
119335                 src/eval.c
119336                 src/lisp.h
119337                 src/process.c
119338                 src/regex.c
119339                 src/regex.h
119341 2015-11-02  Eli Zaretskii  <eliz@gnu.org>
119343         Fix the MS-Windows build
119345         * src/thread.h [WINDOWSNT]: Include sys/socket.h.
119347         * src/sysselect.h: Don't define fd_set and FD_* macros for
119348         MS-Windows here.
119349         * src/w32.h: Define them here.
119351         * src/process.h (sys_select): Declare prototype.
119353         * src/sysdep.c:
119354         * src/process.c:
119355         * src/filelock.c:
119356         * src/emacs.c:
119357         * src/callproc.c: Move inclusion of sys/select.h after lisp.h.
119358         * nt/inc/socket.h: Include w32.h instead of sysselect.h
119360 2015-11-01  Ken Raeburn  <raeburn@raeburn.org>
119362         merge from trunk
119364 2013-10-19  Barry O'Reilly  <gundaetiapo@gmail.com>
119366         * src/eval.c (unbind_for_thread_switch): Fix iteration over the
119367         specpdl stack.
119369 2013-10-18  Tom Tromey  <tromey@redhat.com>
119371         change condition-variablep to condition-variable-p
119373 2013-09-01  Eli Zaretskii  <eliz@gnu.org>
119375         Fix crashes when unbind_for_thread_switch signals an error.
119377          src/eval.c (unbind_for_thread_switch): Accept a 'struct
119378          thread_state *' argument and use specpdl_ptr and specpdl of that
119379          thread.  Fixes crashes if find_symbol_value signals an error.
119380          src/thread.c (post_acquire_global_lock): Update current_thread
119381          before calling unbind_for_thread_switch.  Pass the previous thread
119382          to unbind_for_thread_switch.
119384 2013-08-31  Eli Zaretskii  <eliz@gnu.org>
119386         Improve MS-Windows implementation of threads.
119388          src/systhread.c (sys_cond_init): Set the 'initialized' member to
119389          true only if initialization is successful.  Initialize wait_count
119390          and wait_count_lock.
119391          (sys_cond_wait, sys_cond_signal, sys_cond_broadcast): If
119392          'initialized' is false, do nothing.
119393          (sys_cond_wait): Fix the implementation to avoid the "missed
119394          wakeup" bug: count the waiting threads, and reset the broadcast
119395          event once the last thread was released.
119396          (sys_cond_signal, sys_cond_broadcast): Use SetEvent instead of
119397          PulseEvent.  Don't signal the event if no threads are waiting.
119398          (sys_cond_destroy): Only close non-NULL handles.
119399          (sys_thread_create): Return zero if unsuccessful, 1 if successful.
119400          src/systhread.h (w32thread_cond_t): New member 'initialized'.
119401          Rename waiters_count and waiters_count_lock to wait_count and
119402          wait_count_lock, respectively.
119404 2013-08-30  Eli Zaretskii  <eliz@gnu.org>
119406         Enable thread support in the MS-Windows build.
119408          src/systhread.h (w32thread_critsect, w32thread_cond_t, sys_mutex_t)
119409          (sys_cond_t, sys_thread_t) [WINDOWSNT]: New data types.
119410          src/systhread.c (sys_mutex_init, sys_mutex_lock, sys_mutex_unlock)
119411          (sys_mutex_destroy, sys_cond_init, sys_cond_wait)
119412          (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy)
119413          (sys_thread_self, sys_thread_equal, w32_beginthread_wrapper)
119414          (sys_thread_create, sys_thread_yield) [WINDOWSNT]: New functions.
119416          configure.ac (THREADS_ENABLED): Enable threads for MinGW, even
119417          if pthreads is not available.
119419 2013-08-27  Tom Tromey  <tromey@redhat.com>
119421         use condition-notify in the docs, not condition-signal
119423         zap until-condition docs
119425         zap until-condition
119427         rename thread-blocker to thread--blocker
119429         remove binding_symbol
119431         fix style of threadp, mutexp, and condition-variable-p
119433         make thread_check_current_buffer return bool
119435         add a comment before flush_stack_call_func
119437         fix whitespace_regexp warning
119439 2013-08-26  Eli Zaretskii  <eliz@gnu.org>
119441         Fix MS-Windows build.
119443          src/callproc.c:
119444          src/emacs.c:
119445          src/filelock.c:
119446          src/process.c:
119447          src/sysdep.c:
119448          src/w32.c: Reshuffle Windows-specific headers to avoid errors with
119449          redefinition of fd_set etc.
119450          src/process.c: Don't use num_pending_connects when
119451          NON_BLOCKING_CONNECT is not defined.
119452          src/sysselect.h: Move definitions of FD_* macros and of SELECT_TYPE
119453          here from w32.h.
119454          src/w32proc.c (sys_select): Adjust the argument types to what
119455          thread.h expects.
119457          nt/inc/sys/socket.h: Include stdint.h.  Include sysselect.h instead
119458          of w32.h.
119460 2013-08-26  Tom Tromey  <tromey@redhat.com>
119462         use record_unwind_protect_void, avoid warning
119464         implement --enable-threads and a thread-less mode
119466 2013-08-25  Tom Tromey  <tromey@redhat.com>
119468         merge from trunk
119470 2013-08-20  Tom Tromey  <tromey@redhat.com>
119472         fix up some merge errors in process.c
119474         remove a dead function
119475         clean up a fixme I added in create_pty during the merge
119477 2013-08-20  Tom Tromey  <tromey@redhat.com>
119479         merge from trunk
119481 2013-07-26  Tom Tromey  <tromey@redhat.com>
119483         merge from trunk
119485 2013-07-13  Tom Tromey  <tromey@redhat.com>
119487         Merge from trunk
119489 2013-07-12  Tom Tromey  <tromey@redhat.com>
119491         Use thread_alive_p in a couple more spots
119493 2013-07-07  Tom Tromey  <tromey@redhat.com>
119495         fix xfree bug in run_thread
119497         this fixes run_thread to account for the dummy slot
119498         in specpdl
119500 2013-07-07  Tom Tromey  <tromey@redhat.com>
119502         merge from trunk
119504         this merges from trunk and fixes various build issues.
119505         this needed a few ugly tweaks.
119506         this hangs in "make check" now
119508 2013-07-06  Tom Tromey  <tromey@redhat.com>
119510         add assertion to flush_stack_call_func
119512         functions called via flush_stack_call_func are assumed
119513         to return with the global lock held again, and with
119514         current_thread reset.  this assertion verifies part of this
119516 2013-07-06  Tom Tromey  <tromey@redhat.com>
119518         call init_primary_thread from init_threads
119520 2013-07-05  Tom Tromey  <tromey@redhat.com>
119522         avoid SAFE_ALLOCA
119524         avoid SAFE_ALLOCA in xgselect.c.
119525         in this code it is just as easy to always use malloc;
119526         and it avoids thread-switching problems, as the safe-alloca
119527         stuff implicitly refers to the current thread
119529 2013-07-05  Tom Tromey  <tromey@redhat.com>
119531         avoid current_thread sometimes
119533         this tweaks thread.c to use 'self' instead of current_thread
119534         in a couple spots.  this is clearer and more robust
119536 2013-07-05  Tom Tromey  <tromey@redhat.com>
119538         initialize saved_value
119540         initialize the saved_value field in all needed cases
119541         also, add an assertion to do_one_unbind
119543 2013-07-04  Tom Tromey  <tromey@redhat.com>
119545         fix buglet in test case
119547 2013-07-04  Tom Tromey  <tromey@redhat.com>
119549         unlink thread later
119551         unlink thread from global list later
119552         also remove some unnecessary destruction code
119554 2013-07-04  Tom Tromey  <tromey@redhat.com>
119556         introduce thread_alive_p macro
119558         This introduces the thread_alive_p macro and changes
119559         thread-alive-p to use it.  This is a minor cleanup.
119560         It also changes all-threads to ignore dead threads.
119562 2013-07-03  Tom Tromey  <tromey@redhat.com>
119564         Don't call unbind_for_thread_switch in run_thread
119566         This removes the call to unbind_for_thread_switch from run_thread.
119567         This isn't necessary because acquire_global_lock does it properly.
119569 2013-07-03  Tom Tromey  <tromey@redhat.com>
119571         remove unused field from struct thread_state
119573         Fix a comment.
119575 2013-06-13  Tom Tromey  <tromey@redhat.com>
119577         merge from trunk
119579 2013-06-06  Tom Tromey  <tromey@redhat.com>
119581         fix a few latent issues in the thread patch
119583         * we called unbind_for_thread_switch unconditionally, but this
119584           is wrong if the previous thread exited
119585         * likewise, exiting a thread should clear current_thread
119586         * redundant assignment in run_thread
119587         * clean up init_threads - no need to re-init the primary thread
119589         This patch still sometimes causes weird hangs in "make check".
119590         However, I think that is a kernel bug, since Emacs enters the zombie
119591         state but its parent process hangs in wait.  This shouldn't happen.
119593 2013-06-04  Tom Tromey  <tromey@redhat.com>
119595         update eval.c to make it build again after the merge
119597 2013-06-03  Tom Tromey  <tromey@redhat.com>
119599         merge from trunk; clean up some issues
119601 2013-03-18  Tom Tromey  <tromey@redhat.com>
119603         don't let kill-buffer kill a buffer if it is current in any thread
119605 2013-03-18  Tom Tromey  <tromey@redhat.com>
119607         fix process bugs
119609         Fix some process-related bugs, mostly thinkos from the conversion to
119610         recording fd state as flags.
119611         This now passes the test suite without hanging.
119613 2013-03-17  Tom Tromey  <tromey@redhat.com>
119615         merge from trunk
119617 2013-03-08  Tom Tromey  <tromey@redhat.com>
119619         merge from trunk
119621 2013-01-16  Tom Tromey  <tromey@redhat.com>
119623         merge from trunk
119625 2013-01-06  Tom Tromey  <tromey@redhat.com>
119627         merge from trunk
119629 2012-12-23  Tom Tromey  <tromey@redhat.com>
119631         mention let bindings and lack of other ways to rewind
119633 2012-12-17  Tom Tromey  <tromey@redhat.com>
119635         Remove bit accidentally left over from the merge
119637         merge from trunk
119639 2012-09-04  Tom Tromey  <tromey@redhat.com>
119641         merge from trunk
119643         link from thread docs to match data
119645 2012-08-27  Tom Tromey  <tromey@redhat.com>
119647         cannot thread-join the current thread
119649         fix test suite for condition-variable-p name change
119651         add tests for variable bindings
119653 2012-08-25  Tom Tromey  <tromey@redhat.com>
119655         minor update to thread-join docs
119657 2012-08-24  Tom Tromey  <tromey@redhat.com>
119659         minor documentation updates
119661 2012-08-23  Tom Tromey  <tromey@redhat.com>
119663         document until-condition
119665         first draft of threads documentation
119667         rename condition-variablep to condition-variable-p
119669         document process-thread and set-process-thread
119671 2012-08-20  Tom Tromey  <tromey@redhat.com>
119673         pass the thread name to the OS if possible
119675         use prctl to pass the thread name to the OS, if possible
119677 2012-08-20  Tom Tromey  <tromey@redhat.com>
119679         add convenience macros with-mutex and until-condition
119681         with-mutex is a safe way to run some code with a mutex held.
119682         until-condition is a safe way to wait on a condition variable.
119684 2012-08-20  Tom Tromey  <tromey@redhat.com>
119686         Merge from trunk
119688 2012-08-19  Tom Tromey  <tromey@redhat.com>
119690         another docstring fixlet
119692         minor docstring fixup
119694         add condition-mutex and condition-name
119696         ensure name of a thread is a string
119698         ensure name of a mutex is a string
119700         use NILP
119702 2012-08-19  Tom Tromey  <tromey@redhat.com>
119704         condition variables
119706         This implements condition variables for elisp.
119707         This needs more tests.
119709 2012-08-19  Tom Tromey  <tromey@redhat.com>
119711         comment fixes
119713 2012-08-19  Tom Tromey  <tromey@redhat.com>
119715         refactor systhread.h
119717         This refactors systhread.h to move the notion of a "lisp mutex"
119718         into thread.c.  This lets us make make the global lock and
119719         post_acquire_global_lock static.
119721 2012-08-17  Tom Tromey  <tromey@redhat.com>
119723         write docstrings for the thread functions
119725         declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.h
119727 2012-08-15  Tom Tromey  <tromey@redhat.com>
119729         add test case for I/O switching
119731 2012-08-15  Tom Tromey  <tromey@redhat.com>
119733         process changes
119735         This changes wait_reading_process_output to handle threads better.  It
119736         introduces a wrapper for select that releases the global lock, and it
119737         ensures that only a single thread can select a given file descriptor
119738         at a time.
119740         This also adds the thread-locking feature to processes.  By default a
119741         process can only have its output accepted by the thread that created
119742         it.  This can be changed using set-process-thread.  (If the thread
119743         exits, the process is again available for waiting by any thread.)
119745         Note that thread-signal will not currently interrupt a thread blocked
119746         on select.  I'll fix this later.
119748 2012-08-15  Tom Tromey  <tromey@redhat.com>
119750         Prepare process.c for threads by not having global select masks.
119751         The next step is to make it so selects can choose fds by thread.
119753 2012-08-15  Tom Tromey  <tromey@redhat.com>
119755         fix a latent bug in process.c
119757         * src/process.c (wait_reading_process_output): Check Writeok bits,
119758         not write_mask.
119760 2012-08-15  Tom Tromey  <tromey@redhat.com>
119762         This adds thread-blocker, a function to examine what a thread is
119763         blocked on.  I thought this would be another nice debugging addition.
119765         This adds names to mutexes.  This seemed like a nice debugging
119766         extension.
119768         This adds some tests of the threading code.
119770 2012-08-15  Tom Tromey  <tromey@redhat.com>
119772         This supplies the mutex implementation for Emacs Lisp.
119774         A lisp mutex is implemented using a condition variable, so that we can
119775         interrupt a mutex-lock operation by calling thread-signal on the
119776         blocking thread.  I did things this way because pthread_mutex_lock
119777         can't readily be interrupted.
119779 2012-08-15  Tom Tromey  <tromey@redhat.com>
119781         This adds most of the thread features visible to emacs lisp.
119783         I roughly followed the Bordeaux threads API:
119785         http://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation
119787         ... but not identically.  In particular I chose not to implement
119788         interrupt-thread or destroy-thread, but instead a thread-signaling
119789         approach.
119791         I'm still undecided about *default-special-bindings* (which I did not
119792         implement).  I think it would be more emacs-like to capture the let
119793         bindings at make-thread time, but IIRC Stefan didn't like this idea
119794         the first time around.
119796         There are one or two semantics issues pointed out in the patch where I
119797         could use some advice.
119799 2012-08-15  Tom Tromey  <tromey@redhat.com>
119801         This turns thread_state into a pseudovector and updates various bits
119802         of Emacs to cope.
119804 2012-08-15  Tom Tromey  <tromey@redhat.com>
119806         This introduces some new functions to handle the specpdl.  The basic
119807         idea is that when a thread loses the interpreter lock, it will unbind
119808         the bindings it has put in place.  Then when a thread acquires the
119809         lock, it will restore its bindings.
119811         This code reuses an existing empty slot in struct specbinding to store
119812         the current value when the thread is "swapped out".
119814         This approach performs worse than my previously planned approach.
119815         However, it was one I could implement with minimal time and
119816         brainpower.  I hope that perhaps someone else could improve the code
119817         once it is in.
119819 2012-08-15  Tom Tromey  <tromey@redhat.com>
119821         This introduces the low-level system threading support.  It also adds
119822         the global lock.  The low-level support is a bit over-eager, in that
119823         even at the end of the present series, it will not all be used.  I
119824         think thiat is ok since I plan to use it all eventually -- in
119825         particular for the emacs lisp mutex implementation.
119827         I've only implemented the pthreads-based version.  I think it should
119828         be relatively clear how to port this to other systems, though.
119830         I'd also like to do a "no threads" port that will turn most things
119831         into no-ops, and have thread-creation fail.  I was thinking perhaps
119832         I'd make a future (provide 'threads) conditional on threads actually
119833         working.
119835         One other minor enhancement available here is to make it possible to
119836         set the name of the new thread at the OS layer.  That way gdb, e.g.,
119837         could display thread names.
119839 2012-08-15  Tom Tromey  <tromey@redhat.com>
119841         This parameterizes the GC a bit to make it thread-ready.
119843         The basic idea is that whenever a thread "exits lisp" -- that is,
119844         releases the global lock in favor of another thread -- it must save
119845         its stack boundaries in the thread object.  This way the boundaries
119846         are always available for marking.  This is the purpose of
119847         flush_stack_call_func.
119849         I haven't tested this under all the possible GC configurations.
119850         There is a new FIXME in a spot that i didn't convert.
119852         Arguably all_threads should go in the previous patch.
119854 2012-08-15  Tom Tromey  <tromey@redhat.com>
119856         This introduces a thread-state object and moves various C globals
119857         there.  It also introduces #defines for these globals to avoid a
119858         monster patch.
119860         The #defines mean that this patch also has to rename a few fields
119861         whose names clash with the defines.
119863         There is currently just a single "thread"; so this patch does not
119864         impact Emacs behavior in any significant way.
119866 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119868         Merge from origin/emacs-25
119870         eeecac7 Fix minor quoting problems in doc strings
119872 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119874         Merge from origin/emacs-25
119876         35ce3fb Don't assume window-point and point are the same
119878 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119880         Merge from origin/emacs-25
119882         ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change.  ...
119883         8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
119884         c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change.
119885         93d8346 Improve indexing of 'man'
119887 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119889         Merge from origin/emacs-25
119891         d31298d Fix documentation of `window-combination-resize'
119892         2086f4c Typo fixes in elisp manual
119894 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119896         Merge from origin/emacs-25
119898         3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
119899         5878abf Fix 'expand-file-name' during startup on MS-Windows
119901 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119903         Merge from origin/emacs-25
119905         9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition.
119906         6d27423 Tweak refcard note about documentation location
119907         e46a134 Improve treatment of Fortran's "class is"
119909 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119911         Merge from origin/emacs-25
119913         93c0f51 Handle TeX comments when making new paragraph
119914         e0884f1 Restore keystroke echo in 'C-q'
119915         a6213ce Improve documentation of 'current-word'
119916         0828126 Fix a typo in an Eshell defcustom
119917         2e361c7 Minor copyedits of electric-pair-mode
119918         7499ee8 ; Minor copyedit in the Emacs manual
119919         45b652b Fix documentation of 'invocation-directory'
119920         7f43d7c * admin/authors.el (authors-aliases): Add an entry.
119921         ba48880 ; Fix pl-refcard.tex
119923 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119925         Merge from origin/emacs-25
119927         7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary.
119929 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119931         Merge from origin/emacs-25
119933         3d63b48 Update ChangeLog files and authors.el
119934         9d30264 Fix menu bindings of Dired 'A' and 'Q' commands
119935         a725592 Avoid errors in shr-pixel-column due to dedicated windows
119936         3138598 Update format-time-string documentation
119938 2016-12-07  Sam Steingold  <sds@gnu.org>
119940         delete-trailing-whitespace: handle read-only text in buffer
119942         * lisp/simple.el (region-modifiable-p): New function.
119943         (delete-trailing-whitespace): Use it to avoid trying to delete read-only text.
119945 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119947         Fix minor quoting problems in doc strings
119949 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119951         Fix --enable-gcc-warnings --with-ns on Fedora
119953         * src/Makefile.in (NON_OBJC_CFLAGS): New macro.
119954         (ALL_OBJC_CFLAGS): Use it.
119955         (EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS.
119956         (ALL_CFLAGS, ALL_OBJC_FLAGS): Use it.
119958 2016-12-07  Michael Albinus  <michael.albinus@gmx.de>
119960         Fix problems in quoting Tramp file names
119962         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
119963         (tramp-unquote-shell-quote-argument): New defun.
119964         (tramp-shell-quote-argument):
119965         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
119966         (tramp-make-copy-program-file-name):
119967         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
119968         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
119969         (tramp-smb-shell-quote-argument): Use it.
119971 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
119973         ibuffer-map-deletion-lines: Re-included it
119975         It was deleted in previous commit, but it's referenced
119976         by the macro 'define-ibuffer-op'.
119977         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it.
119979 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
119981         ibuffer-unmark-all: simplify code
119983         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it.
119984         (ibuffer-unmark-all): Simplify code.
119986 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
119988         define-ibuffer-filter: Discard wrong filters
119990         * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store
119991         in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042).
119992         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test.
119994 2016-12-07  Philipp Stephani  <p.stephani2@gmail.com>
119996         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
119998         so that it matches the actual implementation.
119999         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
120001 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
120003         ibuffer-decompose-filter-group avoid unwanted side effects
120005         * lisp/ibuf-ext.el (ibuffer-delete-alist): Remove it.
120006         (ibuffer-remove-alist): New defun; it supersedes 'ibuffer-delete-alist'.
120007         All callers changed (Bug#25058).
120008         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): Add test.
120010 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
120012         ibuffer-unmark-backward: Unmark the region when is active
120014         * lisp/ibuffer.el (ibuffer-unmark-backward):
120015         Use 'ibuffer-get-region-and-prefix'; call 'ibuffer-unmark-forward'
120016         with the region boundary as the first 2 arguments (Bug#24987).
120018 2016-12-07  Nicolas Petton  <nicolas@petton.fr>
120020         Docstring improvement for seq-some (bug#25129)
120022         * lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing
120023           regarding the returned value.
120025 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
120027         dired-unmark-backward: Unmark the region when is active
120029         * lisp/dired.el (dired-unmark-backward): Call 'dired-unmark' with
120030         a non-nil second argument (Bug#24986).
120032 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
120034         New test file for ediff
120036         Fix previous commit.
120037         * test/lisp/vc/ediff-ptch-tests.el: New test.
120039 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
120041         ediff-context-diff-label-regexp: Detect the end of second file
120043         * lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): Skip
120044         '\n' in file names (Bug#25010).
120045         * test/lisp/vc/ediff-ptch-tests.el: New file.
120046         (ibuffer-test-bug25010): Add test for Bug#25010.
120048 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
120050         ibuffer-decompose-filter: Avoid side effects on error
120052         * lisp/ibuf-ext.el (ibuffer-decompose-filter):
120053         Update 'ibuffer-filtering-qualifiers' only if there is no error (Bug#24997).
120054         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997):
120055         Update test result as pass.
120057 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
120059         ibuffer: compare marks with EQ
120061         * lisp/ibuffer.el:
120062         (ibuffer-update-title-and-summary)
120063         (ibuffer-redisplay-current)
120064         (ibuffer-buffer-name-face, ibuffer-unmark-all)
120065         (ibuffer-count-deletion-lines, ibuffer-buffer-names-with-mark):
120066         Use 'eq' instead of 'char-equal' when comparing mark characters
120067         (Bug#25000).
120068         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000):
120069         Update test result as pass.
120071 2016-12-07  Christopher Genovese  <genovese@cmu.edu>
120073         ibuffer-saved-filters: Remove extra nesting level
120075         Fix Bug#25049.
120076         * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra
120077         nesting level; add transparent setter to adjust old-format values;
120078         update doc string.
120079         (ibuffer-save-filters): Remove extra level of nesting
120080         in ibuffer-saved-filters values when saving new filters.
120081         (ibuffer-old-saved-filters-warning): New variable with
120082         clickable message with repair options to be displayed
120083         as a warning if 'ibuffer-repair-saved-filters' detects
120084         a format mismatch.
120085         (ibuffer-repair-saved-filters): Add new command to check and
120086         repair saved filters format.
120087         (ibuffer-included-in-filter-p, ibuffer-decompose-filter):
120088         Change access of saved filter data (cadr->cdr) to account
120089         for reduced nesting.
120090         * test/lisp/ibuffer-tests.el (ibuffer-save-filters):
120091         New test; check that filters are saved in the proper format.
120093 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
120095         Clean out some IRIX cruft
120097         * etc/MACHINES: Remove obsolete discussion of IRIX.
120098         * src/process.c (allocate_pty) [__sgi]: Remove SGI-specific code.
120099         (create_process) [HAVE_PTYS]: Don't worry about IRIX.
120100         * src/syntax.c (scan_sexps_forward): Remove obsolete comment.
120101         * src/unexelf.c [__sgi]: Don't include <syms.h>.
120102         (unexec) [__sgi]: Remove SGI-specific code.
120104 2016-12-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
120106         Simplify FUNCTIONP implementation
120108         * src/bytecode.c (exec_byte_code):
120109         * src/image.c (parse_image_spec):
120110         Prefer FUNCTIONP (x) to !NILP (Ffunctionp (x)).
120111         * src/eval.c (FUNCTIONP): Move here ...
120112         * src/lisp.h: ... from here.  No longer inline, as that
120113         bloats the text and does not help speed (at least on my platform).
120114         (functionp): Remove this name, since callers use FUNCTIONP.
120116 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
120118         Don't assume window-point and point are the same
120120         The function `cursor-sensor--detect' calls `bobp' to decide whether to
120121         check properties at (1- (window-point)).  However, (window-point) may be
120122         at beginning of buffer, even if (point) is not.  In this case an
120123         `args-out-of-range' error will be signaled (Bug#25104).
120125         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
120126         value of (window-point) against (point-min), rather than (bobp) to
120127         decide if (1- (window-point)) is accessible.
120129 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
120131         Give test-completion's PREDICATE the hashtable key
120133         For hashtable entries with symbol keys, `test-completion' would convert
120134         the key to a string before calling PREDICATE, unlike `try-completion'
120135         and `all-completions'.
120137         * src/minibuf.c (Ftest_completion): Pass original key from hashtable.
120139 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
120141         Give test-completion's PREDICATE full alist entry
120143         Since 2016-06-26 "Fix test-completion with completion-regexp-list", when
120144         calling test-completion with an alist collection, the predicate was
120145         receiving the string value instead of the alist entry (Bug#24966).
120147         * src/minibuf.c (Ftest_completion): Don't modify the found element, just
120148         test STRING against `completion-regexp-list'.
120149         * test/src/minibuf-tests.el: New tests for `try-completion',
120150         `all-completions', and `test-completion'.
120152 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
120154         Fix ert-tests when running compiled
120156         * test/lisp/emacs-lisp/ert-tests.el (ert-test-deftest): Don't test for
120157         specific macroexpansion, just check result of evaluation.
120158         (ert-test-record-backtrace): Don't hardcode representation of closure in
120159         expected backtrace, this lets the test succeed even when the test code
120160         is compiled.
120162         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Also pass
120163         `byte-compile-macro-environment' to `macroexpand', this allows the
120164         `should' macro to properly handle macroexpansion of macros that were
120165         defined in the same file when it's being compiled (Bug #17851).
120167 2016-12-06  Glenn Morris  <rgm@gnu.org>
120169         Make "g" in vc push/pull buffers re-push/pull
120171         * lisp/vc/vc-bzr.el (vc-bzr--pushpull):
120172         * lisp/vc/vc-git.el (vc-git--pushpull):
120173         * lisp/vc/vc-hg.el (vc-hg--pushpull):
120174         Set compile-command so that "g" works.  (Bug#11446)
120176 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
120178         Change two _Noreturn functions to return void
120180         This is a bit clearer than _Noreturn functions that (do not)
120181         return a non-void type.
120182         * src/callproc.c (call_process) [MSDOS]:
120183         Use 'status' local to record status.
120184         (child_setup): Return CHILD_SETUP_TYPE.
120185         * src/data.c, src/lisp.h (wrong_type_argument): Return void.
120186         All callers changed.
120187         * src/lisp.h (CHILD_SETUP_TYPE): New macro.
120189 2016-12-05  Paul Eggert  <eggert@cs.ucla.edu>
120191         Fix GPG bug introduced by Oct file-missing change
120193         Problem with visiting nonexistent .gpg file
120194         reported by Herbert J Skuhra.
120195         * lisp/epa-file.el (epa-file--find-file-not-found-function):
120196         (epa-file-insert-file-contents, epa-file-write-region):
120197         Signal file-missing or file-error instead of epa-error.
120199 2016-12-05  Glenn Morris  <rgm@gnu.org>
120201         Tweak recent flymake change
120203         * lisp/progmodes/flymake.el (flymake-report-fatal-status):
120204         Avoid double message when flymake-log-level >= 0.
120205         * doc/misc/flymake.texi (Customizable variables):
120206         No longer mention flymake-gui-warnings-enabled.
120208 2016-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
120210         Make TAB and M-TAB run widget-forward and widget-backward (bug#25091)
120212         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Avoid `shr-next-link'
120213         and `shr-previous-link' so TAB and M-TAB run `widget-forward' and
120214         `widget-backward' instead (bug#25091).
120216 2016-12-05  Michael Albinus  <michael.albinus@gmx.de>
120218         Remove compat code in Tramp
120220         * lisp/net/tramp.el (tramp-parse-time-months): Remove.
120222         * lisp/net/tramp-compat.el (top): Require parse-time.
120224         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
120225         Use `parse-time-months'.
120227 2016-12-05  Martin Rudalics  <rudalics@gmx.at>
120229         Don't try to split side windows in ibuffer (Bug#25115)
120231         * lisp/ibuffer.el (ibuffer-confirm-operation-on): Don't try to
120232         split a side window (Bug#25115).
120234 2016-12-04  Paul Eggert  <eggert@cs.ucla.edu>
120236         * src/lisp.h: Update comment to kick -Og down the road.
120238 2016-12-04  Mark Oteiza  <mvoteiza@udel.edu>
120240         More image-dired refactoring
120242         * lisp/image-dired.el: Remove TODO comment. This appears to have been
120243         implemented in 5d7433a "image-dired: Signal an error before calling a
120244         missing executable".
120245         (image-dired-cmd-create-standard-thumbnail-command): Use %p specifier.
120246         Add :version.
120247         (image-dired-display-thumbs, image-dired-create-thumbs): Use dolist and
120248         when. Remove superfluous call to image-dired-thumb-name. Move single nil
120249         binding and setq into dolist form.
120251 2016-12-04  Michael Albinus  <michael.albinus@gmx.de>
120253         Implement quoting the local part of a remote file name
120255         * doc/emacs/files.texi (Quoted File Names):
120256         * etc/NEWS: Mention quoting the local part of a remote file name.
120258         * lisp/net/tramp.el (tramp-dissect-file-name): Check with
120259         `tramp-tramp-file-p'.
120260         (tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
120261         New defsubst.
120262         (tramp-handle-substitute-in-file-name)
120263         (tramp-handle-make-auto-save-file-name): Handle quoted files.
120264         (tramp-shell-quote-argument): Unquote argument.
120266         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
120267         Handle quoted files.
120269         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
120270         (tramp--test-make-temp-name): New argument QUOTED.
120271         (tramp-test01-file-name-syntax)
120272         (tramp-test02-file-name-dissect)
120273         (tramp-test04-substitute-in-file-name)
120274         (tramp-test05-expand-file-name, tramp-test07-file-exists-p)
120275         (tramp-test08-file-local-copy)
120276         (tramp-test09-insert-file-contents)
120277         (tramp-test10-write-region, tramp-test11-copy-file)
120278         (tramp-test12-rename-file, tramp-test13-make-directory)
120279         (tramp-test14-delete-directory, tramp-test15-copy-directory)
120280         (tramp-test16-directory-files)
120281         (tramp-test17-insert-directory)
120282         (tramp-test18-file-attributes)
120283         (tramp-test19-directory-files-and-attributes)
120284         (tramp-test20-file-modes, tramp-test21-file-links)
120285         (tramp-test22-file-times, tramp-test23-visited-file-modtime)
120286         (tramp-test24-file-name-completion, tramp-test25-load)
120287         (tramp-test26-process-file, tramp-test27-start-file-process)
120288         (tramp-test28-shell-command, tramp-test30-vc-registered)
120289         (tramp-test31-make-auto-save-file-name)
120290         (tramp--test-check-files)
120291         (tramp-test35-asynchronous-requests): Test also quoted file names.
120292         (tramp--test-shell-command-to-string-asynchronously): Rename.
120293         (tramp-test29-environment-variables): Use it.
120295 2016-12-04  Tino Calancha  <tino.calancha@gmail.com>
120297         Fix typo in dired-omit-case-fold-p
120299         * lisp/dired-x.el (dired-omit-case-fold-p):
120300         Write 'file-name-case-insensitive-p' instead of
120301         'file-name-case-sensitive-p'.
120302         Add declaration of 'file-name-case-insensitive-p'.
120304 2016-12-04  Simen Heggestøyl  <simenheg@gmail.com>
120306         Add HTML5 attributes for the input element
120308         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes
120309         for the input element.
120311 2016-12-03  Glenn Morris  <rgm@gnu.org>
120313         Obsolete sc-load-hook in favor of eval-after-load
120315         * lisp/mail/supercite.el (sc-load-hook): Make obsolete.
120316         * doc/misc/sc.texi (Getting Connected, Filling Cited Text):
120317         No longer mention sc-load-hook.
120319 2016-12-03  Glenn Morris  <rgm@gnu.org>
120321         Obsolete calendar-load-hook in favor of eval-after-load
120323         * lisp/calendar/calendar.el (calendar-load-hook): Make obsolete.
120324         (calendar): Doc fix - no longer mention calendar-load-hook.
120325         * doc/emacs/cal-xtra.texi (Calendar Customizing):
120326         No longer mention calendar-load-hook.
120327         * doc/lispintro/emacs-lisp-intro.texi (X11 Colors):
120328         Replace calendar-load-hook in example with with-eval-after-load.
120330 2016-12-03  Glenn Morris  <rgm@gnu.org>
120332         Fix markup in read-multiple-choice doc (Bug#25102)
120334         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix.
120336 2016-12-03  Glenn Morris  <rgm@gnu.org>
120338         Stop flymake using dialog boxes for errors (Bug#16622)
120340         * lisp/progmodes/flymake.el (flymake-gui-warnings-enabled):
120341         Mark as obsolete.
120342         (flymake-display-warning): Turn into an obsolete alias.
120343         (flymake-report-fatal-status): Just use message for a warning that
120344         was formerly displayed by default.
120346 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
120348         Clean up keymap and menu code in image-dired
120350         A function to populate these maps is not necessary, just define the maps
120351         once and for all.
120352         * lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt
120353         clearer and in the spirit of dired's.
120354         (image-dired-define-display-image-mode-keymap):
120355         (image-dired-define-thumbnail-mode-keymap): Remove.
120356         (image-dired-thumbnail-mode-map):
120357         (image-dired-thumbnail-mode-line-up-map):
120358         (image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode
120359         menu code from the aforementioned removed functions.  Reorder so that
120360         the definitions are inherited properly.
120361         (image-dired-display-current-image-sized): Fix erroneous message.
120362         (image-dired-thumbnail-mode):
120363         (image-dired-display-image-mode): Remove defunct call.
120365 2016-12-03  Michael Albinus  <michael.albinus@gmx.de>
120367         Mention `file-name-case-insensitive-p' as magic file name
120369         * doc/lispref/files.texi (Magic File Names):
120370         Mention `file-name-case-insensitive-p'.
120372         * doc/lispref/variables.texi (Connection Local Variables):
120373         Fix typo.
120375 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
120377         Clean up uses of cl-foo in image-dired
120379         Both instances here are just emulating cl-find-if.
120380         * lisp/image-dired.el: Use cl-lib at compile time.
120381         (image-dired-dired-toggle-marked-thumbs): Don't need let* at the top.
120382         Replace the cl-foo instances with equivalent cl-loops.
120384 2016-12-03  Eli Zaretskii  <eliz@gnu.org>
120386         Avoid compilation warnings in nt/*.c files
120388         * nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn)
120389         (console_event_handler): Add prototypes.
120390         (canon_filename, skip_space, skip_nonspace, get_next_token)
120391         (batch_file_p, search_dir, make_absolute, try_dequote_cmdline)
120392         (spawn, get_env_size): Now static.
120393         * nt/ddeclient.c (DdeCallback): Provide prototype.
120394         * nt/addpm.c (DdeCallback): Provide prototype.
120395         (add_registry): Now static.
120397 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
120399         Display window before calculating width
120401         * lisp/image-dired.el (image-dired-display-thumbs): Display the buffer
120402         before calling image-dired-line-up and friends, which in turn calculate
120403         the window width. Otherwise, the thumbnail layout will be wrong in
120404         a side-by-side split.
120406 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
120408         Use pop-to-buffer-same-window
120410         * lisp/image-dired.el (image-dired-dired-with-window-configuration):
120411         (image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer,
120412         use pop-to-buffer-same-window cf. Bug#22244.
120413         (image-dired-forward-image, image-dired-backward-image): Ignore unused.
120415 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
120417         Document watchpoints
120419         * doc/lispref/debugging.texi (Variable Debugging):
120420         * doc/lispref/variables.texi (Watching Variables): New section.
120421         * etc/NEWS: Add entry for watchpoints
120423 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
120425         Add tests for watchpoints
120427         * test/src/data-tests.el (data-tests-variable-watchers):
120428         (data-tests-local-variable-watchers): New tests.
120430 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
120432         Ensure redisplay using variable watcher
120434         This replaces looking up the variable name in redisplay--variables when
120435         setting it.
120437         * lisp/frame.el: Replace redisplay--variables with add-variable-watcher
120438         calls.
120439         * src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay,
120440         set the redisplay flag unconditionally.
120441         (Vredisplay__variables): Remove it.
120442         * src/data.c (set_internal): Remove maybe_set_redisplay call.
120444 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
120446         Add function to trigger debugger on variable write
120448         * lisp/emacs-lisp/debug.el (debug-on-variable-change):
120449         (debug--variable-list):
120450         (cancel-debug-on-variable-change): New functions.
120451         (debugger-setup-buffer): Add watchpoint clause.
120453 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
120455         Show watchpoints when describing variables
120457         * src/data.c (Fget_variable_watchers): New function.
120458         * lisp/help-fns.el (describe-variable): Use it to detect watching
120459         functions.
120461 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
120463         Add lisp watchpoints
120465         This allows calling a function whenever a symbol-value is changed.
120467         * src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
120468         (SYMBOL_TRAPPED_WRITE_P): New function/macro.
120469         (lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
120470         (enum symbol_trapped_write): New enumeration.
120471         (struct Lisp_Symbol): Rename field constant to trapped_write.
120472         (make_symbol_constant): New function.
120474         * src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
120475         (set_symbol_trapped_write, restore_symbol_trapped_write):
120476         (harmonize_variable_watchers, notify_variable_watchers): New functions.
120478         * src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
120479         symbols.
120480         (set_internal): Change bool argument BIND to 3-value enum and call
120481         `notify_variable_watchers' for trapped symbols.
120483         * src/data.c (syms_of_data):
120484         * src/data.c (syms_of_data):
120485         * src/font.c (syms_of_font):
120486         * src/lread.c (intern_sym, init_obarray):
120487         * src/buffer.c (syms_of_buffer): Use make_symbol_constant.
120489         * src/alloc.c (init_symbol):
120490         * src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
120491         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
120492         (Fmake_variable_frame_local):
120493         * src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
120494         trapped_write instead of constant.
120495         (Ffuncall): Move subr calling code into separate function.
120496         (funcall_subr): New function.
120498 2016-12-02  Glenn Morris  <rgm@gnu.org>
120500         Starting doc of user options with "*" is long obsolete
120502         * lisp/battery.el (battery-upower-device): Doc fix.
120504 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
120506         Fix bug#25087
120508         * etc/themes/manoj-dark-theme.el: Fix two typos.
120510         (cherry picked from commit 66d6e7e9ecf5e481f8c2c3a4f88411f66c869a6e)
120512 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
120514         Fix docstrings to have a complete sentence in first line
120516         * lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix
120517         docstrings.
120519 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
120521         Remove obsolete comments and commented code from dired-x.el
120523         * lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
120524         1997 answer about whether dired-mark-sexp is used.
120525         * lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
120526         commented out since before dired-x.el was added to RCS in 1994.
120528 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
120530         Remove pre-customize dired-x.el documentation
120532         * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
120533         use dired-x from .emacs.  It is now fully customizable.
120534         * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
120535         how to set this custom variable in .emacs.  It should be customized.
120537 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
120539         Allow files to be matched case-sensitively in dired-x
120541         * lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
120542         controls case folding for matching the regex (Bug#18716).
120543         (dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
120544         systems, `nil' otherwise.
120545         (dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
120546         * doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.
120548 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
120550         Add support for curly quotation marks to electric-pair-mode
120552         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
120553         entries for left/right single/double quotation marks, from
120554         electric-quote-chars. Note that this is safe for single quotation marks,
120555         unlike with the ASCII apostrophe, since, although the right quotation
120556         mark can be used as an apostrophe, it is the left quotation mark that is
120557         typed to get a pair (Bug#24901).
120559 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
120561         Fix bug#25087
120563         * etc/themes/manoj-dark-theme.el: Fix two typos.
120565 2016-12-02  Michael Albinus  <michael.albinus@gmx.de>
120567         Handle quoted file names in Tramp
120569         * lisp/net/tramp.el (tramp-file-name-handler): Handle also the
120570         case the file name is quoted.  This is not trapped by the
120571         reassigned `tramp-file-name-regexp' anymore.
120573 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
120575         * lisp/battery.el: Add 'battery-upower' -- very fast battery status.
120577 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
120579         Support for rawrgb images using imagemagick
120581         * src/image.c (imagemagick_load_image): Set wand size before loading
120582         blob when ':width' and ':height' are provided.
120584         * lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.
120586 2016-12-02  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
120588         Fix 'sql-connect' on first invocation
120590         * lisp/progmodes/sql.el (sql-connect): Reorder code which sets
120591         param-var.  (Bug#19452)
120593 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
120595         * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
120597 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
120599         Improve indexing of 'man'
120601         * doc/emacs/programs.texi (Man Page): Index 'man', not
120602         'manual-entry', as the latter is an alias for the former.
120603         Suggested by Hong Xu <hong@topbug.net>.  (Bug#25033)
120605 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
120607         Port to Sun C 5.14
120609         Backport from master.  Sun C 5.14 supports C11 but not GCC
120610         extensions, and so refuses to compile Emacs without this patch.
120611         * src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on
120612         size_t, as in general this macro is restricted to signed types.
120614 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
120616         Fix type typo on Solaris
120618         * src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
120619         Fix type mismatch, caught by --enable-check-lisp-object-type.
120621 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
120623         Merge from gnulib
120625         This incorporates:
120626         2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
120627         2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
120628         * build-aux/snippet/c++defs.h:
120629         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
120630         Copy from gnulib.
120632 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
120634         Make struct font_drivers read-only
120636         This simplifies the code a bit, and makes the structs more
120637         shareable and less likely to become corrupt.
120638         * src/alloc.c (cleanup_vector):
120639         * src/font.c (valid_font_driver, font_prepare_cache)
120640         (font_finish_cache, font_get_cache, font_clear_cache)
120641         (register_font_driver, font_update_drivers):
120642         * src/font.h (struct font, struct font_driver_list)
120643         (valid_font_driver):
120644         struct font_drivers are now const.
120645         * src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
120646         Omit no-longer-necessary decls.
120647         * src/ftcrfont.c (syms_of_ftcrfont):
120648         * src/ftxfont.c (syms_of_ftxfont):
120649         * src/xftfont.c (syms_of_xftfont):
120650         Omit no-longer-necessary initialization code.
120651         * src/ftcrfont.c (ftcrfont_driver):
120652         * src/ftfont.c (ftfont_driver):
120653         * src/ftxfont.c (ftxfont_driver):
120654         * src/macfont.m (macfont_driver):
120655         * src/nsfont.m (nsfont_driver):
120656         * src/xfont.c (xfont_driver):
120657         * src/xftfont.c (xftfont_driver):
120658         Use C99-style initializer for ease of maintenance, and make it const.
120659         * src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
120660         Refer to functions like ftfont_text_extents directly.
120661         * src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
120662         (ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
120663         (ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
120664         (ftfont_variation_glyphs, ftfont_filter_properties)
120665         (ftfont_combining_capability):
120666         * src/xfont.c (xfont_get_cache):
120667         Now extern, so that other modules’ struct font_drivers can use
120668         them directly.
120669         * src/macfont.m (macfont_descriptor_entity):
120670         * src/nsfont.m (nsfont_open):
120671         Use constant directly; this is clearer.
120673 2016-12-01  Richard Stallman  <rms@gnu.org>
120675         Fix mail-combine-fields
120677         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
120678         avoid losing our place in the search loop.
120680         (cherry picked from commit 5fbba6cceaf843cfca449eb000a0a65243b61808)
120682 2016-12-01  Helmut Eller  <eller.helmut@gmail.com>
120684         Forth related improvements for etags
120686         Generate correct tags names for things like "(foo)".
120687         Previously "(foo" created.
120689         Fix a bug where a tag for "-bar" was created when encountering things
120690         like "create-bar".
120692         Recognize more words from the Forth-2012 Standard.
120694         * lib-src/etags.c (Forth_words): Check for whitespace after defining
120695         words.  Create tag with make_tag instead of get_tag to avoid notiname
120696         which isn't appropriate for Forth.
120698         * test/manual/etags/forth-src/test-forth.fth: Add some test cases.
120699         * test/manual/etags/ETAGS.good_1:
120700         * test/manual/etags/ETAGS.good_2:
120701         * test/manual/etags/ETAGS.good_3:
120702         * test/manual/etags/ETAGS.good_4:
120703         * test/manual/etags/ETAGS.good_5:
120704         * test/manual/etags/ETAGS.good_6:
120705         * test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and
120706         new test cases.
120708 2016-12-01  Eli Zaretskii  <eliz@gnu.org>
120710         Fix bugs with buffer-local tags tables
120712         * lisp/progmodes/etags.el (visit-tags-table): After
120713         'visit-tags-table-buffer' returns, retrieve the value of
120714         'tags-file-name' from the buffer we started in.  Force
120715         recomputation of 'tags-completion-table' next time it is used,
120716         since the list of tags table has changed.
120717         (visit-tags-table-buffer): Accept an additional optional argument
120718         CBUF, the buffer in which to start processing, and switch to that
120719         buffer if CBUF is non-nil.  All callers changed to supply a
120720         non-nil CBUF when they call 'visit-tags-table-buffer' in a loop.
120721         Doc fix.
120722         (tags-completion-table): Accept an optional argument, the buffer
120723         for which to build 'tags-completion-table', and build that
120724         buffer's completion table.
120725         (tags-lazy-completion-table): Pass the current buffer to
120726         'tags-completion-table'.
120727         (tags-file-name): Don't say in the doc string that setting this
120728         variable directly is enough; say that 'visit-tags-table' should be
120729         used for that.  (Bug#158)  (Bug#17326)  (Bug#23164)
120731         * doc/emacs/maintaining.texi (Select Tags Table): Delete the
120732         advice to set 'tags-file-name' directly.
120734         * test/lisp/progmodes/etags-tests.el: New tests.
120736 2016-12-01  Martin Rudalics  <rudalics@gmx.at>
120738         Fix documentation of `window-combination-resize'
120740         * src/window.c (Vwindow_combination_resize): Fix doc-string.
120741         * doc/lispref/windows.texi (Recombining Windows): Fix
120742         documentation of `window-combination-resize'.
120744 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
120746         * src/lisp.h (LISP_INITIALLY_ZERO): Remove.
120748         All uses replaced by LISPSYM_INITIALLY.
120750 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
120752         Make Cairo safer for --enable-gcc-warnings
120754         * src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load):
120755         Avoid overflow warnings about ‘0xff << 24’.
120756         (xpm_load, gif_load): Avoid unnecessary casts.
120757         (gif_load): Fewer ifdefs.
120759 2016-11-30  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
120761         Fix Condition in kbd_buffer_store_buffered_event (bug#19547).
120763         * src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not
120764         !NILP.
120766 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
120768         Fix previous commit
120770         * lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning
120771         of hunk before calling `diff-hunk-style'.
120773 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
120775         * lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.
120777 2016-11-29  Glenn Morris  <rgm@gnu.org>
120779         Use archive-mode for .cbr files
120781         * lisp/files.el (auto-mode-alist): Add cbr.  (Bug#24994)
120783 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
120785         Pacify Sun C 5.14
120787         * src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
120788         SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
120789         into this enum rather than into an anonymous enum.  This avoids
120790         diagnostics from Sun C 5.14 and is a bit clearer anyway.
120792 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
120794         Adjust lwlib to recent config.h change
120796         * lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).
120798 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
120800         * src/eval.c (clobbered_eassert): Check E's syntax.
120802 2016-11-29  Michael Albinus  <michael.albinus@gmx.de>
120804         Improve user retrieval from auth-source in Tramp
120806         * lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
120807         Use user for auth-source request only in case it exists.
120809 2016-11-29  Katsumi Yamaoka  <yamaoka@jpl.org>
120811         shr.el: Don't render a normal table twice
120813         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
120814         Don't render a table if it is called for the first time,
120815         IOW, recognize it to never be invalid (bug#25051).
120817 2016-11-29  Bogdan Creanga  <bogdan.creanga@gmail.com>  (tiny change)
120819         Typo fixes in elisp manual
120821         * doc/lispref/sequences.texi: Add missing '4' in result (Bug#25047).
120822         * doc/lispref/strings.texi (Text Comparison): Avoid duplicate
120823         definitions of 'string-prefix-p' and 'string-suffix-p'.
120824         * doc/lispref/symbols.texi (Definitions): Pluralize 'definitions'.
120826 2016-11-28  Dima Kogan  <Dmitriy.Kogan@jpl.nasa.gov>
120828         Improve diff-mode navigation/manipulation
120830         This is Bug #17544.
120832         Navigation and use of diff buffers had several annoying corner cases
120833         that this patch fixes.  These corner cases were largely due to
120834         inconsistent treatment of file headers.  Say you have a diff such as
120835         this:
120837          --- aaa
120838          +++ bbb
120839          @@ -52,7 +52,7 @@
120840          hunk1
120841          @@ -74,7 +74,7 @@
120842          hunk2
120843          --- ccc
120844          +++ ddd
120845          @@ -608,6 +608,6 @@
120846          hunk3
120847          @@ -654,7 +654,7 @@
120848          hunk4
120850         The file headers here are the '---' and '+++' lines.  With the point on
120851         such a line, hunk operations would sometimes refer to the next hunk and
120852         sometimes to the previous hunk.  Most of the time it would be the
120853         previous hunk, which is not what the user would expect.  This patch
120854         consistently treats such headers as the next hunk.  So with this patch,
120855         if the point is on the '--- ccc' line, the point is seen as referring to
120856         hunk3.
120858         Specific behaviors this fixes are:
120860         1. It should be possible to place the point in the middle of a diff
120861         buffer, and press M-k repeatedly to kill hunks in the order they appear
120862         in the buffer.  With the point on hunk1, M-k M-k would kill hunk1 then
120863         hunk2.  With the point on hunk3, it would kill hunk3 then hunk4; this is
120864         fine.  However, with the point on hunk2, it'd kill hunk2 then hunk1.
120865         This is fixed by this patch.
120867         2. Similarly, it should be possible to apply hunks in order.  Previously
120868         with the point at the start, C-c C-a would apply the hunk1, then move
120869         the point to the first @@ header, and thus C-c C-a would try to apply
120870         the same hunk again.
120872         * lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
120873         navigation logic to diff-{hunk,file}-{next,prev}.
120874         (diff-hunk-next, diff-hunk-prev):
120875         (diff-file-next, diff-file-prev): Better navigation logic if
120876         skip-hunk-start is true, which happens when called interactively.
120877         (diff-bounds-of-hunk, diff-find-source-location):
120878         (diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
120879         improve hunk navigation.
120881 2016-11-28  Noam Postavsky  <npostavs@gmail.com>
120883         Upcase Path and ComSpec in process-environment
120885         Since 2016-07-18 "Keep w32 environment settings internal only", the
120886         upcasing of environment variables "Path" and "ComSpec" occurred after
120887         initializing process-environment.  This meant that Lisp code trying to
120888         override "PATH" environment had no effect (Bug #24956).
120890         * src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
120891         in Vprocess_environment.
120893 2016-11-28  Philipp Stephani  <phst@google.com>
120895         Guard terminal parameter in XTerm mouse mode
120897         It has been observed (in the HTerm terminal emulator) that the
120898         event stored in the 'xterm-mouse-last-down' terminal parameter gets
120899         overwritten during a mouse drag operation, causing Emacs to attempt to
120900         synthesize the non-existing <drag-mouse-0> event.  Copy the event into
120901         the terminal parameter to protect against such modifications.
120903         * lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
120904         of input event list.
120906 2016-11-28  Paul Eggert  <eggert@cs.ucla.edu>
120908         Fix template for module functions
120910         Reported by Syohei YOSHIDA (Bug#24932).
120911         * modules/modhelp.py (TEMPLATES):
120912         c_func’s 2nd arg is ptrdiff_t, not int.
120914 2016-11-27  Paul Eggert  <eggert@cs.ucla.edu>
120916         Pacify gcc -Wswitch.
120918         * src/keyboard.c (kbd_buffer_store_buffered_event):
120919         Move initialization into default case.
120921 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
120923         Reuse already existing lisp symbols for ignore_event (bug#19547).
120925         * lisp/subr.el (while-no-input-ignore-events): Use them instead.
120926         * src/keyboard.c (kbd_buffer_store_buffered_event):
120927         Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
120928         and make-frame-visible for DEICONIFY_EVENT.
120929         (syms_of_keyboard): Remove unneeded symbols.
120931 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
120933         Allow configuring which event throw-on-input should ignore (bug#19547).
120935         * src/keyboard.c (kbd_buffer_store_buffered_event):
120936         Translate event to corresponding symbol from `while-no-input-ignore-events`
120937         and check them with Fmemq.
120938         (syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
120939         and its symbols.
120941         * lisp/subr.el (while-no-input-ignore-events): Add default values.
120943         * doc/lispref/commands.texi (Event Input Misc):
120944         Document while-no-input-ignore-events.
120945         * etc/NEWS: Same.
120947 2016-11-26  Tino Calancha  <tino.calancha@gmail.com>
120949         ash, lsh avoid code duplication
120951         See discussion in:
120952         https://lists.gnu.org/r/emacs-devel/2016-11/msg00469.html
120953         * src/data.c (ash_lsh_impl): New function.
120954         (ash, lsh): Use it.
120956 2016-11-26  Simen Heggestøyl  <simenheg@gmail.com>
120958         Add will change module to CSS property list
120960         * lisp/textmodes/css-mode.el (css-property-alist)
120961         (css-value-class-alist): Add new property and value class from CSS
120962         Will Change Module.
120964 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
120966         Don't access pointers to freed storage in regex.c
120968         Remove __BOUNDED_POINTERS__ code, which does not work with
120969         -fcheck-pointer-bound and which has undefined behavior anyway.
120970         Problem found when trying to port to gcc -fcheck-pointer-bounds.
120971         (This code was removed from glibc and gnulib regex.c many years ago.)
120972         * src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
120973         (EXTEND_BUFFER): Use a more-portable approach that avoids
120974         undefined behavior due to inspecting pointers to freed storage.
120976 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
120978         Port build to gcc -fcheck-pointer-bounds
120980         This does not let Emacs run, just build.
120981         * lib-src/etags.c (main):
120982         * lib-src/profile.c (main):
120983         Use return, not exit.
120984         * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
120985         Do not define, as -fcheck-pointer-bounds is incompatible with taking
120986         addresses of labels.
120987         * src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
120988         to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.
120990 2016-11-25  Tino Calancha  <tino.calancha@gmail.com>
120992         * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.
120994 2016-11-25  Simen Heggestøyl  <simenheg@gmail.com>
120996         * lisp/rot13.el: Use lexical-binding
120998 2016-11-25  Mark Oteiza  <mvoteiza@udel.edu>
121000         Add "using" to cl-loop debug spec (Bug#24750)
121002         * lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
121003         "using" hash table clause.
121005 2016-11-25  Hong Xu  <hong@topbug.net>  (tiny change)
121007         Allow user control of progress messages in cpp.el
121009         * lisp/progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
121010         (cpp-progress-time): Use 'cpp-message-min-time-interval'.  Improve
121011         the doc string.
121012         (cpp-highlight-buffer): Use 'cpp-progress-message' instead of
121013         'message' to print messages.  (Bug#24861)
121015 2016-11-25  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
121017         New input method 'polish-prefix'
121019         * lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
121020         method.  (Bug#24967)
121022         * etc/NEWS: Mention the new input method.
121024 2016-11-25  Damien Cassou  <damien@cassou.me>
121026         * lisp/isearch.el: Add 'provide'.  (Bug#25026)
121028 2016-11-25  Philippe Vaucher  <philippe.vaucher@gmail.com>
121030         Add missing 'provide's in preloaded packages
121032         * lisp/composite.el:
121033         * lisp/replace.el:
121034         * lisp/textmodes/text-mode.el: Add provide statement.  (Bug#24985)
121036 2016-11-24  Alan Mackenzie  <acm@muc.de>
121038         Handle correctly an (undocumented) bare mode in hack-local-variables.
121040         lisp/files.el (hack-local-variables-prop-line): When a file's first line
121041         contains only a mode specification without the string "mode:", return the mode
121042         symbol only when `handle-mode' is t.
121044 2016-11-23  Dima Kogan  <dima@secretsauce.net>
121046         Clarify ediff-directories prompt
121048         * lisp/vc/ediff-mult.el (ediff-filegroup-action):
121049         * lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
121050         ediff-directories3, ediff-merge-directories,
121051         ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
121052         ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
121053         filename filter in interactive ediff. The new message makes it clear what is
121054         being filtered
121056 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
121058         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.
121060 2016-11-23  Ulf Jasper  <ulf.jasper@web.de>
121062         Fix Bug#24199.
121064         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
121065           bracket in doc string (make checkdoc happy).
121066           (icalendar-import-buffer),
121067           (icalendar-import-buffer),
121068           (icalendar--convert-ical-to-diary),
121069           (icalendar--add-diary-entry): Rename argument diary-file to
121070           diary-filename (make checkdoc happy).
121071           (icalendar--convert-recurring-to-diary): Take care of byday-clause
121072           in monthly recurring events.  Actually fix Bug#24199.
121074         * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.
121076 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
121078         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.
121080 2016-11-22  Philipp Stephani  <phst@google.com>
121082         Comint: new user option for C-c M-r and C-c M-s
121084         This option allows the user to specify where to place point after these
121085         commands.
121087         * lisp/comint.el (comint-move-point-for-matching-input): New user option.
121088         (comint-previous-matching-input-from-input): Use user option.
121090 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
121092         Add tramp-eshell-directory-change to eshell-first-time-mode-hook
121094         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
121095         `eshell-first-time-mode-hook'.
121097 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
121099         Dump also connection local variables in Tramp bug reports
121101         * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
121102         Dump also connection local variables.
121104 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
121106         Make sure elided long buffer names have ellipses added (Bug#24972)
121108         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
121109         string concat, and chop "strvar" less the width of the ellipsis.
121110         (ibuffer-compile-make-substring-form): Add space as padding, to fix
121111         off-by-one in alignment.
121113 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
121115         Buffer-menu-no-header: Detect a fake header
121117         * lisp/buff-menu.el (Buffer-menu-no-header): Use
121118         'tabulated-list-header-overlay-p' (Bug#24855).
121120 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
121122         buff-menu: Add command to unmark all buffers
121124         Bind 'U' in buff-menu, bs and electric-buff-menu to commands
121125         to unmark all buffers (Bug#24880).
121126         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
121127         New predicate; return non-nil if tabulated-list has a fake header.
121128         * lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
121129         New command; remove all flags that use a particular mark from all the lines.
121130         Bind it to 'M-DEL'.
121131         (Buffer-menu-unmark-all):
121132         New command; remove all flags from all the lines.  Bind it to 'U'.
121133         (Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
121134         (Buffer-menu-delete, Buffer-menu-mark): Use them.
121135         (Buffer-menu-mode-map): Update menus.
121136         (Buffer-menu-mode): Update mode doc.
121137         * lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
121138         (bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
121139         (bs-mode): Update mode doc.
121140         * lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
121141         Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
121142         to 'M-DEL'.
121143         (bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
121144         Use point instead of cursor in doc string.
121145         (electric-buffer-list): Update mode doc.
121146         * doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
121147         and Buffer-menu-unmark-all-buffers.
121149 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
121151         Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."
121153         This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227.
121155 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
121157         Port htmlfontify to cl-lib
121159         * lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
121160         (hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
121161         (hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
121162         instances of cl aliases with their cl-lib counterparts.
121164 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
121166         * lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.
121168 2016-11-21  Paul Eggert  <eggert@cs.ucla.edu>
121170         Fix another CANNOT_DUMP problem
121172         Reported by Robert Pluim in:
121173         https://lists.gnu.org/r/emacs-devel/2016-11/msg00468.html
121174         * src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
121175         * src/lisp.h: ... to here.
121177 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
121179         Add further consideration to string-width (Bug#24972)
121181         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
121182         (ibuffer-compile-make-substring-form): Use truncate-string-to-width.
121184 2016-11-21  Katsumi Yamaoka  <yamaoka@jpl.org>
121186         Don't collect strings existing out of <tr>...</tr>
121188         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
121189         Don't collect strings existing out of <tr>...</tr> to avoid
121190         duplication with what `shr-tag-table' renders.
121192 2016-11-20  Katsumi Yamaoka  <yamaoka@jpl.org>
121194         * lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
121195         the last commit.
121197 2016-11-20  Mike Kupfer  <m.kupfer@acm.org>
121199         Add a variable to pass additional options to rcvstore
121201         * lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
121202         (gnus-summary-save-in-folder): Include gnus-rcvstore-options in
121203         the arguments that are passed to rcvstore.
121205         cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
121206         and followups, i.e., ding mailing list.
121208 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
121210         Fix undefined refs on some GNU/Linux hosts
121212         Problem reported by Ken Raeburn in:
121213         https://lists.gnu.org/r/emacs-devel/2016-11/msg00463.html
121214         * src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
121215         not needed in the CANNOT_UNDUMP case.  All uses removed.  This
121216         removes unwanted references to my_endbss and my_endbss_static,
121217         which are not optimized away on some platforms.
121219 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
121221         Make CANNOT_DUMP work better on GNU/Linux
121223         Clean up some of the bitrot affecting the CANNOT_DUMP code.  This
121224         lets the build succeed again, and fixes the testing framework so
121225         that most test cases now pass.  About twenty test cases still
121226         fail, though, and we still have Bug#24974.
121227         * configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
121228         (SYSTEM_MALLOC): Now true if CANNOT_DUMP.  There should no longer
121229         be any point to messing with a private memory allocator unless
121230         Emacs is dumping.
121231         * src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
121232         * src/image.c (reset_image_types):
121233         * src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
121234         Do not define if CANNOT_DUMP.
121235         * src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
121236         (daemon_pipe) [!WINDOWSNT]: Now static.
121237         * test/Makefile.in (mostlyclean): Remove *.tmp files.
121238         (make-test-deps.mk): Elide CANNOT_DUMP chatter.
121240 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
121242         * src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static.
121244 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
121246         Pacify --enable-gcc-warnings CANNOT_DUMP=yes
121248         * src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]:
121249         Do not define.  If defining, do it in a smaller scope.
121251 2016-11-20  Mark Oteiza  <mvoteiza@udel.edu>
121253         * lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length
121255 2016-11-20  Eli Zaretskii  <eliz@gnu.org>
121257         Fix redrawing non-selected frame after resize on MS-Windows
121259         * src/xdisp.c (redisplay_internal): If all the frames were
121260         successfully updated, reset the "garbaged" flag of each frame, to
121261         make sure it doesn't stay set.
121263         * src/w32term.c (w32_read_socket): Don't clear the frame if it's
121264         "garbaged", since expose_frame won't redraw the foreground then.
121265         (Bug#24642)
121267 2016-11-20  Michael Albinus  <michael.albinus@gmx.de>
121269         Add file-local-name
121271         * doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
121272         (Unique File Names): Use it.
121274         * etc/NEWS: Mention `file-local-name'.
121276         * lisp/files.el (file-local-name): New defun.
121277         (file-expand-wildcards):
121278         * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
121279         * lisp/eshell/esh-ext.el (eshell-remote-command):
121280         * lisp/eshell/esh-proc.el (eshell-gather-process-output):
121281         * lisp/org/ob-core.el (org-babel-local-file-name):
121282         * lisp/progmodes/gud.el (gud-common-init, gud-format-command):
121283         * lisp/progmodes/python.el (python-shell-send-file):
121284         * lisp/shell.el (shell):
121285         * lisp/vc/ediff-diff.el (ediff-same-file-contents):
121286         * lisp/vc/vc-git.el (vc-git-checkin): Use it.
121288 2016-11-20  Tino Calancha  <tino.calancha@gmail.com>
121290         * lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string.
121292 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
121294         * src/editfns.c (format-time-string): Mention %q in doc string.
121296 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
121298         Document format-time-string %q
121300         * doc/lispref/os.texi (Time Parsing):
121301         * etc/NEWS: Document new %q functionality taken from gnulib.
121303 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
121305         Merge from gnulib
121307         This incorporates:
121308         2016-11-15 sys_time: add gnulib::timeval for C++
121309         2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
121310         2016-11-13 strftime: don't use __THROW
121311         2016-11-12 strftime: tune %q
121312         2016-11-12 Merge strftime.c changes from glibc
121313         2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
121314         2016-11-05 strftime,strptime: support %q to represent the quarter
121316         The glibc changes in turn incorporate the following strftime.c changes:
121317         2015-10-20 Convert misc function definitions to prototype style
121318         2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
121319         2010-01-09 Add support for XPG7 testing
121320         2009-10-30 Implement Burmese language locale for Myanmar
121321         2008-06-13 [BZ #6612] pass reference to tzset_called around
121322         2007-10-16 [BZ #5184] Add tzset_called argument
121324         * build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
121325         * m4/manywarnings.m4: Copy from gnulib.
121327 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
121329         Merge from origin/emacs-25
121331         07f45d7 ; Spelling fix
121332         1a210f0 * admin/release-process: Update versions and blocking bug num...
121333         36bafc9 Improve documentation of functions that accept time values
121335         # Conflicts:
121336         #       admin/release-process
121337         #       src/editfns.c
121339 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
121341         Merge from origin/emacs-25
121343         4af5981 Add a comment in generated refcards about the source
121344         ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
121345         4887e7c js-mode: Fix indent problem after a regexp
121346         e992ac0 Fix sluggish display of symbols in UTF-8 language environment
121347         1fc101b Don't confuse how Texinfo outputs @var with the input
121348         91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
121349         f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
121350         5b0cddd More fixes in copyright notices in etc/refcards/
121351         f994c20 Update copyright text in refcards
121352         9ad2ae7 Fix Outline command names
121353         26c3554 Send text received by bracketed paste to process
121354         db0b58d Correct the statement about programming modes always running ...
121355         78aece4 Improve documentation of 'occur'
121356         eb364fd Do call debugger on failed cl-assert
121357         3ef4ee8 Avoid infloop in python
121358         8da810f Don't refer to obsolete FEATURE-unload-hook
121359         4f478ca Improve documentation of dabbrevs
121360         7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
121361         89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
121362         3b199f7 Improve documentation of some Help commands
121363         93d3a0e Fix documentation of yes-or-no prompts
121364         af04919 Fix documentation of partial completion style
121365         ed80184 Fix documentation of the mode line on emacsclient frames
121366         e6be855 Fix description of 'C-z' in User manual
121367         16f7007 Improve and clarify documentation of Outline Mode
121368         31d93aa Add Emacs version number to nt/README.W32
121369         0b6b815 Fix python-mode hideshow regexp
121370         dc152c5 Modernize usage of 'macOS' in doc and comments
121371         84c5343 Prefer comments /* like this */ in C code
121372         bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
121373         3ef86fd Clarify documentation of face attribute functions
121374         de51d59 ; * nt/README.W32: Minor copyedits.
121375         db436e9 Don't call debug on failed cl-assert
121377         # Conflicts:
121378         #       doc/emacs/cmdargs.texi
121379         #       etc/NEWS
121380         #       etc/PROBLEMS
121381         #       lisp/auth-source.el
121382         #       lisp/net/tramp-sh.el
121384 2016-11-19  Mark Oteiza  <mvoteiza@udel.edu>
121386         Port RefTeX to cl-lib
121388         * lisp/textmodes/reftex-auc.el:
121389         * lisp/textmodes/reftex-cite.el: Use cl-lib.
121390         (reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
121391         macros.
121392         * lisp/textmodes/reftex-dcr.el: Use cl-lib.
121393         (reftex-view-regexp-match): Substitute cl-lib macro.
121394         * lisp/textmodes/reftex-global.el: Use cl-lib.
121395         (reftex-find-duplicate-labels, reftex-renumber-simple-labels):
121396         (reftex-translate): Substitute cl-lib macros.
121397         * lisp/textmodes/reftex-index.el: Use cl-lib.
121398         (reftex-index, reftex-index-select-tag, reftex-index-mode-map):
121399         (reftex-index-next-phrase, reftex-index-phrases-info):
121400         (reftex-query-index-phrase): Substitute cl-lib macros.
121401         * lisp/textmodes/reftex-parse.el: Use cl-lib.
121402         (reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
121403         (reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
121404         Substitute cl-lib macros.
121405         * lisp/textmodes/reftex-ref.el: Use cl-lib.
121406         (reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
121407         macros.
121408         * lisp/textmodes/reftex-sel.el: Use cl-lib.
121409         (reftex-select-shared-map): Set keymap parent to special-mode-map.
121410         Flatten loop and remove digits and hyphen definitions from the map.
121411         (reftex-select-label-mode-map):
121412         (reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
121413         (reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
121414         * lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
121415         cl-pushnew.
121416         * lisp/textmodes/reftex.el: Use cl-lib.
121417         (reftex-docstruct-symbol): Use cl-incf.
121418         (reftex-ref-style-toggle): Replace add-to-list with append.
121419         (reftex-compile-variables): Use cl-lib macros, and functions with
121420         compiler macros. cl-first is just an alias.
121421         (reftex-parse-args, reftex-scanning-info-available-p):
121422         (reftex-select-external-document, reftex-get-file-buffer-force): Use
121423         cl-lib macros.
121424         (reftex-isearch-minor-mode): Replace add-to-list with append.
121426 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
121428         ibuffer-exchange-filters: Simplify code
121430         * lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef.
121432 2016-11-19  Eli Zaretskii  <eliz@gnu.org>
121434         Implement getrlimit and setrlimit for MS-Windows
121436         * src/w32heap.c (getrlimit, setrlimit): New functions.
121437         Include w32.h.
121438         * src/emacs.c (main): Use 'rlim_t', not 'long', for values that
121439         should be compatible with 'struct rlimit' members.
121441         * nt/inc/sys/resource.h: New header file.
121443         * nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
121444         Set to "yes".
121446 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
121448         Move key mappings into reftex-mode-map defvar
121450         * lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level
121451         key mappings.
121452         (reftex-reset-mode): Just use dolist.
121454 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
121456         Derive reftex-index-mode from special-mode
121458         * lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten
121459         loop.  Remove digit keys and hyphen, as reftex-index-mode is derived
121460         from special-mode now.
121461         (reftex-index-mode): Derive from special-mode.
121462         (reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring.
121464 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
121466         Clean up reftex-toc-mode-map
121468         * lisp/textmodes/reftex-toc.el: Remove cl.
121469         (reftex-toc-mode-map): Flatten loop.  Remove mapping digit keys and
121470         hyphen, as reftex-toc-mode is derived from special-mode nowadays.
121472 2016-11-18  Philipp Stephani  <phst@google.com>
121474         Prevent dubious argument lists
121476         See Bug#24912 and Bug#24913.
121478         * src/eval.c (funcall_lambda): Detect more dubious argument lists.
121479         * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect
121480         more dubious argument lists.
121481         * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit
121482         test.
121484 2016-11-18  Tino Calancha  <tino.calancha@gmail.com>
121486         Add test suite for buff-menu.el
121488         * test/lisp/buff-menu-tests.el: New file.
121489         (buff-menu-24962): Add test for Bug#24962.
121491 2016-11-18  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
121493         Add cyrillic-tuvan input method
121495         * lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input
121496         method.  (Bug#24942)
121498         * etc/NEWS: Mention addition of 'cyrillic-tuvan' input method.
121500 2016-11-18  Alexander Gramiak  <agrambot@gmail.com>
121502         Extend 'indent-relative' when its arg is non-nil
121504         * lisp/indent.el (indent-relative-maybe): New obsolete alias.
121505         (indent-relative-first-indent-point): Renamed from
121506         'indent-relative-maybe'.
121507         (indent-relative): Now accepts an additional optional argument.
121508         The first argument was renamed to FIRST-ONLY.  Doc fix.  Support
121509         the additional arg.  (Bug#24766)
121511 2016-11-17  Dmitry Gutov  <dgutov@yandex.ru>
121513         Add example for bug#24854
121515         * test/manual/indent/js.js: Add example for bug#24854.
121517 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
121519         Port registry.el the rest of the way to cl-lib
121521         This file already is using cl-lib functions at runtime; eieio ultimately
121522         loads cl-lib, which explains why doing so wasn't an issue.
121523         * lisp/registry.el: Require cl-lib.
121524         (registry-db, registry--match, registry-search, registry-delete):
121525         (registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
121526         (registry-collect-prune-candidates): Replace cl function with cl-lib one.
121528 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
121530         Fix arglist in python.el (Bug#24762)
121532         * lisp/progmodes/python.el: Remove unneeded second args.
121533         (python-define-auxiliary-skeleton): DOC arg should be &optional.
121535 2016-11-17  Simen Heggestøyl  <simenheg@gmail.com>
121537         Add tests for rot13.el
121539         * lisp/rot13.el (rot13): Docstring correction.
121541         * test/lisp/rot13-tests.el: New file with tests for rot13.el.
121543 2016-11-17  Michael Albinus  <michael.albinus@gmx.de>
121545         Fix Bug#24947 (Tramp + ido)
121547         * lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.
121549         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
121550         Run remote tests only if a connection is established only.  (Bug#24947)
121552 2016-11-16  Ken Brown  <kbrown@cornell.edu>
121554         Unbreak the build on Darwin (Bug#24957)
121556         * src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix
121557         mistakes in recent commit.
121559 2016-11-16  Nicolas Petton  <nicolas@petton.fr>
121561         Do not use map.el in seq-tests.el
121563         * test/lisp/emacs-lisp/seq-tests.el: Do not use map.el.  map.el was
121564         introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for
121565         Emacs 24.5.
121567 2016-11-16  Tino Calancha  <tino.calancha@gmail.com>
121569         Update parameter :version to 26.1 in several defcustom
121571         Following defcustom where added or modified for 25.2 release.
121572         In fact all these changes belong to 26.1 release.
121573         * lisp/battery.el (battery-linux-sysfs-regexp)
121574         * lisp/comint.el (comint-password-prompt-regexp)
121575         * lisp/dired.el (dired-always-read-filesystem)
121576         * lisp/image.el (image-scaling-factor)
121577         * lisp/ibuf-ext.el (ibuffer-never-search-content-name)
121578         (ibuffer-never-search-content-mode)
121579         * lisp/mouse.el (mouse-select-region-move-to-beginning)
121580         * lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
121581         (netstat-program, route-program, route-program-options)
121582         * lisp/net/sieve-manage.el (sieve-manage-default-stream)
121583         * lisp/progmodes/grep.el (grep-save-buffers)
121584         * lisp/vc/add-log.el (change-log-directory-files)
121585         * lisp/url/url-vars.el (url-user-agent)
121586         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
121587         (vc-hg-use-file-version-for-mode-line-version)
121588         (vc-hg-parse-hg-data-structures)
121589         * lisp/wdired.el (wdired-create-parent-directories)
121590         * lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
121591         * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
121592         (gnus-button-url-regexp)
121593         * lisp/window.el (switch-to-buffer-preserve-window-point)
121594         * lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
121595         (ibuffer-locked-buffer)
121596         * lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
121597         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
121598         * lisp/gnus/message.el (message-user-fqdn)
121599         * lisp/simple.el (shell-command-dont-erase-buffer)
121600         (extended-command-suggest-shorter)
121601         * lisp/net/shr.el (shr-use-fonts)
121602         * lisp/files.el (mounted-file-systems, kill-emacs-query-functions)
121604 2016-11-15  Glenn Morris  <rgm@gnu.org>
121606         Add --new-daemon, which runs in the foreground and does not fork
121608         This is intended for modern init systems such as systemd,
121609         which manage many of the traditional aspects of daemon behavior
121610         themselves.  (Bug#2677)
121611         * src/emacs.c (daemon_type): New integer.
121612         (usage, standard_args): Add --old-daemon and --new-daemon.
121613         (main): Handle --old-daemon and --new-daemon arguments.
121614         Restrict all the forking and complicated daemon stuff to old-daemon.
121615         (Fdaemon_initialized): Handle new-style daemon.
121616         * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
121617         Replace daemon_pipe with daemon_type.
121618         * doc/emacs/cmdargs.texi (Initial Options):
121619         * doc/emacs/glossary.texi (Glossary):
121620         * doc/emacs/misc.texi (Emacs Server):
121621         * doc/lispref/display.texi (Window Systems):
121622         * doc/lispref/os.texi (Startup Summary): Related doc updates.
121623         * etc/NEWS: Mention this.
121624         * etc/emacs.service: Use Type=simple and --new-daemon.
121626 2016-11-15  Glenn Morris  <rgm@gnu.org>
121628         * src/emacs.c (usage_message): Mention named daemon.  (Bug#24949)
121629         * doc/man/emacs.1.in: Likewise.
121631 2016-11-15  Ken Brown  <kbrown@cornell.edu>
121633         Simplify case-insensitivity checks on Mac OS X
121635         * src/fileio.c (file_name_case_insensitive_p): Try skipping the
121636         Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
121637         Leave in two alternatives conditionally compiled based on
121638         DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.
121640         * etc/PROBLEMS: Mention the possible problem with pathconf on
121641         Mac OS X.
121643 2016-11-15  Glenn Morris  <rgm@gnu.org>
121645         * src/emacs.c (sort_args): Warn about multiple matches.
121647 2016-11-15  Michael Albinus  <michael.albinus@gmx.de>
121649         Implement file name handler for `file-name-case-insensitive-p'
121651         * doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
121652         is also applicable for remote hosts.
121654         * lisp/net/tramp.el (tramp-methods): Improve docstring.
121655         (tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
121656         (tramp-handle-file-name-case-insensitive-p): New defun.
121658         * lisp/net/tramp-smb.el (tramp-methods) <smb>:
121659         Add `tramp-case-insensitive' entry.
121661         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
121662         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
121663         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
121664         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
121665         <file-name-case-insensitive-p>: Add handler.  (Bug#22300, Bug#24441)
121667 2016-11-15  Mark Oteiza  <mvoteiza@udel.edu>
121669         Nix more uses of default-FOO variables (Bug#24946)
121671         * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
121672         Check for header-line-format instead.
121673         * lisp/emulation/viper.el (viper-load-custom-file): Reference
121674         major-mode instead.
121675         * lisp/mail/feedmail.el (feedmail-fill-to-cc-fill-column): Use
121676         fill-column instead.
121678 2016-11-15  Simen Heggestøyl  <simenheg@gmail.com>
121680         Complete the name of PostgreSQL databases
121682         * lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
121683         name.
121684         (sql-postgres-list-databases): New function returning a list of
121685         available PostgreSQL databases.
121687         * test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.
121689 2016-11-14  Sam Steingold  <sds@gnu.org>
121691         add `vc-git-print-log-follow' and use it in `vc-git-print-log'
121693         When `vc-git-print-log-follow' is true and all files are
121694         non-directory, pass "--follow" to "git log".
121695         This works around bug#8756 and bug#16422.
121697 2016-11-14  Sam Steingold  <sds@gnu.org>
121699         `toggle-truncate-lines' obsoletes `gnus-summary-toggle-truncation'
121701         vc-git-print-log: pass "--follow" to "log" to handle renamed files
121703 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
121705         Revert "Improve case-insensitive checks (Bug#24441)"
121707         This reverts commit 2f5e0b1bf7b0ac4f450847db34d599a072020600.
121708         I see no reason for removing code, documentation, and comments
121709         in the original commit.
121711 2016-11-14  Wilson Snyder  <wsnyder@wsnyder.org>
121713         Update verilog-mode.el
121715         * lisp/progmodes/verilog-mode.el (verilog-read-decls)
121716         (verilog-calc-1): Fix "default clocking" indentation and
121717         preventing AUTOs from working, bug1084.  Reported by Alan Morgan.
121718         (verilog-diff-report): Fix `verilog-diff-report'
121719         not returning bad status on differences, bug1087.  Reported by
121720         Eric Jackowski.
121721         (verilog-auto-inst-param-value)
121722         (verilog-auto-inst-param-value-type, verilog-read-sub-decls)
121723         (verilog-read-sub-decls-expr, verilog-read-sub-decls-gate)
121724         (verilog-read-sub-decls-line, verilog-read-sub-decls-sig)
121725         (verilog-read-sub-decls-type): When
121726         `verilog-auto-inst-param-value-type' is set, which is now the
121727         default, AUTOINPUT etc will now substitute parameter types from
121728         submodules, bug1061.  Reported by Brad Dobbie.
121729         (verilog-auto-reset, verilog-backward-case-item)
121730         (verilog-extended-case-re, verilog-read-always-signals-recurse):
121731         Fix indentation of randcase, bug1072. Reported by David Rogoff.
121732         (verilog-read-sub-decls-expr)
121733         (verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions
121734         in generated comments, bug1057. Reported by Kaushal Modi.
121735         (verilog-auto-wire-comment, verilog-insert-definition):
121736         Add `verilog-auto-wire-comment' to suppress wire comments. Reported by
121737         Eric Jackowski.
121738         (verilog-extended-complete-re): Fix indentation
121739         of class static functions, bug1053. Reported by Gregory
121740         Czajkowski.
121741         (verilog-module-filenames): Support tramp for
121742         finding verilog modules. Reported by Nevada Sanchez.
121744 2016-11-14  Paul Eggert  <eggert@cs.ucla.edu>
121746         Improve case-insensitive checks (Bug#24441)
121748         * doc/lispref/files.texi (Truenames): Simplify documentation,
121749         to avoid giving too much platform-specific information that
121750         may not be accurate anyway.
121751         * src/fileio.c (file_name_case_insensitive_p): Use pathconf with
121752         _PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
121753         Otherwise if one approach fails (e.g., with errno == EINVAL), fall
121754         back on an alternative rather than returning false.  Try skipping
121755         the Darwin code, as it (1) no longer seems to be needed and (2)
121756         does not seem to match the Apple documentation.  Leave in two
121757         alternatives conditionally compiled based on
121758         DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.
121760 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
121762         Fix documentation changes of connection-local variables
121764         * etc/NEWS: Fix last change.
121765         * doc/lispref/variables.texi (Connection Local Variables): Minor fixes.
121766         * doc/lispref/elisp.texi (Top): Update the master menu.
121768 2016-11-14  Michael Albinus  <michael.albinus@gmx.de>
121770         Implement connection-local variables
121772         * doc/lispref/variables.texi (Connection Local Variables): New section.
121774         * etc/NEWS: Mention connection-local variables.
121776         * lisp/files-x.el (enable-connection-local-variables)
121777         (connection-local-variables-alist, connection-local-class-alist)
121778         (connection-local-criteria-alist): New defvars.
121779         (connection-local-get-classes)
121780         (connection-local-get-class-variables): New defsubst.
121781         (connection-local-set-classes)
121782         (connection-local-set-class-variables)
121783         (hack-connection-local-variables)
121784         (hack-connection-local-variables-apply): New defuns.
121785         (with-connection-local-classes): New defmacro.
121787         * lisp/net/tramp.el (tramp-set-connection-local-variables): New defun.
121789         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
121790         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
121791         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
121792         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.
121794         * test/lisp/files-x-tests.el: New file.
121796 2016-11-14  Tino Calancha  <tino.calancha@gmail.com>
121798         tabulated-list: extend truncation into next align-right column
121800         See discussion on:
121801         https://lists.gnu.org/r/emacs-devel/2016-10/msg01101.html
121802         * lisp/emacs-lisp/tabulated-list.el
121803         (tabulated-list--near-rows): New variable.
121804         (tabulated-list-print, tabulated-list-set-col): Use it.
121805         (tabulated-list--col-local-max-widths): New defsubst.
121806         (tabulated-list-print-col): Use it.  If the next column is
121807         align-right, and has some space left then don't truncate to width,
121808         use some of the available space from the next column.
121810 2016-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
121812         * lisp/net/shr.el (shr-collect-extra-strings-in-table): Fix indentation.
121814         * lisp/net/shr.el (shr-tag-table): Avoid duplication of images.
121815         (shr-collect-extra-strings-in-table): Render images as well.
121817 2016-11-13  Ken Brown  <kbrown@cornell.edu>
121819         Use the new 'file-name-case-insensitive-p' function
121821         * lisp/international/mule.el (auto-coding-alist-lookup):
121822         * lisp/files.el (file-truename):
121823         (abbreviate-file-name, set-auto-mode, file-relative-name):
121824         * lisp/emacs-lisp/package.el (package-untar-buffer): Use
121825         'file-name-case-insensitive-p' instead of 'system-type' to test
121826         case-insensitivity.
121828 2016-11-13  Glenn Morris  <rgm@gnu.org>
121830         Include a systemd user unit file.  (Bug#16507)
121832         * etc/emacs.service: New file.
121833         * doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
121834         * Makefile.in (libdir): New, set by configure.
121835         (systemdunitdir): New variable.
121836         (install-etc, uninstall): Handle the emacs.service file.
121838 2016-11-13  Paul Eggert  <eggert@cs.ucla.edu>
121840         Port --enable-gcc-warnings to Ubuntu 16.10
121842         * src/gmalloc.c: Include <stdlib.h>, so it declares
121843         hybrid_aligned_alloc (the definiens of the aligned_alloc macro),
121844         so that GCC doesn't complain that hybrid_aligned_alloc is
121845         defined without being declared.
121847 2016-11-13  Ken Brown  <kbrown@cornell.edu>
121849         Silence tramp warning
121851         * lisp/net/tramp.el (tramp-file-name-for-operation): Add
121852         'file-name-case-insensitive-p' as a known file primitive.
121853         (Bug#24936)
121855 2016-11-12  Ken Brown  <kbrown@cornell.edu>
121857         Check case-sensitivity when renaming files
121859         * src/fileio.c (file_name_case_insensitive_p)
121860         (Ffile_name_case_insensitive_p):  New functions.
121861         (Frename_file): Allow renames that simply change case when the
121862         FILE argument is on a case-insensitive filesystem.  (Bug#24441)
121864         * lisp/dired-aux.el (dired-do-create-files): Use
121865         'file-name-case-insensitive-p' instead of 'system-type' to check
121866         for case-insensitivity.  (Bug#24441)
121868         * doc/lispref/files.texi (Truenames): Document
121869         'file-name-case-insensitive-p'.
121871 2016-11-12  Ken Brown  <kbrown@cornell.edu>
121873         Unbreak the build on Cygwin
121875         * configure.ac (system_malloc) [CYGWIN]: Unset.
121877 2016-11-11  Mark Oteiza  <mvoteiza@udel.edu>
121879         Update chart.el
121881         * lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode.
121882         (chart-draw): Wrap in with-silent-modifications.  Instead of inserting a
121883         fixed number of newlines, use window-height.
121884         (chart-bar):
121885         (chart-trim): Use dolist.
121886         (chart-file-count): The previous implementation was buggy and missed
121887         extensions.  Use file-name-extension instead to detect file extensions.
121888         Also use dolist and cl-incf to reduce verbosity.
121890 2016-11-11  Katsumi Yamaoka  <yamaoka@jpl.org>
121892         * lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps.
121893         (shr-collect-extra-strings-in-table):
121894         Render extra tables in an invalid html as well.
121896 2016-11-10  Katsumi Yamaoka  <yamaoka@jpl.org>
121898         * lisp/net/shr.el (shr--preferred-image): Ignore whitespace (bug#24893).
121900 2016-11-09  Eli Zaretskii  <eliz@gnu.org>
121902         Resurrect 'memory-limit' on MS-Windows
121904         * nt/mingw-cfg.site (ac_cv_func_sbrk): Set to "yes", otherwise
121905         'memory-limit' will produce a trivial and useless result on Windows.
121907 2016-11-09  Mark Oteiza  <mvoteiza@udel.edu>
121909         Update quickurl.el
121911         * lisp/net/quickurl.el (quickurl-format-function):
121912         (quickurl-sort-function): Use named function.
121913         (quickurl-list-mode-map): Remove lines that are extraneous now that the
121914         parent mode is special-mode.
121915         (quickurl-format-url, quickurl-sort-urls): New functions.
121916         (quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
121917         be used.
121918         (quickurl-list-mode): Derive from special-mode.  Nix setting
121919         buffer-read-only: special-mode does that.
121920         (quickurl-list-populate-buffer): Use dolist instead.
121921         (quickurl-list-quit): Use quit-window.  It looks like this was written
121922         before the quit-window rewrite.  quit-window is very useful now.
121924 2016-11-09  Michael Albinus  <michael.albinus@gmx.de>
121926         Refine multi-hop specs in Tramp
121928         * lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:".
121930         * test/lisp/net/tramp-tests.el
121931         (tramp-test01-file-name-syntax): Multi-hop specs don't need a
121932         method.  "/h:" is allowed on non MS Windows.
121934 2016-11-08  Daniel Colascione  <dancol@dancol.org>
121936         Avoid infloop in python
121938         Fix bug#24905
121940         * lisp/progmodes/python.el (python-info-docstring-p): Improve
121941         infloop avoidance: replace (bobp) with generic test for
121942         forward progress.
121943         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
121944         test for bug#24905
121946 2016-11-08  Daniel Colascione  <dancol@dancol.org>
121948         Make gnus/message.el work correctly under lexical binding
121950         * lisp/gnus/message.el (message-send-mail): Rename `arg' to
121951         `_' to shut up the byte compiler.
121952         (sha1-maximum-internal-length, smtpmail-smtp-server)
121953         (smtpmail-smtp-service): add missing defvars
121955 2016-11-08  Michael Albinus  <michael.albinus@gmx.de>
121957         Fix Bug#24889
121959         * lisp/net/tramp.el (tramp-file-name-regexp): Make it a
121960         defvar.  Fix docstring.
121961         (tramp-completion-file-name-handler-alist): Fix docstring.
121962         (tramp-register-file-name-handlers): Reassign
121963         `tramp-file-name-regexp' to the car of
121964         `tramp-file-name-structure'.  (Bug#24889)
121966 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
121968         Port to FreeBSD 11 AMD
121970         Problem reported by Ashish Shukla (Bug#24892).  I tested
121971         this on FreeBSD 11 x86-64 with HAVE_SBRK manually undefined.
121972         * configure.ac (system_malloc): Set to 'yes' if there is no sbrk.
121973         (sbrk): Check whether it exists.
121974         * src/alloc.c (my_heap_start) [!GNU_LINUX]:
121975         Do not define, since this function is now used only on GNU/Linux,
121976         and sbrk might not exist on other platforms.
121977         (malloc_initialize_hook) [!GNU_LINUX]:
121978         Do not call my_heap_start, since its side effect will never be used.
121979         (Fmemory_limit) [!HAVE_SBRK]: Do not call sbrk.
121980         * src/unexelf.c (unexec) [!HAVE_SBRK]: Assume that nothing like
121981         sbrk exists.
121983 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
121985         Port emacsclient to FreeBSD 11 etc.
121987         * lib-src/emacsclient.c: Include <string.h>.  This is needed on
121988         platforms like FreeBSD 11 that use code involving strlen etc., and
121989         because <config.h> no longer includes string.h.
121991 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
121993         Prescribe history for read-regexp in query-replace
121995         In the fix for bug#24580, the history argument for read-regexp was
121996         removed erroneously; read-regexp's history argument defaults to
121997         regexp-history, not minibuffer-history.
121998         * lisp/replace.el (query-replace-read-from): Tell read-regexp to use
121999         minibuffer-history.  Fixes bug#24873.
122001 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
122003         Remove obsolete default-FOO variables
122005         * etc/NEWS: Indicate the removed variables.
122006         * lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
122007         * lisp/subr.el (default-mode-line-format, default-header-line-format):
122008         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
122009         (default-truncate-lines, default-left-margin, default-tab-width):
122010         (default-case-fold-search, default-left-margin-width):
122011         (default-right-margin-width, default-left-fringe-width):
122012         (default-right-fringe-width, default-fringes-outside-margins):
122013         (default-scroll-bar-width, default-vertical-scroll-bar):
122014         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
122015         (default-fringe-indicator-alist, default-fringe-cursor-alist):
122016         (default-scroll-up-aggressively, default-scroll-down-aggressively):
122017         (default-fill-column, default-cursor-type):
122018         (default-cursor-in-non-selected-windows):
122019         (default-buffer-file-coding-system, default-major-mode):
122020         (default-enable-multibyte-characters): Remove obsolete declarations.
122021         * src/buffer.c (default-mode-line-format, default-header-line-format):
122022         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
122023         (default-truncate-lines, default-left-margin, default-tab-width):
122024         (default-case-fold-search, default-left-margin-width):
122025         (default-right-margin-width, default-left-fringe-width):
122026         (default-right-fringe-width, default-fringes-outside-margins):
122027         (default-scroll-bar-width, default-vertical-scroll-bar):
122028         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
122029         (default-fringe-indicator-alist, default-fringe-cursor-alist):
122030         (default-scroll-up-aggressively, default-scroll-down-aggressively):
122031         (default-fill-column, default-cursor-type):
122032         (default-cursor-in-non-selected-windows):
122033         (default-buffer-file-coding-system, default-major-mode):
122034         (default-enable-multibyte-characters): Remove.
122035         * src/fileio.c (choose_write_coding_system): Fix comment.
122036         * src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
122038 2016-11-07  Eli Zaretskii  <eliz@gnu.org>
122040         Improve the tutorial
122042         * etc/tutorials/TUTORIAL: Minor copyedits.  (Bug#24890)
122043         * etc/tutorials/TUTORIAL.he: Follow suit.
122045 2016-11-06  Paul Eggert  <eggert@cs.ucla.edu>
122047         Restore file descriptor limit in subprocesses
122049         Problem reported by Philipp Stephani (Bug#24869).
122050         * src/callproc.c (child_setup) [!DOS_NT]:
122051         Call restore_nofile_limit in the child.
122052         * src/process.c (nofile_limit) [HAVE_SETRLIMIT]: New static var.
122053         (restore_nofile_limit): New function.
122054         (init_process_emacs) [HAVE_SETRLIMIT]: Set the new var.
122056 2016-11-06  Mark Oteiza  <mvoteiza@udel.edu>
122058         Remove some subr.el functions obsoleted in 22.1
122060         * etc/NEWS: Document removed functions.  Also mention the "face"
122061         variables that have been removed recently.
122062         * lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer):
122063         (eval-current-buffer, string-to-int, insert-string, makehash): Remove.
122065 2016-11-05  Paul Eggert  <eggert@cs.ucla.edu>
122067         Prefer comments /* like this */ in C code
122069 2016-11-05  Johan Bockgård  <bojohan@gnu.org>
122071         * lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876)
122073 2016-11-05  Nick Terrell  <nickrterrell@gmail.com>  (tiny change)
122075         Support zstd compressed files
122077         * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Add
122078         zstd compression info: <http://facebook.github.io/zstd/>.
122079         (jka-compr-mode-alist-additions): Handle .tzst suffix for zstd
122080         compressed tar archives.  (Bug#24853)
122082 2016-11-05  Eli Zaretskii  <eliz@gnu.org>
122084         Enlarge DUMPED_HEAP_SIZE
122086         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]:
122087         Enlarge to 21MB.  Reported by Richard Copley <rcopley@gmail.com>.
122089 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
122091         Update from gnulib
122093         This incorporates:
122094         2016-11-03 intprops: port to older XL C
122095         * lib/intprops.h: Copy from gnulib.
122097 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
122099         Merge from origin/emacs-25
122101         acae275 ; Spelling fixes
122102         d8fac73 Update README for precompiled windows Emacs.
122103         23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
122104         f708cb2 Clarify doc string of 'transpose-sexps'
122105         cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
122106         bdc89eb Improve documentation of 'font-lock-remove-keywords'
122107         4a0c590 Fix documentation of the command summary key
122108         0221b7a Mark relocation workarounds with REL_ALLOC
122110 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
122112         Merge from origin/emacs-25
122114         dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
122115         91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
122116         9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
122117         9c247d2 Update category-table for Chinese characters
122118         43986d1 Inhibit buffer relocation during regex searches
122119         fee4cef Revert fixes to allocation of regex matching
122121 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
122123         Fix references to long obsoleted functions/aliases
122125         * doc/lispintro/emacs-lisp-intro.texi (Miscellaneous):
122126         * doc/misc/cl.texi (Conditionals):
122127         * doc/misc/speedbar.texi (Major Display Modes): Use string-to-number,
122128         not string-to-int.
122129         * lisp/emulation/viper.el (viper-go-away): Use major-mode, not
122130         default-major-mode.
122131         * lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window
122132         here is not a function call, but shorten the binding names anyways.
122133         Also, use pop-to-buffer-same-window instead of switch-to-buffer cf
122134         Bug#22244.
122135         * lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not
122136         read-input.
122138 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
122140         * lisp/emacs-lisp/pcase.el (pcase-dolist): Add a docstring.
122142 2016-11-04  Katsumi Yamaoka  <yamaoka@jpl.org>
122144         * lisp/net/shr.el (shr-collect-extra-strings-in-table) New function
122145         that gathers extra strings in an invalid html.  (bug#24831)
122146         (shr-tag-table): Use it.
122148 2016-11-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>
122150         Add 'x-ctrl-keysym' support on X window system
122152         * src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
122153         Support 'x-ctrl-keysym'.
122154         (syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
122155         property on it.
122156         <x-ctrl-keysym>: New DEFVAR_LISP.
122157         <x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
122158         fix.  (Bug#24822)
122160         * etc/NEWS: Mention the addition of 'x-ctrl-keysym'.
122162         * doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.
122164 2016-11-04  Alexander Gramiak  <agrambot@gmail.com>
122166         Improve autoload error reporting
122168         * src/eval.c (Fautoload_do_load): Include the absolute file name
122169         in the error message.
122171 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
122173         Stop force parameter of whitespace-report-region having global effect
122175         * lisp/whitespace.el (whitespace-report-region): Force parameter
122176         previously changed whitespace-style globally.  Fix this, and use
122177         whitespace-active-style, to take account of any changes the user may
122178         have made.  Simplify the documentation: the force parameter simply
122179         forces all classes of whitespace problem to be considered.
122180         (Bug#24745)
122182 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
122184         Document use of `tab-width'
122186         * lisp/whitespace.el: When talking about `8 or more spaces', mention
122187         `tab-width' instead of 8.  (Bug#24745)
122189 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
122191         Make whitespace-report-region respect current settings
122193         * lisp/whitespace.el (whitespace-report-region): Make it respect
122194         whitespace-style, including any additions made by the force parameter.
122195         This means that the function does not return t unless a whitespace
122196         problem that the user cares about is reported.  (Bug#24745)
122198 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
122200         Fix whitespace-space-after-tab-regexp
122202         * lisp/whitespace.el (whitespace-space-after-tab-regexp)
122203         (whitespace-regexp): Match all the spaces after tabs for highlighting,
122204         not just the first tab-width.  Fix whitespace-space-after-tab::space
122205         version so that it requires at least tab-width spaces, not just 1.
122206         (Bug#24745)
122208 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
122210         Remove duplicate documentation
122212         * lisp/whitespace.el: Remove duplicate documentation from the Commentary
122213           section which duplicate and in some places contradict (due to being
122214           out of date) the docstrings (Bug#24745).
122216 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
122218         Fix bob/eob checks
122220         * lisp/whitespace.el (whitespace-empty-at-bob-regexp)
122221         (whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks
122222         work at beginning & end of buffer in whitespace-report-region, and only
122223         there (i.e. they will never match in regions that don't include the
122224         start or end of the buffer).  (Bug#24745)
122226 2016-11-03  Tino Calancha  <tino.calancha@gmail.com>
122228         (thing-at-point 'list) return nil if no list at point
122230         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point):
122231         Check first if we are at the beginning of a top-level sexp (Bug#24627).
122232         If point is inside a comment or string, look for a list out of the
122233         comment/string.
122234         Escape '[' in doc string.
122235         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update
122236         expected test result as pass.
122238 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
122240         Remove antlr face aliases obsoleted in 22.1
122242         * lisp/progmodes/antlr-mode.el: Remove obsolete aliases
122243         (antlr-default-face, antlr-keyword-face, antlr-syntax-face):
122244         (antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face):
122245         (antlr-tokenref-face, antlr-literal-face):
122246         (antlr-literal-face): Remove.
122247         (antlr-font-lock-additional-keywords): Use face symbols instead.
122249 2016-11-02  Daniel Colascione  <dancol@dancol.org>
122251         Revert "Disable bracketed paste in a terminal in char mode"
122253         This change causes regressions, and besides, disabling BPM frame-wide
122254         for the sake of one buffer is the wrong solution.
122256         This reverts commit cf566b46a6cf85c6d54d0b0db80e32ed6ae8d1ca.
122258 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
122260         Revert change to eww-suggest-uris
122262         The introduced append is ugly and can yield '(nil); doing delq on it
122263         would be hacks on hacks.
122264         * lisp/net/eww.el: Require cl-lib at run time.
122265         (eww-suggest-uris): Restore eww-current-url, reverting previous change.
122266         (eww): Remove erroneous append.
122267         (eww-open-in-new-buffer): Check if the return from eww-suggested-uris is
122268         equal to eww-current-url, which is nil anyways if we are not in an EWW
122269         buffer.
122271 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
122273         Add eww-open-in-new-buffer to EWW
122275         * doc/misc/eww.texi (Basic): Document new command and key.
122276         * etc/NEWS: Mention new key and its purpose.
122277         * lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
122278         (eww): Append (eww-current-url) to the prompt defaults.
122279         (eww-open-in-new-buffer): New command.
122280         (eww-mode-map): Bind it and add a menu item.
122282 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
122284         Migrate auth-source to cl-lib
122286         * lisp/auth-source.el: Use cl-lib.
122287         (auth-source-read-char-choice, auth-source-backend-parse-parameters):
122288         (auth-source-search): Replace cl calls with cl-lib ones.
122289         (auth-source-netrc-cache):
122290         (auth-source-forget+): Use cl-do-symbols instead.
122291         (auth-source-specmatchp, auth-source-netrc-parse):
122292         (auth-source-netrc-search, auth-source-netrc-create):
122293         (auth-source-netrc-saver, auth-source-secrets-listify-pattern):
122294         (auth-source-secrets-search, auth-source-secrets-create):
122295         (auth-source-macos-keychain-search, auth-source--decode-octal-string):
122296         (auth-source-macos-keychain-search-items, auth-source-plstore-search):
122297         (auth-source-plstore-create): Replace cl calls with cl-lib ones.
122299 2016-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
122301         Don't segfault on timed-out TLS connections
122303         * src/process.c (finish_after_tls_connection): Check that the
122304         file descriptor is still alive before proceeding (bug#24811).
122305         Also clean up the code slightly.
122307 2016-11-01  Eli Zaretskii  <eliz@gnu.org>
122309         Support 'TARGETS' in clipboard selections on MS-Windows
122311         * src/w32select.c (Fw32_selection_targets): New function.
122313         * lisp/term/w32-win.el (w32--get-selection): Call
122314         'w32-selection-targets' to obtain the list of data formats
122315         available in the clipboard.
122317 2016-11-01  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
122319         Fix documentation for 'eudc-options-file'
122321         * doc/misc/eudc.texi (The Server Hotlist): Update the default
122322         value of 'eudc-options-file'.
122324 2016-11-01  Tibor Csögör  <tibi@tiborius.net>
122326         Fix documentation of 'eudc-inline-expansion-format'
122328         * doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
122329         'eudc-inline-expansion-format'. (Bug#24840)
122331 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
122333         Turn on lexical-binding in some more libs
122335         * lisp/calendar/icalendar.el:
122336         * lisp/emacs-lisp/regexp-opt.el:
122337         * lisp/emacs-lisp/timer.el:
122338         * lisp/gnus/message.el:
122339         * lisp/hex-util.el: Turn on lexical-binding.
122341 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
122343         Turn on lexical-binding in some net libs
122345         * lisp/net/dbus.el: Turn on lexical-binding.
122346         (dbus-list-hash-table, dbus-list-known-names):
122347         (dbus-introspect-get-node-names, dbus-introspect-get-interface-names):
122348         (dbus-introspect-get-method-names, dbus-introspect-get-signal-names):
122349         (dbus-introspect-get-property-names):
122350         (dbus-introspect-get-argument-names, dbus-get-all-properties):
122351         (dbus-property-handler, dbus-get-all-managed-objects):
122352         (dbus-managed-object-handler): Replace add-to-list with push. Add
122353         nreverse in some places where the APPEND argument of add-to-list was
122354         used.
122355         * lisp/net/network-stream.el: Turn on lexical-binding.
122356         * lisp/net/newsticker.el: Turn on lexical-binding.
122357         * lisp/net/shr.el: Turn on lexical-binding.
122358         (shr-make-placeholder-image): Remove unused variable binding.
122359         (shr-inspect-table): Replace ignored bindings with underscore.
122361 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
122363         Turn on lexical-binding in some url libs
122365         * lisp/url/url-auth.el:
122366         * lisp/url/url-expand.el:
122367         * lisp/url/url-future.el:
122368         * lisp/url/url-parse.el:
122369         * lisp/url/url-util.el: Turn on lexical-binding.
122371 2016-10-31  Johan Bockgård  <bojohan@gnu.org>
122373         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec
122375         (Bug#24733)
122377 2016-10-30  Alan Mackenzie  <acm@muc.de>
122379         Handle chars of syntax word which are also flagged as comment delimiters
122381         src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged
122382         as the start/end of two char comment delimiters, recognize a comment delimiter
122383         in preference to a portion of a word.  This fixes bug #24767.
122385 2016-10-29  Daniel Colascione  <dancol@dancol.org>
122387         Speed up initialization by preferring /dev/urandom to GnuTLS
122389         * src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.
122391 2016-10-29  José L. Doménech  <domenechjosel@gmail.com>
122393         Quote file names in dired compression commands
122395         * lisp/dired-aux.el (dired-do-compress-to): Change the string
122396         used as shell command for compression by quoting the filenames
122397         used for input and output (Bug #24620).
122399 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
122401         Avoid errors in posn-at-point for large images
122403         * src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p
122404         returns a 6-member list for a partially visible glyph, pass the
122405         sum of Y and RTOP to posn-at-x-y, since that's where the visible
122406         portion of that glyph begins on display.  (Bug#24804)  (Bug#21832)
122407         (Bug#23809)
122409 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
122411         Unbreak MS-Windows build
122413         * src/w32term.c (XCreateGC): Second argument is now HWND, and its
122414         name is "wignore".
122415         (x_set_cursor_gc, x_set_mouse_face_gc)
122416         (x_draw_glyph_string_background, x_draw_glyph_string_bg_rect)
122417         (x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't
122418         use s->window, which doesn't exist anymore.
122420         * src/w32term.h (XCreateGC): Adjust prototype.
122422 2016-10-28  Daniel Colascione  <dancol@dancol.org>
122424         Add double-buffering support to reduce flicker
122426         * src/dispextern.h (struct glyph_string): Remove window member
122427         (block_buffer_flips, unblock_buffer_flips)
122428         (buffer_flipping_blocked_p): Declare.
122430         * src/xterm.h (struct x_display_info): New member supports_xdbe.
122431         (struct x_output): New members draw_desc and need_buffer_flip.
122432         (FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
122433         (FRAME_X_DOUBLE_BUFFERED_P)
122434         (FRAME_X_NEED_BUFFER_FLIP): New macros.
122435         (set_up_x_back_buffer, tear_down_x_back_buffer)
122436         (initial_set_up_x_back_buffer): Declare.
122438         * src/xterm.c: Include Xdbe.h.
122439         (x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
122440         (x_draw_vertical_window_border, x_update_end)
122441         (x_setup_relief_color, x_draw_relief_rect)
122442         (x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
122443         (x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
122444         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
122445         variables appropriately; substitute calls to XClearArea with
122446         x_clear_area, which DTRT for double buffering.
122447         (x_clear_window, x_clear_area): In double-buffering mode, use
122448         rect-drawing X functions instead of XClearWindow and
122449         XClearArea, which always operate on the front buffer.
122450         (show_back_buffer): New function.
122451         (XTframe_up_to_date): Call show_back_buffer when done.
122452         (x_clear_frame, x_clear_frame_area): Remove obsolete calls to
122453         gtk_widget_queue_draw to refresh scroll bars; scroll bars are
122454         now independent X windows.
122455         (handle_one_xevent): Call font_drop_xrender_surfaces when
122456         XftDraw might need regenerating; perform buffer flip when
122457         responding to Expose events; issue front-buffer clearing
122458         commands as stopgap while we wait for redisplay.
122459         Call flush_dirty_back_buffers.
122460         (x_make_frame_visible): Un-bitrot comment; move XSETFRAME
122461         earlier in function.
122462         (x_free_frame_resources): Call tear_down_x_back_buffer when
122463         destroying frame.
122464         (x_term_init): Attempt to initialize double buffer extension.
122465         (x_flip_and_flush): New function.
122466         (x_redisplay_interface): Point to x_flip_and_flush instead of
122467         x_flip directly.
122468         (flush_dirty_back_buffers): New function.
122469         (x_create_terminal): Register buffer_flipping_unblocked_hook.
122471         * src/xftfont.c (xftfont_drop_xrender_surfaces): Use
122472         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
122473         (xftfont_draw): Call x_mark_frame_dirty.
122474         (xftfont_drop_xrender_surfaces): New function.
122475         (syms_of_xftfont): Register it.
122477         * src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
122478         FRAME_X_WINDOW.
122480         * src/xfns.c: Include Xdbe.h.
122481         (x_set_inhibit_double_buffering, set_up_x_back_buffer)
122482         (Fx_double_buffered_p): New functions.
122483         (x_window): Call initial_set_up_x_back_buffer.
122484         (x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
122485         (Fx_create_frame): Configure `inhibit-double-buffering'
122486         frame parameter.
122487         (x_create_tip_frame): Call initial_set_up_x_back_buffer.
122488         (x_frame_parm_handlers): Register
122489         x_set_inhibit_double_buffering.
122490         (syms_of_xfns): Register Sx_double_buffered_p.
122491         (x_mark_frame_dirty): Define.
122493         * src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
122494         FRAME_X_WINDOW.
122496         * src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
122497         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
122498         (redisplay_internal): Restart redisplay if a frame is garbaged
122499         during updating; explain why. Block buffer flips
122500         during redisplay.
122501         (redisplay_preserve_echo_area): Block buffer flip during call
122502         to redisplay_internal.
122503         (buffer_flip_blocked_depth): New variable.
122504         (block_buffer_flips, unblock_buffer_flips)
122505         (buffer_flipping_blocked_p): New functions.
122506         (init_glyph_string): Stop setting window member of struct
122507         glyph_string.
122509         * src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
122510         x_set_inhibit_double_buffering.
122512         * src/termhooks.h (struct terminal): Add
122513         buffer_flipping_unblocked_hook.
122515         * src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
122516         x_set_inhibit_double_buffering.
122518         * src/image.c (x_create_bitmap_from_data)
122519         (x_create_bitmap_from_file, x_create_x_image_and_pixmap)
122520         (Create_Pixmap_From_Bitmap_Data)
122521         (x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
122522         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
122523         variables appropriately.
122525         * src/gtkutil.c: Include Xdbe.h.
122526         (xg_get_widget_from_map): Forward declare.
122527         (xg_clear_under_internal_border): Remove obsolete calls to
122528         refresh scroll bars.
122529         (xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
122530         (xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
122531         FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
122532         same reason.
122533         (xg_set_background_color): Set scroll bar background colors.
122534         (xg_finish_scroll_bar_creation): New function with common
122535         logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
122536         scroll bars to be real X11 windows.
122537         (xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
122538         xg_finish_scroll_bar_creation.
122539         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
122540         Remove obsolete calls to refresh scroll bars; fix comments.
122542         * src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
122543         (ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
122544         FRAME_X_WINDOW.
122546         * src/frame.c (frame_parms): Add table entry for new
122547         `inhibit-double-buffering' frame parameter
122548         (syms_of_frame): Register Qinhibit_double_buffering.
122550         * src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
122551         (font_drop_xrender_surfaces): Declare.
122553         * src/font.c (font_drop_xrender_surfaces): New function.
122555         * src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.
122557         * etc/NEWS: Mention use of double buffering
122559         * doc/lispref/frames.texi (Management Parameters): Document
122560         `inhibit-double-buffering' frame parameters.
122561         (Visibility of Frames): Document `x-double-buffered-p'.
122563         * configure.ac: Check for the X double buffer extension
122565 2016-10-28  Michael Albinus  <michael.albinus@gmx.de>
122567         Improve result of `auth-source-search' in Tramp
122569         * lisp/net/tramp.el (tramp-read-passwd): Require :secret and
122570         :user in result of `auth-source-search'.
122572 2016-10-27  Mark Oteiza  <mvoteiza@udel.edu>
122574         Fix avl-tree alias docstrings
122576         * lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
122577         (avl-tree-stack-p, avl-tree-create):
122578         (avl-tree-compare-function): Add calling convention to docstrings.
122580 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
122582         Update from gnulib
122584         This incorporates:
122585         2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
122586         2016-10-13 stdint: port SIZE_MAX to glibc s390
122587         2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
122588         * lib/gnulib.mk: Regenerate.
122589         * lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
122590         * m4/utimes.m4: Copy from gnulib.
122592 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
122594         electric-quote-chars fixups
122596         * lisp/electric.el (electric-quote-chars): Check types and safety
122597         more carefully.
122598         (electric-quote-post-self-insert-function): Use more-mnemonic locals.
122599         Omit no-longer-necessary runtime error diagnostic.
122601 2016-10-27  Göktuğ Kayaalp  <self@gkayaalp.com>
122603         New user variable 'electric-quote-chars'
122605         * doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
122606         * lisp/electric.el (electric-quote-chars): New defcustom.
122607         (electric-quote-post-self-insert-function): Use it.
122609 2016-10-27  Tino Calancha  <tino.calancha@gmail.com>
122611         Add more tests for Bug#24627
122613         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
122614         Add tests for 'list-at-point'.
122616 2016-10-26  Filipp Gunbin  <fgunbin@fastmail.fm>
122618         * lisp/shell.el (shell--unquote&requote-argument): Match data misuse
122620         * lisp/shell.el (shell--unquote&requote-argument): Fix
122621         off-by-one thinko.  Don't use match data after a failed string-match.
122623 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
122625         * src/xwidget.c (webkit_js_to_lisp): Now static.
122627 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
122629         xwidget: Map "previous-line" and "next-line" to scroll
122631         * lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
122632         procedures.
122634 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
122636         xwidget: Bind "beginning-of-buffer" and "end-of-buffer"
122638         * lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
122639         "xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
122640         respectively.
122641         (xwidget-webkit-scroll-top,
122642         xwidget-webkit-scroll-bottom): New procedures.
122644 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
122646         Implement zoom for WebKit widget.
122648         * src/xwidget.c (xwidget-webkit-zoom): New procedure.
122649         * lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
122650         (xwidget-webkit-zoom): Declare procedure.
122651         (xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.
122653 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
122655         Dynamically resize WebKit widget.
122657         * lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
122658         xwidget-webkit-adjust-size-in-frame): New procedures.
122659         (xwidget-webkit-new-session): Remove hint to resize widget with `a'.
122660         (xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
122661         (xwidget-webkit-adjust-size-to-window): Make non-interactive,
122662         add widget and window as arguments.
122663         (xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.
122665 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
122667         Let initial WebKit view fill window
122669         * lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
122670         WebKit widget to window size.
122672 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
122674         xwidget: Remove title hack.
122676         * src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
122677         * lisp/xwidget.el (xwidget-webkit-get-title,
122678         xwidget-webkit-execute-script-rv): Remove procedures.
122680 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
122682         xwidget: Get URL asynchronously.
122684         * lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.
122686 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
122688         xwidget: Get selection with asynchronous JavaScript
122690         * lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
122691         process selection.
122692         (xwidget-webkit-copy-selection-as-kill): Kill selection in callback.
122694 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
122696         xwidget: Add function to find element by CSS selector
122698         * lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
122700 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
122702         xwidget: Simplify functions to scroll to elements
122704         * lisp/xwidget.el (xwidget-webkit-show-named-element,
122705         xwidget-webkit-show-id-element,
122706         xwidget-webkit-show-id-or-named-element): Simplify functions by
122707         scrolling exclusively with JavaScript.
122709 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
122711         xwidget: Get title via asynchronous JavaScript.
122713         * lisp/xwidget.el (xwidget-webkit-callback): Get document title
122714         asynchronously.
122716 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
122718         xwidget: Do not use `xwidget-execute-script-rv' to insert string
122720         * lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript
122721         return value via callback instead of using
122722         `xwidget-webkit-execute-script-rv'.
122724 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
122726         Remove scrolled window container around WebKit widget
122728         The WebKit widget can scroll on its own and does not need to wrapped
122729         with a scrolled window container.
122731         * src/xwidget.h: Remove struct member widgetscrolledwindow_osr.
122732         * src/xwidget.c: Remove widgetscrolledwindow_osr.
122733         (xwidget-set-adjustment): Remove.
122734         (xwidget-resize): Resize Webkit widget last.
122735         * lisp/xwidget.el (xwidget-set-adjustment): Remove.
122736         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down,
122737         xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
122738         Implement scrolling via JavaScript.
122740 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
122742         xwidget: Pass JavaScript return value to optional callback procedure
122744         * lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional
122745         callback argument.
122746         (xwidget-webkit-callback): Handle "javascript-callback" event type.
122747         * src/xwidget.c (xwidget-webkit-execute-script): Accept optional
122748         argument FUN, a Lisp procedure to execute on the JavaScript return
122749         value.
122750         (store_xwidget_js_callback_event, webkit_javascript_finished_cb,
122751         webkit_js_to_lisp): New procedures.
122753 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
122755         xwidget: Use WebKit2 API
122757         * configure.ac: Check for webkit2gtk-4.0.
122758         * src/xwidget.c: Adjust to use WebKit2 API.
122759         * lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
122760         `xwidget-event-type'.
122762 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
122764         Merge from origin/emacs-25
122766         4c3f738 Comment for bug#24793
122768 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
122770         Merge from origin/emacs-25
122772         96ac0c3 Yet another fix for using pointers into buffer text
122773         1047496 Another fix for using pointer to buffer text
122774         3121992 Fix Bug#24478
122776 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
122778         Merge from origin/emacs-25
122780         ee04aed Fix handling of buffer relocation in regex.c functions
122781         71ca4f6 Avoid relocating buffers while libxml2 reads its text
122782         1b3fc8a ; Remove redundant code in gmalloc.c
122783         9afea93 Attempt to catch reads from a buffer that is relocated
122785 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
122787         Minor fix in the documentation of seq-random-elt
122789         * doc/lispref/sequences.texi (Sequence Functions): Remove false
122790           sentence.
122792 2016-10-25  Eli Zaretskii  <eliz@gnu.org>
122794         Minor copyedits in documentation of 'seq-random-elt'
122796         * doc/lispref/sequences.texi (Sequence Functions): Fix markup in
122797         last change.  Use 2 spaces between sentences.
122799 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
122801         * lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring.
122803 2016-10-25  Damien Cassou  <damien@cassou.me>
122805         Add seq-random-elt to seq.el
122807         * lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
122808           random element from it's sequence parameter.
122810         * test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
122811           test-seq-random-elt-return-nil): Test the new function
122813         * doc/lispref/sequences.texi: Document the new function
122815 2016-10-24  Ken Brown  <kbrown@cornell.edu>
122817         * configure.ac: Stop using mmap for buffers on Cygwin.
122819 2016-10-24  Nicolas Petton  <nicolas@petton.fr>
122821         * lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738)
122823 2016-10-24  Karl Chen  <Karl.Chen@quarl.org>
122825         Don't prompt user when killing Flymake processes
122827         * lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
122828         Don’t prompt the user when killing Flymake processes.
122830         * doc/misc/flymake.texi (Starting the syntax check process):
122831         Document new behavior.
122833 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
122835         * src/regex.c (re_search_2): Use UNINIT, not IF_LINT.
122837         This finishes the merge of the recent emacs-25 regex changes into
122838         master.
122840 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
122842         Merge from origin/emacs-25
122844         50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
122845         6f1325e electric-quote mode no longer worries about coding
122846         c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
122847         f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
122848         b2ba630 Explain how to debug emacsclient lisp errors
122849         9da53e2 Let describe-function work for lambda again
122850         5c2da93 Fix kill-line's docstring
122851         ad66b3f Fix handling of allocation in regex matching
122852         5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
122853         3877c91 vc-region-history: Search just on lines intersecting the region
122854         8988327 Fix documentation of 'alist-get'
122855         b6998ea * src/regex.h (re_match_object): Improve commentary.
122857         # Conflicts:
122858         #       etc/NEWS
122859         #       lisp/help-fns.el
122861 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
122863         Merge from origin/emacs-25
122865         8ad0d7d ; Fix quoting in etc/NEWS
122866         6b9dee1 Change Tramp version to "2.2.13.25.2"
122867         62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
122868         b2f32e4 Don't scan compiled module files for autoloads
122869         9a758b4 Fix Bug#24698
122870         baa8ba4 * lisp/subr.el (start-process): Doc fix.  (Bug#24693)
122871         e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
122872         12da149 Update URL of MS-Windows optional DLLs
122873         2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
122874         a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
122875         b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
122876         cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (B...
122878         # Conflicts:
122879         #       doc/misc/trampver.texi
122880         #       etc/NEWS
122881         #       lisp/net/tramp-sh.el
122882         #       lisp/net/trampver.el
122884 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
122886         Merge from origin/emacs-25
122888         b73f466 * lisp/cus-start.el (exec-path): Handle nil elements.  (Bug#2...
122889         55ebb70 Catch the imenu-unavailable error in sh-mode completion table
122890         993acb5 ; Minor fix for last change in characters.el
122891         30c4bb5 More char-width fixes
122892         4eb4463 Fix char-width-table values for some Emoji
122893         528997d Keep point when switching from and to *terminal* buffer
122894         2130005 * INSTALL: Use correct Emacs release number 25.
122895         10835b1 Avoid crashes due to objects read with the #n=object form
122896         4de671d Improve doc string of 'completion-at-point-functions'
122897         ceb46f0 Fix crash in evaluating functions
122898         d8374c4 * src/filelock.c (current_lock_owner): Update comment.
122900 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
122902         Merge from origin/emacs-25
122904         2deb20c Port last_marked change to full-program optimizers
122905         27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
122906         dac64e3 Avoid optimizing out the last_marked[] array
122908 2016-10-22  Noam Postavsky  <npostavs@gmail.com>
122910         Avoid infinite hscrolling in redisplay
122912         * src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal
122913         scrolling (e.g., caused by pre-redisplay-functions) triggering infinite
122914         redisplay (Bug #24633).
122916 2016-10-22  Michael Albinus  <michael.albinus@gmx.de>
122918         Fix error codes in Tramp
122920         * lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
122921         taken from tramp.el.
122922         (tramp-file-missing): New defconst.
122924         * lisp/net/tramp.el (tramp-user-error): Remove it.
122925         (tramp-check-proper-method-and-host)
122926         (tramp-dissect-file-name, tramp-debug-message)
122927         (tramp-handle-shell-command):
122928         * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
122929         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
122930         Use `tramp-compat-user-error'.
122932         * lisp/net/tramp.el (tramp-handle-insert-file-contents)
122933         (tramp-handle-load):
122934         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
122935         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
122936         * lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
122937         * lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
122938         Use `tramp-file-missing'.  (Bug#24714)
122940         * lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
122941         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
122942         Use `file-already-exists'.
122944 2016-10-22  Jorgen Schaefer  <contact@jorgenschaefer.de>
122946         Autoload all commands from misc.el
122948         Only two of the commands there were autoloaded, one of which is an
122949         easter egg.
122950         * lisp/misc.el (copy-from-above-command):
122951         * lisp/misc.el (zap-up-to-char):
122952         * lisp/misc.el (mark-beginning-of-buffer):
122953         * lisp/misc.el (mark-end-of-buffer):
122954         * lisp/misc.el (upcase-char):
122955         * lisp/misc.el (forward-to-word):
122956         * lisp/misc.el (backward-to-word):
122957         Add autoload cookie.
122959 2016-10-22  Martin Rudalics  <rudalics@gmx.at>
122961         On terminal frames ignore minibuffer frame parameter (Bug#24758)
122963         * src/frame.c (Fmake_terminal_frame): Don't complain when the
122964         caller asks for a deviant minibuffer setting (Bug#24758).
122966 2016-10-21  Paul Eggert  <eggert@cs.ucla.edu>
122968         New error file-missing
122970         This fixes a recently-introduced bug in delete-directory,
122971         where the code assumes the C locale when determining
122972         whether a file-error corresponds to a missing file (Bug#24714).
122973         * doc/lispref/errors.texi (Standard Errors):
122974         * doc/lispref/files.texi (Changing Files):
122975         * etc/NEWS:
122976         Document this.
122977         * doc/lispref/loading.texi (How Programs Do Loading):
122978         Say "a file-error" rather than "the error file-error" since
122979         it might be a file-missing now.
122980         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
122981         * lisp/epa-file.el (epa-file--find-file-not-found-function):
122982         (epa-file-insert-file-contents, epa-file-write-region):
122983         * lisp/ffap.el (find-file-at-point, dired-at-point):
122984         * lisp/jka-compr.el (jka-compr-insert-file-contents)
122985         (jka-compr-insert-file-contents):
122986         * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
122987         (ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
122988         * lisp/progmodes/etags.el (visit-tags-table):
122989         * lisp/url/url-handlers.el (url-copy-file):
122990         * src/fileio.c (report_file_errno):
122991         Signal file-missing if appropriate.
122992         * lisp/epa-file.el (epa-file-insert-file-contents):
122993         * lisp/jka-compr.el (jka-compr-insert-file-contents):
122994         Don't assume file-error is a leaf in the error hierarchy.
122995         * lisp/files.el (files--force):
122996         * lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
122997         * lisp/jka-compr.el (jka-compr-insert-file-contents):
122998         Use file-missing to detect whether the file is missing.
122999         * lisp/url/url-handlers.el (url-copy-file):
123000         Signal file-already-exists if appropriate.
123001         * src/fileio.c (syms_of_fileio): Define file-missing.
123003         2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
123005 2016-10-21  Mark Oteiza  <mvoteiza@udel.edu>
123007         Teach browse-url to open man page urls
123009         * lisp/net/browse-url.el (browse-url-man-function): New custom option.
123010         (browse-url): Add a condition to catch links matching "^man:".
123011         (browse-url-man): New function.
123013 2016-10-21  Eli Zaretskii  <eliz@gnu.org>
123015         Improve fontification of footnote references in Info buffers
123017         * lisp/info.el (Info-fontify-node): Don't fontify random numbers
123018         in parentheses as if they were footnote references.  See
123019         https://lists.gnu.org/r/bug-texinfo/2016-10/msg00007.html
123020         for the details.
123022 2016-10-20  Philipp Stephani  <phst@google.com>
123024         Minor fixes to cc-mode-tests.el
123026         See Bug#24747.
123028         * test/lisp/progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in
123029         file-local variable; add comments to make checkdoc happy.
123031 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
123033         * etc/NEWS: Fix typos.  Remove entries backported to Emacs 25.2.
123035 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
123037         Document, how to suppress iTerm2 shell integration in Tramp
123039         * doc/misc/tramp.texi (Frequently Asked Questions):
123040         Suppress iTerm2 shell integration.
123042 2016-10-20  Tino Calancha  <tino.calancha@gmail.com>
123044         cl-seq: Remove max limit on input sequence length
123046         * lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-delete)
123047         (cl--position, cl-nsubstitute, cl-substitute, cl-remove):
123048         Remove limit on maximum length for the input sequence
123049         (#Bug24264).
123050         * test/lisp/emacs-lisp/cl-seq-tests.el: Update test expected result as passed.
123052 2016-10-19  Mark Oteiza  <mvoteiza@udel.edu>
123054         Derive dig-mode from special-mode
123056         * lisp/net/dig.el: Remove unused cl dependency.  Remove top level
123057         mode-class assignment.
123058         (dig-mode-map): Unmap g, as dig has no notion of reverting the buffer.
123059         (dig-mode): Derive from special-mode.
123060         (dig-exit): Use quit-window instead.
123061         (dig): Use pop-to-buffer-same-window.  Remove redundant assignments.
123062         (query-dig): Use pop-to-buffer-same-window.
123064 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
123066         cl-defstruct: Fix debug spec and check of slot options
123068         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve checking of slot
123069         option syntax.  Fix debug spec.  (Bug#24700)
123071 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
123073         isearch: Fix bug in defstruct syntax
123075         * lisp/isearch.el (isearch--state): Use correct form of defstruct slot
123076         options.  (Bug#24685)
123078 2016-10-18  Mark Oteiza  <mvoteiza@udel.edu>
123080         Add an option for eshell-input-filter
123082         * etc/NEWS: Document changes.
123083         * lisp/eshell/em-hist.el (eshell-input-filter): Set value to function
123084         symbol.  Change type to a radio for choosing functions.  Refer to both
123085         new functions.
123086         (eshell-input-filter-default): New function.  Same body as the previous
123087         value of eshell-input-filter.
123088         (eshell-input-filter-initial-space): New function.
123090 2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
123092         delete-directory no longer errors when racing
123094         Problem reported by Glenn Morris for package-test.el (Bug#24714).
123095         * doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
123096         * lisp/files.el (files--force): New function.
123097         (delete-directory): Use it to avoid error in this case.
123099 2016-10-17  Yuri Khan  <yuri.v.khan@gmail.com>  (tiny change)
123101         Support Shift selection in nxml-mode commands
123103         * lisp/nxml/nxml-mode.el (nxml-forward-balanced-item)
123104         (nxml-up-element, nxml-backward-up-element, nxml-down-element)
123105         (nxml-backward-down-element, nxml-forward-element)
123106         (nxml-backward-element, nxml-forward-paragraph)
123107         (nxml-backward-paragraph): Use "^p" as the interactive spec, to
123108         support shift-selection.
123110 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
123112         Simplify some loops and cons
123114         * lisp/net/mailcap.el: Replace cl with cl-lib.
123115         (mailcap--get-user-mime-data, mailcap--set-user-mime-data):
123116         (mailcap-parse-mailcaps, mailcap-parse-mailcap-extras):
123117         (mailcap-possible-viewers): Use push and dolist where possible.
123118         (mailcap-viewer-passes-test): Remove unused binding.
123119         (mailcap-add-mailcap-entry): Use push.
123120         (mailcap-mime-info): Remove unused binding.  Use push.
123121         (mailcap-parse-mimetypes): Use dolist.
123123 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
123125         Turn on lexical-binding in auth-source
123127         * lisp/auth-source.el: Turn on lexical-binding.
123128         (auth-source-netrc-parse, auth-source-netrc-normalize):
123129         (auth-source-token-passphrase-callback-function):
123130         (auth-source-netrc-create, auth-source-secrets-search):
123131         (auth-source-macos-keychain-search-items):
123132         (auth-source-plstore-search): Use let instead of lexical-let.
123134 2016-10-17  Martin Rudalics  <rudalics@gmx.at>
123136         Fix frame focus redirection with shared minibuffer windows (Bug#24500)
123138         * src/frame.c (do_switch_frame): Redirect frame focus also when
123139         the frame switched to has its minibuffer window on the selected
123140         frame.
123141         * src/window.c (candidate_window_p): To qualify as candidate
123142         it's not sufficient for the window's frame to just share the
123143         minibuffer window - it must be active as well.
123145 2016-10-17  Eli Zaretskii  <eliz@gnu.org>
123147         Fix time-related data types in 2 editfns.c functions
123149         * src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
123150         pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r',
123151         instead of relying on struct timespec's 'tv_sec' member to be of
123152         compatible type.
123154 2016-10-16  Martin Rudalics  <rudalics@gmx.at>
123156         Document atomic windows in Elisp manual (Bug#18170)
123158         * lisp/window.el (display-buffer-in-atom-window): If no `side'
123159         alist entry was specified, use `below' as the doc tells.
123160         * doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
123161         * doc/lispref/windows.texi (Atomic Windows): New section.
123162         (Window Parameters): Update reference.
123164 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
123166         New face homoglyph
123168         Suggested by Eli Zaretskii, from a feature request by
123169         Alan Mackenzie (Bug#24468).
123170         * doc/emacs/display.texi (Standard Faces, Text Display):
123171         * etc/NEWS: Document this.
123172         * etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
123173         * etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
123174         * etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
123175         * etc/themes/wombat-theme.el:
123176         Customize homoglyph to be the same as escape-glyph.
123177         * lisp/cus-theme.el (custom-theme--listed-faces):
123178         Add homoglyph.
123179         * lisp/faces.el (homoglyph): New face.
123180         * lisp/startup.el (startup--setup-quote-display): Use it.
123182 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
123184         Port to Ubuntu 16.10, which needs gcc -nopie
123186         * configure.ac (emacs_cv_prog_cc_no_pie): Rename from
123187         emacs_cv_prog_cc_nopie.  All usages changed.  Check for -no-pie in
123188         preference to -nopie (Bug#24682).
123190 2016-10-16  Michael Albinus  <michael.albinus@gmx.de>
123192         Fix bug#24665 in Tramp
123194         * doc/misc/tramp.texi (External methods): Do not confuse
123195         method names.  (Bug#24665)
123197 2016-10-15  Sam Steingold  <sds@gnu.org>
123199         use full time objects (lists) instead of floats when possible
123201         * lisp/midnight.el (midnight-buffer-display-time): Remove
123202         (clean-buffer-list): Use float time only for time comparison
123204 2016-10-15  Sam Steingold  <sds@gnu.org>
123206         Save and restore buffer-display-time
123208         * lisp/desktop.el (desktop-locals-to-save): Add `buffer-display-time'
123209         (desktop-read): Set `desktop-file-modtime' before loading the desktop file
123210         (desktop-create-buffer): Adjust `buffer-display-time' for the downtime
123212 2016-10-15  Philipp Stephani  <phst@google.com>
123214         Disable bracketed paste in a terminal in char mode
123216         In char mode, a terminal doesn't accept bracketed paste events,
123217         therefore we should disable them; see Bug#24639.  To decouple the XTerm
123218         management from term.el, introduce a per-buffer setting to disable
123219         bracketed paste for that buffer.  If bracketed paste is inhiited for at
123220         least one buffer in a terminal, it is disabled for the whole terminal.
123222         * lisp/term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to
123223         inhibit XTerm bracketed paste per buffer.
123224         (xterm--buffer-terminals, xterm--update-bracketed-paste)
123225         (xterm--bracketed-paste-possible, xterm--is-xterm): New helper
123226         functions.
123227         (xterm--init-bracketed-paste-mode): Remove unused helper
123228         function.
123229         (terminal-init-xterm): Update bracketed paste status when
123230         initializing an XTerm and on window configuration change.
123232         * lisp/term.el (term-char-mode, term-line-mode): Inhibit XTerm
123233         bracketed paste in char mode.
123235 2016-10-15  Dima Kogan  <dima@secretsauce.net>
123237         Undo the effect of CapsLock when other modifiers are present
123239         * src/keyboard.c (make_lispy_event): Effectively undo the effect
123240         of CapsLock if any modifiers other than Shift are present in a key.
123241         (Bug#24456)
123243 2016-10-15  Simen Heggestøyl  <simenheg@gmail.com>
123245         Add tests for foreign completions in CSS mode
123247         * test/lisp/textmodes/css-mode-tests.el
123248         (css-test-foreign-completions): New test for
123249         `css--foreign-completions'.
123250         (css-test-complete-selector-tag): Rename test.
123251         (css-test-complete-selector-class): New test testing completion of
123252         class names in selectors.
123253         (css-test-complete-selector-id): New test testing completion of IDs in
123254         selectors.
123256 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
123258         Cosmetic change to last mm-url change
123260         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
123261         Tweak last change slightly for more readability.
123263 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
123265         Fix problem with submitting binary data via HTTP forms
123267         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
123268         Document the parameters, clean up the code, and make uploading
123269         binary data really work (which it didn't if the binary bits
123270         were in the last part of the data).
123272 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
123274         * lisp/time.el (display-time-string-forms): Fix custom type.
123276 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
123278         Derive Man and WoMan modes from special-mode
123280         * lisp/man.el (Man-mode-map): Set parent to map composed from both
123281         button-buffer-map and special-mode-map.  Remove redundant bindings.
123282         Fix menu to refer to the quit-window command.
123283         (Man-mode): Derive from special-mode.  Fix docstring.  Remove redundant
123284         buffer-read-only binding.
123285         (Man-quit): Remove.
123286         * lisp/woman.el (woman-really-find-file): Use setq-local.
123287         (woman-mode-map): Refer to woman-mode in docstring.
123288         (woman-mode): Derive from special-mode.  Document woman-mode-map in
123289         docstring.  Use setq-local where possible; imenu-generic-expression is
123290         already buffer-local.
123291         (woman-negative-vertical-space): Replace unused binding with _.
123293 2016-10-13  Philipp Stephani  <phst@google.com>
123295         Fix crash in evaluating functions
123297         See Bug#24673
123299         * src/eval.c (funcall_lambda): Fix crash for bogus functions such
123300         as (closure).
123302         * test/src/eval-tests.el (eval-tests--bug24673): Add test.
123304 2016-10-13  Tino Calancha  <tino.calancha@gmail.com>
123306         Add test for Bug#24627
123308         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): New test.
123310 2016-10-12  Eli Zaretskii  <eliz@gnu.org>
123312         * lib-src/etags.c (invalidate_nodes): Remove a redundant nullp test.
123314 2016-10-11  Paul Eggert  <eggert@cs.ucla.edu>
123316         Work around Samba bug with ':' in symlink contents
123318         * src/filelock.c (current_lock_owner): When reading the contents
123319         of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656).
123321 2016-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
123323         If autoloads buffer is unchanged, mark it as such (bug#23692)
123325         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
123326         If autoloads buffer is unchanged, mark it as such (bug#23692).
123328 2016-10-11  Michael Albinus  <michael.albinus@gmx.de>
123330         Use "26.1" version string in Tramp, fix some comments
123332         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
123333         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
123334         Use "26.1" version string.
123336 2016-10-10  Tino Calancha  <tino.calancha@gmail.com>
123338         form-at-point work for all kind of THINGS
123340         * lisp/thingatpt.el (form-at-point):
123341         Use thing-at-point--read-from-whole-string only if thing-at-point
123342         returns a string (Bug#24605).
123344 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
123346         Fix compilation warnings on MS-Windows
123348         * src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove
123349         definitions of these macros, which seem to be unneeded and cause
123350         compiler warnings.
123351         * src/fileio.c (NOMINMAX): Avoid compiler warnings about unused
123352         macros.
123353         * src/firstfile.c (dummy_main_reference): Rename from 'dummy' and
123354         make it external, to avoid compiler warning.
123356 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
123358         Spelling and clarity fixes
123360 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
123362         Merge from origin/emacs-25
123364         4f406e9 CC Mode manual: remove reference to former Emacs variable las...
123365         44e402e Allow to disable compaction of font caches
123366         4ff4b66 Allow selection of font for symbols as in Emacs 24.x
123367         c03d44b ; Fix last commit
123368         d4be4f3 ; Fix indexing in lispref manual
123369         ed399f2 ; Minor improvement in documentation of generators
123370         197a6bc Fix horizontal scrolling during Isearch
123371         3566644 Fix infloop in redisplay due to truncated lines and invisible...
123373         # Conflicts:
123374         #       etc/NEWS
123376 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
123378         Merge from origin/emacs-25
123380         c4a5e7e Improve documentation of 'menu-bar-open'
123382 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
123384         Merge from origin/emacs-25
123386         4b347fe Clarify that doc fixes are okay in feature freeze
123387         01669ad Avoid crashes when setting the cursor
123388         f2144ee Restore 'command-debug-status' functionality
123389         ec6e4b9 ; Minor addition to CONTRIBUTE
123391 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
123393         Merge from origin/emacs-25
123395         74b4f13 Document nil args of compare-buffer-substrings
123396         9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup.
123397         95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa...
123399 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
123401         Merge from origin/emacs-25
123403         f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix.  (Bug#24372)
123404         ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo.
123405         bbf1ffd Regexp Functions doc minor fixes
123407 2016-10-08  Philipp Stephani  <phst@google.com>
123409         Don’t consider nested let-alist forms
123411         See Bug#24641.
123413         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t
123414         consider symbols in nested ‘let-alist’ forms.
123416         * test/lisp/emacs-lisp/let-alist-tests.el
123417         (let-alist--deep-dot-search--nested): Add a unit test.
123419 2016-10-08  Alain Schneble  <a.s@realize.ch>
123421         Support SIGTRAP in kill emulation on Windows
123423         * src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
123424         'DebugBreakProcess' to cause a breakpoint exception to occur in the
123425         specified process.  On Windows versions prior to Windows XP that do
123426         not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
123427         (as opposed to EINVAL before this change).
123428         * src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
123429         and global variable to track state of run-time dynamic linking of this
123430         function.
123432         * etc/NEWS: Add entry to document that 'signal-process' now supports
123433         SIGTRAP.
123435 2016-10-08  Eli Zaretskii  <eliz@gnu.org>
123437         Deprecate 'wp' group and introduce a new group 'text'
123439         * lisp/textmodes/tildify.el (tildify):
123440         * lisp/textmodes/text-mode.el (text-mode-hook):
123441         * lisp/textmodes/table.el (table):
123442         * lisp/textmodes/rst.el (rst):
123443         * lisp/textmodes/refer.el (refer):
123444         * lisp/textmodes/refbib.el (refbib):
123445         * lisp/textmodes/picture.el (picture):
123446         * lisp/textmodes/nroff-mode.el (nroff):
123447         * lisp/textmodes/enriched.el (enriched):
123448         * lisp/textmodes/bib-mode.el (bib):
123449         * lisp/progmodes/ebnf2ps.el (ebnf2ps):
123450         * lisp/nxml/rng-valid.el (relax-ng):
123451         * lisp/view.el (view):
123452         * lisp/ps-print.el (ps-print):
123453         * lisp/printing.el (printing):
123454         * lisp/outline.el (outlines):
123455         * lisp/lpr.el (lpr):
123456         * lisp/delim-col.el (columns): Use 'text' group instead of 'wp'.
123457         * lisp/cus-edit.el (wp): Remove the "text" tag.
123458         (text): New defgroup, inherits from the deprecated 'wp'.
123459         (outlines): Remove, in favor of the definition in outline.el.
123460         (tex): Inherit from 'text'.
123461         Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#24549)
123463 2016-10-08  Laimonas Vėbra  <laimonas.vebra@yahoo.com>  (tiny change)
123465         Extend dictionary and library-directory handling for Ispell
123467         * lisp/textmodes/ispell.el (ispell-check-version): Allow
123468         overriding LIBDIR via the variable defined by LIBRARYVAR (usually
123469         ISPELL_DICTDIR).
123470         (ispell-valid-dictionary-list): If the -d option to Ispell
123471         specifies an absolute file name, use that regardless of
123472         ispell-library-directory.  (Bug#24439)
123474 2016-10-07  Tassilo Horn  <tsdh@gnu.org>
123476         Fix unescaped \begin{...} in docstring
123478         * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib): Fix unescaped
123479         \begin{...} in docstring.
123481 2016-10-06  Noah Friedman  <friedman@splode.com>
123483         Update comment.
123485 2016-10-06  Eli Zaretskii  <eliz@gnu.org>
123487         Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
123489         * nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
123490         defining to avoid redefinition warnings.
123492         * nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
123493         inclusion of sys/stat.h from the system headers, which could then
123494         lead to compilation errors due to redefinition of 'struct stat'
123495         etc.  This is needed because latest versions of MinGW runtime
123496         include sys/stat.h from wchar.h.
123498         * src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
123499         redefine to 4 to avoid conflict between 2 definitions of
123500         MemoryBarrier.  (Bug#24613)
123502 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
123504         * lisp/url/url-parse.el (url-generic-parse-url): Unquote macro URL argument.
123506 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
123508         Autoload entry point testcover-start
123510         * lisp/emacs-lisp/testcover.el: Add autoload cookie for
123511         testcover-start.
123513 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
123515         Bump version of ntlm.el to 2.1.0
123517         * lisp/net/ntlm.el: Bump version to 2.1.0.
123519 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
123521         lisp/net/ntlm.el: Fix comment and docstring formatting
123523 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
123525         lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior
123527         * lisp/net/ntlm.el (ntlm-build-auth-request): Only set
123528         "negotiate domain supplied" bit when a domain is supplied.  Do
123529         not set "negotiate workstation supplied" bit.
123530         (ntlm-build-auth-response): Set domain to empty string by
123531         default.  Set workstation name to "WORKSTATION".  Set flags to
123532         logical and of Type 1 and Type 2 message flags.  Remove four
123533         trailing 0 bytes.  Always set LM response.  Hard-code domain
123534         offset.  Reorder buffer fields.
123536 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
123538         Document return value of `display-buffer-in-side-window'
123540         * doc/lispref/windows.texi (Displaying Buffers in Side Windows):
123541         * lisp/window.el (display-buffer-in-side-window): Describe
123542         return value of `display-buffer-in-side-window'.
123544 2016-10-05  Eli Zaretskii  <eliz@gnu.org>
123546         Improve wording in side windows documentation
123548         * doc/lispref/windows.texi (Displaying Buffers in Side Windows)
123549         (Side Window Options and Functions)
123550         (Frame Layouts with Side Windows): Minor wording improvements.
123552 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
123554         Document and fix some bugs with side windows
123556         Add a documentation for side windows and fix some bugs
123557         found when testing their behavior.  Also add a new window
123558         parameter `no-delete-other-window', a new `display-buffer'
123559         alist member called `window-parameters', and functions to
123560         toggle and reverse side windows on a frame.  Add new function
123561         `window-swap-states' to exchange states of two live windows.
123563         * lisp/window.el (display-buffer-in-atom-window): Use
123564         `split-window-no-error'.
123565         (window-sides-vertical): Maybe change layouts when setting this
123566         variable.
123567         (window-sides-reversed): New option.
123568         (window-sides-slots): Rewrite doc-string and help echoes.
123569         (window-sides-shown): New buffer-local variable set when showing
123570         a buffer in a side window.
123571         (window--sides-inhibit-check): New variable.
123572         (window--sides-reverse-on-frame-p, window-toggle-side-windows)
123573         (window--sides-reverse-all, window--sides-reverse-frame)
123574         (window--sides-reverse-side, window--sides-reverse)
123575         (window--sides-verticalize-frame, window--sides-verticalize)
123576         (window--sides-check-failed): New functions.
123577         (window--side-window-p): Remove function.
123578         (window--major-non-side-window): Rename to `window-main-window',
123579         adjust callers, rewrite doc-string.
123580         (window--major-side-window): Rename to
123581         `window--make-major-side-window-next-to', adjust caller, fix
123582         doc-string.
123583         (display-buffer-in-major-side-window): Rename to
123584         `window--make-major-side-window', adjust
123585         caller, rewrite doc-string.  Make `window-side' and
123586         `window-slot' parameters persistent (Bug#23858).  Don't set
123587         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
123588         (delete-side-window): Remove function.
123589         (display-buffer-in-side-window): Fix doc-string.  Don't set
123590         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
123591         (window--side-check): Rename to window--sides-check.  Rewrite
123592         completely.  Adjust caller.
123593         (window-resize-no-error): Don't describe PIXELWISE argument.
123594         (adjust-window-trailing-edge): Fix bug that disallowed
123595         re-enlarging windows that were too small.
123596         (window-deletable-p): Don't tell that a minibuffer window on a
123597         non-minibuffer-only frame can be deleted.  Fix doc-string.
123598         (delete-window): Handle deleting a side window here (the
123599         `delete-window' parameter is no more set for side windows).
123600         (delete-other-windows): Handle ‘no-delete-other-window'
123601         parameter. Don't treat side windows separately (see discussion
123602         of Bug#24368) but keep optimization that makes the main window
123603         the root window of its frame.
123604         (switch-to-prev-buffer, switch-to-next-buffer): Handle side
123605         windows and buffers shown in side windows separately.
123606         (split-window-no-error): New function.
123607         (window--state-get-1): Use right buffer when storing window
123608         point and start positions and WRITABLE is nil (Bug#24368).
123609         (window--state-put-1): Fix handling of `window-combination-limit'.
123610         Use `split-window-no-error'.
123611         (window--state-put-2): Try to restore windows with preserved
123612         size to their original size.  Fix bug where a fixed window's width
123613         was not preserved.
123614         (window-state-put): When reducing an internal window to a live
123615         one, don't choose a side window.
123616         (window-swap-states): New function.
123617         (window-splittable-p): Don't call `window--side-window-p'.
123618         (window--display-buffer): Handle `window-parameters' ALIST entry.
123619         Minor rewrite.
123620         (display-buffer): Mention `window-parameters' entry in
123621         doc-string.
123622         (display-buffer-at-bottom): Call `split-window-no-error'.
123624         * doc/lispref/elisp.texi (Top): New section "Side Windows".
123625         * doc/lispref/windows.texi (Deleting Windows): Fix descriptions
123626         of `delete-window' and `delete-other-windows' wrt window
123627         parameters and side windows.
123628         (Display Action Functions): Mention `window-parameters' ALIST
123629         entry.
123630         (Side Windows): New section (Bug#18170).
123631         (Window Configurations): Describe new function `window-swap-states'.
123632         (Window Parameters): Say that functions may behave specially when
123633         their homonymous window parameter has been set.  Mention new
123634         parameter `no-delete-other-window'.  Add cross reference for
123635         `window-side' and `window-slot' parameters.
123637 2016-10-04  John Wiegley  <johnw@newartisans.com>
123639         Add documentation note from Alex
123641 2016-10-04  Mark Oteiza  <mvoteiza@udel.edu>
123643         Avoid dynamic binding on a symbol
123645         Instead, bind history in the default minibuffer-history.
123646         Fixes bug#24580.
123647         * lisp/replace.el (query-replace-read-from): Let-bind
123648         minibuffer-history.  Change read-regexp and read-from-minibuffer's
123649         HISTORY arguments to nil so that they use minibuffer-history.
123651 2016-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
123653         * src/fileio.c (Finsert_file_contents): Fix hook handling (bug#24340)
123655         * src/fileio.c (Finsert_file_contents): Run before-change-hooks before
123656         deleting the old buffer content.
123657         * src/lisp.h (del_range_byte):
123658         * src/insdel.c (del_range_byte): Drop the last argument.
123659         * src/fns.c (Fbase64_encode_region): Adjust accordingly.
123661 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
123663         Ibuffer: 'w' and 'B' default to buffer at current line
123665         See discussion in:
123666         https://lists.gnu.org/r/emacs-devel/2016-09/msg00384.html
123667         * lisp/ibuffer.el (ibuffer--near-buffers): New defun;
123668         return buffers near current line.
123669         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
123670         Add argument ARG; if a non-zero integer, return next ARG buffers.
123671         Otherwise return the marked buffers.
123672         If there are not marked buffers, return buffer at current line
123673         without prompting the user.
123674         Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
123675         Append to kill ring when last command was a kill-region.
123676         (ibuffer-copy-filename-as-kill): Idem.
123677         Simplify the code.
123678         Use ibuffer-buffer-file-name instead of buffer-file-name to
123679         include buffers in Dired mode.
123681 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
123683         dired-mark-extension: Unmark if called with C-u prefix
123685         See discussion in #Bug2518 and:
123686         https://lists.gnu.org/r/emacs-devel/2016-09/msg00711.html
123687         * lisp/dired-x.el (dired-mark-extension):
123688         Update interactive calls: a prefix arg C-u unmark files;
123689         a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
123690         (dired-mark-sexp):
123691         Show in the prompt that we are unmarking if called with a prefix argument.
123692         * doc/misc/dired-x.texi (Advanced Mark Commands):
123693         Update documentation for 'dired-mark-extension'.
123695 2016-10-02  Karl Fogel  <kfogel@red-bean.com>
123697         Document yank behavior in the right place
123699         * lisp/simple.el (yank): Document the handling of the
123700         `yank-handled-properties' and `yank-excluded-properties' variables,
123701         and the `yank-handler' text property.
123702         (yank-pop): Refer to `yank' now (bug#286)
123704         * lisp/subr.el (insert-for-yank): Refer to `yank' now.
123705         (insert-for-yank-1): Refer to `insert-for-yank' now.
123707         See this thread for discussion:
123709           https://lists.gnu.org/r/emacs-devel/2016-09/threads.html#00329
123710           From: Karl Fogel
123711           To: Emacs Devel
123712           Subject: Question about intended behavior of 'insert-for-yank-1'.
123713           Date: Mon, 12 Sep 2016 00:17:14 -0500
123714           Message-ID: <874m5lr92d.fsf@red-bean.com>
123716 2016-10-02  Philipp Stephani  <phst@google.com>
123718         Restart blink cursor timers on interval changes
123720         This prevents surprising behavior when timer interval customizations are
123721         only applied whenever the timers happen to be restarted (see Bug#24372).
123723         * lisp/frame.el (blink-cursor--start-idle-timer)
123724         (blink-cursor--start-timer): New functions.
123725         (blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
123726         the new helper functions.
123727         (blink-cursor-delay, blink-cursor-interval): Restart timers when
123728         the value is changed.
123730 2016-10-01  Philipp Stephani  <phst@google.com>
123732         Use a simple keyword for a non-nil argument
123734         The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
123735         and non-nil values are distinguished.  Passing a number here is
123736         confusing.  Pass a descriptive symbol instead.
123738         * lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
123739         :repeat symbol instead of number for second argument of
123740         `run-with-idle-timer'
123742 2016-10-01  Philipp Stephani  <phst@google.com>
123744         Make querying to kill processes customizable
123746         Introduce a new customization option, `confirm-kill-processes', that
123747         users can set to nil if they don't want Emacs to nag them about killing
123748         processes.
123750         * lisp/files.el (confirm-kill-processes): New customization option.
123751         (save-buffers-kill-emacs): Use customization option.
123753         * test/lisp/files-tests.el
123754         (files-test--save-buffers-kill-emacs--confirm-kill-processes): Add
123755         test for new customization option.
123757         * doc/emacs/entering.texi (Exiting): Document new user option.
123759         * doc/lispref/processes.texi (Query Before Exit): Document new
123760         user option.
123762         * etc/NEWS: Document new user option.
123764 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
123766         Set :version of 'debugger-stack-frame-as-list'
123768         * lisp/cus-start.el (debugger-stack-frame-as-list): Give value to
123769         the ':version' attribute.
123771 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
123773         Bump Emacs version to 26.0.50
123775         * README:
123776         * configure.ac:
123777         * etc/NEWS:
123778         * etc/refcards/ru-refcard.tex:
123779         * msdos/sed2v2.inp:
123780         * src/msdos.c: Increment Emacs version to 26.0.50.
123781         * etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
123782         moved to etc/NEWS.
123784 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
123786         Avoid compilation warning on MinGW
123788         * src/w32.c: Include string.h, needed for the prototype of
123789         'strerror', shadowed by 'sys_strerror'.  This avoids a compiler
123790         warning about "no previous prototype".  The string.h header
123791         must be included after ms-w32.h, but before "#undef strerror".
123793 2016-09-30  Alan Third  <alan@idiocy.org>
123795         Fix compatibility with macOS 10.12 pmset (bug#24537)
123797         * lisp/battery.el (battery-pmset): Recognize and ignore battery id if
123798         present in output.
123800 2016-09-30  Paul Eggert  <eggert@cs.ucla.edu>
123802         Limit <config.h>’s includes
123804         This follows up on recent problems with the fact that config.h
123805         includes stdlib.h etc.; some files need to include stdlib.h later.
123806         config.h generally should limit itself to includes that are
123807         universally safe; outside of MS-Windows, only stdbool.h makes
123808         the cut among the files currently included.  So, move the
123809         other includes to just the files that need them (Bug#24506).
123810         * configure.ac (config_opsysfile): Remove, as this generic hook
123811         is no longer needed.
123812         * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
123813         * src/w32proc.c (_GNU_SOURCE):
123814         Remove, as it’s OK for config.h to do this now.
123815         * src/conf_post.h: Include <ms-w32.h>, instead of the generic
123816         config_opsysfile, for simplicity as this old way of configuring is
123817         now done only for the MS-Windows port.  Do not include <ms-w32.h>
123818         if DEFER_MS_W32_H, for the benefit of the few files that want its
123819         effects later.  Do not include <alloca.h>, <string.h>, or
123820         <stdlib.h>.  Other files modified to include these headers as
123821         needed, or to not include headers that are no longer needed.
123822         * src/lisp.h: Include <alloca.h> and <string.h> here, since
123823         some of the inline functions need them.
123824         * src/regex.c: Include <alloca.h> if not emacs.  (If emacs,
123825         we can rely on SAFE_ALLOCA.)  There is no longer any need to
123826         worry about HAVE_ALLOCA_H.
123827         * src/unexmacosx.c: Rely on config.h not including stdlib.h.
123828         * src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
123829         Define before including <config.h> first, and include <ms-w32.h>
123830         after the troublesome headers.
123832 2016-09-30  Vasilij Schneidermann  <v.schneidermann@gmail.com>
123834         New user option 'debugger-stack-frame-as-list'
123836         * src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
123837         variable.
123838         * lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
123839         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
123840         backtrace processing for the value of debugger-stack-frame-as-list.
123841         * lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
123842         processing for the value of debugger-stack-frame-as-list.
123843         * doc/lispref/debugging.texi (Internals of Debugger): Document
123844         debugger-stack-frame-as-list.
123845         * etc/NEWS: Mention 'debugger-stack-frame-as-list'.
123847 2016-09-30  Aurelien Aptel  <aaptel@suse.com>
123849         * src/alloc.c: call only non-null finalizers
123851 2016-09-30  Eli Zaretskii  <eliz@gnu.org>
123853         Avoid compiler warnings in image.c on MS-Windows
123855         * src/image.c (DrawText, g_type_init) [WINDOWSNT]: Avoid compiler
123856         warning about unused macros.
123858 2016-09-30  Paul Rankin  <hello@paulwrankin.com>
123860         * lisp/outline.el (outline-invisible-p): Only return `t' for
123861         the 'outline property.
123863 2016-09-29  Paul Eggert  <eggert@cs.ucla.edu>
123865         Fix problems found by static checking --with-ns
123867         This is for Fedora 24 when configured with --enable-gcc-warnings.
123868         Although it does not fix all the problems, it fixes many of them.
123869         * src/frame.c (XParseGeometry):
123870         * src/nsterm.m (mouseDown:):
123871         Mark locals with UNINIT to pacify --enable-gcc-warnings.
123872         * src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
123873         Remove unused macros.
123874         (slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
123875         (xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
123876         (xpm_put_color_table_v, xpm_get_color_table_v)
123877         (xpm_make_color_table_h, xpm_put_color_table_h)
123878         (xpm_get_color_table_h, xpm_load_image, xpm_load)
123879         (pbm_next_char, pbm_scan_number, pbm_load, svg_load)
123880         (svg_load_image):
123881         * src/nsfns.m (x_get_string_resource):
123882         * src/nsimage.m (ns_image_from_XBM):
123883         Fix pointer signedness problems.
123884         * src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
123885         (imagemagick_load_image): Omit unused locals.
123886         * src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
123887         (Fx_open_connection):
123888         * src/nsfont.m (ns_antialias_threshold):
123889         Move extern decl to nsterm.h so it can be checked.
123890         * src/nsmenu.m (svcsMenu, dockMenu):
123891         Move to the only file that uses them, so they can be static.
123892         * src/nsterm.h (find_and_call_menu_selection):
123893         * src/nsterm.m (x_set_frame_alpha):
123894         Omit duplicate decls.
123895         * src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
123896         * src/nsfns.m (ns_tooltip, ns_display_info_for_name)
123897         (ns_set_name_as_filename, x_set_menu_bar_lines)
123898         (x_set_tool_bar_lines, x_set_internal_border_width):
123899         * src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
123900         Now static.
123901         * src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
123902         * src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
123903         Remove; unused.
123904         * src/nsfont.m (ns_dump_glyphstring):
123905         * src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
123906         (ns_clear_frame, keyDown:):
123907         Fix signedness problem with printf arg.
123908         * src/nsterm.h (ns_input_events, ns_finish_events):
123909         * src/nsterm.m (ns_finish_events, hide_bell):
123910         Prototype the decls.
123911         * src/nsterm.m (NSMenuDidBeginTrackingNotification):
123912         Omit unnecessary decl.
123913         (dockMenu):
123914         (mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
123915         (ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
123916         (toggleFullScreen:): Use FACE_FROM_ID instead of
123917         FACE_FROM_ID_OR_NULL in contexts where the caller expects the
123918         result to be non-null.
123919         (applicationShouldTerminate:): Fix misleading indentation.
123921 2016-09-28  Mark Oteiza  <mvoteiza@udel.edu>
123923         Turn on more lexical-binding
123925         * lisp/dom.el:
123926         * lisp/faces.el:
123927         * lisp/htmlfontify.el: Turn on lexical-binding.
123928         (htmlfontify-string): Use pushnew instead of add-to-list.
123929         * lisp/info-xref.el:
123930         * lisp/isearch.el:
123931         * lisp/man.el:
123932         * lisp/ps-def.el:
123933         * lisp/ps-print.el:
123934         * lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
123935         time.
123936         (multi-occur): Use cl-pushnew instead of add-to-list.
123937         (replace-match-string-symbols): Remove unused lexical variable.
123938         (replace-search, replace-highlight): Fix argument shadowing.
123939         * lisp/sort.el:
123940         * lisp/xml.el: Turn on lexical-binding.
123941         (xml--parse-buffer): Use push instead of add-to-list.
123942         * lisp/xt-mouse.el: Turn on lexical-binding.
123944 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
123946         * admin/notes/bug-triage: Do not mention closed bugs
123948         * admin/notes/bug-triage: Do not mention closed bugs, they are
123949         suppressed by default in debbugs-{gnu,org}.
123951 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
123953         * etc/PROBLEMS: Remove problem Bug#22814, again.
123955 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
123957         Stick with debbugs-supported tags in triage
123959         * admin/notes/bug-triage: Stick to the tag "unreproducible", which
123960         debbugs supports, rather than suggesting "doneunreproducible" or
123961         "unreproducable".
123963 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
123965         Merge from origin/emacs-25
123967         9fc9988 Improve documentation of 'expand-abbrev' and wrapper hooks
123968         c14a1d4 Minor copyedits of MS-Windows installation instructions
123969         f281924 Fix display of cursor when 'blink-cursor-delay' has small value
123971         # Conflicts:
123972         #       lisp/minibuffer.el
123974 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
123976         Merge from origin/emacs-25
123978         0ae9a81 Document 'timerp'
123979         2c72c46 Improve documentation of overlay priorities
123980         f6fa160 Fix 'dired-compress-files'
123981         2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR
123983         # Conflicts:
123984         #       lisp/dired.el
123985         #       src/buffer.h
123986         #       src/character.h
123988 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
123990         Merge from origin/emacs-25
123992         cf9e174 Document the optional zlib library in MS-Windows builds
123993         84eb144 ; * admin/notes/unicode: Mention BidiCharacterTest.txt.
123994         73c67dd Fix tagging of DEFUN by etags
123995         ea1960b Avoid resetting track-mouse by mouse clicks
123996         505fef3 Improve nt/README.W32 instructions
123997         1229cc4 Document that desktop file overrides frame parameters
123998         f0eb70d ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 release
124000         # Conflicts:
124001         #       ChangeLog.2
124002         #       admin/notes/unicode
124003         #       lisp/ldefs-boot.el
124005 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
124007         Merge from origin/emacs-25
124009         0ffc9ce Update admin/authors.el
124010         0ad7410 Update Antinews in ELisp manual
124011         ea0f750 Fix comments on window height macros
124012         0bbdeed Fix 'url-http-create-request' when cookies are used
124013         0045998 Fix cross reference in frames.texi
124014         1392894 ; * etc/DEBUG: Minor copyedits.
124015         304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
124016         56bf7d7 Fix regexp-opt documentation (bug #17862)
124017         803ad6f ; Fix documentation of seq-subseq
124018         ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
124019         88ea396 ; Spelling fixes
124020         17197d0 Fix tags-query-replace docstring
124021         80a7f8b Clarify documentation of precision in format specs
124022         88a5052 Improve and clarify documentation of subprocesses
124023         89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).
124025         # Conflicts:
124026         #       etc/PROBLEMS
124027         #       src/process.c
124029 2016-09-26  Michael Albinus  <michael.albinus@gmx.de>
124031         * lisp/net/tramp-compat.el (tramp-compat-funcall): Don't use `subrp'.
124033 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
124035         Fix 'dired-mark-extension' with prefix argument
124037         * lisp/dired-x.el (dired-mark-extension): Allow to specify
124038         MARKER-CHAR interactively as a string, not as a character's
124039         codepoint.  (Bug#24518)
124041         * doc/misc/dired-x.texi (Advanced Mark Commands): Document the
124042         behavior when invoked with a prefix arg.
124044 2016-09-24  Simen Heggestøyl  <simenheg@gmail.com>
124046         Support completion of classes and IDs in CSS mode
124048         * lisp/textmodes/css-mode.el (css-class-list-function): New variable
124049         holding the function to call for retrieving completions of class
124050         names.
124051         (css-id-list-function): New variable holding the function to call for
124052         retrieving completions of IDs.
124053         (css--foreign-completions): New function for retrieving completions
124054         from other buffers.
124055         (css--complete-selector): Support completing HTML class names and IDs
124056         from other buffers in addition to completing HTML tags.
124058         * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache): New
124059         variable holding a cache for `html-current-buffer-classes'.
124060         (html--buffer-ids-cache): New variable holding a cache for
124061         `html-current-buffer-ids'.
124062         (html-current-buffer-classes): New function returning a list of class
124063         names used in the current buffer.
124064         (html-current-buffer-ids): New function returning a list of IDs used
124065         in the current buffer.
124066         (html-mode): Set `css-class-list-function' and `css-id-list-function'
124067         to `html-current-buffer-classes' and `html-current-buffer-ids'
124068         respectively.
124070 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
124072         Update test suite files due to removal of test/lisp/legacy
124074         * test/README: Reference file-organization.org.
124075         * test/file-organization.org: Remove the description of files in
124076         the lisp/legacy/ directory.
124078 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
124080         Incorporate syntax-tests in lisp-tests.
124082         * test/lisp/emacs-lisp/lisp-tests.el: Add tests from
124083         test/lisp/legacy/syntax-tests.el.
124084         * test/lisp/legacy/syntax-tests.el: File deleted.
124086 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
124088         Incorporate occur-tests in replace-tests
124090         * test/lisp/replace-tests.el: Add tests from
124091         test/lisp/legacy/occur-tests.el.
124092         * test/lisp/legacy/occur-tests.el: File deleted.
124094 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
124096         Incorporate lexbind-tests.el in bytecomp-test.el
124098         * test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from
124099         test/lisp/legacy/lexbind-tests.el.
124100         * test/lisp/legacy/lexbind-tests.el: File deleted.
124102 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
124104         Improve integer overflow handling a bit
124106         * src/charset.c (read_hex): Use INT_LEFT_SHIFT_OVERFLOW for clarity.
124107         The machine code is the same on my platform.
124108         * src/doprnt.c (doprnt):
124109         * src/emacs-module.c (module_funcall):
124110         * src/font.c (font_intern_prop):
124111         * src/keyboard.c (Frecursion_depth):
124112         * src/lread.c (read1):
124113         Use WRAPV macros instead of checking overflow by hand.
124114         * src/editfns.c (hi_time, time_arith, decode_time_components):
124115         * src/emacs-module.c (Fmodule_load):
124116         Simplify by using FIXNUM_OVERFLOW_P.
124117         * src/emacs-module.c: Include intprops.h.
124118         * src/xdisp.c (percent99): New function.
124119         (decode_mode_spec): Use it to simplify overflow avoidance and
124120         formatting of %p and %P.
124122 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
124124         Incorporate core-elisp-tests in lisp-tests
124126         * test/lisp/emacs-lisp/lisp-tests.el: Added tests from
124127         test/lisp/legacy/core-elisp-tests.el.
124128         * test/lisp/legacy/core-elisp-tests.el: File removed.
124130 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
124132         Move coding-tests.el and decoder-test.el to their places
124134         * test/src/coding-tests.el: Added all the tests from
124135         test/lisp/legacy/decoder-tests.el.
124136         * test/lisp/legacy/decoder-tests.el: File deleted.
124138 2016-09-23  Vibhav Pant  <vibhavp@gmail.com>
124140         Use correct TYPE value for displaying error messages in (erc-display-message)
124142 2016-09-23  Eli Zaretskii  <eliz@gnu.org>
124144         Bump the version to 25.2.50
124146         * README:
124147         * configure.ac:
124148         * etc/NEWS:
124149         * msdos/sed2v2.inp: Increment the Emacs version to 25.2.50.
124151 2016-09-22  Tino Calancha  <tino.calancha@gmail.com>
124153         ibuffer-do-view-other-frame: Display each buffer in a new frame
124155         * lisp/ibuffer.el (ibuffer-do-view-1):
124156         When TYPE equals 'other-frame, then display each buffer
124157         in a new frame (Bug#24086).
124159 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
124161         Update from gnulib
124163         This incorporates:
124164         2016-09-22 stdint: port to GCC 7
124165         2016-09-22 limits-h, stdint: don't assume extensions
124166         * doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib.
124168 2016-09-22  Alan Mackenzie  <acm@muc.de>
124170         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix coding error
124172 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
124174         Port recent flexmember changes to NetBSD
124176         The NetBSD library supports localtime_rz directly, and without
124177         this change 'configure' omitted the flexmember test that is marked
124178         as conditional on localtime_rz.  Emacs now needs to use
124179         flexmember.m4 even when localtime_rz works.
124180         Problem reported by Thomas Klausner.
124181         * admin/merge-gnulib (GNULIB_MODULES): Add flexmember.
124182         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
124184 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
124186         * doc/misc/texinfo.tex: Copy from gnulib.
124188 2016-09-21  Michael Albinus  <michael.albinus@gmx.de>
124190         * lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'.
124192 2016-09-20  Paul Eggert  <eggert@cs.ucla.edu>
124194         Use flexmembers on IBM XL C for AIX
124196         This removes a workaround where Emacs did not use flexible
124197         array members when compiled with IBM XL C.  Instead, avoid
124198         the problem by making the aliasing issues more obvious to
124199         this compiler.
124200         * admin/merge-gnulib: Don’t remove m4/flexmember.m4.
124201         * m4/flexmember.m4: Copy from gnulib.
124202         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround.
124203         * src/alloc.c (allocate_string_data): Rephrase to avoid aliasing
124204         problem that would otherwise mess up code generated for flexible
124205         array members by IBM XL C for AIX, V12.1.
124206         * src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done
124207         by gnulib code.
124209 2016-09-19  Michael Albinus  <michael.albinus@gmx.de>
124211         Fix a problem with Tramp when the temporary dir isn't C:/Temp on w32
124213         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): Don't use
124214         `tramp-drop-volume-letter' any longer, it causes collateral
124215         damages.  Reported by Chris Zheng <chriszheng99@gmail.com>.
124217 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
124219         Port January __morecore changes to AIX 7.1
124221         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE, __morecore)
124222         (__after_morecore_hook):
124223         * src/ralloc.c (__morecore):
124224         Declare if DOUG_LEA_MALLOC is not defined, not if HAVE_MALLOC_H is
124225         not defined.  <malloc.h> does not declare these in AIX 7.1.
124227 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
124229         Define _GNU_SOURCE in files delaying config.h
124231         Problem reported by Richard Copley in:
124232         https://lists.gnu.org/r/emacs-devel/2016-09/msg00440.html
124233         * src/w32.c, src/w32notify.c, src/w32proc.c (_GNU_SOURCE):
124234         Define early.
124236 2016-09-17  Eli Zaretskii  <eliz@gnu.org>
124238         Update the bidi test code and data
124240         * test/manual/BidiCharacterTest.txt: Import the version from
124241         Unicode Standard 9.0.0.
124242         * test/manual/biditest.el (biditest-generate-testfile): Allow 'x'
124243         in the 4th field of the test data.
124245 2016-09-17  Tino Calancha  <tino.calancha@gmail.com>
124247         ibuffer-do-toggle-read-only: Fix unused argument
124249         * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call
124250         'read-only-mode' with ARG when its an integer.
124251         Clarify the meaning of ARG in doc string.
124253 2016-09-17  Alan Mackenzie  <acm@muc.de>
124255         Improve accuracy of line/column numbers in byte compiler's warning messages.
124257         * lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new
124258         value of byte-compile-last-position is not lower than old value.
124259         (byte-compile-function-warn): call byte-compile-set-symbol-position.
124261 2016-09-17  Michael Albinus  <michael.albinus@gmx.de>
124263         Minor Tramp tweaks
124265         * lisp/net/tramp.el (tramp-get-buffer): Reuse connection
124266         property "process-buffer" if already existing.
124267         (tramp-connectable-p): Suppress debug messages.
124269 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
124271         Define _GNU_SOURCE in unexmacosx.c
124273         Problem reported by Bob Halley in:
124274         https://lists.gnu.org/r/emacs-devel/2016-09/msg00427.html
124275         * src/unexmacosx.c (_GNU_SOURCE): Define if not already defined.
124277 2016-09-16  Alan Mackenzie  <acm@muc.de>
124279         C Mode: Fix mis-fontification of macro invocation as function declaration
124281         This happened with a macro invocation which was followed by a statement block
124282         in braces.
124284         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
124285         between contexts nil and top, being less permissive in the former case.
124286         (c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.
124288 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
124290         Improve the doc string of 'format'
124292         * src/editfns.c (Fformat): Fix ambiguity in the doc string's usage
124293         of a literal period.  (Bug#24407)
124295 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
124297         Improve doc strings in whitespace.el
124299         * lisp/whitespace.el (whitespace-mode, whitespace-newline-mode)
124300         (global-whitespace-mode, global-whitespace-newline-mode): Improve
124301         the doc strings.  (Bug#24413)
124303 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
124305         Improve detectability of 'next-logical-line' and 'previous-logical-line'
124307         * lisp/simple.el (next-line, previous-line): Mention
124308         'next-logical-line' and 'previous-logical-line' in the doc
124309         strings.  (Bug#24443)
124311 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
124313         Update from gnulib
124315         This incorporates:
124316         2016-09-16 extensions: fix typo in comment
124317         2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
124318         * m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.
124320 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
124322         Prefer now-standard int width macros
124324         * src/data.c (ULL_WIDTH):
124325         * src/lisp.h (EMACS_INT_WIDTH, BITS_PER_BITS_WORD):
124326         * src/lread.c (read_integer):
124327         * src/term.c (produce_glyphless_glyph):
124328         * src/xterm.c (x_send_scroll_bar_event):
124329         Use *_WIDTH macros instead of CHAR_BIT * sizeof.
124330         * src/data.c (ULL_WIDTH): Rename from BITS_PER_ULL for consistency
124331         with the *_WIDTH standard macros.  All uses changed.
124332         * src/gmalloc.c (INT_BIT): Remove.  All uses replaced with INT_WIDTH.
124333         * src/lisp.h (EMACS_INT_WIDTH): Rename from BITS_PER_EMACS_INT
124334         for consistency with the *_WIDTH standard macros.  All uses changed.
124335         (BITS_PER_CHAR): Remove; all uses replaced by CHAR_BIT.  This must
124336         be the same as CHAR_WIDTH and avoids confusion with Elisp
124337         char-width, which counts columns not bits.
124338         (BITS_PER_SHORT): Remove; all uses replaced by SHRT_WIDTH.
124339         (BITS_PER_LONG): Remove; all uses replaced by LONG_WIDTH.
124340         * src/lread.c: Do not include limits.h since CHAR_BIT is no longer
124341         used directly.
124343 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
124345         Update from gnulib
124347         This incorporates:
124348         2016-09-15 stdint: support new _WIDTH macros
124349         2016-09-15 limits-h: new module
124350         2016-09-15 sys_types: avoid glibc 2.25 warnings about major()
124351         2016-09-15 extensions: port to more ISO C TSes
124352         2016-09-13 intprops: new macro TYPE_WIDTH
124353         2016-09-13 extensions: port to recent ISO C TRs
124354         * .gitignore: Add lib/limits.h.
124355         * doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h:
124356         * lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
124357         * m4/sys_types_h.m4: Copy from gnulib.
124358         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
124359         * lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib.
124360         * nt/gnulib.mk: Merge changes from lib/gnulib.mk.
124362 2016-09-15  Michael Albinus  <michael.albinus@gmx.de>
124364         Rework fixing Bug#24432
124366         * lisp/net/tramp.el (tramp-get-buffer): Set connection property
124367         "process-buffer" in order to mark connection as active.
124369         * lisp/net/tramp-cache.el (tramp-get-hash-table)
124370         (tramp-set-connection-property)
124371         (tramp-dump-connection-properties): Do not use "active" property.
124372         (tramp-list-connections): Use "process-buffer" property.
124374         * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process
124375         properties prior deletion of process.
124377 2016-09-14  Johan Bockgård  <bojohan@gnu.org>
124379         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430).
124381         * lisp/emacs-lisp/edebug.el (defun): Fix debug spec.
124383 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
124385         Avoid compiler warning on MS-Windows due to clone_file
124387         * src/fileio.c (clone_file): Condition on !WINDOWSNT, since the
124388         call to it is not compiled in that build, and having it defined
124389         causes compiler warnings.
124391 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
124393         Avoid aborts in GC due to abort_on_gc
124395         * src/lisp.h:
124396         * src/print.c (Fprin1_to_string):
124397         * src/eval.c (signal_or_quit):
124398         * src/alloc.c (garbage_collect_1): Remove declarations, setting,
124399         and testing the value of abort_on_gc.  It is no longer needed, and
124400         using it causes rare aborts in GC for no good reason.  (Bug#23912)
124402 2016-09-14  Michael Albinus  <michael.albinus@gmx.de>
124404         Fix Bug#24432
124406         * lisp/net/tramp-cache.el (tramp-get-hash-table): Initialize a
124407         connection as inactive.
124408         (tramp-set-connection-property): Make the connection active.
124409         (tramp-dump-connection-properties): Don't save "active" property.
124410         (tramp-list-connections): List only active connections.  (Bug#24432)
124412 2016-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
124414         Don't bug out on all-whitespace URLs
124416         * lisp/net/shr.el (shr-expand-url): Don't bug out on
124417         degenerate all-whitespace URLs.
124419 2016-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
124421         sieve-manage.el: Rename sieve-manage-ignore-broken-tls
124423         * lisp/net/sieve-manage.el (sieve-manage-ignore-starttls):
124424         Rename from sieve-manage-ignore-broken-tls.  If it is set,
124425         sieve-manage will never use STARTTLS even if the server says
124426         it is capable (but may be broken).
124428 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
124430         Port to ISO/IEC TS 18661-1:2014
124432         * src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH.
124433         All uses changed.
124435 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
124437         dired-jump: Expand file-name before dired-goto-file call
124439         Command dired-goto-file requires its argument to be an absolute
124440         file name.  Interactively FILE-NAME is read with read-file-name,
124441         which could return an abbreviated file name (Bug#24409).
124442         * lisp/dired-x.el (dired-jump): Use expand-file-name on FILE-NAME.
124443         Clarify in doc string the meaning of arg FILE-NAME.
124445 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
124447         Add test for Bug#21454
124449         * test/lisp/legacy/files-tests.el (files-test-bug-21454): New test.
124451 2016-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
124453         * lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): Add :version.
124455 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
124457         sieve.el: Make the buffer to edit unmodified initially (bug#24423)
124459         * lisp/net/sieve.el (sieve-edit-script):
124460         Make the buffer to edit be not modified-p initially (bug#24423).
124462 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
124464         sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)
124466         * lisp/net/sieve-manage.el
124467         (sieve-manage-ignore-broken-tls): New user option.
124468         (sieve-manage-open-server):
124469         Don't test STARTTLS capability if the option is set (bug#24422).
124471 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
124473         Fix compiler thinking width and height may be uninitialized in frame.c
124475         This fixes the following warning:
124477                 frame.c: In function ‘x_set_frame_parameters’:
124478                 frame.c:3329:25: error: ‘width’ may be used uninitialized in
124479                         this function [-Werror=maybe-uninitialized]
124480                        adjust_frame_size (f, width_change ? width : -1,
124481                                  ^
124483         * src/frame.c (x_set_frame_parameters): Drop width_changed and
124484         height_changed variables in favor of storing that information in
124485         width and height variables.
124487 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
124489         Fix compiler thinking tmpdir may be uninitialized in emacsclient
124491         This fixes the following warning:
124493                 emacsclient.c: In function ‘set_local_socket’:
124494                 /usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error:
124495                         ‘tmpdir’ may be used uninitialized in this function
124496                         [-Werror=maybe-uninitialized]
124497                    return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
124498                    ^
124499                 emacsclient.c:1197:17: note: ‘tmpdir’ was declared here
124500                      const char *tmpdir;
124502         * lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir
124503         variable and instead use tmpdir being non-NULL as sign that it should
124504         be used.
124506 2016-09-12  Tino Calancha  <tino.calancha@gmail.com>
124508         image-dired: Signal an error before calling a missing executable
124510         Reverts commit ca473907
124511         Add a defun to check if an executable exists, and call it
124512         on each function using an external program: when the executable
124513         is not available signal an error.
124514         See discussion on:
124515         https://lists.gnu.org/r/emacs-devel/2016-09/msg00135.html
124516         * lisp/image-dired.el (image-dired--check-executable-exists): New defun.
124517         Throw and error when the executable arg is missing.
124518         (image-dired-display-image, image-dired-rotate-thumbnail)
124519         (image-dired-rotate-original, image-dired-set-exif-data)
124520         (image-dired-get-exif-data):
124521         Use it.
124523 2016-09-12  Eli Zaretskii  <eliz@gnu.org>
124525         Fix daemon shutdown when emacs-kill-hooks ask questions
124527         * lisp/server.el (server-start): Put the server's kill-emacs-hook
124528         last, to allow other hooks to have a frame to interact with the
124529         user.  (Bug#24326)
124531 2016-09-12  Paul Eggert  <eggert@cs.ucla.edu>
124533         * src/casefiddle.c (casify_word): Simplify.
124535         * src/casefiddle.c (casify_word): Return Qnil.
124537 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
124539         Refactor common code in {upcase,downcase,capitalize}-word functions
124541         * src/casefiddle.c (operate_on_word): Removed in favor of…
124542         (casify_word) …new function which does what operate_on_word did plus
124543         what all of the common code from *-word functions.
124544         (upcase-word, downcase-word, capitalize-word): Move code common between
124545         those functions (pretty much the whole body of those functions) into
124546         casify_word and use that instead of now deleted operate_on_word.
124548 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
124550         * doc/lispref/files.texi: Remove @vindex.
124552 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
124554         Remove unnecessary ref to coreutils manual
124556         * doc/lispref/files.texi: Document write-region-inhibit-fsync.
124558 2016-09-11  Alan Mackenzie  <acm@muc.de>
124560         Correctly fontify C++ direct initializations with parens inside functions
124562         Or, more clearly, when something looks like a function declaration and it's
124563         inside a function, fontify it as a direct initialization.
124565         For this purpose, introduce a "brace stack" for each buffer, where an entry on
124566         the brace stack states how deeply nested a particular position is inside
124567         braces inside a "top level", which includes classes and namespaces.
124569         Also introduce a new "context", "top", with which c-font-lock-declarations
124570         signals to c-forward-decl-or-cast-1 that point is at the top level.
124572         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add
124573         c-truncate-bs-cache.
124574         (c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key)
124575         (c-type-decl-operator-prefix-key): new language constants/variables.
124577         * lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit)
124578         (c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace
124579         stack cache.
124580         (c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at)
124581         (c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache).
124582         (c-find-decl-prefix-search): Keep track of whether we're at top level.
124583         (c-find-decl-spots): New local variable cfd-top-level which records what it
124584         says.  On calling cfd-fun, pass cfd-top-level as an additional argument.
124585         (c-forward-declarator): Add new element DECORATED to the result list.  Set it
124586         to non-nil when a match for c-type-decl-operator-prefix-key is found.
124587         (c-forward-decl-or-cast-1): Handle the newly introduced context "top".
124588         Introduce "CASE 9.5", which recognizes direct initializations.
124590         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
124591         (c-font-lock-enum-tail, c-font-lock-cut-off-declarators)
124592         (c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after):
124593         Add appropriate `not-top' argument to calls to c-font-lock-declarators.
124594         (c-font-lock-declarators): Additional parameter `not-top'.  Use not-top to
124595         participate in the decision whether to fontify an identifier as a function or
124596         a variable.
124597         (c-font-lock-declarations): The internal lambda function takes an additional
124598         argument `toplev' from c-find-decl-spots, which it uses in determining the
124599         "context" of a declaration.  Add appropriate `not-top' argument to calls to
124600         c-font-lock-declarators.
124601         (c-font-lock-objc-methods): Add extra parameter to internal lambda function,
124602         like for c-font-lock-declarators.
124604         * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack
124605         cache.
124607 2016-09-11  Eli Zaretskii  <eliz@gnu.org>
124609         Avoid signaling errors when computing "Stop" in GDB menu
124611         * lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume
124612         'gdb-running-threads-count' must have a numeric value.
124613         (Bug#24414)
124615 2016-09-11  Philipp Stephani  <phst@google.com>
124617         Stop calling ‘byte-compile-log-warning’
124619         For errors, use ‘byte-compile-report-error’ instead so that the error
124620         is registered and causes compilation to fail (Bug#24359).
124622         For warnings, use ‘byte-compile-warn’ instead so that
124623         ‘byte-compile-error-on-warn’ is honored (Bug#24360).
124625         * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
124626         (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
124627         ‘byte-compile-log-warning’.
124629         * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
124630         (byte-compile-setq, byte-compile-funcall): Use
124631         ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
124632         (byte-compile-log-warning): Convert comment to documentation
124633         string.  Explain that the function shouldn’t be called directly.
124634         (byte-compile-report-error): Add optional FILL argument.
124636         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
124637         (cconv--analyze-function, cconv-analyze-form): Use
124638         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
124640         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
124641         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
124643         * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
124644         of ‘byte-compile-log-warning’.
124645         (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
124646         ‘byte-compile-log-warning’.
124648 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
124650         * etc/NEWS: Remove comment lost in emacs-25 merge.
124652 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
124654         Document file synchronization issues
124656         * doc/lispref/files.texi (Files and Storage): New section.
124658 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
124660         copy-file now uses GNU/Linux file cloning
124662         From a suggestion by Kieran Colford (see Bug#23904).
124663         * configure.ac: Check for linux/fs.h.
124664         * src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h.
124665         (clone_file): New function.
124666         (Fcopy_file): Use it.
124668 2016-09-10  Alan Third  <alan@idiocy.org>
124670         Invert y coord of NS image files (bug#7847)
124672         * src/nsterm.m (ns_dumpglyphs_image): Invert y coordinate of the image
124673         when compositing.
124675 2016-09-10  Noam Postavsky  <npostavs@gmail.com>
124677         Don't require isearch-update before isearch-done
124679         It is useful to be able to call `isearch-done' unconditionally to
124680         ensure a non-isearching state.
124682         * lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
124683         is a live buffer before using it (Bug #21091).
124684         * test/lisp/isearch-tests.el (isearch--test-done): Test it.
124686 2016-09-09  Simen Heggestøyl  <simenheg@gmail.com>
124688         * lisp/emacs-lisp/ring.el: Use lexical-binding
124690         * lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT
124691         argument of `dotimes' when the iteration variable isn't referred by
124692         it.
124693         (ring-member): Don't pass nil as the RESULT argument of `dotimes'
124694         since it's the default.
124696 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
124698         Split regex character class test into smaller chunks
124700         Having one test for all character classes it is not always trivial to
124701         determine which class is failing.  This happens when failure is caused
124702         by ‘(should (equal (point) (point-max)))’ not being met.
124704         With per-character class tests, it is immediately obvious which test
124705         causes issues plus tests for all classes are run even if some of them
124706         fail.
124708         * test/src/regex-tests.el (regex-character-classes): Delete and split
124709         into…
124710         (regex-tests-alnum-character-class, regex-tests-alpha-character-class,
124711         regex-tests-ascii-character-class, regex-tests-blank-character-class,
124712         regex-tests-cntrl-character-class, regex-tests-digit-character-class,
124713         regex-tests-graph-character-class, regex-tests-lower-character-class,
124714         regex-tests-multibyte-character-class,
124715         regex-tests-nonascii-character-class,
124716         regex-tests-print-character-class, regex-tests-punct-character-class,
124717         regex-tests-space-character-class,
124718         regex-tests-unibyte-character-class,
124719         regex-tests-upper-character-class, regex-tests-word-character-class,
124720         regex-tests-xdigit-character-class): …new tests.
124722 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
124724         Don’t allocate char-table’s extra slots in regexp-out-charset
124726         * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use
124727         'case-table as charmap char-table’s property.  The function has nothing
124728         to do with casing and in addition using 'case-table causes unnecessary
124729         extra slots to be allocated which ‘regexp-opt-charset’ does not use.
124731 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
124733         Remove dead loop iterations in regex.c
124735         RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8
124736         character for c ≥ 0x80.  Furthermore, CHAR_BYTE8_P(c) is true only
124737         for byte8 characters.  This means that
124739                 c = RE_CHAR_TO_MULTIBYTE (ch);
124740                 if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc))
124742         is equivalent to:
124744                 c = c;
124745                 if (! false && re_iswctype (c, cc))
124747         for 0 ⪬ c < 0x80, and
124749                 c = BYTE8_TO_CHAR (c);
124750                 if (! true && re_iswctype (c, cc))
124752         for 0x80 ⪬ c < 0x100.  In other words, the loop never executes for
124753         c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80.
124755         * src/regex.c (regex_compile): Simplyfy a for loop by eliminating
124756         dead iterations and unnecessary macro calls.
124758 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
124760         Replace decimalnump with alphanumericp
124762         decimalnump was used in regex.c only in ISALNUM macro which ored it with
124763         alphabeticp.  Because both of those functions require Unicode general
124764         category lookup, this resulted in unnecessary lookups (if alphabeticp
124765         return false decimalp had to perform another lookup).  Drop decimalnump
124766         in favor of alphanumericp which combines decimelnump with alphabeticp.
124768         * src/character.c (decimalnump): Remove in favor of…
124769         (alphanumericp): …new function.
124771         * src/regex.c (ISALNUM): Use alphanumericp.
124773 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
124775         Remove inaccurate comment in regex.c
124777         * src/regex.c (regex_compile): Remove comment indicating that wctype of
124778         some character classes may be negative.  All wctypes are in fact
124779         non-negative.
124781 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
124783         STRING_CHAR does not unify characters; update documentation
124785         * src/character.h (STRING_CHAR): Update doc.
124786         * src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc.  While at it, change
124787         the function to use BYTE_POS_ADDR instead of open-coding it.
124789 2016-09-08  Simen Heggestøyl  <simenheg@gmail.com>
124791         Add tests for ring.el
124793         * test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el.
124795 2016-09-07  Martin Rudalics  <rudalics@gmx.at>
124797         New file test/src/marker-tests.el
124799 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
124801         Port flexible array members to GCC + valgrind
124803         These changes are needed to conform to the C standard's rule for
124804         allocating structs containing flexible array members.  C11 says
124805         that malloc (offsetof (struct s, m) + n) does not suffice to
124806         allocate a struct with an n-byte tail; instead, malloc’s arg
124807         should be rounded up to the nearest multiple of alignof (struct s).
124808         Although this is arguably a defect in C11, gcc -O2 + valgrind
124809         sometimes complains when this rule is violated, and when debugging
124810         it’s better to keep valgrind happy.
124811         For details please see the thread containing the message at:
124812         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html
124813         * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c:
124814         Include flexmember.h.
124815         * lib-src/ebrowse.c (add_sym, add_member, make_namespace)
124816         (register_namespace_alias):
124817         * src/alloc.c (SDATA_SIZE, allocate_string_data):
124818         * src/image.c (xpm_cache_color, imagemagick_create_cache):
124819         * src/process.c (Fmake_network_process):
124820         Use FLEXSIZEOF instead of offsetof and addition.
124821         * src/alloc.c (SDATA_SIZE, vector_alignment):
124822         Use FLEXALIGNOF instead of sizeof (ptrdiff_t).
124823         * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR):
124824         Remove, as alloc.c can now calculate this on its own.
124826 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
124828         Update from gnulib
124830         This incorporates:
124831         2016-09-07 flexmember: new macro FLEXALIGNOF
124832         2016-09-07 flexmember: port better to GCC + valgrind
124833         2016-08-18 Port modules to use getprogname explicitly
124834         2016-09-02 manywarnings: add -fno-common
124835         * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember,
124836         since time_rz now uses part of it.  Instead, remove m4/flexmember.m4.
124837         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away,
124838         since Emacs assumes C99 and therefore removes m4/flexmember.m4.
124839         * lib/euidaccess.c, lib/group-member.c, lib/time_rz.c:
124840         * m4/manywarnings.m4: Copy from gnulib.
124841         * lib/flexmember.h: New file, from gnulib.
124842         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
124844 2016-09-07  Noam Postavsky  <npostavs@gmail.com>
124846         Don't --load directories
124848         * lisp/startup.el (command-line-1): Only pass expanded FILENAME argument
124849         of --load when it refers to a normal file, since `load' doesn't handle
124850         directories (Bug #16406).
124852 2016-09-07  Peder O. Klingenberg  <peder@klingenberg.no>
124854         Avoid error in icalendar--read-element
124856         * lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
124857         stack overflow by not using regex to extract values from calendar
124858         events. (Bug#24315)
124860 2016-09-07  Kaushal Modi  <kaushal.modi@gmail.com>
124862         Fix back-white <-> black-white typo
124864         * lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308)
124866 2016-09-07  Alan Third  <alan@idiocy.org>
124868         Fix cursor at bottom left of rectangle (bug#24364)
124870         * lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't
124871         require rectangle--point-crutches to be set.
124873 2016-09-07  Eli Zaretskii  <eliz@gnu.org>
124875         Fix documentation of convert-standard-filename on MS-Windows
124877         * lisp/files.el (convert-standard-filename): Doc fix.  (Bug#24387)
124879         * etc/NEWS: Suggest a way for mirroring slashes where previously
124880         'convert-standard-filename' was used.
124882 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
124884         Use DEV_TTY more consistently
124886         * src/conf_post.h (DEV_TTY): Move from here ...
124887         * src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need
124888         to be visible everywhere.  Make it a constant.
124889         * src/keyboard.c (handle_interrupt, Fset_quit_char):
124890         * src/process.c (create_process): Prefer DEV_TTY to "/dev/tty".
124892 2016-09-06  Eli Zaretskii  <eliz@gnu.org>
124894         Avoid assertion violations when using marker positions
124896         * src/intervals.c (set_point_from_marker): If MARKER comes from
124897         another buffer, recalculate its byte position before using it to
124898         set point.
124899         * src/marker.c (set_marker_internal): If POSITION is a marker from
124900         another buffer, recalculate its byte position before using it.
124901         (Bug#24368)
124903 2016-09-06  Alan Mackenzie  <acm@muc.de>
124905         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bug
124907 2016-09-06  Alan Mackenzie  <acm@muc.de>
124909         New options for handling of literals in c-syntactic-re-search-forward
124911         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can
124912         be given the values `before-literal' and `after-literal', so that when a
124913         search fails, and the `bound' is inside a literal, point is left respectively
124914         before or after that literal.
124916 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
124918         Avoid assertion violations when scrolling narrowed buffer
124920         * src/window.c (window_scroll_pixel_based):
124921         * src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to
124922         start outside the accessible portion of the buffer.  This avoids
124923         assertion violations when some Lisp narrows the buffer to less
124924         than the current window, and then attempts to scroll the buffer.
124926 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
124928         Treat SIGINT correctly in GUI sessions on MS-Windows
124930         * src/w32proc.c (sys_signal): Don't reject SIGINT, as it is
124931         supported by MS runtime.
124932         * src/term.c (DEV_TTY): Move from here ...
124933         * src/conf_post.h (DEV_TTY): ... to here.  Separate definitions
124934         for WINDOWSNT and for the rest.
124935         * src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of
124936         a literal "/dev/tty".
124938         * etc/NEWS: Mention the behavior change.
124940 2016-09-04  Alan Third  <alan@idiocy.org>
124942         Fix synthetic bold on macOS retina displays
124944         * src/macfont.m (macfont_draw): Multiply the synthetic bold scaling
124945         factor by the OS window backing scale factor.
124947 2016-09-04  Tino Calancha  <tino.calancha@gmail.com>
124949         image-dired: Report when a necessary executable is not found
124951         See discussion on:
124952         https://lists.gnu.org/r/emacs-devel/2016-08/msg00552.html
124953         * lisp/image-dired.el (image-dired-cmd-rotate-original-program)
124954         (image-dired-cmd-create-thumbnail-program)
124955         (image-dired-cmd-create-temp-image-program)
124956         (image-dired-cmd-rotate-thumbnail-program)
124957         (image-dired-cmd-write-exif-data-program)
124958         (image-dired-cmd-read-exif-data-program):
124959         Use executable-find to set the default value of this option.
124960         (image-dired-cmd-rotate-original-program): Idem.
124961         Search for program 'convert' if 'jpegtran' is not available.
124962         (image-dired-cmd-rotate-original-options):
124963         Set the default value consistent with the executable in
124964         image-dired-cmd-rotate-original-program.
124965         (image-dired-create-thumb, image-dired-display-image)
124966         (image-dired-rotate-thumbnail, image-dired-rotate-original)
124967         (image-dired-set-exif-data, image-dired-get-exif-data):
124968         Throw and error when the executable used in the function is missing.
124969         (image-dired-next-line, image-dired-previous-line):
124970         Use 'forward-line'.
124972 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
124974         image-type-from-file-name: Perform a case insensitive match
124976         Fix Bug#24317
124977         * lisp/image.el (image-type-from-file-name): Bind case-fold-search
124978         to a non-nil value to force a case insensitive match.
124979         * lisp/image-dired.el (image-dired-rotate-original):
124980         Use image-type (Bug#24317).
124981         (image-dired-get-exif-file-name): Idem.
124982         Set 'no-exif-data-found' and 'data' in same setq call.
124983         Use file-attribute-modification-time.
124985 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
124987         image-increase-size: Fix non-interactive calls
124989         * lisp/image.el (image-increase-size, image-decrease-size):
124990         Compute a floating point division.
124991         Problem reported in:
124992         https://lists.gnu.org/r/emacs-devel/2016-09/msg00067.html
124994 2016-09-03  Robert Cochran  <robert-git@cochranmail.com>
124996         Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el
124998         Passing the prefix argument as the 3rd argument to 'call-interactively'
124999         causes the prefix argument to be interpreted as events, which is not
125000         only wrong, but also causes a type error, as 'current-prefix-arg' can
125001         never be a vector as 'call-interactively' expects.  'call-interactively'
125002         automatically passes its prefix argument to the called function, so just
125003         do that, eliminating faulty behavior.
125005         * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell):
125006         (checkdoc-ispell-current-buffer):
125007         (checkdoc-ispell-interactive):
125008         (checkdoc-ispell-message-text):
125009         (checkdoc-ispell-start):
125010         (checkdoc-ispell-continue):
125011         (checkdoc-ispell-comments):
125012         (checkdoc-ispell-defun):
125013         Do not pass 'current-prefix-arg' to 'call-interactively' as an event
125014         vector; merely allow it to propagate forward to the interactive call.
125016 2016-09-03  Richard Stallman  <rms@gnu.org>
125018         Fix mail-combine-fields
125020         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
125021         avoid losing our place in the search loop.
125023 2016-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
125025         Check actual contents before promting about changed file
125027         * lisp/userlock.el (userlock--check-content-unchanged)
125028         (userlock--ask-user-about-supersession-threat): New functions.
125029         * src/filelock.c (lock_file): Use them to avoid spurious prompting.
125030         * doc/lispref/buffers.texi (Modification Time): Update doc of
125031         ask-user-about-supersession-threat.
125033 2016-09-02  Michael Albinus  <michael.albinus@gmx.de>
125035         Make a reference to fakecygpty in the Tramp manual
125037         * doc/misc/tramp.texi (Windows setup hints): Make a reference to
125038         fakecygpty on the Emacs Wiki.
125039         (Frequently Asked Questions): Fix url.
125041 2016-09-01  Paul Eggert  <eggert@cs.ucla.edu>
125043         Don’t create fd >= FD_SETSIZE
125045         This avoids a potential crash if too many subprocesses (Bug#24325).
125046         * src/process.c [HAVE_SETRLIMIT]: Include <sys/resource.h>.
125047         (init_process_emacs): If ulimit -n is greater than FD_SETSIZE,
125048         set it to FD_SETSIZE.
125050 2016-09-01  Alan Mackenzie  <acm@muc.de>
125052         Fix c-declaration-limits to return correct limits in all cases.
125054         This function is the guts of c-indent-defun and c-mark-function.
125056         In particular, when c-defun-tactic is nil, return a correct value rather than
125057         always nil, and when it's 'go-outward, go through an intricate algorithm to
125058         determine the requisite narrowing before the "top-level" defuns go to work.
125060         * lisp/progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): Enhance
125061         to take additional optional parameter LEVEL, saying how many enclosing levels
125062         of decl-block to narrow to.
125063         (c-declaration-limits): Introduce algorithm to determine narrowing.  Use
125064         c-where-wrt-to-brace-block to determine whether to go back to BOD to determine
125065         lower bound.
125067 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
125069         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make commentary more accurate.
125071 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
125073         Avoid compiler warnings with MinGW64 GCC 6
125075         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make the prototype match
125076         the GCC 6 builtin, to avoid warnings.  For more details, see
125077         https://lists.gnu.org/r/emacs-devel/2016-08/msg00721.html.
125079 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
125081         Fix over-substitution of quotes on error
125083         Problem reported by Tino Calancha in:
125084         https://lists.gnu.org/r/emacs-devel/2016-09/msg00000.html
125085         * src/print.c (print_error_message):
125086         Substitute quotes in errmsg only when gotten from a property.
125088 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
125090         Improve testing of etags
125092         * test/manual/etags/y-src/cccp.c:
125093         * test/manual/etags/y-src/parse.c: Correct #line directives to
125094         allow testing invalidate_nodes in etags.c.
125095         * test/manual/etags/ETAGS.good_1:
125096         * test/manual/etags/ETAGS.good_2:
125097         * test/manual/etags/ETAGS.good_3:
125098         * test/manual/etags/ETAGS.good_4:
125099         * test/manual/etags/ETAGS.good_5:
125100         * test/manual/etags/ETAGS.good_6:
125101         * test/manual/etags/CTAGS.good: Adapt to changes in test files.
125103 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
125105         * lib-src/etags.c (invalidate_nodes): Fix another thinko.
125107 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
125109         Fix etags problems found by static checking
125111         * lib-src/etags.c (invalidate_nodes, put_entry):
125112         Remove now-unnecessary tests for null pointers.  Simplify.
125113         (put_entries): Rewrite to avoid GCC 6.2 warning about
125114         dereferencing null pointer.
125116 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
125118         Fix a thinko in etags.c
125120         * lib-src/etags.c (invalidate_nodes): Don't try to dereference
125121         a null pointer.
125123 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
125125         Avoid recursive calls in etags
125127         * lib-src/etags.c (stack_entry): New struct.
125128         (push_node, pop_node, put_entry): New functions.
125129         (free_tree, add_node, invalidate_nodes, put_entries): Re-implement
125130         in a non-recursive way, to avoid stack overflow.  (Bug#5847)
125132 2016-08-31  Leo Liu  <sdl.web@gmail.com>
125134         Add 451 to url-http-codes
125136         * lisp/url/url-http.el (url-http-codes): Add 451.
125138 2016-08-30  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
125140         * src/editfns.c (Fformat_message): Fix doc to match current behavior.
125142 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
125144         Minor doc quoting fixes
125146         * doc/misc/htmlfontify.texi (Interactive):
125147         * lisp/htmlfontify.el (htmlfontify-buffer):
125148         Spell out character names, for clarity.  The old doc string
125149         generated the *Help* text ‘^L ([FF]) or ¤ (244)’, where ‘[FF]’
125150         stands for a form feed character; this was confusing.
125151         * lisp/electric.el (electric-quote-mode):
125152         * src/doc.c (syms_of_doc):
125153         * src/editfns.c (Fformat_message):
125154         Remove no-longer-necessary ‘\=’s in doc strings.
125156 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
125158         Update from gnulib
125160         This incorporates:
125161         2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
125162         2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0
125163         2016-08-29 intprops.h: port recent changes to GCC 6.2.0
125164         2016-08-29 intprops.h: use __typeof__ with GCC 7
125165         2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7
125166         2016-08-24 intprops: fix paren typo on old platforms
125167         2016-08-24 intprops: port to OpenVMS
125168         * lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib.
125170 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
125172         Fix rules for \phi and \varphi which were reversed
125174         * lisp/leim/quail/latin-ltx.el: Special-case phi/varphi because those
125175           are reversed in ucs-names.  Also remove FIXME stating sigma/varsigma
125176           were reversed which is not true (anymore?).
125178 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
125180         Fix prettification of \phi, \varphi, and \varsigma
125182         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
125183           prettification of \phi, \varphi, and \varsigma.
125185         Concretely, \phi's symbol was actually varphi, \varphi was missing, and
125186         \varsigma was commented out with a FIXME that it was reversed with
125187         \sigma which it was not.
125189 2016-08-30  Karl Fogel  <kfogel@red-bean.com>
125191         Use normal double quotes in TeX / LaTeX comments
125193         * lisp/textmodes/tex-mode.el (tex-insert-quote): When in a comment,
125194           default to inserting a normal double quote (") instead of TeX-style
125195           open (``) or close ('') quote marks.
125197         * etc/NEWS (TeX mode): Note the change.
125199         * test/lisp/electric-tests.el (autowrapping-7): Adjust accordingly.
125201         See this thread for discussion:
125203           https://lists.gnu.org/r/emacs-devel/2016-08/msg00611.html
125204           From: Karl Fogel <kfogel {_AT_} red-bean.com>
125205           To: Emacs Development <emacs-devel {_AT_} gnu.org>
125206           Subject: [PATCH] Have LaTeX mode use normal double quotes in comments.
125207           Date: Mon, 29 Aug 2016 14:44:12 -0500
125208           Message-ID: <87twe3icmr.fsf@red-bean.com>
125210 2016-08-30  Alan Mackenzie  <acm@muc.de>
125212         Correctly analyze C++ list initialization in member init areas.
125214         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Remove a
125215         superfluous call to c-backward-syntactic-ws.
125216         (c-looking-at-or-maybe-in-bracelist): Change calling convention, so that it
125217         reports encountering the Java "new" keyword.  Add, as an alternative, a check
125218         that we can move back over member initializations, and handle this as finding
125219         a brace block.
125220         (c-looking-at-special-brace-list, c-guess-continued-construct): Adapt to the
125221         new calling convention of c-looking-at-or-maybe-in-bracelist.
125222         (c-guess-basic-syntax, CASE 5A.3): Replace lots of inline ad-hoc code with
125223         calls to c-backward-over-enum-header and c-looking-at-or-maybe-in-bracelist,
125224         using the extra info from the value of that function to generate a
125225         topmost-into-cont element where needed (in Java).
125227         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to the new
125228         calling convention of c-looking-at-or-maybe-in-bracelist.
125230         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Adapt to the new calling
125231         convention of c-looking-at-or-maybe-in-bracelist.
125233 2016-08-30  Michael Albinus  <michael.albinus@gmx.de>
125235         Use `file-attribute-*' in Tramp
125237         * lisp/net/tramp-compat.el (tramp-compat-file-attribute-type)
125238         (tramp-compat-file-attribute-link-number)
125239         (tramp-compat-file-attribute-user-id)
125240         (tramp-compat-file-attribute-group-id)
125241         (tramp-compat-file-attribute-modification-time)
125242         (tramp-compat-file-attribute-size)
125243         (tramp-compat-file-attribute-modes): New defaliases.
125245         * lisp/net/tramp.el (tramp-handle-file-modes)
125246         (tramp-handle-file-newer-than-file-p)
125247         (tramp-handle-file-regular-p, tramp-handle-file-symlink-p)
125248         (tramp-handle-set-visited-file-modtime)
125249         (tramp-handle-verify-visited-file-modtime)
125250         (tramp-get-local-gid, tramp-check-cached-permissions):
125251         * lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p)
125252         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file):
125253         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
125254         (tramp-gvfs-handle-file-directory-p)
125255         (tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid)
125256         (tramp-gvfs-get-remote-gid):
125257         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
125258         (tramp-sh-handle-set-visited-file-modtime)
125259         (tramp-sh-handle-verify-visited-file-modtime)
125260         (tramp-sh-handle-file-newer-than-file-p)
125261         (tramp-sh-handle-file-ownership-preserved-p)
125262         (tramp-do-copy-or-rename-file)
125263         (tramp-do-copy-or-rename-file-via-buffer)
125264         (tramp-do-copy-or-rename-file-directly)
125265         (tramp-do-copy-or-rename-file-out-of-band)
125266         (tramp-sh-handle-file-local-copy)
125267         (tramp-sh-handle-write-region):
125268         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
125269         (tramp-smb-handle-copy-file)
125270         (tramp-smb-handle-file-directory-p)
125271         (tramp-smb-handle-file-writable-p)
125272         (tramp-smb-handle-insert-directory): Use them.
125274 2016-08-30  Martin Rudalics  <rudalics@gmx.at>
125276         In `pop-to-buffer' handle case where `display-buffer' fails (Bug#24332)
125278         * lisp/window.el (pop-to-buffer): Don't assume that
125279         `display-buffer' has supplied a window (Bug#24332).
125280         Rename BUFFER argument to BUFFER-OR-NAME.
125281         * doc/lispref/windows.texi (Switching Buffers): Fix
125282         `pop-to-buffer' documentation.
125284 2016-08-29  Alan Third  <alan@idiocy.org>
125286         Clarify docstrings
125288         * src/nsterm.m: Clarified that ns-x-modifier variables require a symbol.
125290 2016-08-29  Michael Albinus  <michael.albinus@gmx.de>
125292         Use `process-live-p' in Tramp
125294         * lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun.
125296         * lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p)
125297         (tramp-handle-file-notify-valid-p)
125298         (tramp-action-process-alive, tramp-action-out-of-band)
125299         (tramp-wait-for-regexp):
125300         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
125301         (tramp-adb-maybe-open-connection):
125302         * lisp/net/tramp-cache.el (tramp-get-connection-property):
125303         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
125304         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
125305         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
125306         * lisp/net/tramp-sh.el (tramp-process-sentinel)
125307         (tramp-sh-handle-file-notify-add-watch)
125308         (tramp-maybe-open-connection):
125309         * lisp/net/tramp-smb.el (tramp-smb-action-with-tar)
125310         (tramp-smb-handle-copy-directory, tramp-smb-action-get-acl)
125311         (tramp-smb-handle-process-file, tramp-smb-action-set-acl)
125312         (tramp-smb-get-cifs-capabilities)
125313         (tramp-smb-get-stat-capability)
125314         (tramp-smb-maybe-open-connection, tramp-smb-wait-for-output)
125315         (tramp-smb-kill-winexe-function): Use it.
125317 2016-08-29  Eli Zaretskii  <eliz@gnu.org>
125319         Avoid crashes for invalid value of key modifiers
125321         * src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL
125322         is not a symbol, don't try to recognize it.  See
125323         https://lists.gnu.org/r/emacs-devel/2016-08/msg00502.html
125324         for the details.
125326         * test/src/keymap-tests.el (keymap-where-is-internal-test): New
125327         test, for testing the above fix.
125329 2016-08-29  Oleh Krehel  <ohwoeowho@gmail.com>
125331         Make dired-do-compress understand files with spaces in them
125333         * lisp/dired-aux.el (dired-compress-file): Add `shell-quote-argument'
125334           and `literal' flag to `replace-regexp-in-string'.
125336 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
125338         * INSTALL.REPO: Suggest Texinfo 4.13 or later.
125340 2016-08-28  Simen Heggestøyl  <simenheg@gmail.com>
125342         Add tests for dom.el
125344         * test/lisp/dom-tests.el: New file with tests for dom.el.
125346 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
125348         Memory allocator alignment fixes
125350         These changes remove some assumptions about heap allocator
125351         alignment that may not be true on unusual platforms.
125352         * src/alloc.c (POWER_OF_2): New macro.
125353         (ROUNDUP): Use it.
125354         (BLOCK_ALIGN): Verify that it is a power of 2.
125355         (aligned_alloc): Check that alignment passed to posix_memalign
125356         satisfies POSIX restrictions.
125357         (lisp_align_malloc): Check that size passed to aligned_alloc
125358         satisfies C11 restrictions.
125359         (MALLOC_IS_GC_ALIGNED): Check that GCALIGNMENT is 8, since the
125360         code has not been verified to work with other GCALIGNMENT values
125361         and the ice is thin here.  On GNU/Linux, malloc can return a value
125362         that is a multiple of 8 but not 16, even though __alignof__
125363         (max_align_t) is 16.  See:
125364         https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01902.html
125365         (lmalloc) [USE_ALIGNED_ALLOC]: Use aligned_alloc only if size
125366         is a multiple of alignment, since C11 says the behavior is
125367         undefined otherwise.
125368         (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in
125369         general this macro is restricted to signed types.  Remove
125370         assertion that the result is a multiple of GCALIGNMENT, as that
125371         need not be true.
125373 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
125375         Pacify --enable-gcc-warnings for lib-src/pop.c
125377         * lib-src/pop.c: Include c-ctype.h.
125378         (socket_connection): Pacify --enable-gcc-warnings by rewriting to
125379         avoid 'if (v = E) ...'.  Use c_tolower, instead of a combination
125380         of the (undeclared) isupper and tolower.  Fix pointer constness
125381         problem.
125383 2016-08-27  Alan Mackenzie  <acm@muc.de>
125385         Handle the C++ "identifiers" "final" and "override" correctly.
125387         This fixes bug #24319, allowing destructors affixed with these identifiers to
125388         be correctly fontified.
125390         * lisp/progmodes/cc-engine.el (c-forward-type, c-forward-decl-or-cast-1):
125391         After reaching the "end" of a type expression, skip over any occurrences of
125392         c-type-decl-suffix-ws-ids-key.
125394         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "override" and
125395         "final" from the C++ value.
125396         (c-type-decl-suffix-ws-ids-kwds, c-type-decl-suffix-ws-ids-key): New lang
125397         constants/variables for "final" and "override".
125399 2016-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
125401         * lisp/textmodes/page-ext.el (pages-directory-mode): Use special-mode.
125403 2016-08-27  Alan Mackenzie  <acm@muc.de>
125405         Handle template delimiters in C++ member init constructs.
125407         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Add
125408         handling for "<....>"s.
125410 2016-08-26  Eli Zaretskii  <eliz@gnu.org>
125412         Fix etags test suite messed up by merges from emacs-25
125414         * test/manual/etags/go-src/test.go:
125415         * test/manual/etags/go-src/test1.go: Move from test/etags/.
125416         * test/manual/etags/ruby-src/test1.ru: Replace test1.ruby.
125417         * test/etags/: Directory deleted.
125419 2016-08-26  Simen Heggestøyl  <simenheg@gmail.com>
125421         Add "supports" to list of CSS at-rules
125423         * lisp/textmodes/css-mode.el (css-at-ids): Add "supports" at-rule.
125425 2016-08-26  Michael Albinus  <michael.albinus@gmx.de>
125427         * lisp/net/tramp-sh.el (tramp-get-remote-perl): Perform a basic check.
125429         (Bug#22478)
125431 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
125433         Rename option to shell-command-dont-erase-buffer
125435         Suggested by Clément Pit--Claudel in:
125436         https://lists.gnu.org/r/emacs-devel/2016-08/msg00487.html
125437         * lisp/simple.el (shell-command-dont-erase-buffer):
125438         (shell-command--save-pos-or-erase):
125439         (shell-command--set-point-after-cmd):
125440         (shell-command-on-region):
125441         * doc/emacs/misc.texi (shell-command-dont-erase-buffer):
125442         * etc/NEWS (Changes in Emacs 25.2):
125443         Rename from shell-command-not-erase-buffer.
125445 2016-08-25  Alan Mackenzie  <acm@muc.de>
125447         Fix an infinite loop in C++ Mode when we have "{ .... [ .... }"
125449         * lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): In the inner
125450         `while' form's condition, check for "\\s)" rather than merely "\\]", so that
125451         the loop won't hang at a "terminating" paren of a different type (due to the
125452         c-syntactic-re-search-forward at the end of the loop stopping at such
125453         characters).
125455 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
125457         call-shell-region: New defun
125459         Suggested by Stefan Monnier in Bug#22679.
125460         * lisp/subr.el (call-shell-region): New defun; execute a command
125461         in an inferior shell with the buffer region as input.
125462         * lisp/simple.el (shell-command-on-region): Use it.
125463         * lisp/gnus/message.el (message-do-fcc): Idem.
125464         * doc/lispref/processes.texi: Document call-shell-region in the manual.
125465         ;* etc/NEWS: Add entry for this new function.
125467 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
125469         In ‘clone-indirect-buffer’ fix argument mixup (Bug#24306)
125471         * lisp/simple.el (clone-indirect-buffer): Add value for ACTION
125472         argument in `pop-to-buffer' call (Bug#24306).
125474 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
125476         Some fixes around `delete-other-frames' and `next-frame'
125478         * src/frame.c (Fdelete_frame): Clarify doc-string.
125479         * lisp/frame.el (delete-other-frames): Delete other frames on
125480         FRAME's terminal instead of the current terminal.  Delete
125481         non-minibuffer-only surrogate frames too.  See
125482         https://lists.gnu.org/r/emacs-devel/2016-08/msg00467.html
125483         * doc/lispref/frames.texi (Deleting Frames): Minor fixes for
125484         docs of `delete-frame' and `frame-live-p'.  Add entry for
125485         `delete-other-frames'.
125486         (Finding All Frames): Fix doc of `next-frame'.
125488 2016-08-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
125490         Find message.el thumbnail toggling
125492         * lisp/gnus/message.el (message-toggle-image-thumbnails):
125493         Don't infloop when toggling thumbnails.
125495 2016-08-24  Alan Third  <alan@idiocy.org>
125497         Fix macOS 12 deprecation notices
125499         * src/nsterm.h: Add #defines to allow older versions of macOS to use the
125500         new constant names.
125501         * src/nsmenu.m: Replace old constant names with
125502         new.
125503         (fillWithWidgetValue): Remove calls to deprecated
125504         setMenuChangedMessagesEnabled.
125505         * src/nsterm.m: Replace old constant names with new.
125506         * src/nsfns.m: Replace old constant names with new.
125508 2016-08-23  Alan Mackenzie  <acm@muc.de>
125510         Analyze and fontify correctly a C++ `enum' with colon, but lacking a tag.
125512         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for "enum"
125513         directly preceding the colon, and handle it.
125515 2016-08-23  Noah Friedman  <friedman@splode.com>
125517         * src/xfns.c (Fx_change_window_property): Modify previous change.
125518         Instead of forcing format to 8 for strings, check that the length of
125519         the string is appropriate for whatever format given.
125520         (Fx_window_property_attributes): If prop isn't found on frame's inner window,
125521         try its outer window.  This mimics the behavior of Fx_window_property.
125523 2016-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
125525         Fix invalid image rotations
125527         * lisp/image.el (image-rotate): Limit rotation to 360 degrees.
125529 2016-08-23  Tino Calancha  <tino.calancha@gmail.com>
125531         call-process instead of call-process-region with empty region
125533         * lisp/calc/calc-graph.el (calc-graph-show-tty):
125534         Use call-process and shell-command-switch.
125536 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
125538         Merge from origin/emacs-25
125540         927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2
125541         6bf83b5 * etc/AUTHORS: Update the AUTHORS file
125542         73cbb81 ; ChangeLog spelling fixes
125543         9b99772 Some assorted documentation clarifications
125544         37d4723 Improve commentary in src/character.h
125545         5ccd593 ; Fix typo in /etc/NEWS
125546         96e3d16 * etc/NEWS: Mention the change in json-encode-string.
125547         2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create...
125548         2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
125549         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
125551         # Conflicts:
125552         #       ChangeLog.2
125553         #       lisp/ldefs-boot.el
125555 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
125557         Merge from origin/emacs-25
125559         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
125561 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
125563         Merge from origin/emacs-25
125565         8c2946e In NEWS describe new handling of window margins (Bug#24193)
125566         0cee66c Facultatively ignore margins when splitting and resizing wind...
125567         8d68147 Document CATEGORY arg to modify-category-entry
125568         8342e74 Document char-script-table's effect on word motion
125569         e9ff485 Further fix for 'url-http-create-request' and multibyte strings
125570         0695235 Fix docstring of eval-expression
125571         98b01dd Clarify when 'cursor' property is in effect
125572         75f1882 Convert the remaining strings to unibyte before concatenating
125573         d2db5dd Fix bug with handling the bidi cache
125574         ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
125575         f785ff4 Clarify documentation of before/after-change-functions
125576         3c9cb57 Document use of vectors in keymaps
125578         # Conflicts:
125579         #       src/xdisp.c
125581 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
125583         Handle remote file names in gdb-mi.el
125585         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
125586         If `default-directory' is remote, full file names are adapted
125587         accordingly.  (Bug#23608)
125589 2016-08-22  Eli Zaretskii  <eliz@gnu.org>
125591         Display mini-window resized even when there are several frames
125593         * src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
125594         t to avoid resizing back the mini-window as result of considering
125595         the title of other frames.  (Bug#24285)
125596         (redisplay_window): No need to bind inhibit-redisplay here.
125598 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
125600         Explain gdb warning on remote hosts
125602         * doc/misc/tramp.texi (Remote processes): Explain gdb warning
125603         on remote hosts.  (Bug#4604, Bug#6360, Bug#622569)
125605 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
125607         Fix (next-frame nil t) crash (Bug#24281)
125609         * src/frame.c (candidate_frame): Check minibuf argument before
125610         comparing it to zero (Bug#24281).
125612 2016-08-21  Noah Friedman  <friedman@splode.com>
125614         Fix interpretation of signed vs unsigned values when retrieving X
125615         Window properties, and make sure the full value is returned when not
125616         parsed.
125618         New subr to export type and format information about X Window
125619         properties to lisp.
125621         * src/xselect.c (selection_data_to_lisp_data): Treat any data as
125622         unsigned unless its actual type is INTEGER.
125623         CARDINALs, in particular, are unsigned.
125625         * src/xfns.c (Fx_change_window_property): If value is a string, ignore
125626         any provided format and force to 8.
125627         (x_window_property_intern): If returning value as a string, the length
125628         is actual_size times the actual format of each element, which is not
125629         necessarily bytes.
125630         (Fx_window_property_attributes): New subr.
125631         (syms_of_xfns): Declare it.
125633 2016-08-21  Noam Postavsky  <npostavs@gmail.com>
125635         Improve error when installing non-package dirs
125637         * lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error
125638         when no file with package info is found (Bug #19851).
125640 2016-08-21  Alan Mackenzie  <acm@muc.de>
125642         Adapt CC Mode for C++11 uniform initialization.
125644         For fontification, introduce a new "context", 'non-decl, to be used for
125645         brace
125646         lists; also a new value for the property 'c-type, called 'c-not-decl.
125648         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): Check that
125649         an ostensible symbol we're going to move over isn't a keyword.
125650         (c-forward-decl-or-cast-1): CASE 1: Where we have two consecutive identifiers
125651         (hence a declaration), and an unmatched open paren, perform
125652         c-fdoc-shift-type-backwards to recognize the partial construct correctly.
125653         Whilst checking a type decl expression, check for and handle C++11's "copy
125654         initialization", where we have <type>(<constant>).  Recognize
125655         <id><id>(... (where the paren is unclosed) as a declaration.
125656         (c-looking-at-or-maybe-in-bracelist): New function, extracted from
125657         c-inside-bracelist-p.  Recognize as bracelists "{"s which are preceded by
125658         valid tokens other than "=".  Recognize a bracelist when preceded by a
125659         template declaration.
125660         (c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of
125661         much inline code.
125662         (c-looking-at-inexpr-block): Amend so that it won't wrongly recognize an
125663         initialization starting "({" as an in-expression block, by checking for
125664         semicolons, as opposed to commas, separating elements inside it.
125665         (c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by
125666         calling c-looking-at-or-maybe-in-bracelist rather than checking for a
125667         preceding "=".  (CASE B-5): New code to recognize new construct "return {
125668         ...}".
125669         (c-guess-basic-syntax): (CASE 5A.3): Additionally recognize a "{" preceded by
125670         "return", or "{" preceded by <type><identifier> as a bracelist.
125672         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize brace
125673         lists, giving them `context' 'non-decl.  Pass over elements of one by regexp
125674         search for "," rather than calling c-forward-decl-or-cast-1.
125676         * lisp/progmodes/cc-langs.el (c-return-kwds, c-return-key): New lang
125677         constants/variables to recognize "return".
125678         (c-pre-id-bracelist-key): New lang constant/variable to recognize tokens
125679         which, when preceding an identifier followed by a brace, signify the brace as
125680         a bracelist.
125682         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When searching outwards for
125683         the start of a "local" declaration, move out from an enclosing brace when
125684         that is the start of a brace list.
125686 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
125688         Update from gnulib
125690         This incorporates:
125691         2016-08-17 maint: preprocessor changes to support z/OS
125692         2016-08-17 string: rename to avoid '__string'
125693         * doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
125694         Copy from gnulib.
125696 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
125698         Minor text-quoting-style fixes
125700         * src/charset.c (check_iso_charset_parameter):
125701         * src/frame.c (store_frame_param):
125702         * src/xselect.c (x_fill_property_data):
125703         Use grave accent for left single quote in ‘error’ format strings.
125705 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
125707         Fix semantics of 'minibuffer' frame parameter
125709         The 'minibuffer' frame parameter is now t for a normal frame
125710         (a frame with a root window plus a minibuffer window) and the
125711         frame's minibuffer window for a minibuffer-less frame (a frame
125712         whose minibuffer window is on another frame).  See also:
125713         https://lists.gnu.org/r/emacs-devel/2016-07/msg01259.html
125715         * src/frame.c (make_frame, make_frame_without_minibuffer)
125716         (make_minibuffer_frame): When assigning the frame's minibuffer
125717         window also store corresponding 'minibuffer' frame parameter.
125718         (store_frame_param): Move the 'minibuffer' parameter checks to
125719         the beginning so we can silently override the value before it
125720         gets stored in the parameter alist.  Fix error handling.
125721         (Fframe_parameters): Return value of 'minibuffer' parameter
125722         unmodified.
125724         * lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
125725         the parameter is a minibuffer window, save (minibuffer . nil)
125726         instead of (minibuffer . t).
125727         (frameset--reuse-frame): To find a non-minibuffer-only frame
125728         look out for a frame whose 'minibuffer' parameter is t instead
125729         of that frame's minibuffer window.
125730         (frameset-minibufferless-first-p): To find a minibuffer-less
125731         frame look out for a frame whose 'minibuffer' parameter is a
125732         window instead of nil.
125734 2016-08-20  Alan Mackenzie  <acm@muc.de>
125736         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Resolve overelaborate "nil"
125738 2016-08-20  Alan Mackenzie  <acm@muc.de>
125740         In c-\(go-\)?-\(up-\|down-\)?list-\(forward\|backward\) check limit isn't nil
125742         Check the limit both at macro expansion time (for a hard coded nil) and at run
125743         time in the generated code.  Tidy up these macros generally.
125745         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Check `limit' is present and
125746         not identically nil before generating a narrow-to-region call.  Generate code
125747         to check `limit' is not nil at run time.
125748         (c-go-list-forward, c-go-list-backward): Remove the generation of redundant
125749         narrow-to-region, instead calling c-safe-scan-lists directly.
125750         (c-go-up-list-forward, c-go-up-list-backward, c-go-down-list-forward)
125751         (c-go-down-list-backward): Invoke the corresponding macros without the "go-"
125752         to determine the destination position instead of generating a redundant
125753         narrow-to-region.
125755 2016-08-19  Robert Cochran  <robert-git@cochranmail.com>
125757         * lisp/emacs-lisp/map.el (map--dispatch): Fix docstring
125759         The docstring referenced a non-existent parameter, as well as a
125760         parameter that has been renamed since the docstring was written. Fix
125761         both errors, fixing (Bug#24182).
125763 2016-08-19  Alan Mackenzie  <acm@muc.de>
125765         Amend hack-local-variables-prop-line not always to return any mode on line 1.
125767         This fixes bug #24266.
125769         * lisp/files.el (hack-local-variables-prop-line): Change the name of the
125770         parameter mode-only to handle-mode.  Change its meaning, such that it being
125771         set to a value non-nil and not t removes any mode parameter from the result
125772         list.  Leave its values nil and t with the same meanings they had.
125773         (hack-local-variables): Call hack-local-variables-prop-line appropriately.
125775 2016-08-19  Daiki Ueno  <ueno@gnu.org>
125777         Improve doc string of epg-*-program
125779         * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program):
125780         Suggest to use Customize when setting.  (Bug#24229)
125782 2016-08-19  Tino Calancha  <tino.calancha@gmail.com>
125784         Add tests for Bug#24264
125786         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
125787         Add test for Bug#24264.
125788         (cl-seq-fill-test, cl-seq-replace-test)
125789         (cl-seq-remove-test ,cl-seq-delete-test)
125790         (cl-seq-remove-duplicates-test, cl-seq-substitute-test)
125791         (cl-seq-nsubstitute-test, cl-seq-position-test)
125792         (cl-seq-count-test, cl-seq-mismatch-test)
125793         (cl-seq-search-test, cl-seq-test-bug24264):
125794         Add tests for all functions in the file; test all keywords.
125796 2016-08-18  Johan Bockgård  <bojohan@gnu.org>
125798         Fix bug in --eval reply message from server
125800         * lisp/server.el (server-reply-print): Fix check for truncated quote
125801         sequence at end of message. Problem reported in:
125802         https://lists.gnu.org/r/emacs-devel/2016-08/msg00101.html
125804 2016-08-18  Eli Zaretskii  <eliz@gnu.org>
125806         Add tests for 'substitute-command-keys'
125808         * test/src/doc-tests.el (doc-test-substitute-command-keys): New
125809         tests.
125811 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
125813         lisp/textmodes/table.el (table-generate-source): Fix completing-read call
125815         Doesn't make sense to pass '(("html") ("latex") ("cals")) to
125816         `completing-read'.
125818 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
125820         lisp/dired-aux.el (dired-compress-file-suffixes): Add entry for tgz
125822         The previous behavior resulted in a "tgz" -> "tar" -> "tgz" loop,
125823         without any files being extracted.
125825 2016-08-18  Andreas Politz  <politza@hochschule-trier.de>
125827         Don't let window start override window point in `window-state-put' (Bug#24240)
125829         * lisp/window.el (window--state-put-2): Set 'noforce argument
125830         when restoring a window's start position.  This avoids that the
125831         effect of `set-window-point' gets overridden by that of
125832         `set-window-start' (Bug#24240).
125834 2016-08-17  Alan Mackenzie  <acm@muc.de>
125836         Fontify constructs following "::" in C++ argument lists correctly - part 2.
125838         This fixes bug #24246.
125840         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Put a
125841         `save-match-data' around the new `looking-at' introduced by the previous CC
125842         Mode patch this evening.
125844 2016-08-17  Alan Mackenzie  <acm@muc.de>
125846         Fontify constructs following "::" in C++ argument lists correctly.
125848         This fixes bug #24246.
125850         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): In the "pseudo
125851         match" loop, test a found string for a match with c-opt-identifier-concat-key
125852         (e.g. with "::").
125854 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
125856         * src/doc.c (Fsubstitute_command_keys): Clarify GC comments.
125858 2016-08-17  K. Handa  <handa@gnu.org>
125860         Fix hz encoding and decoding (bug#23814)
125862         * lisp/language/china-util.el (decode-hz-region): Pay
125863         attention to "~~}" sequence at the end of Chinese character
125864         range.
125865         (hz-category-table): New variable.
125866         (encode-hz-region): Convert non-encodable characters to
125867         \u... and \U...  Preserve ESC on ecoding.  Put
125868         `chinese-gb2312' `charset' text property in advance to force
125869         iso-2022-encoding to select chinese-gb2312 designation.
125871 2016-08-17  Tino Calancha  <tino.calancha@gmail.com>
125873         file-attribute-collect: New defun
125875         * lisp/files.el (file-attribute-collect):
125876         Return a sublist of the attributes returned by 'file-attributes'.
125877         Suggested by Ted Zlatanov in:
125879         https://lists.gnu.org/r/emacs-devel/2016-07/msg01195.html
125881 2016-08-17  Michael Albinus  <michael.albinus@gmx.de>
125883         Fix Bug#24203
125885         * lisp/comint.el (comint-password-prompt-regexp): Relax regexp.  (Bug#24203)
125887 2016-08-16  Karl Fogel  <kfogel@red-bean.com>
125889         Improve doc string.
125891         * src/fileio.c (Ffile_name_as_directory): Be precise about the
125892         conditions under which a slash is appended.
125894 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
125896         Omit substitute-command-keys code no longer needed
125898         * src/doc.c (Fsubstitute_command_keys):
125899         Remove duplicate initializations.
125901 2016-08-16  Tino Calancha  <tino.calancha@gmail.com>
125903         Allow not erase output buffer in shell commands
125905         * lisp/simple.el (shell-command-not-erase-buffer): New option to allow
125906         not erasing the output buffer between shell commands.  Defaults to nil.
125907         (shell-command-on-region): Use it.
125908         (shell-command--save-pos-or-erase): New defun; store a buffer position
125909         if 'shell-command-not-erase-buffer' is non-nil; otherwise
125910         erase the output buffer of the shell command.
125911         (shell-command, shell-command-on-region): Use it.
125912         (shell-command--set-point-after-cmd): New defun;
125913         if 'shell-command-not-erase-buffer' is non-nil, set point
125914         in the output buffer to the position in 'shell-command-saved-pos'.
125915         (shell-command-sentinel, shell-command-on-region): Use it.
125916         * doc/emacs/misc.texi (shell-command-not-erase-buffer):
125917         Document this feature in the manual.
125918         See discussion on:
125919         https://lists.gnu.org/r/emacs-devel/2016-07/msg00610.html
125921 2016-08-16  Michael Albinus  <michael.albinus@gmx.de>
125923         Rearrange Tramp manual title page
125925         * doc/misc/tramp.texi: Move @insertcopying out of the title
125926         page.  Do not use @ifnottex anymore.
125928 2016-08-15  Glenn Morris  <rgm@gnu.org>
125930         * doc/misc/tramp.texi: Adapt 2016-08-14 change for makeinfo 4.
125932 2016-08-15  Alan Mackenzie  <acm@muc.de>
125934         Fix minor bug in c-syntactic-re-search-forward.
125936         Bug was: when NOERROR is neither nil nor t, BOUND is non-nil, PAREN-LEVEL is
125937         non-nil, and the first internal search attempt fails, point wrongly ends up at
125938         BOUND, rather than just before the next closing paren.
125940         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Guard against
125941         the above situation.
125943 2016-08-15  Alan Mackenzie  <acm@muc.de>
125945         Handle C++11 lambda functions.
125947         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): Enhance also to
125948         handle C++ lambda functions.
125949         (c-looking-at-c++-lambda-capture-list): New function.
125951         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize the
125952         parameter list of a lambda function and set `context' and
125953         `c-restricted-<>-arglists' suitably for it.
125954         (c-font-lock-c++-lambda-captures): New function.
125955         (c-complex-decl-matchers): Insert c-font-lock-c++-lambda-captures into it.
125957         * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens, c-pre-lambda-tokens-re):
125958         New language constants/variables.
125959         (c-paren-nontype-kwds): Include "noexcept" in the C++ value.
125961         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Handle being in a C++ lambda
125962         function capture list.
125964 2016-08-15  Michael Albinus  <michael.albinus@gmx.de>
125966         Fix stale cache problem in Tramp
125968         * lisp/net/tramp-cache.el (tramp-get-connection-property):
125969         Check, that a process as key is still running.  (Bug#22478)
125971 2016-08-14  Paul Eggert  <eggert@cs.ucla.edu>
125973         * doc/misc/tramp.texi (Configuration): Fix @xref typo.
125975 2016-08-14  Eli Zaretskii  <eliz@gnu.org>
125977         Another fix for scroll-conservatively and overlay strings
125979         * src/xdisp.c (redisplay_window): Handle also the case where the
125980         calculated window-start point has an overlay string touching it.
125981         (Bug#24179)
125983 2016-08-14  Michael Albinus  <michael.albinus@gmx.de>
125985         Improve handling of defcustoms in tramp
125987         * doc/misc/tramp.texi: Protect all multi-line examples by
125988         @group ... @end group.  Use proper `custom-set-variables'
125989         examples.  Use consequently @option for user options.  Remove
125990         superfluous @cindex and @vindex entries.
125991         (Top): Remove reference to outdated mail archives.
125992         (Configuration): Tune references.
125993         (Default Method): Make `tramp-default-method' and
125994         `tramp-default-method-alist' a @defopt.
125995         (Default User): Make `tramp-default-user' and
125996         `tramp-default-user-alist' a @defopt.
125997         (Default Host): Make `tramp-default-host' and
125998         `tramp-default-host-alist' a @defopt.
126000         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
126001         (tramp-backup-directory-alist, tramp-auto-save-directory)
126002         (tramp-encoding-shell, tramp-encoding-command-switch)
126003         (tramp-encoding-command-interactive, tramp-default-method)
126004         (tramp-default-method-alist, tramp-default-user)
126005         (tramp-default-user-alist, tramp-default-host)
126006         (tramp-default-host-alist, tramp-default-proxies-alist)
126007         (tramp-save-ad-hoc-proxies)
126008         (tramp-restricted-shell-hosts-alist)
126009         (tramp-local-end-of-line, tramp-rsh-end-of-line)
126010         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
126011         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
126012         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
126013         (tramp-terminal-prompt-regexp)
126014         (tramp-operation-not-permitted-regexp)
126015         (tramp-copy-failed-regexp, tramp-process-alive-regexp)
126016         (tramp-syntax, tramp-chunksize)
126017         (tramp-process-connection-type, tramp-connection-timeout)
126018         (tramp-connection-min-time-diff)
126019         (tramp-completion-reread-directory-timeout):
126020         * lisp/net/tramp-adb.el (tramp-adb-program)
126021         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
126022         * lisp/net/tramp-cache.el (tramp-connection-properties)
126023         (tramp-persistency-file-name):
126024         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
126025         (tramp-gvfs-zeroconf-domain)
126026         (tramp-bluez-discover-devices-timeout):
126027         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
126028         (tramp-copy-size-limit, tramp-terminal-type)
126029         (tramp-histfile-override)
126030         (tramp-use-ssh-controlmaster-options, tramp-remote-path)
126031         (tramp-remote-process-environment, tramp-sh-extra-args):
126032         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
126033         (tramp-smb-conf, tramp-smb-winexe-program)
126034         (tramp-smb-winexe-shell-command)
126035         (tramp-smb-winexe-shell-command-switch): Add :require 'tramp.
126037 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
126039         Minor text-quoting-style fixes
126041         * lisp/cus-edit.el (custom-buffer-create-internal):
126042         * lisp/recentf.el (recentf-edit-list):
126043         Follow text-quoting-style preference when quoting in UI strings.
126044         * src/doc.c (Fsubstitute_command_keys): Don’t say that curved
126045         quotes are substituted for, as this is no longer true.
126047 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
126049         Fix substitute-command-keys unibyte, alloc bugs
126051         * src/doc.c (Fsubstitute_command_keys): Fix some problems with
126052         unibyte strings and with buffer allocation.  Make strings
126053         multibyte, to avoid problems with unibyte strings that are not
126054         valid UTF-8 (Bug#24206).  Redo buffer allocation so that it is
126055         O(N), not O(N**2).  Avoid going past the end of the input string
126056         when given invalid input.  Avoid some unlikely problems in
126057         accessing the wrong storage after a GC.
126059 2016-08-13  Joakim Jalap  <joakim.jalap@fastmail.com>
126061         Fix "C-u" when an input method is active
126063         * lisp/international/quail.el (quail-input-method): Defer to the
126064         input method iff 'overriding-terminal-local-map' is
126065         'universal-argument-map' and the given key has no binding there.
126066         (Bug#22958)
126068 2016-08-13  Martin Rudalics  <rudalics@gmx.at>
126070         Fix docs on `display-buffer-below-selected' (Bug#24213)
126072         * lisp/window.el (display-buffer-below-selected): Fix
126073         doc-string (Bug#24213).
126074         * doc/lispref/windows.texi (Display Action Functions): Fix
126075         documentation of `display-buffer-below-selected'.
126077 2016-08-12  Tino Calancha  <tino.calancha@gmail.com>
126079         cl-fill: Rename arguments to cl-seq and cl-item
126081         * lisp/emacs-lisp/cl-seq.el (cl-fill):
126082         Rename arguments to 'cl-seq' and 'cl-item' as elsewhere.
126084 2016-08-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
126086         Fix display.texi typo
126088         * doc/lispref/display.texi (Faces): Fix typo.
126090 2016-08-11  Paul Eggert  <eggert@cs.ucla.edu>
126092         Fix process leak with make-network-process
126094         This problem was introduced by the recent async changes (Bug#23808).
126095         * src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later,
126096         so that it follows the start_process_unwind unwind-protect.
126097         Set pid to -1 while the process is being created.
126098         (start_process_unwind): Omit unnecessary emacs_abort test.
126099         (connect_network_socket): Simplify use of counts.  Unwind
126100         bind_polling_period a bit earlier, so that a remove_process
126101         unwind-protect can be added when needed; this is the heart of
126102         the fix.  Undo the unwind-protect just before returning.
126104 2016-08-11  Eli Zaretskii  <eliz@gnu.org>
126106         Avoid annoying re-scroll when buffer has many overlay strings
126108         * src/xdisp.c (redisplay_window): Add better recovery from a
126109         situation where window-start is on buffer position which has a
126110         before-string that includes newlines, with the result that point
126111         is not visible in the window, because the display engine starts
126112         displaying with the before-string.  (Bug#24179)
126114 2016-08-10  Paul Eggert  <eggert@cs.ucla.edu>
126116         Omit unnecessary process initialization
126118         * src/process.c (make_process, Fmake_process)
126119         (Fmake_pipe_process, Fmake_serial_process)
126120         (Fmake_network_process, server_accept_connection):
126121         Omit unnecessary initialization of already-cleared storage.
126123 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
126125         cl-delete-duplicates: Parse :if to have cl-if bound
126127         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
126128         We need also to parse keyword :if, otherwise cl-if
126129         is unbound.
126130         This reverts commit:
126131         68fdbeb917b80e29e0b15506f18f7ed41d8ffdfd
126133 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
126135         cl-delete-duplicates: do not parse :if keyword
126137         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
126138         Parse only the supported keywords.
126140 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
126142         Add compatibility layer for `temporary-file-directory-function'
126144         * lisp/net/tramp-compat.el
126145         (tramp-compat-temporary-file-directory-function): New defalias.
126147         * lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.
126149         * test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
126150         Skip for older Emacs versions.
126152 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
126154         * lisp/comint.el (comint-password-prompt-regexp): Add "PEM" for OpenVPN.
126156         (Bug#24059)
126158 2016-08-10  Vincent Belaïche  <vincentb1@users.sourceforge.net>
126160         Handle nil cell value in compiled printer functions.
126162         * doc/misc/ses.texi (Quick Tutorial): Minor clarification about the
126163         ses-range `!' modifier.
126164         (More on cell printing): Fix this that the fallback printer is
126165         `ses-prin1', not "%S".  That makes a difference for any cell value for
126166         which "%S" would insert a backslash characters.
126168         * lisp/ses.el (ses-local-printer-compile): Handle the nil cell value
126169         --- contrary to emacs-25 branches ses-call-printer does not handle
126170         prior to calling a function printer.  Not doing this would still work
126171         because the compiled function would throw and error and SES would in
126172         the end resort to the ses-prin1 fallback, however this way would not
126173         be in line with the raison d'être of compiling printer which is speed.
126175 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
126177         Turn on lexical-binding in json.el
126179         Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
126180         showed 12-31% reduction in execution time.
126181         * lisp/json.el: Turn on lexical-binding.
126183 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
126185         Nudge WoMan toward lexical-binding
126187         * lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales):
126188         Use cl-pushnew instead of add-to-list.
126189         (woman-justify-list): Rename to woman-justify-styles.
126190         (woman-justify-styles): New array.
126191         (woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it.
126192         (woman-cached-data): Use cl-pushnew instead of add-to-list.
126194 2016-08-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
126196         Apply changes from commits 3c97b0f758 and 8a38e948b0 to master branch.
126198         Here follows the logs from the two commits which I apply to master.
126200         commit 3c97b0f7589e06aeb1ab0147f0ee32974c32926d
126201         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
126202         Date:   Fri Jul 29 13:44:14 2016 +0200
126204         Fix ses-delete-blanks to delete only blanks + documentation.
126206         * doc/misc/ses.texi (Quick Tutorial): Mention the '!'
126207         'ses-range' modifier as an alternative to 'ses+'.
126208         (Advanced Features): Add a reference to node 'Nonrelocatable
126209         references' concerning function 'ses-rename-cell'.
126210         (Standard formula functions): Mention the '!' 'ses-range'
126211         modifier as an alternative to 'ses-delete-blanks'.
126212         (More on cell printing): Fix fallback printer
126213         definition.  Minor editorial formatting changes.
126214         (Nonrelocatable references): Document the use of
126215         'ses-rename-cell' as a better way to make cell reference
126216         non-relocatable.
126217         (The data area): Document the presence of local printer
126218         definitions in the data area.
126220         * lisp/ses.el (ses-delete-blanks): Do not remove
126221         *error*.  Any error in an argument should propagate into the
126222         using formula rather than being silently hidden !
126224         commit 8a38e948b039516e70176ebe20c5349e2ade6ac5
126225         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
126226         Date:   Thu Jul 28 19:49:37 2016 +0200
126228         Fix local printer set to left aligned string formatter.
126230         * lisp/ses.el (ses-local-printer-compile): Add missing case
126231         for left-aligned string formatter.
126233 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
126235         * .dir-locals.el (c-noise-macro-names): Remove NONVOLATILE.
126237 2016-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>
126239         * lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing
126241         Change the code which detects and circumvents the case where one of the
126242         variables used in λ-lifting is shadowed, so that it also works when the
126243         shadowing comes before the λ-lifted function (bug#24171).
126245         (cconv--remap-llv): New function, extracted from cconv-convert.
126246         (cconv-convert): Use it, but differently for `let' and `let*'.
126248 2016-08-09  Alan Mackenzie  <acm@muc.de>
126250         CC Mode: check for and fix missing call to before_change_functions.
126252         Fixes bug #24094 and bug #24074.
126254         This can happen with `revert-buffer' or sometimes `find-file', when the file
126255         is already in a buffer, but the file has been changed outside of Emacs.
126257         * lisp/progmodes/cc-mode.el (c-after-change): When we detect a missing
126258         invocation of c-before-change-functions, we assume the changed region is the
126259         entire buffer, and call c-before-change explicitly before proceding.
126261 2016-08-09  Alan Mackenzie  <acm@muc.de>
126263         Make c-deprepertize-CPP work on deletion/insertion of "s.  Fixes bug #24132.
126265         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Rewrite function.
126267 2016-08-09  Michael Albinus  <michael.albinus@gmx.de>
126269         Support $ENV in Tramp
126271         * doc/misc/tramp.texi (Remote processes): Explain setting $ENV.
126273         * etc/NEWS: Explain the "ENV" environment variable in
126274         `tramp-remote-process-environment'.
126276         * lisp/net/tramp-sh.el (tramp-remote-process-environment): Add "ENV=''".
126277         (tramp-open-shell): Read $ENV value from
126278         `tramp-remote-process-environment'.
126279         (tramp-open-connection-setup-interactive-shell): Set values in
126280         proper order.
126282 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
126284         Simplify exec_byte_code via moving decls etc.
126286         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
126287         initializers into decls, and by omitting some unnecessary
126288         changes to ‘top’.  This improves performance a bit on x86-64,
126289         as it happens.
126291 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
126293         Remove interpreter’s byte stack
126295         This improves performance overall on my benchmark on x86-64,
126296         since the interpreted program-counter resides in a machine
126297         register rather than in RAM.
126298         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
126299         is no longer a byte stack to decode.
126300         * src/bytecode.c (struct byte_stack, byte_stack_list)
126301         (relocate_byte_stack): Remove.  All uses removed.
126302         (FETCH): Simplify now that pc is now local (typically, in a
126303         register) and no longer needs to be relocated.
126304         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
126305         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
126306         (exec_byte_code): Allocate a copy of the function’s bytecode,
126307         so that there is no problem if GC moves it.
126308         * src/lisp.h (struct handler): Remove byte_stack member.
126309         All uses removed.
126310         (SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
126311         SAFE_ALLOCA_LISP.
126312         (SAFE_ALLOCA_LISP): Use it.
126314 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
126316         Remove arbitrary limit on bytecode maxdepth
126318         * src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit
126319         on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca.
126321 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
126323         Tune bytecode quitting
126325         * src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too.  Do the
126326         check only once every 256 times.  This should be good enough, and
126327         improves performance significantly on x86-64 as branch-prediction
126328         typically assumes checking will not be done so the instruction
126329         pipeline stays fuller.
126330         (exec_byte_code): Set up the quit counter.  Don’t call maybe_gc
126331         directly, as BYTE_CODE_QUIT does that now.
126333 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
126335         Simplify BYTE_CODE_SAFE checking
126337         * src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it
126338         can be used outside #if.  All uses of ‘defined BYTE_CODE_SAFE’
126339         changed to ‘BYTE_CODE_SAFE’.  Use BYTE_CODE_SAFE in plain
126340         expressions instead of #if expressions when this is easy.
126341         (struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’,
126342         as it is no longer needed.
126343         (exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy.
126344         Simplify stack-overflow checking when BYTE_CODE_SAFE.
126346 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
126348         Get BYTE_CODE_METER working again
126350         BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have
126351         noticed.  Perhaps we should remove it?
126352         * src/bytecode.c (METER_2) [BYTE_CODE_METER]:
126353         Use *aref_addr instead of AREF, since it needs to be an lvalue.
126355 2016-08-08  Eli Zaretskii  <eliz@gnu.org>
126357         Fix cursor position under scroll-conservatively and overlay strings
126359         * src/xdisp.c (try_scrolling): Handle the case where the last
126360         visible screen line of a window displays a before- or after-string
126361         that takes up the whole screen line, and therefore there's no
126362         place to display the cursor, even though the window does seem to
126363         include the position of point.  (Bug#24179)
126365 2016-08-08  Michael Albinus  <michael.albinus@gmx.de>
126367         * lisp/files.el (file-ownership-preserved-p): Fix docstring.  (Bug#23998)
126369 2016-08-07  Paul Eggert  <eggert@cs.ucla.edu>
126371         Tune interpretation of integer arglist descriptor
126373         * src/bytecode.c (exec_byte_code):
126374         Simplify and tune when INTEGERP (args_template).
126376 2016-08-07  Noam Postavsky  <npostavs@gmail.com>
126378         Fix debugging of string-match-p errors
126380         * src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so
126381         that debugger code that needs to do regexp match won't break
126382         (Bug #23949, Bug #24166, Bug#16294).
126384 2016-08-07  Michael Albinus  <michael.albinus@gmx.de>
126386         Add `make-nearby-temp-file' and `temporary-file-directory'
126388         * doc/lispref/files.texi (Unique File Names):
126389         Introduce `make-nearby-temp-file' and `temporary-file-directory'.
126390         (Magic File Names): Mention `make-nearby-temp-file' and
126391         `temporary-file-directory'.
126393         * etc/NEWS (provided): Mention `make-nearby-temp-file' and
126394         `temporary-file-directory'.
126396         * lisp/files.el (mounted-file-systems): New defcustom.
126397         (temporary-file-directory, make-nearby-temp-file): New defuns.
126398         (normal-backup-enable-predicate): Fix docstring.
126400         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
126401         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
126402         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
126403         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
126404         <make-nearby-temp-file, temporary-file-directory>: Add handler.
126406         * lisp/net/tramp.el (tramp-file-name-for-operation):
126407         Add `make-nearby-temp-file' and `temporary-file-directory'.
126408         (tramp-get-remote-tmpdir): Remove compatibility code.
126409         (tramp-handle-temporary-file-directory)
126410         (tramp-handle-make-nearby-temp-file): New defuns.
126412         * lisp/org/ob-core.el (org-babel-local-file-name):
126413         * lisp/progmodes/gud.el (gud-common-init):
126414         * lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.
126416         * lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.
126418         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
126419         Check `tramp--test-enabled'.
126420         (tramp-test18-file-attributes): Add tests for
126421         `file-ownership-preserved-p'.
126422         (tramp-test27-start-file-process, tramp-test28-shell-command):
126423         Reduce timeouts in `accept-process-output'.
126424         (tramp-test--shell-command-to-string-asynchronously): Add timeout.
126425         (tramp-test29-environment-variables): Remove additional sleep calls.
126426         (tramp-test32-make-nearby-temp-file): New test.
126427         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
126428         (tramp-test33-special-characters)
126429         (tramp-test33-special-characters-with-stat)
126430         (tramp-test33-special-characters-with-perl)
126431         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
126432         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
126433         (tramp-test34-utf8-with-ls)
126434         (tramp-test35-asynchronous-requests)
126435         (tramp-test36-recursive-load, tramp-test37-unload): Rename.
126436         (tramp--test-ftp-p): Simplify check.
126437         (tramp--test-sh-p): New defun.
126438         (tramp-test20-file-modes, tramp-test22-file-times)
126439         (tramp-test26-process-file, tramp-test27-start-file-process)
126440         (tramp-test28-shell-command)
126441         (tramp-test29-environment-variables)
126442         (tramp-test30-vc-registered)
126443         (tramp-test33-special-characters-with-stat)
126444         (tramp-test33-special-characters-with-perl)
126445         (tramp-test33-special-characters-with-ls)
126446         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
126447         (tramp-test34-utf8-with-ls)
126448         (tramp-test35-asynchronous-requests): Use it.
126450 2016-08-06  Michael Albinus  <michael.albinus@gmx.de>
126452         Add missing dcstrings in Tramp, remove check for obsolee methods
126454         * lisp/net/tramp.el (tramp-progress-reporter-update)
126455         (tramp-unload-file-name-handlers, tramp-get-local-uid)
126456         (tramp-get-local-gid, tramp-get-local-locale):
126457         * lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp)
126458         (tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command):
126459         * lisp/net/tramp-compat.el (tramp-compat-funcall):
126460         * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
126461         * lisp/net/tramp-gw.el (tramp-gw-process-filter):
126462         * lisp/net/tramp-sh.el (tramp-get-remote-path)
126463         (tramp-get-remote-locale, tramp-get-ls-command)
126464         (tramp-get-ls-command-with-dired)
126465         (tramp-get-ls-command-with-quoting-style)
126466         (tramp-get-ls-command-with-w-option)
126467         (tramp-get-test-nt-command, tramp-get-file-exists-command)
126468         (tramp-get-remote-ln, tramp-get-remote-perl)
126469         (tramp-get-remote-stat, tramp-get-remote-readlink)
126470         (tramp-get-remote-trash, tramp-get-remote-touch)
126471         (tramp-get-remote-gvfs-monitor-dir)
126472         (tramp-get-remote-inotifywait, tramp-get-remote-id)
126473         (tramp-get-remote-uid-with-id)
126474         (tramp-get-remote-uid-with-perl, tramp-get-remote-python)
126475         (tramp-get-remote-uid-with-python, tramp-get-remote-uid)
126476         (tramp-get-remote-gid-with-id)
126477         (tramp-get-remote-gid-with-perl)
126478         (tramp-get-remote-gid-with-python, tramp-get-remote-gid)
126479         (tramp-get-env-with-u-option): Add missing docstrings.
126481         * lisp/net/tramp.el (tramp-obsolete-methods)
126482         (tramp-warned-obsolete-methods): Remove.
126483         (tramp-find-method): Do not check for obsolete methods any longer.
126485 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
126487         Make sh-mode always use p-s-lookup-properties
126489         This lets functions which rely on syntax-propertize for parsing
126490         work correctly even before font lock has a chance to run.
126492         * lisp/progmodes/sh-script.el (sh-set-shell): Set
126493         parse-sexp-lookup-properties unconditionally (Bug #4920).
126495 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
126497         Fix cl-assert with atomp FORM, non-nil SHOW-ARGS
126499         * lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a
126500         list when showing its (non-existent) arguments (Bug #18587).
126502 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
126504         Don't delete selection after indent-rigidly
126506         * lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
126507         function to `set-transient-map', this prevents `delete-selection-mode'
126508         from deleting the text that was just indented (Bug #20408).
126510 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
126512         Fix byte-compile of interactive closures
126514         * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put
126515         bindings after docstring and `interactive' form, if any (Bug #24122).
126517 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
126519         Error if --eval arg has text beyond 1 expression
126521         * lisp/startup.el (command-line-1): If --eval argument has more data
126522         than constitutes a single Lisp expression, signal an error (Bug #23159).
126524 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
126526         Fix quoted lambda warning from lexical-let
126528         * lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda
126529         with `function', not `quote' (Bug #11357).
126531 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
126533         Make emerge always use shell-quote-argument
126535         * lisp/vc/emerge.el (emerge-metachars): Obsolete.
126536         (emerge-protect-metachars): Delete.
126537         (emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to
126538         `emerge-protect-metachars' with `shell-quote-argument' so that shell
126539         quoting is done the same on all system types (Bug #6136).  Also shell
126540         quote `emerge-diff-program' and `emerge-diff3-program'.
126542 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
126544         Fix 'dired-diff' when backup file is in another directory
126546         * lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how
126547         the default for FILE is computed, especially when backup files
126548         are involved.  Support backup files in another directory.
126549         Don't suggest the default FILE if it doesn't exist.  (Bug#24089)
126551 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
126553         Fix the 'T' command in Dired with non_ASCII file names
126555         * lisp/dired-aux.el (dired-do-chxxx): Bind coding-system-for-write
126556         to correctly encode file names passed to the invoked PROGRAM.
126557         (Bug#24162)
126559 2016-08-05  Noam Postavsky  <npostavs@gmail.com>
126561         * lisp/files.el (version-control): Drop :group vc (Bug #14687)
126563 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
126565         Merge from origin/emacs-25
126567         d841a03 ; Spelling fix
126568         a6ae479 Post AppDefined events from the main thread ONLY (bug#23934)
126569         d35d398 Update to the AUTHORS file for Bob Weiner
126570         4d2f4df Revert "Fix local printer set to left aligned string formatter."
126571         cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen...
126572         f7ceb8e Revert "Fix English."
126573         baa7abd Improve doc strings of 'gud-gdb' and 'gdb'
126574         aa4271a Fix doc string of 'minibuffer-message-timeout'
126575         b275cc7 Fix English.
126576         3c97b0f Fix ses-delete-blanks to delete only blanks + documentation.
126577         272391f profiler: document prefix arg for tree expansion
126578         442cc39 Clarify usage of eshell-visual-options
126579         b443c3c Fix comment in files-in-below-directory
126580         8a38e94 Fix local printer set to left aligned string formatter.
126581         0f0b191 ; Fix typos in NEWS
126582         6bdf687 ; * etc/NEWS: Remove temporary marks
126584 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
126586         Merge from origin/emacs-25
126588         d08afa1 * etc/AUTHORS: Update the AUTHORS file
126589         2668500 ;; * ChangeLog.2: ChangeLog update.
126590         7acfaea ; ChangeLog fixes
126591         97d28b4 * admin/authors.el (authors-valid-file-names): Addition.
126592         9ab52f6 * admin/authors.el: Additions.
126593         0e646c7 Warn about Cairo-related problems
126594         bc4c07f Don't let completion break `declare' handling
126595         66f95e0 Adjust match data before calling after-change-funs
126596         52cf0d5 Do not show string-rectangle preview if minibuffer is empty
126597         6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas...
126599         # Conflicts:
126600         #       ChangeLog.2
126601         #       src/lisp.h
126603 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
126605         Merge from origin/emacs-25
126607         9a41cd1 ; Fix typo
126608         9356fe2 Expand FIXME near definition of fboundp
126609         219b39f kill-rectangle should mention killed-rectangle
126610         59fa4c3 Avoid assertion violations in nhexl-mode
126612 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
126614         Merge from origin/emacs-25
126616         9ba51ed Document buffer-swap-text+save-excursion interaction
126617         452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
126618         248d5dd Include cl-generic in package--builtin-versions (bug#22817)
126619         8f5a8b6 Improve timing in `tramp-test29-environment-variables'
126620         05ba7a0 Add test for handling environment variables in Tramp
126621         e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
126622         5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
126623         90f2169 ; Spelling fixes
126624         069fc05 Improve documentation of search functions
126625         0a0144a Delete environment variables in Tramp when needed
126626         f624671 Add "New in Emacs 25" section to the FAQ
126627         658daf9 Fix 'vertical-motion' in non-interactive sessions
126628         686b520 Fix memory leak in imagemagick-types
126629         4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
126630         1b2d6a6 Clarify docstring of find-feature-regexp
126631         aac62a6 Add details to cl-lib defining macros' docstrings
126632         d6aa4da Clarify doc string of 'save-buffer'
126633         03bcf11 Un-confuse doc string of 'string-collate-equalp'
126634         c53135b Clarify documentation of 'mouse-on-link-p'
126636         # Conflicts:
126637         #       lisp/emacs-lisp/eieio-core.el
126639 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
126641         Merge from origin/emacs-25
126643         6f285d9 Amend last addition to etc/PROBLEMS
126644         7067890 * etc/PROBLEMS: Mention GTK+ problem with unexpected frame wi...
126646 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
126648         Merge from origin/emacs-25
126650         d4c6774 Fix missing point information in undo
126651         3a9d629 Avoid crashes when buffer modification hooks clobber match data
126652         178b2f5 Note combine-and-quote-strings doesn't shell quote
126653         dec7567 Explain when package-initialize isn't called
126654         113d1e2 Fix escaping in sh-indent-after-continuation docstr
126655         80e2044 ; * etc/NEWS: Improve previous change.
126656         5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
126657         38f4b8e Clarify the documentation of back-references in replacements
126659 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
126661         Merge from origin/emacs-25
126663         850ba44 Clarify lexical binding with symbol args behavior
126664         f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.
126665         68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.  (Bug#23...
126666         21110af Avoid assertion violations when rendering some fonts
126667         6192b6c Document more details of package activation
126668         272ddc6 Fixup warning message regarding HOME a bit more
126669         43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic...
126670         d41f7ff Fix input method "probhat" for Bengali
126671         c150a64 ; Fix typo in commit before last
126672         ebf0472 Add to elisp-completion-at-point's docstring
126673         fd9fad0 Give more helpful warning about setting HOME
126674         ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde...
126676         # Conflicts:
126677         #       lisp/term.el
126679 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
126681         Merge from origin/emacs-25
126683         26d4da0 New input method "probhat" for Bengali
126684         4f445bf ; Spelling fix
126685         f403f03 ; Fix typo
126687 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
126689         Spelling and minor grammar fixes
126691         * test/file-organization.org: Rename from test/file-organisation.org.
126693 2016-08-04  Alan Mackenzie  <acm@muc.de>
126695         Widen in certain low level CC Mode functions.  This fixes bug #24148.
126697         * lisp/progmodes/cc-engine.el (c-state-semi-pp-to-literal)
126698         (c-state-full-pp-to-literal): Widen around the functionality.
126699         (c-parse-ps-state-below): Correct the order of save-excursion and
126700         save-restriction.
126702 2016-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
126704         Fix Bug#24149
126706         * lisp/subr.el (set-transient-map): Don't wait if MAP not present in
126707         overriding-terminal-local-map.  (Bug#24149)
126709 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
126711         Update from gnulib
126713         This incorporates:
126714         2016-07-03 mktime: call tzset as per POSIX
126715         * doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4:
126716         Copy from gnulib.
126718 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
126720         Fix GnuTLS includes
126722         * src/gnutls.c [HAVE_GNUTLS]: Don’t include gnutls/gnutls.h
126723         a second time; although it doesn’t hurt, it’s not needed.
126724         * src/sysdep.c [!HAVE_GNUTLS]: Don’t include gnutls/crypto.h,
126725         as it may not be available.  Problem reported by Glenn Morris in:
126726         https://lists.gnu.org/r/emacs-devel/2016-08/msg00100.html
126728 2016-08-03  Michal Nazarewicz  <mina86@mina86.com>
126730         Fix accessing regex-resources in out-of-tree test runs in regex-tests
126732         [82a487d: Fix reading of regex-resources in regex-tests] attempted to
126733         fix regex-tests failing when run from the source tree (i.e. via make)
126734         by hard-coding path to regex-resources directory relative to the test
126735         directory.
126737         This fixed runs from the tree but broke the test when run using other
126738         methods.
126740         Fix by trying ‘load-file-name’ or ‘buffer-file-name’, whichever is set.
126742         * test/src/regex-tests.el (regex-tests--resources-dir): New variable
126743         storing path to the regex-resources directory.
126744         (regex-tests-generic-line): Use aforementioned variable.
126746 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
126748         Simplify by assuming GnuTLS 2.12.2 or later
126750         * src/gnutls.c (gnutls_certificate_details):
126751         * src/sysdep.c: Assume GnuTLS 2.12.2 or later.
126753 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
126755         Port to systems lacking GNUTLS_NONBLOCK
126757         Problem reported by Colin Baxter in:
126758         https://lists.gnu.org/r/emacs-devel/2016-08/msg00096.html
126759         * src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined.
126761 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
126763         Fix non-blocking GnuTLS with slow connection
126765         Although the problem is reported for OS X (Bug#23982), it seems to
126766         be possible on other POSIXish platforms.
126767         * src/gnutls.c (emacs_gnutls_nonblock_errno) [!WINDOWSNT]:
126768         New function.
126769         (emacs_gnutls_handshake) [!WINDOWSNT]:
126770         Use it as the errno function, if non-blocking.
126771         (Fgnutls_boot): Use GNUTLS_NONBLOCK if non-blocking.
126773 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
126775         Require GnuTLS 2.12.2 or later
126777         * configure.ac, etc/NEWS: Require GnuTLS 2.12.2 or later,
126778         instead of merely 2.6.6 or later (Bug#23982#20).
126779         * src/gnutls.c (init_gnutls_functions, emacs_gnutls_handshake)
126780         [WINDOWSNT]: Don’t bother with gnutls_check_version or
126781         gnutls_transport_set_lowat, as they are no longer needed now that
126782         we require gnutls 2.12.2 or later.
126784 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
126786         * src/window.c (sanitize_window_sizes): Remove unused arg `frame'
126788         * src/window.h (sanitize_window_sizes): Adjust prototype.
126789         * src/frame.c (adjust_frame_size): Adjust calls.
126791 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
126793         Fix (mapcar F S) crash when F alters S’s length
126795         * src/fns.c (mapcar1): Return number of elements computed,
126796         which can be less than LENI if the function alters the list.
126797         All callers changed.  (Bug#24118)
126799 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
126801         Port window changes to --enable-gcc-warnings
126803         * src/window.c (sanitize_window_sizes): Return void.
126804         This pacifies GCC, and no caller uses the return value anyway.
126806 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
126808         * src/window.c: Fix bootstrap failure due to window.el changes
126810         (sanitize_window_sizes): Adjust to new calling convention of
126811         window--sanitize-window-sizes and only call it if defined.
126812         (Fwindow__sanitize_window_sizes): Remove.
126813         (syms_of_window): Don't defsubr it.
126815 2016-08-02  Michael Albinus  <michael.albinus@gmx.de>
126817         Fix Bug#23883
126819         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
126820         Call `process-actions' with adapted position.  The connection
126821         buffer might have been cleaned up already.  (Bug#23883)
126823 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
126825         Port regex changes to strict ISO C
126827         * src/regex.c (regex_compile): Redo casts.
126829 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
126831         * lisp/window.el: Use lexical-binding
126833         (window--min-size-ignore-p): Remove unused arg `horizontal'.
126834         (window--sanitize-window-sizes): Remove unused arg `frame'.
126835         (window-edges): Remove unused vars left-off and right-off.
126836         (display-buffer-reuse-mode-window): Remove unused var `frame?'.
126837         Avoid extraneous setq and do a bit of CSE.
126838         (fit-frame-to-buffer): Remove unused vars `window', `fit-width',
126839         and `toolbar-extra-height'.
126840         (window-adjust-process-window-size): Remove unused arg `process'.
126842 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
126844         Fix unused lexical variable
126846         This fixes the following warning:
126848             In toplevel form:
126849             src/regex-tests.el:416:1:Warning: Unused lexical variable ‘newline’
126851         * test/src/regex-tests.el (regex-tests-BOOST): Remove unused lexical
126852         variable.
126854 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
126856         Remove unused STREQ macro
126858         This fixes the following compilation warning:
126860             regex.c:516:0: warning: macro "STREQ" is not used [-Wunused-macros]
126861              #define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
126862              ^
126864         * src/regex.c (STREQ): Remove unused macro.  It should have been removed
126865         in a [4538a5e: Refactor regex character class parsing in [:name:]]
126866         commit but was mistakenly left out.
126868 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
126870         * lisp/emacs-lisp/cl-generic.el: Fix problems introduced by new
126871         load-history format
126873         * lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
126874         (cl-generic-define-method, cl--generic-describe): Use it.
126875         (cl--generic-search-method): Adjust for new format.
126877         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
126878         * test/lisp/progmodes/elisp-mode-tests.el:
126879         Use cl--generic-load-hist-format rather than hard-coding cl-generic's
126880         internal format.
126882 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
126884         Hardcode regex syntax to remove dead code handling different syntax
126886         Emacs only ever uses its own regex syntax so support for other syntaxes
126887         is never used.  Hardcode the syntax so that the compilar can detect such
126888         dead code and remove it from compiled code.
126890         The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly
126891         specified.  Handle this separatelly with a function argument (replacing
126892         now unnecessary syntax argument).
126894         With this patchset, size of Emacs binary on x86_64 machine is reduced by
126895         around 60 kB:
126897                 new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs
126898                 old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs
126900         * src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs.
126901         (re_compile_pattern): Replace syntax with posix_backtracking argument.
126903         * src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs.
126904         (regex_compile): #ifdef emacs, replace syntax argument with
126905         posix_backtracking which is now used instead of testing for
126906         RE_NO_POSIX_BACKTRACKING syntax.
126907         (re_match_2_internal): Don’t access bufp->syntax #ifndef emacs.
126908         (re_compile_pattern): Replace syntax with posix_backtracking argument.
126910         * src/search.c (compile_pattern_1): Pass boolean posix_backtracking
126911         instead of syntax to re_compile_pattern.
126913 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
126915         Get rid of re_set_whitespace_regexp
126917         * src/regex.h (re_set_whitespace_regexp): Delete.
126918         (re_compile_pattern): Add whitespace_regexp argument #ifdef emacs.
126920         * src/regex.c (re_set_whitespace_regexp, whitespace_regexp): Delete.
126921         (regex_compile): Add whitespace_regexp argument #ifdef emacs and wrap
126922         whitespace_regexp-related code in an #ifdef emacs so it’s compiled out
126923         unless building Emacs.
126924         (re_compile_pattern): Pass whitespace_regexp argument to regex_compile
126926         * src/search.c (compile_pattern_1): Don’t use re_set_whitespace_regexp,
126927         pass the regex as argument to re_compile_pattern instead.
126929 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
126931         Get rid of re_set_syntax
126933         Instead of using a global variable for storing regex syntax, pass it
126934         to re_compile_pattern.  This is only enabled when compiling Emacs (i.e.
126935         ‘#ifdef emacs’).
126937         * src/regex.h (re_set_syntax): Declare only #ifndef emacs.
126938         (re_compile_pattern): Now takes syntax argument #ifdef emacs.
126940         * src/regex.c (re_syntax_options): Define only #ifndef emacs.
126941         (re_compile_pattern): Use the new syntax argument #ifdef emacs.
126943         * src/search.c (compile_pattern_1): Don’t use re_set_syntax and
126944         instead pass syntax to re_compile_pattern directly.
126946 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
126948         Remove dead opcodes in regex bytecode
126950         There is no way to specify before_dot and after_dot opcodes in a regex
126951         so code handling those ends up being dead.  Remove it.
126953         * src/regex.c (print_partial_compiled_pattern, regex_compile,
126954         analyze_first, re_match_2_internal): Remove handling and references to
126955         before_dot and after_dot opcodes.
126957 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
126959         Refactor regex character class parsing in [:name:]
126961         re_wctype function is used in three separate places and in all of
126962         those places almost exact code extracting the name from [:name:]
126963         surrounds it.  Furthermore, re_wctype requires a NUL-terminated
126964         string, so the name of the character class is copied to a temporary
126965         buffer.
126967         The code duplication and unnecessary memory copying can be avoided by
126968         pushing the responsibility of parsing the whole [:name:] sequence to
126969         the function.
126971         Furthermore, since now the function has access to the length of the
126972         character class name (since it’s doing the parsing), it can take
126973         advantage of that information in skipping some string comparisons and
126974         using a constant-length memcmp instead of strcmp which needs to take
126975         care of NUL bytes.
126977         * src/regex.c (re_wctype): Delete function.  Replace it with:
126978         (re_wctype_parse): New function which parses a whole [:name:] string
126979         and returns a RECC_* constant or -1 if the string is not of [:name:]
126980         format.
126981         (regex_compile): Use re_wctype_parse.
126982         * src/syntax.c (skip_chars): Use re_wctype_parse.
126984 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
126986         Split regex glibc test cases into separet tests
126988         * test/src/regex-tests.el (regex-tests): Remove and split into multiple
126989         tests cases.
126990         (regex-tests-glbic-BOOST, regex-tests-glibc-PCRE,
126991         regex-tests-glibc-PTESTS, regex-tests-glibc-TESTS): New test cases split
126992         from ‘regex-tests’.
126994 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
126996         Don’t (require 'cl)
126998         * test/src/regex-tests.el: Don’t (require 'cl).
126999         (regex-tests-PCRE): s/loop/cl-loop/
127001 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
127003         Fix reading of regex-resources in regex-tests
127005         * test/src/regex-tests.el (regex-tests-generic-line): Referring to
127006         ‘buffer-file-name’ does not work when running the test from command
127007         line, i.e. via make, which results in (wrong-type-argument stringp nil)
127008         failures.  Replace it with hard-coded path.
127009         (regex-tests-BOOST, regex-tests-PCRE, regex-tests-PTESTS-whitelist,
127010         regex-tests-TESTS-whitelist): ‘regex-tests-generic-line’ now  includes
127011         the ‘regex-resources’ path component so the tests don’t need to specify
127012         it explicitly.
127014 2016-08-02  Dima Kogan  <dima@secretsauce.net>
127016         Added driver for the regex tests
127018         * test/src/regex-tests.el (regex-tests): Test executing glibc tests
127019         cases.
127021         [mina86@mina86.com: merged test with existing file]
127023 2016-08-02  Dima Kogan  <dima@secretsauce.net>
127025         New regex tests imported from glibc 2.21
127027         * test/src/regex-resources/BOOST.tests:
127028         * test/src/regex-resources/PCRE.tests:
127029         * test/src/regex-resources/PTESTS:
127030         * test/src/regex-resources/TESTS:
127031         New test data files
127033         [mina86@mina86.com: Moved files from test/src/regex/* to test/src/*.]
127035 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
127037         Fix use-after-close in connect_network_socket
127039         * src/process.c (connect_network_socket):
127040         Reverse sense of previous fix.  Problem reported by Ken Brown in:
127041         https://lists.gnu.org/r/emacs-devel/2016-08/msg00004.html
127043 2016-08-01  Glenn Morris  <rgm@gnu.org>
127045         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
127046         Respect autoload-timestamps for "actual autoloads are elsewhere" case.
127048 2016-07-31  Stefan Merten  <stefan@merten-home.de>
127050         * lisp/textmodes/rst.el: Major refactoring, minor changes, minor fixes
127052         (rst-Ado, rst-Hdr, rst-Ttl, rst-Stn): Introduce classes
127053         representing reStructuredText section header concepts.
127054         (rst-mode-map, rst-new-preferred-hdr)
127055         (rst-update-section, rst-classify-adornment)
127056         (rst-ttl-at-point, rst-all-ttls-cache)
127057         (rst-hdr-hierarchy-cache, rst-reset-section-caches)
127058         (rst-all-ttls, rst-infer-hdr-hierarchy, rst-hdr-hierarchy)
127059         (rst-all-ttls-with-level, rst-get-previous-hdr)
127060         (rst-adornment-complete-p, rst-next-hdr, rst-adjust)
127061         (rst-adjust-section, rst-promote-region)
127062         (rst-display-hdr-hierarchy, rst-straighten-sections)
127063         (rst-all-stn, rst-remaining-stn, rst-toc-insert)
127064         (rst-toc-insert-node, rst-toc-node, rst-toc)
127065         (rst-forward-section, rst-adornment-level)
127066         (rst-font-lock-handle-adornment-pre-match-form)
127067         (rst-imenu-convert-cell, rst-imenu-create-index): Refactor
127068         using classes.
127069         (rst-compare-adornments, rst-get-adornment-match): Remove
127070         functions now in classes.
127071         (rst-re-alist-def, rst-toc-mode)
127072         (rst-font-lock-extend-region-extend): Minor improvements.
127073         (rst-mode, rst-compile): Use `setq-local'.
127074         (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
127075         (rst-official-version, rst-official-cvs-rev)
127076         (rst-package-emacs-version-alist): Maintain version tags.
127078 2016-07-30  Martin Rudalics  <rudalics@gmx.at>
127080         Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107)
127082         * src/w32fns.c (Fw32_frame_geometry): Fix calculation of tool
127083         bar width (Bug#24107).  Reindent.
127084         * src/xfns.c (frame_geometry): Fix calculation of tool bar
127085         width on non-GTK builds.
127087 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
127089         Fix region display while dragging mouse
127091         * lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the
127092         buffer of the drag event, to allow mark to be set and the region
127093         be shown as we drag the mouse.  (Bug#24030)
127095 2016-07-30  Tino Calancha  <tino.calancha@gmail.com>
127097         Copy just non-empty strings to kill-ring
127099         * lisp/dired.el (dired-copy-filename-as-kill):
127100         Do not change the kill ring when the string is empty (Bug#24103).
127102 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
127104         Avoid warnings about undo list while decoding
127106         * src/coding.c (coding_restore_undo_list): New function.
127107         (decode_coding_gap, decode_coding_object): Temporarily set the
127108         buffer's undo list to t, to avoid warnings when decoding changes
127109         the buffer many times, e.g. due to post-read-conversion.  Use
127110         coding_restore_undo_list to make sure the undo list is restored.
127111         (Bug#23813)
127113 2016-07-28  Noam Postavsky  <npostavs@gmail.com>
127115         profiler: Add mouse-1 binding for tree expansion
127117         (profiler-report-mode-map): Add mouse-1 binding for
127118         profiler-report-toggle-entry (Bug #13455).
127120 2016-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>
127122         Enable addition of local printers from a mode hook.
127124         * doc/misc/ses.texi (Printer functions): Split the node into 5
127125         sub-nodes + add some extra documentation.
127126         (Various kinds of printer functions): Make an itemization to
127127         disintguish better the 3 types of printers, give an example of
127128         lambda printer definition.
127129         (Standard printer functions): Add documentation for ses-prin1
127130         printer function.
127131         (Local printer functions): Add documentation for creating
127132         local printers programmatically from a hook.
127133         (Writing a lambda printer function): Add documentation about
127134         anti-stackoverflow precautions to take when you call the
127135         standard printer functions from inside a local printer.
127137         * lisp/ses.el (ses-standard-printer-functions): Add ses-prin1
127138         among standard printer function, and update docstring
127139         accordingly.
127140         (ses-call-printer, ses-export-tab): Call `ses-prin1' instead
127141         of prin1-to-string.
127142         (ses-define-local-printer): Add definition to arguments so
127143         that a local printer can be defined programmatically from a
127144         mode hook.  Make docstring more substantial.  Use completing
127145         read for local printer name input.  Plus some minor
127146         optimization.
127147         (ses-define-if-new-local-printer): New defsubst.
127148         (ses-center, ses-center-span, ses-dashfill)
127149         (ses-dashfill-span, ses-tildefill-span): Allow to pass printer
127150         as an optional argument to superseed column printer/default
127151         spreadsheet printer.
127152         (ses-prin1): New defun.
127154 2016-07-27  Ted Zlatanov  <tzz@lifelogs.com>
127156         Prompt to save gnus-cloud-method.
127158         Since `gnus-cloud-method' is a defcustom, when it's set, we should
127159         prompt the user to save it, so the customization is not lost on
127160         restart.
127162         * lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
127163         Prompt to save the customization of `gnus-cloud-method'.
127165 2016-07-27  Ken Brown  <kbrown@cornell.edu>
127167         Fix dired-test-bug22694
127169         * test/lisp/dired-tests.el (dired-test-bug22694): Delete the
127170         "bug22694" directory, if it exists, before running the test.  It
127171         might be left over from a previous aborted run of the test.
127173 2016-07-27  Michal Nazarewicz  <mina86@mina86.com>
127175         Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020)
127177         * src/regex.c (mutually_exclusive_p): Fix how whether character is
127178         unibyte is tested when calling execute_charset function.  This bug has
127179         been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to
127180         match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro.
127181         Reinstitute it.
127183 2016-07-27  Tino Calancha  <tino.calancha@gmail.com>
127185         Remove hook when disabling ibuffer-auto-mode
127187         * lisp/ibuf-ext.el (ibuffer-auto-mode):
127188         Remove 'ibuffer-auto-update-changed' from 'post-command-hook'.
127190 2016-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
127192         * lisp/subr.el (cancel-change-group): Reset cell in case of error
127194         Since the setcdr/setcdr is supposed to be temporary, use unwind-protect
127195         to make sure we properly undo the temporary change even in case of error.
127197 2016-07-26  Eli Zaretskii  <eliz@gnu.org>
127199         Avoid segfaults in compute_motion
127201         * src/indent.c (compute_motion): Don't turn on and don't use the
127202         width cache unless the buffer's width-table is non-nil.  This
127203         avoids segfaults because code that uses the width cache assumes
127204         the width-table exists.  (Bug#24064)
127206 2016-07-26  Nicolas Petton  <nicolas@petton.fr>
127208         Do not sharp-quote lambdas
127210         * lisp/progmodes/sql.el: Remove sharp-quotes in lambdas.
127212 2016-07-25  Ted Zlatanov  <tzz@lifelogs.com>
127214         * lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Fix
127215         'base64-gzip encoding.
127217 2016-07-25  Andrew Hyatt  <ahyatt@gmail.com>
127219         Add warning to format-alist docs.
127221         */doc/lispref/files.texi (format-alist) Change documentation for
127222         format-alist to warn against file modifications when formatting, which
127223         leads to incorrect results.  (Bug#5440)
127225         Changes suggested by Eli.
127227 2016-07-25  Katsumi Yamaoka  <yamaoka@jpl.org>
127229         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
127230         Preserve key bindings that shr adds (bug#23964).
127232 2016-07-25  Michal Nazarewicz  <mina86@mina86.com>
127234         Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’ (bug#24020)
127236         The regex engine tries to optimize Kleene star by avoiding backtracking
127237         when it can detect that star’s operand cannot match what follows it in
127238         the pattern.
127240         For example, when ‘[[:alpha:]]*1’ tries to match a ‘foo’, the engine
127241         will test the longest match for ‘[[:alpha:]]*’, namely ’foo’ which is
127242         the entire string.  Literal digit one still present in the pattern will
127243         however not match the remaining empty string.
127245         Normally, backtracking would be performed trying a shorter match for the
127246         character class (namely ‘fo’ leaving ‘o’ in the string), but since the
127247         engine knows whatever would be put back into the string cannot possibly
127248         match literal digit one so no backtracking will be attempted.
127250         In the regexes of the form ‘[[:CC:]]*X’, the optimization can be applied
127251         if the character class CC does not match character X.  In the above
127252         example, this holds because digit one is not in alpha character class.
127254         This test is performed by mutually_exclusive_p function but it did not
127255         check class bits of a charset opcode.  This resulted in an assumption
127256         that character classes do not match multibyte characters.  For example,
127257         it would incorrectly conclude that [[:alpha:]] doesn’t match ‘ż’.
127259         This, in turn, led to the aforementioned Kleene star optimization being
127260         incorrectly applied in patterns such as ‘[[:graph:]]*☠’ (which should
127261         match ‘☠’ but doesn’t as can be tested by executing
127262             (string-match-p "[[:graph:]]*☠" "☠")
127263         which should return 0 but instead yields nil.
127265         This issue affects any class witch matches multibyte characters, i.e.
127266         if ‘[[:cc:]]’ matches a multibyte character X then ‘[[:cc:]]*X’ will
127267         fail to match ‘X’.
127269         * src/regex.c (executing_charset): A new function for executing the
127270         charset and charset_not opcodes.  It performs check on the character
127271         taking into consideration existing bitmap, range table and class bits.
127272         It also advances the pointer in the regex bytecode past the parsed
127273         opcode.
127274         (CHARSET_LOOKUP_RANGE_TABLE_RAW, CHARSET_LOOKUP_RANGE_TABLE): Removed.
127275         Code now included in executing_charset.
127276         (mutually_exclusive_p, re_match_2_internal): Changed to take advantage
127277         of executing_charset function.
127279         * test/src/regex-tests.el: New file with tests for the character class
127280         matching.
127282 2016-07-25  Nicolas Petton  <nicolas@petton.fr>
127284         Fix auto-reverting image-mode buffer (bug#21598)
127286         When auto-reverting an image buffer, `image-mode' is not called since
127287         `revert-buffer' is called with `preserve-modes' set to non-nil.
127289         * lisp/image-mode.el (image-after-revert-hook): Check if there is an
127290         image display property for the current buffer before updating it.
127292 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
127294         ‘signal’ no longer returns
127296         Although for decades ‘signal’ has been documented to not return,
127297         a corner case in the Lisp debugger causes ‘signal’ to return.
127298         Remove the corner case and adjust Emacs internals accordingly.
127299         An alternative would be to document the corner case, but this
127300         would complicate the Lisp API unnecessarily.  (Bug#24047)
127301         * src/eval.c (signal_or_quit): New function, with most of the
127302         old contents of Fsignal.
127303         (quit): New function, which uses signal_or_quit and which
127304         might return.  All keyboard-based callers of Fsignal (Qquit,
127305         Qnil) changed to use this new function instead.
127306         (Fsignal): Use signal_or_quit.  Now _Noreturn.  All callers
127307         changed.
127308         (xsignal): Move to lisp.h.
127309         * src/lisp.h (xsignal): Now an inline function, as it's now
127310         just an alias for Fsignal.
127312 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
127314         Require libgnutls unless --with-gnutls=no
127316         * configure.ac: Report an error if the gnutls library is missing,
127317         unless --with-gnutls=no is specified.
127319 2016-07-23  Alan Mackenzie  <acm@muc.de>
127321         Fontify C++ parameter packs.
127323         This fixes debbugs #23610.
127325         * lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
127326         c-lang-defconsts/defvars.
127327         (c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.
127329         * lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key.
127331 2016-07-23  Alan Mackenzie  <acm@muc.de>
127333         Java Mode: Handle strings as case labels correctly.
127335         This fixes debbugs #23901.
127337         * lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the
127338         Java value.
127340 2016-07-22  Kaushal Modi  <kaushal.modi@gmail.com>
127342         Avoid repeated warnings while restoring desktop
127344         * lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings
127345         when files are being opened during desktop restore.
127347 2016-07-22  Eli Zaretskii  <eliz@gnu.org>
127349         Fix compilation warning in the MinGW build
127351         * nt/inc/ms-w32.h: Include stdint.h.
127352         (_execvp, execve): Provide prototypes.
127354         * lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp,
127355         it is now in nt/inc/ms-w32.h.
127356         * lib-src/ntlib.c (getppid): Avoid compiler warnings due to format
127357         mismatch.
127358         (sys_ctime): Remove, not used.
127360 2016-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
127362         Move read-multiple-choice to subr-x.el
127364         * lisp/faces.el (read-multiple-choice-face): Fix doc string.
127366         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
127367         from subr.el.
127369         * lisp/gnus/message.el (subr-x): Ditto.
127371         * lisp/net/nsm.el: Require subr-x for read-multiple-choice.
127373         read-multiple-choice doesn't need to be in the dumped Emacs, so move
127374         it to a less central file.
127376 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
127378         Update define-ibuffer-op doc string
127380         * lisp/ibuf-macs.el (define-ibuffer-op):
127381         Mention that BODY is evaluated with 'buf' bound to the actual
127382         marked buffer being processed.
127384 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
127386         Update define-ibuffer-op doc string
127388         * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX
127389         instead of refer the reader to the source code.
127390         Document arg BODY.
127392 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
127394         Fix shell-command[-on-region] doc strings
127396         * lisp/simple.el (shell-command, shell-command-on-region):
127397         Drop the sentence saying that the command may delete the buffer
127398         '*Shell Command Output*': the command never delete such
127399         buffer (Bug#23936).
127401 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
127403         ;Revert ";Partially revert 2649105a"
127405         This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e.
127407 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
127409         ;Partially revert 2649105a
127411         * lisp/textmodes/tex-mode.el (tex-common-initialization): Use
127412         setq-local to modify prettify-symbols-compose-predicate.
127414 2016-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
127416         * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE
127418         (struct byte_stack): Re-add `bottom'.
127419         (exec_byte_code): Initialize it.
127421 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
127423         Ibuffer: Use default output buffer for shell commands
127425         * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer
127426         '*Shell Command Output*', as command 'shell-command-file'.
127428 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
127430         Fix failing test
127432         * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
127433         Enable Font Lock mode in order to initialize
127434         'char-property-alias-alist' (Bug#23954).
127436 2016-07-21  Paul Eggert  <eggert@cs.ucla.edu>
127438         Fix use-after-close in connect_network_socket
127440         * src/process.c (connect_network_socket): Don’t use
127441         external_sock_fd after closing it.  Problem found by Coverity Scan.
127443 2016-07-21  Katsumi Yamaoka  <yamaoka@jpl.org>
127445         * lisp/net/shr.el (shr-fill-line):
127446         Preserve text properties in folded lines (bug#24034).
127448 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
127450         Fix lifetime bug in tzlookup
127452         * src/editfns.c (tzlookup): Fix storage lifetime bug when
127453         INTEGERP (zone) && settz.  Problem found by Coverity Scan.
127455 2016-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
127457         Fix shr.el/image build problem
127459         (Bug#24035)
127461         * lisp/net/shr.el: Require image, since some builds seem to
127462         break without it (bug#24035).
127464 2016-07-20  Ted Zlatanov  <tzz@lifelogs.com>
127466         Bring the Gnus Cloud package into working order.
127468         * lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el.
127470         * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to
127471         simplify non-file data.
127472         (gnus-cloud-storage-method): New defcustom to support nil, Base64,
127473         Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to
127474         EPG if that's available, Base64+gzip otherwise.
127475         (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations
127476         interactive, defaults to enabled.
127477         (gnus-cloud-group-name): New variable for the Gnus Cloud group name.
127478         (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just
127479         "Version".
127480         (gnus-cloud-insert-data): Simplify and support :newsrc-data entries.
127481         (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various
127482         storage methods as per gnus-cloud-storage-method.
127483         (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker.
127484         (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data
127485         entries.
127486         (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to
127487         file and data handlers.
127488         (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data
127489         entries.
127490         (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and
127491         be more careful.
127492         (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file.
127493         (gnus-cloud-file-covered-p, gnus-cloud-all-files)
127494         (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group)
127495         (gnus-cloud-add-timestamps, gnus-cloud-available-chunks)
127496         (gnus-cloud-prune-old-chunks): Fix indentation.
127497         (gnus-cloud-timestamp): New function to make a standard Gnus Cloud
127498         timestamp.
127499         (gnus-cloud-file-new-p): Use it.
127500         (gnus-cloud-upload-all-data): Add interactive convenience function to
127501         upload all data.
127502         (gnus-cloud-upload-data): Make interactive; collect files and newsrc
127503         data separately; refresh Gnus Cloud group after insert.
127504         (gnus-cloud-download-all-data): Add interactive convenience function to
127505         download all data.
127506         (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version"
127507         marker and different storage methods.
127508         (gnus-cloud-host-server-p): New function to check if a server is the
127509         Gnus Cloud host.
127510         (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data.
127511         (gnus-cloud-host-acceptable-method-p): New function so
127512         other code can check if a server method can host the Gnus cloud.
127513         (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI.
127514         (gnus-cloud-method): Make this a defcustom and note how to set it.
127516         * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded
127517         keybindings under the `~' prefix.
127519         * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar)
127520         (gnus-server-cloud, gnus-server-cloud-host)
127521         (gnus-server-font-lock-keywords, gnus-server-insert-server-line)
127522         (gnus-server-toggle-cloud-method-server): Support Gnus Cloud
127523         synchronized servers and synchronization host server toggling (`i' and
127524         `I') and visual display.
127525         (gnus-server-toggle-cloud-method-server): Use
127526         gnus-cloud-host-acceptable-method-p.
127527         (gnus-server-toggle-cloud-method-server): Use custom-set-variables to
127528         set the gnus-cloud-method. Ask the user if it's OK to upload the data
127529         right now.
127531         * doc/misc/gnus.texi: Document Gnus Cloud package.
127533 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
127535         Remove CHECK_FRAME_FONT cruft from bytecode.c
127537         * src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h.
127538         Remove some old ‘#if 0’ code.
127540 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
127542         Work around GCC bug 54561 in a better way
127544         The new approach is less selective, but also less intrusive on C code.
127545         * src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered.
127546         * src/conf_post.h (NONVOLATILE): Remove.  All uses removed.
127548 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
127550         Fix port to glibc 2.24 (pre-release) + ppc64
127552         * src/callproc.c (child_setup): Use emacs_exec_file
127553         so that ASLR is enabled in the child process.
127554         * src/emacs.c: Move some personality details into sys/sysdep.c.
127555         Do not include <sys/personality.h>.
127556         (main): Disable ASLR earlier, so that we don’t chdir twice.
127557         * src/lisp.h (disable_address_randomization): New decl.
127558         * src/sysdep.c (disable_address_randomization)
127559         [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details
127560         here from emacs.c.
127561         (emacs_exec_file): New function.
127563 2016-07-19  Alan Third  <alan@idiocy.org>
127565         Prevent bar cursor overwriting next glyph (bug#16856)
127567         * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
127568         before setting final size.
127570 2016-07-19  Eli Zaretskii  <eliz@gnu.org>
127572         Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil
127574         * src/insdel.c (adjust_markers_bytepos): New function.
127575         * src/lisp.h (adjust_markers_bytepos): Add prototype.
127576         * src/insdel.c (replace_range, replace_range_2):
127577         * src/editfns.c (Ftranspose_regions): Call
127578         adjust_markers_bytepos.  (Bug#5131)
127580         * test/src/editfns-tests.el (transpose-test-reverse-word)
127581         (transpose-test-get-byte-positions): New functions.
127582         (transpose-ascii-regions-test)
127583         (transpose-nonascii-regions-test-1)
127584         (transpose-nonascii-regions-test-2): New tests.
127586 2016-07-19  Katsumi Yamaoka  <yamaoka@jpl.org>
127588         Make gif animation work (bug#24004)
127590         * lisp/image.el (image-animate-timeout): Fix the logic that tests if
127591         an animation is too big (bug#24004).
127593 2016-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
127595         * lisp/simple.el (undo-amalgamate-change-group): New function
127597         * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
127598         (viper-set-complex-command-for-undo): Save current state with
127599         prepare-change-group.
127600         * lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
127601         (viper-buffer-undo-list-mark): Remove.
127603 2016-07-18  Noam Postavsky  <npostavs@gmail.com>
127605         Keep w32 environment settings internal only
127607         * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
127608         set_initial_environment call.  This prevents Emacs' modifications to the
127609         environment from contaminating Vprocess_environment and
127610         Vinitial_environment (Bug #10980).
127611         * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
127612         environment in as a fallback to Vprocess_environment.
127613         * test/src/callproc-tests.el (initial-environment-preserved): New Test.
127615 2016-07-18  Nicolas Petton  <nicolas@petton.fr>
127617         Better documentation for cl-reduce (bug#24014)
127619         * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
127621 2016-07-17  Alan Third  <alan@idiocy.org>
127623         Remove separate pool for popup dialogs (bug#23856)
127625         * src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
127626         autorelease pool and Popdown_data struct.
127628 2016-07-17  Mark Oteiza  <mvoteiza@udel.edu>
127630         Use eldoc-documentation-functions
127632         * lisp/hexl.el (hexl-mode):
127633         * lisp/ielm.el (inferior-emacs-lisp-mode):
127634         * lisp/progmodes/cfengine.el (cfengine3-mode):
127635         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
127636         * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode):
127637         * lisp/progmodes/python.el (python-mode):
127638         * lisp/simple.el (read--expression): Add buffer-locally to hook
127639         eldoc-documentation-functions.
127641 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
127643         Optimize ucs-normalize.el compilation
127645         * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
127646         (quick-check-list-to-regexp): Use regexp-opt-charset instead of
127647         regexp-opt.
127648         * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
127649         temp buffer for the whole loop.
127651 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
127653         Add tests for ucs-normalize.el
127655         Some tests are marked as expected to fail.
127657         * test/lisp/international/ucs-normalize-tests.el: New tests.
127658         * admin/unidata/NormalizationTest.txt: Add data for tests.
127659         * admin/unidata/README: Add URL for NormalizationTest.txt.
127660         * admin/notes/unicode: Add note about running (and updating the data
127661         for) the new tests.  Remove note about normalization being unsupported.
127663 2016-07-16  Alan Third  <alan@idiocy.org>
127665         Fix cursor display (bug#23993)
127667         * src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator.
127669 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
127671         Stop worrying about Alliant in bytecode.c
127673         * src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.
127675 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
127677         Remove BYTE_MAINTAIN_TOP
127679         It is no longer needed now that we assume GC_MARK_STACK ==
127680         GC_MAKE_GCPROS_NOOPS.
127681         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
127682         All uses removed, and code simplified accordingly.
127683         (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
127684         are always no-ops now.  All uses removed.
127685         (MAYBE_GC): Remove.  All uses replaced by maybe_gc,
127686         since it is now equivalent.
127688 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
127690         Remove now-inaccurate bytecode comments
127692         * src/bytecode.c: Remove comments that are no longer accurate.
127693         Most of these are actually old ChangeLog entries.
127695 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
127697         Port to glibc 2.24 (pre-release) + ppc64
127699         Inspired by a suggestion by Florian Weimer in:
127700         https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
127701         * configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
127702         Rename from HAVE_PERSONALITY_LINUX32, and check for
127703         ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
127704         All uses changed.
127705         * src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
127706         Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
127707         flag ourselves.  Just set that flag, rather than also setting the
127708         persona.  When doing it, avoid functions like putenv that may
127709         allocate memory.
127711 2016-07-14  Mark Oteiza  <mvoteiza@udel.edu>
127713         Revert "Add a couple cells to lisp-prettify-symbols-alist"
127715         This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9.
127717 2016-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
127719         * lisp/simple.el (shell-command): Add save-match-data comment
127721 2016-07-14  Alan Mackenzie  <acm@muc.de>
127723         CC Mode: correct incorrect invocation of parse-partial-sexp.
127725         Fixes bug #23944.
127727         * lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of
127728         an invocation of parse-partial-sexp 'syntax-table, not the fourth.
127730 2016-07-14  Andreas Schwab  <schwab@suse.de>
127732         Fix configure summary for hybrid malloc configurations
127734         * configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no,
127735         parenthesize value of GNU_MALLOC_reason.
127737 2016-07-14  Stephen Berman  <stephen.berman@gmx.net>
127739         Fix delete-duplicate-lines
127741         * lisp/sort.el (delete-duplicate-lines): Delete duplicate
127742         first line when operating backward (bug#23863).
127744 2016-07-14  Andreas Schwab  <schwab@suse.de>
127746         Remove unused SHEAP_OBJ
127748         * Makefile.in (base_obj): Remove $(SHEAP_OBJ).
127750 2016-07-13  Katsumi Yamaoka  <yamaoka@jpl.org>
127752         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
127753         Use shr-image-map instead of shr-map (bug#23964).
127755 2016-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
127757         * lisp/mouse.el (mouse): Consolidate group definition here
127759         * lisp/cus-edit.el (mouse): Remove both group definitions.
127761 2016-07-13  Chris Feng  <chris.w.feng@gmail.com>
127763         Include versioned preloaded libraries in `package--builtin-versions'
127765         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
127766         exclude preloaded libraries or remove entries generated for them.
127767         (autoload-generate-file-autoloads): Do not generate autoload
127768         statements for preloaded libraries.
127770 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
127772         Omit unnecessary #includes from xwidget.c
127774         * src/xwidget.c: Remove #include directives that are not needed.
127775         Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this
127776         file is compiled only if the X interface is available.
127778 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
127780         Port xwidget.c to GCC 6 with --enable-gcc-warnings
127782         * src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay):
127783         Adjust to pacify GCC.  Add a couple of FIXME comments, suggesting
127784         possible bugs found by GCC.
127786 2016-07-12  Tino Calancha  <tino.calancha@gmail.com>
127788         Escape meta chars in commands processed by shell
127790         * lisp/progmodes/grep.el (grep-compute-defaults): Quote braces
127791         in all commands to be passed to a shell (Bug#23959).
127793 2016-07-12  John Wiegley  <johnw@newartisans.com>
127795         Revert "Cleanup tooltips"
127797         This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921.
127799         I am reverting this change because it was applied without prior discussion
127800         on emacs-devel, and has been found to break the NS port.  It needs more
127801         testing and review before it should be applied here.
127803 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
127805         * lisp/emacs-lisp/cl-macs.el (cl--prog): New function
127807         (cl-prog, cl-prog*): New macros.
127809 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
127811         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic
127813         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
127814         (cl--generic-make-defmethod-docstring): New function for that.
127815         (cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
127816         (cl-generic-define-method, cl--generic-describe): Change `load-history'
127817         format of cl-defmethods, so as not to confused methods with equal
127818         specializers but different qualifiers.
127819         * lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.
127821 2016-07-12  Eli Zaretskii  <eliz@gnu.org>
127823         Don't install keyboard hook when debugged on MS-Windows
127825         * src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
127826         hook if we are being debugged.  This avoids hosing the debugger,
127827         because the hook is global, and is called in the context of the
127828         thread which installed it, and that thread is stopped when GDB has
127829         control.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
127831 2016-07-12  Alan Mackenzie  <acm@muc.de>
127833         Amend CC Mode to handle big C++ raw strings correctly.
127835         Problems were caused by such a string spanning jit-lock chunks, and by a flaw
127836         in the +-500 bytes boundaries imposed for macros.
127838         * lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
127839         macro boundaries here.
127840         (c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
127841         lower boundary.  Fix the check on the upper boundary.
127843         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
127844         point already being within a raw string.
127846         * lisp/progmodes/cc-engine.el (c-raw-string-pos)
127847         (c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
127848         Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
127849         with other Emacsen.
127851 2016-07-12  Stephen Berman  <stephen.berman@gmx.net>
127853         * lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.
127855 2016-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
127857         Cleanup tooltips
127859         * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
127860         * src/frame.h (struct frame): New bitfield to indicate tooltip frame.
127861         (FRAME_TOOLTIP_P): New macro.
127862         * src/frame.c (make_frame): Mark new frame as regular frame by default.
127863         (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
127864         (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
127865         and 'Qtooltip_parameters' instead.
127866         * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
127867         * src/gtkutil.c (xg_hide_tip): New function.
127868         (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
127869         * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
127870         * src/nsfns.m (toplevel): Remove 'tip_frame' leftover.
127871         * src/w32fns.c (unwind_create_tip_frame): Remove.
127872         (w32_display_monitor_attributes_list)
127873         (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
127874         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
127875         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
127876         as a tooltip frame and record it using appropriate display info.
127877         (x_hide_tooltip): Add frame arg.
127878         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
127879         base frame parameters, store tooltip hide timer among tooltip frame
127880         parameters.
127881         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
127882         (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
127883         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
127884         * src/w32term.c (w32_read_socket): Extract tooltip window id from
127885         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
127886         (x_new_font): Use FRAME_TOOLTIP_P.
127887         (x_free_frame_resources): Reset pointer to tooltip frame.
127888         * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
127889         * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
127890         Use FRAME_TOOLTIP_P.
127891         * src/xfns.c (x_make_monitor_attribute_list)
127892         (Fx_display_monitor_attributes_list): Likewise.
127893         (unwind_create_tip_frame): Remove.
127894         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
127895         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
127896         as a tooltip frame and record it using appropriate display info.
127897         (x_hide_tooltip): Add frame arg.
127898         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
127899         base frame parameters, store tooltip hide timer among tooltip frame
127900         parameters.  To hide GTK system tooltip, use timeout hooked into GTK
127901         event loop.
127902         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
127903         (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
127904         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
127905         * src/xterm.c (handle_one_xevent): Extract tooltip window id from
127906         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
127907         (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
127908         (x_free_frame_resources): Reset pointer to tooltip frame.
127909         * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
127910         (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.
127912 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
127914         * src/fns.c (syms_of_fns): Leave `features' lexically scoped
127916 2016-07-11  Mario Lang  <mlang@delysid.org>
127918         Test mapcan
127920         * test/src/fns-tests.el (fns-tests-mapcan): New test.
127922 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
127924         Prevent to apply funcall on t
127926         * lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of
127927         'ediff-after-quit-hook-internal' hook (Bug#23933).
127929 2016-07-11  Tino Calancha  <tino.calancha@gmail.com>
127931         Ignore angle mode while simplifying units
127933         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
127934         Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
127935         is non-nil (Bug#23889).
127936         * lisp/calc/calc-math.el (math-to-radians, math-from-radians)
127937         (math-from-radians-2, math-to-radians-2): Idem.
127939 2016-07-11  Eli Zaretskii  <eliz@gnu.org>
127941         Fix display of composed characters
127943         * src/xdisp.c (x_produce_glyphs): Fix off-by-one error in
127944         iteration through composition glyphs.  (Bug#23938)
127946 2016-07-11  Paul Eggert  <eggert@cs.ucla.edu>
127948         Fix composition bug caused by off-by-1 typo
127950         * src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when
127951         computing composition glyph (Bug#23938).
127953 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
127955         Dired always read file system
127957         * lisp/dired.el (dired-always-read-filesystem): Add new option.
127958         (dired-mark-files-containing-regexp): Use it (Bug#22694).
127959         * doc/emacs/dired.texi: Mention it in the manual.
127960         * test/lisp/dired-tests.el (dired-test-bug22694): Add test.
127961         ;* etc/NEWS: Add entry for this change.
127963 2016-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
127965         * src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.
127967 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
127969         Avoid 'unused var' 'not left unused var' warnings
127971         * lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'.
127972         Rename used var '_buffer' to 'cbuffer'.
127974         * lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark'
127975         to cmark'.
127977 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
127979         * lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings
127981 2016-07-10  Michael Albinus  <michael.albinus@gmx.de>
127983         Add a note how to use `tramp-own-remote-path'
127985         * doc/misc/tramp.texi (Inline methods, External methods)
127986         (Remote shell setup, Android shell setup)
127987         (Frequently Asked Questions, Frequently Asked Questions):
127988         Use @command and @samp consequently.
127989         (Remote programs): The remote shell must support the -l
127990         argument, in order to use `tramp-own-remote-path'.  (Bug#23914)
127992 2016-07-10  Alan Third  <alan@idiocy.org>
127994         Remove App Nap setting from Info.plist (bug#22993)
127996         * nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since
127997         it doesn't actually disable app nap.
127999 2016-07-09  Mario Lang  <mlang@delysid.org>
128001         An efficient built-in mapcan
128003         A built-in version of `mapcan' avoids consing up (and GC'ing) the
128004         intermediate list.
128006         * src/fns.c (Fmapcan): New built-in.
128007         (syms_of_fns): Define.
128009         * lisp/emacs-lisp/cl.el (mapcan): Remove defalias.
128011         * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
128012         if only one sequence is provided.
128014         * lisp/progmodes/hideif.el (hif-delimit):
128015         * lisp/dired-aux.el (dired-do-find-regexp):
128016         * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
128017         `cl-mapcan'.
128019         * lisp/woman.el (eval-when-compile): Require 'cl-lib only when
128020         compiling.
128022         * lisp/mouse.el (mouse-buffer-menu-map):
128023         * lisp/net/pop3.el (pop3-uidl-dele):
128024         * lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
128025         * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
128026         * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
128027         * lisp/gnus/nnmail.el (nnmail-split-it):
128028         * lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
128029         * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
128030         * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
128032 2016-07-09  Tino Calancha  <tino.calancha@gmail.com>
128034         Detect aliases to built-in functions
128036         * lisp/help-fns.el (describe-function-1): Check for aliases
128037         defined with (defalias alias (symbol-function built-in)) (Bug#23887).
128039         * test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
128040         failing this test.
128042 2016-07-09  Michael Albinus  <michael.albinus@gmx.de>
128044         Avoid recursive detection of remote uid and gid in tramp-gvfs.el
128046         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
128047         New variable.
128048         (tramp-gvfs-maybe-open-connection): Use it.
128050         * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
128051         Reorder test.
128053 2016-07-09  Jürgen Hötzel  <juergen@archlinux.org>
128055         Wrap around error in coreutil's ls
128057         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
128058         "--quoting-style=literal" if remote host supports quoting style.
128059         Recent versions of coreutils changed default quoting style to
128060         "--quoting=shell-escape".
128062 2016-07-09  Eli Zaretskii  <eliz@gnu.org>
128064         Minor tweaks of copying text properties when padding strings
128066         * src/editfns.c (styled_format): Don't include padding on the left
128067         in the properties at the beginning of the string.  (Bug#23897)
128069         * test/src/editfns-tests.el (format-properties): Add tests for
128070         faces when the string is padded on the left or on the right.
128072 2016-07-08  Mario Lang  <mlang@delysid.org>
128074         No need to require the same feature twice.
128076         * lisp/dired-aux.el (require 'cl-lib): Remove.
128078 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
128080         Turn on lexical binding
128082         * lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
128083         (secrets-search-items, secrets-create-item): Use append.
128084         (secrets-show-secrets): Remove unused binding.
128085         (secrets-expand-item, secrets-tree-widget-after-toggle-function):
128086         Ignore unused arguments.
128088 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
128090         Derive secrets-mode from special-mode
128092         * lisp/net/secrets.el: Remove top-level secrets-mode hack.
128093         (secrets-mode-map): New variable.  Add key bindings to n and p for
128094         navigating lines.
128095         (secrets-mode): Derive from special-mode.  Remove keymap code and
128096         initialization code.  Do not record undo information.  Make
128097         secrets-show-collections the local revert-buffer-function.
128098         (secrets-show-collections): Change signature to satisfy revert-buffer.
128100 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
128102         Add a couple cells to lisp-prettify-symbols-alist
128104         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
128105         "sqrt" and "not".
128107 2016-07-08  Michael Albinus  <michael.albinus@gmx.de>
128109         Detect remote uid and gid in tramp-gvfs.el
128111         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
128112         (tramp-gvfs-handler-mounted-unmounted)
128113         (tramp-gvfs-connection-mounted-p):
128114         Make "default-location" a connection property.
128115         (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
128116         (tramp-gvfs-maybe-open-connection): Use them.
128118 2016-07-08  Eli Zaretskii  <eliz@gnu.org>
128120         Yet another fix for copying properties by 'format'
128122         * src/textprop.c (extend_property_ranges): Accept an additional
128123         argument OLD_END, and only extend the end of a property range if
128124         its original end is at OLD_END; all the other ranges are left
128125         intact.  (Bug#23897)
128126         * src/editfns.c (styled_format): Pass the original length of the
128127         string to 'extend_property_ranges'.
128128         * src/intervals.h (extend_property_ranges): Adjust prototype.
128130         * test/src/editfns-tests.el (format-properties): Add tests for
128131         bug#23897.
128133 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
128135         Allow selecting region with mouse to move point to beginning
128137         * etc/NEWS: Mention new user option
128138         `mouse-select-region-move-to-beginning'.
128140         * doc/emacs/frames.texi (Mouse Commands): Add cross-reference
128141         to the following.
128142         (Word and Line Mouse): Describe how double-clicking mouse-1 to
128143         activate region and `mouse-select-region-move-to-beginning'
128144         affect point.
128146         * lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
128147         (mouse-set-point): Use it.  (Bug#23478)
128149 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
128151         Fix menu bar breakage
128153         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
128154         to prevent void variable errors, and fix typo (bug#23918).
128156 2016-07-08  Tino Calancha  <tino.calancha@gmail.com>
128158         Copy buffer names to kill ring
128160         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
128161         * lisp/ibuffer.el (ibuffer-mode-map): Bound it to 'B'.
128162         ;* etc/NEWS: Add entry for this new feature.
128164 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
128166         Remove just input mark
128168         * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
128169         just MARK.
128171 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
128173         Ibuffer change marks
128175         * lisp/ibuffer.el (ibuffer-change-marks): New command.
128176         (ibuffer-mode-map): Bind it to '* c'.
128177         (ibuffer-mode-groups-popup): Update menus.
128178         (ibuffer-mode): Update mode doc.
128180 2016-07-07  Alan Third  <alan@idiocy.org>
128182         Prevent NS event loop being re-entered (bug#11049)
128184         * src/nsterm.m (ns_read_socket, ns_select): Return -1 if already
128185         in event loop instead of aborting.
128187 2016-07-07  Alan Third  <alan@idiocy.org>
128189         Fix some deprecated functions
128191         * src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
128192         convertBaseToScreen with convertRectToScreen.
128193         * src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
128194         OS X 10.2, and always seems to return nil.
128196 2016-07-07  Aaron Jensen  <aaronjensen@gmail.com>  (tiny change)
128198         Disable App Nap (bug#22993)
128200         * nextstep/templates/Info.plist.in: Insert AppNap disable code.
128202 2016-07-07  Michael Albinus  <michael.albinus@gmx.de>
128204         Fix an error in Tramp for rsync
128206         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
128207         Make it work for "rsync".
128208         (tramp-make-copy-program-file-name): Apply `directory-file-name'.
128210 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
128212         Ibuffer: Mark locked buffers
128214         * lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun.
128215         (ibuffer-mark-by-locked): New command.
128216         (ibuffer-mode-map): Bind it to '% L'; update menus.
128217         (ibuffer-mode): Update mode doc.
128218         ;* etc/NEWS: Add NEWS entry for these changes and previous two commits.
128220 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
128222         * lisp/ibuffer.el: Add face for locked buffers
128224         * lisp/ibuffer.el: Add mark for locked buffers
128226         ;* etc/NEWS (Ibuffer): Update entry according with last commit
128228 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
128230         Remove duplicate binding
128232         * lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp'
128233         just bound to '% g'.
128234         As suggested in:
128235         https://lists.gnu.org/r/emacs-devel/2016-07/msg00165.html
128237 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
128239         Ibuffer: Drop needless binding
128241         * lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only'
128242         already bound to 't' inside 'ibuffer-set-mark'.
128244 2016-07-07  Phillip Lord  <phillip.lord@russet.org.uk>
128246         Run tests from non-byte compiled files
128248         * test/Makefile.in: Eval non-byte-compiled files for tests.
128250 2016-07-06  Mark Oteiza  <mvoteiza@udel.edu>
128252         Replace eldoc-documentation-function with a hook
128254         * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
128255         (eldoc-documentation-function): Make into obsolete alias.
128256         (eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
128257         (eldoc-argument-case, global-eldoc-mode): Update docstrings.
128258         (eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
128259         on eldoc-documentation-functions.
128260         (eldoc-supported-p): New function.
128261         (eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
128262         * etc/NEWS: Mention eldoc-documentation-functions.
128263         * doc/lispref/modes.texi: Update reference.
128265 2016-07-06  Simen Heggestøyl  <simenheg@gmail.com>
128267         Complete "initial" and "unset" in CSS mode
128269         * lisp/textmodes/css-mode.el (css--complete-property-value): Make
128270         "initial" and "unset" completion candidates for all CSS properties,
128271         just like "inherit".
128273         * test/lisp/textmodes/css-mode-tests.el
128274         (css-test-complete-property-value): Update test to reflect the above
128275         change.
128277 2016-07-06  Michael Albinus  <michael.albinus@gmx.de>
128279         * lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.
128281 2016-07-06  Paul Eggert  <eggert@cs.ucla.edu>
128283         Simplify rfc1345.el a bit
128285         * lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII
128286         that would no longer parse.  Replace control characters with
128287         escapes in character constants.  Omit unnecessary \ after ?.
128288         This does not change behavior.
128290 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
128292         Prefer 'frame-parameter' where it is expected to be a bit faster
128294         * lisp/international/mule-diag.el (mule-diag):
128295         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu):
128296         * lisp/mouse.el (mouse-drag-line, font-menu-add-default):
128297         * lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar):
128298         * lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'.
128300 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
128302         Reduce consing caused by vertical motion commands
128304         * src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the
128305         parameters frequently requested by calls to 'next-line' and 'previous-line'.
128307 2016-07-05  Michael Albinus  <michael.albinus@gmx.de>
128309         Make all Tramp tests pass for "gdrive" method
128311         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
128312         * lisp/net/tramp-compat.el (tramp-compat-copy-directory)
128313         (tramp-compat-delete-directory):
128314         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
128315         Use `directory-files-no-dot-files-regexp'.
128317         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
128318         (tramp-gvfs-send-command): Call `tramp-flush-file-property' in
128319         case of problems.
128321         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
128322         Adapt docstring.
128323         (tramp-test14-delete-directory): Make further tests.
128325 2016-07-05  Eli Zaretskii  <eliz@gnu.org>
128327         Fix redisplay with window-start on continuation lines
128329         * src/xdisp.c (pos_visible_p): Return false if the window starts
128330         after CHARPOS.
128331         (compute_window_start_on_continuation_line): Don't return
128332         window-start position that is after point in the buffer, as the
128333         callers don't expect this to happen, and will generally display an
128334         empty window with the cursor in its middle.  (Bug#23871)
128336 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
128338         Add :expected-result :failed for unfixed bug test
128340         * test/lisp/help-fns-tests.el (help-fns-test-bug23887):
128342 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
128344         * test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.
128346 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
128348         Don’t create unnecessary marker in ‘delete-trailing-whitespace’
128350         * lisp/simple.el (delete-trailing-whitespace): If END argument is nil,
128351         there is no need for the end-marker to be created.
128353 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
128355         Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace
128357         * lisp/simple.el (delete-trailing-whitespace): Set newline’s character
128358         syntax to non-whitespace so that ‘\s-’ regular expression does not match
128359         it.
128361         This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
128362         as a consequence ‘line-beginning-position’ function does not need to be
128363         called any longer.
128365         Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
128366         expression ends up matching empty lins since ‘\s-’ matches newline
128367         characetr of proceeding line.  This leads to needless loop iterations.
128369         Since previous change to ‘delete-trailing-whitespace’ already introduced
128370         ‘with-syntax-table’, take advantage of it and also overwrite newline’s
128371         character syntax.
128373 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
128375         Make ‘delete-trailing-whitespace’ delete spaces after form feed
128377         * lisp/simple.el (delete-trailing-whitespace): Treat form fead as
128378         a non-whitespace character (regradless of whether it’s character syntax
128379         is whitespace) and delete any whitespace following it instead of leaving
128380         lines with form feeds completely unchanged.  I.e. a line like "\f " will
128381         now became "\f".
128383 2016-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
128385         Cleanup XEditRes hack
128387         * configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if
128388         _XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be
128389         linked with -lXmu.  This should work with any non-ancient Xmu library.
128390         * src/xfns.c (toplevel): Remove old cruft.
128391         (x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES.
128392         * src/xterm.c (toplevel): Remove old cruft.
128393         (handle_one_xevent): Use X_TOOLKIT_EDITRES.
128394         * src/xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES.
128396 2016-07-04  Michael Albinus  <michael.albinus@gmx.de>
128398         Add Google Drive support to Tramp
128400         * doc/misc/tramp.texi: Add `gdrive' method.
128402         * doc/misc/trampver.texi:
128403         * lisp/net/trampver.el: Change version to "2.3.1-pre".
128405         * etc/NEWS: Add Tramp connection method "gdrive".
128407         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
128408         (tramp-default-user-alist, tramp-default-host-alist): Add rule
128409         for "gdrive".
128410         (tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
128411         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
128412         (tramp-gvfs-get-directory-attributes): Improve loop.  Use
128413         "standard::display-name" as file name, if available.
128414         (tramp-gvfs-handle-file-name-all-completions): Simplify.
128415         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
128416         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
128417         Map between "gdrive" and "google-drive".
128419         * lisp/net/tramp.el (tramp-call-process): Do not signal error.
128421         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
128422         Do not enable `tramp-message-show-message'.
128423         (tramp-test13-make-directory, tramp-test14-delete-directory):
128424         Do not specify error type.
128426 2016-07-04  Tino Calancha  <tino.calancha@gmail.com>
128428         Calc: Update mode line after change mode
128430         * lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.
128432 2016-07-03  Mark Oteiza  <mvoteiza@udel.edu>
128434         * lisp/simple.el (save-mark-and-excursion): Add declare forms.
128436 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
128438         Re-fix open-network-stream responsiveness
128440         Problem reported by Christer Ekholm (Bug#23864).
128441         * src/process.c (wait_reading_process_output): Further fix for
128442         typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when
128443         wait == INFINITY and got_output_end_time is invalid.  See:
128444         https://bugs.gnu.org/23864#20
128446 2016-07-03  Alan Mackenzie  <acm@muc.de>
128448         Remove redundant forms from CC Mode for faster fontification
128450         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of
128451         the "main" cond form in the function, which have been redundant since the
128452         extraction of c-font-lock-cut-off-declarators from the function on
128453         2016-06-15/16.
128455 2016-07-03  Alan Mackenzie  <acm@muc.de>
128457         Speed up CC Mode fontification with less accurate functions extending region
128459         * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators)
128460         (c-font-lock-enclosing-decls)
128461         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of
128462         c-beginning-of-decl-1 with less accurate invocations of
128463         c-syntactic-skip-backwards to speed up fontification.
128465 2016-07-03  Tino Calancha  <tino.calancha@gmail.com>
128467         Ibuffer: unmark all buffers without confirmation
128469         * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
128470         (ibuffer-mouse-popup-menu): Use it.
128471         (ibuffer-mode): Update mode doc.
128472         (ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
128473         Rebind 'ibuffer-do-replace-regexp' to 'r'.
128475 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
128477         Fix open-network-stream responsiveness
128479         Problem reported by Constantin Kulikov (Bug#23684).
128480         * src/process.c (wait_reading_process_output):
128481         Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
128482         when wait == INFINITY and got_output_end_time is invalid.
128483         In this case the code should break, not continue.
128485 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
128487         Ibuffer: Mark buffers by content
128489         * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command.
128490         (ibuffer-never-search-content-name): New option.
128491         (ibuffer-never-search-content-mode): Idem.
128492         (ibuffer-mark-by-content-regexp): Use them (Bug#23734).
128494         * lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'.
128495         (ibuffer-mode): Update mode documentation.
128497 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
128499         ibuffer-copy-filename-as-kill verbosity increase
128501         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill):
128502         Use shorter name, result, for a local bound var.
128503         Show the string result in the echo area.
128505 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
128507         Fix cursor positioning on TTY frames after stretch glyph
128509         * src/term.c (append_glyph, append_composite_glyph)
128510         (append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p
128511         members of the produced 'struct glyph'.  Fixes cursor positioning
128512         on the first character after a stretch glyph produced from
128513         line-prefix, wrap-prefix, etc. on TTY frames.
128515 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
128517         Fix vertical-movement in buffers with wrap-prefix
128519         * src/indent.c (Fvertical_motion): Zero the current_y coordinate
128520         whenever we zero the vpos vertical position of the iterator.
128521         * src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and
128522         wrap-prefix regardless of whether the current Y coordinate is
128523         inside the window dimensions.  (Bug#23879)
128525 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
128527         Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL
128529         * src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
128530         FACE_OPT_FROM_ID; all callers changed.
128531         * src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
128532         FACE_FROM_ID_OR_NULL, as the resulting face is immediately
128533         dereferenced.
128534         (fill_gstring_glyph_string): Call FACE_FROM_ID, not
128535         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
128536         when the glyph string is drawn.
128537         (BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
128538         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
128539         in fill_composite_glyph_string.
128540         (calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
128541         FACE_FROM_ID, since the function and its caller can cope with that
128542         situation.  Conflate 3 tests of missing face or font into just
128543         one.
128544         * src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
128545         FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
128546         functions can cope with that situation.
128547         (lookup_derived_face): Don't call FACE_FROM_ID if the result will
128548         not be used.
128549         * src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.
128551 2016-07-01  Mark Oteiza  <mvoteiza@udel.edu>
128553         * lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.
128555 2016-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
128557         * lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace
128559         i.e. rename from auto-source--symbol-keyword.
128561 2016-07-01  Dmitry Antipov  <dmantipov@yandex.ru>
128563         Avoid yet another possible NULL pointer dereference found by GCC 6.1.1
128565         * lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
128566         get_widget_info.
128568 2016-06-30  Alan Mackenzie  <acm@muc.de>
128570         CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote
128572         This applies to applying or removing syntax-table text properties in raw
128573         strings which affect the stringiness of a piece of text.  This fixes the
128574         bug
128575         reported in
128576         https://lists.gnu.org/r/emacs-devel/2016-06/msg00695.html.
128578         * lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new
128579         defsubst.
128580         (c-invalidate-state-cache-1): Call new function in place of inline
128581         manipulation.
128582         (c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the
128583         semi-nonlit cache when pertinent syntax-table text properties get applied to
128584         the text.
128586 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
128588         Minor tweaks to openp
128590         * src/lread.c (openp): Move invariant code out of the loop
128591         and thus avoid redundant calls to memcpy.  Adjust comments.
128593 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
128595         Simplify handling of frame parameters
128597         * src/frame.c (x_set_frame_parameters): Avoid extra loop processing
128598         foreground color, background color and font parameters.  Adjust
128599         comments.
128601 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
128603         Cleanup around mature character manipulation functions
128605         * lisp/international/mule-diag.el (decode-codepage-char): Remove.
128607         * lisp/ldefs-boot.el (toplevel): Adjust accordingly.
128609         * lisp/subr.el (toplevel): Do not advertise calling conventions
128610         for 'decode-char' and 'encode-char'.
128612         * src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.
128614 2016-06-29  Alan Mackenzie  <acm@muc.de>
128616         Fix C-M-a in a C function finding the start of a macro preceding it.
128618         Also amend some pertinent documentation.  This fixes bug #23818.
128620         * lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a
128621         virtual semicolon at a place where we check for other types of statement ends.
128623         * lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the
128624         doc string the bit saying that the variable is a prototype and liable to
128625         change.
128627         * doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring
128628         macros with semicolon can prevent C-M-a missing the beginning of defun.
128630 2016-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
128632         Avoid possible NULL pointer dereference found by GCC 6.1.1
128634         * src/xfns.c (x_get_monitor_attributes_xrandr): Always check
128635         the value returned by XRRGetOutputInfo.
128637 2016-06-28  Tino Calancha  <tino.calancha@gmail.com>
128639         Dired recognize dirs when file size in human units
128641         * lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size'
128642         to match when Dired displays the allocated file size column
128643         in human readable units (Bug#22255).
128645 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
128647         Fix breakage from previous change
128649         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
128650         * lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face.
128652 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
128654         Fix breakage from previous change.
128656         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face.
128658 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
128660         Add tests for copying properties by 'format'
128662         * test/src/editfns-tests.el (format-properties): New test.
128664 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
128666         Fix copying properties in 'format' when it produces padding
128668         * src/textprop.c (extend_property_ranges): Correct range extension
128669         when the new end is beyond the old end.  (Bug#23859)
128671 2016-06-27  Alan Third  <alan@idiocy.org>
128673         Enable dividers in NS (bug#22973)
128675         src/nsfns.m: Add color settings functions to ns_frame_park_handlers.
128676         src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the
128677         attempt to set the color.
128678         src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as
128679         above, although I didn't see any errors.
128681 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
128683         Fix the prefix action of shr-copy-url
128685         * lisp/net/shr.el (shr-copy-url): Make the command really copy
128686         the image url if given a prefix.
128688 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
128690         New functions svg-text and svg-remove
128692         * doc/lispref/display.texi (SVG Images): Document svg-remove.
128694         * doc/lispref/display.texi (SVG Images): Document svg-text.
128696         * lisp/svg.el (svg-remove): New function.
128697         (svg-text): New function.
128699 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
128701         Add new function dom-remove-node
128703         * doc/lispref/text.texi (Document Object Model): Document
128704         dom-remove-node.
128706         * lisp/dom.el (dom-remove-node): New function.
128708 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
128710         Add a new function `svg-embed'
128712         * doc/lispref/display.texi (SVG Images): Document `svg-embed'.
128714         * lisp/svg.el (svg-embed): New function.
128715         (svg--image-data): Ditto.
128717 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
128719         * lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors.
128721 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
128723         Fix 'move-to-window-line' when EOB is on last screen line
128725         * src/window.c (displayed_window_lines): Fix an off-by-one error
128726         when the bottom of the last display line is exactly at window's
128727         last pixel.  Remove kludgey fix for TTY frames that is no longer
128728         needed.  (Bug#15760)
128729         (Fmove_to_window_line): Doc fix.
128731         * doc/lispref/positions.texi (Screen Lines): Clarify and make more
128732         accurate the documentation of 'move-to-window-line'.
128734 2016-06-27  Alan Mackenzie  <acm@muc.de>
128736         Amend a cache so that typing into C++ raw strings has no undue delay.
128738         Also amend the code so that low-level searches to the end of literals are done
128739         only when these positions get used.
128741         * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new
128742         c-literal-start instead of c-literal-limit.
128743         (c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that
128744         it stores details of the literal at a point, rather than merely points outside
128745         of literals.
128746         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
128747         (c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos)
128748         (c-parse-ps-state-below, c-literal-start): New functions.
128749         (c-state-semi-safe-place): Removed.
128750         (c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end.
128751         (c-literal-limits, c-determine-limit-get-base): consequential amendments.
128752         (c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos)
128753         (c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals.
128755         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans
128756         to end of literals.
128758         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of
128759         literals.
128761         * lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun)
128762         (c-defun-name, c-declaration-limits): Avoid needless scans to end of literals.
128764 2016-06-26  Dmitry Gutov  <dgutov@yandex.ru>
128766         Also handle escaping when string begins with a quote
128768         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
128769         Handle quoting of the first character in the string.
128771         * test/lisp/progmodes/ruby-mode-tests.el
128772         (ruby-toggle-string-quotes-quotes-correctly): Update.
128774 2016-06-26  Sriram Thaiyar  <sriram.thaiyar@gmail.com>  (tiny change)
128776         Fix quote escaping in ruby-toggle-string-quotes
128778         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
128779         Change logic to quote based on the current quote of the string.
128781         * test/lisp/progmodes/ruby-mode-tests.el
128782         (ruby-toggle-string-quotes-quotes-correctly): Add test.
128784 2016-06-26  Noam Postavsky  <npostavs@gmail.com>
128786         Fix test-completion with completion-regexp-list
128788         * src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil
128789         completion-regexp-list (Bug #23533).
128791 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
128793         Try other addresses when connecting to multihomed
128795         Problem reported by Juliusz Chroboczek (Bug#17976)
128796         and by Artur Malabarba (Bug#23620).
128797         Patch from a suggestion by Andreas Schwab in:
128798         https://bugs.gnu.org/17976#39
128799         This patch is for non-MS-Windows platforms.
128800         I don't know the situation on MS-Windows.
128801         * src/process.c (connecting_status):
128802         New function, for (connect . ADDRINFOS).
128803         (connect_network_socket, check_for_dns, wait_for_socket_fds)
128804         (wait_while_connecting, wait_reading_process_output, status_notify):
128805         Use it.
128806         (decode_status, Fmake_network_process):
128807         Support (connect . ADDRINFOS) status.
128808         (connect_network_socket) [!WINDOWSNT]:
128809         If the connection failed and there are other addresses to try, do not
128810         signal an error; instead, loop around to try the next address.
128811         (wait_reading_process_output): Advance to the next address
128812         if there are multiple addresses and the first remaining address
128813         failed.
128814         * src/process.h (struct Lisp_Process.status): Adjust comment
128815         to describe (connect . ADDRINFOS).
128817 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
128819         Fix GNUC_PREREQ for GCC 2.8.1 etc.
128821         Problem reported by Eli Zaretskii in:
128822         https://lists.gnu.org/r/emacs-devel/2016-06/msg00608.html
128823         * src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC
128824         2.8.1 (1998), which come before GCC 3.0 and which have nonzero
128825         patchlevel numbers.
128827 2016-06-26  Eli Zaretskii  <eliz@gnu.org>
128829         Don't set 'bidi-paragraph-direction' in 'ansi-term'
128831         * lisp/term.el (ansi-term): Remove unnecessary setting of
128832         'bidi-paragraph-direction'.  The underlying problem is solved in
128833         bidi.c by changing the regexps that define the paragraph beginning
128834         and end.  (Bug#20611)
128836 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
128838         Sync with Tramp 2.3.0
128840         * doc/misc/trampver.texi:
128841         * lisp/net/trampver.el: Change version to "2.3.0".
128843 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
128845         Fix GNUC_PREREQ off-by-1 typo
128847         Problem reported by Martin Rudalics in:
128848         https://lists.gnu.org/r/emacs-devel/2016-06/msg00587.html
128849         * src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]:
128850         Fix < vs <= typo.
128852 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
128854         Fix some oddities in Tramp's rsync and smb methods
128856         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-p" and
128857         "-s" arguments.
128858         (tramp-do-copy-or-rename-file-out-of-band):
128859         Call `file-name-directory' also for remote NEWNAME.
128861         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
128862         Do not skip for tramp-smb.el.  Test also COPY-CONTENTS case.
128863         (tramp-test24-file-name-completion): Improve check for
128864         hostname completion.
128865         (tramp--test-rsync-p): New defun.
128866         (tramp-test31-special-characters)
128867         (tramp-test31-special-characters-with-stat)
128868         (tramp-test31-special-characters-with-perl)
128869         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
128870         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
128871         (tramp-test32-utf8-with-ls): Skip for "rsync".
128873         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
128874         Check also for CIFS capabilities.
128876 2016-06-26  Ury Marshak  <ury.marshak@gmail.com>  (tiny change)
128878         Fix FRAME_INTERNAL_BORDER_WIDTH use (Bug#23841)
128880         * src/nsfns.m (x_set_internal_border_width): Replace assignments to
128881         FRAME_INTERNAL_BORDER_WIDTH.
128883 2016-06-25  Leo Liu  <sdl.web@gmail.com>
128885         Deprecations (bug#23850)
128887         * lisp/subr.el (string-to-unibyte, string-as-unibyte,
128888         string-to-multibyte, string-as-multibyte): Make obsolete.
128890 2016-06-25  Tino Calancha  <tino.calancha@gmail.com>
128892         Do not prompt twice to save a buffer
128894         * lisp/hilit-chg.el (highlight-markup-buffers): (Bug#23824).
128896 2016-06-25  Alan Third  <alan@idiocy.org>
128898         Move text line right when in box (bug#23755)
128900         * src/nsterm.m (ns_draw_glyph_string_foreground): Create to take
128901         CHAR_GLYPH specific code and move glyphs right if within a box.
128902         (ns_draw_glyph_string): Move CHAR_GLYPH specific code into above
128903         function.
128905 2016-06-25  Paul Eggert  <eggert@cs.ucla.edu>
128907         Merge from origin/emacs-25
128909         0377fe2 ; Spelling fixes
128910         f253695 Update docs for `customize-mode'
128911         4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
128912         ab0ebb9 ; Only load .elc file in tests.
128913         a98aa02 Error on multibyte characters in HTTP request
128914         ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
128915         8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
128916         dc5e65b Unset GIT_DIR when calling Git commands
128917         6cdd8f7 Ensure undo-boundary after insert-file-contents.
128918         4793f5f Clarify documentation of 'line-spacing' and 'line-height'
128919         5f37572 Fix removal of variables from process-environment
128920         e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
128921         db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...
128923         # Conflicts:
128924         #       doc/lispref/modes.texi
128925         #       lisp/gnus/mm-decode.el
128927 2016-06-25  Mark Oteiza  <mvoteiza@udel.edu>
128929         Teach net-utils more iproute2 and nl80211 tools
128931         * lisp/net/net-utils.el (iwconfig-program): Add iw(8).
128932         (iwconfig-program-options): Add "dev" argument for iw.  Another useful
128933         option is "phy"; beyond that one needs to know the interface name.
128934         (netstat-program): Add ss(8).
128935         (route-program): Add ip(8).
128936         (route-program-options): Add "route" argument for ip.
128938 2016-06-24  Leo Liu  <sdl.web@gmail.com>
128940         Use use-region-p in prolog.el
128942         * lisp/progmodes/prolog.el (region-exists-p): Remove.
128943         * lisp/progmodes/prolog.el (prolog-edit-menu-runtime,
128944         prolog-edit-menu-insert-move): Use use-region-p.
128946 2016-06-24  Leo Liu  <sdl.web@gmail.com>
128948         Remove compatibility with Emacs 24.3 in octave-mode
128950         * lisp/progmodes/octave.el: Clean up and remove compatibility with
128951         Emacs 24.3.
128953 2016-06-24  Alan Mackenzie  <acm@muc.de>
128955         Ensure hack-local-variables is run in a fundamental mode buffer.
128957         This fixes bug #23827.
128959         * src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
128960         gets set to that mode, so that `run-mode-hooks', and thus
128961         `hack-local-variables' get run.
128963 2016-06-24  Tino Calancha  <tino.calancha@gmail.com>
128965         Fix caller to ediff-setup
128967         * lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820.
128969 2016-06-24  Alan Mackenzie  <acm@muc.de>
128971         Implement ' separators in C++ integer literals.
128973         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert
128974         c-before-after-change-digit-quote into the C++ value.
128975         (c-before-font-lock-functions): Insert c-depropertize-new-text into the values
128976         for all languages.  Insert c-before-after-change-digit-quote into the C++
128977         value.
128979         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in
128980         c-save-buffer-state.
128981         (c-depropertize-new-text, c-before-after-change-digit-quote): New functions.
128983 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
128985         Update from gnulib
128987         This incorporates:
128988         2016-06-24 intprops: port better to GCC 7
128989         2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
128990         * doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
128991         Copy from gnulib.
128993 2016-06-24  Martin Rudalics  <rudalics@gmx.at>
128995         Remove two uses of 'min' in Fwindow_text_pixel_size
128997         * src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
128998         it calls move_it_to twice.  Suggested by Eli Zaretskii.
129000 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
129002         Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID
129004         * src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
129005         since it is intended to be used only when it returns a non-null
129006         pointer, and here the pointer might be null.
129007         (IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.
129009 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
129011         Remove some more face aliases obsoleted in 22.1
129013         * lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
129014         eshell-ls-executable-face, eshell-ls-readonly-face,
129015         eshell-ls-unreadable-face, eshell-ls-special-face,
129016         eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
129017         eshell-ls-product-face, eshell-ls-clutter-face): Remove.
129018         * lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
129019         (isearch-lazy-highlight-update): Use face symbol.
129020         * lisp/net/sieve-mode.el (sieve-control-commands-face,
129021         sieve-action-commands-face, sieve-test-commands-face,
129022         sieve-tagged-arguments-face): Remove.
129023         (sieve-font-lock-keywords): Use non-obsolete faces.
129024         * lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
129025         (sh-get-indent-info, sh-prev-line): Use face symbol.
129026         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
129027         Use non-obsolete face.
129028         (tex-math-face, tex-verbatim-face): Remove.
129029         (tex-font-lock-syntactic-face-function): Use face symbols.
129031 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
129033         Remove some face aliases obsoleted in 22.1
129035         * lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id):
129036         * lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
129037         * lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face,
129038         Info-title-4-face, info-menu-5):
129039         * lisp/obsolete/old-whitespace.el (whitespace-highlight-face):
129040         * lisp/paren.el (show-paren-match-face, show-paren-mismatch-face):
129041         * lisp/progmodes/make-mode.el (makefile-space-face):
129042         * lisp/textmodes/texinfo.el (texinfo-heading-face): Remove.
129043         (texinfo-font-lock-keywords): Use texinfo-heading face.
129044         * lisp/vc/add-log.el (change-log-date-face, change-log-name-face,
129045         change-log-email-face, change-log-file-face, change-log-list-face,
129046         change-log-conditionals-face, change-log-function-face,
129047         change-log-acknowledgement-face):
129048         * lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face,
129049         diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face,
129050         diff-changed-face, diff-function-face, diff-context-face,
129051         diff-nonexistent-face): Remove.
129052         (diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face
129053         symbols.
129054         (diff-hunk-file-names): Fix comment.
129055         (diff-refine-change): Remove.
129056         (diff-refine-removed, diff-refine-added, diff-refine-hunk): Use
129057         non-obsolete face.
129058         * lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove.
129059         (log-view-font-lock-keywords): Use non-obsolete face names.
129060         * lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face,
129061         cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face):
129062         * lisp/wid-edit.el (widget-documentation-face, widget-button-face,
129063         widget-field-face, widget-single-line-field-face, widget-inactive-face,
129064         widget-button-pressed-face):
129065         * lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face,
129066         woman-addition-face): Remove.
129068 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
129070         * lisp/international/characters.el (standard-case-table): Improve last change.
129072 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
129074         Improve results of 'upcase' for characters with title-case
129076         * lisp/international/characters.el (standard-case-table): Swap the
129077         order of some lines, to have 'upcase' return the upper-case
129078         variant, not the title-case, for some characters whose lower-case
129079         map to the same codepoints.  (Bug#23833)
129081 2016-06-23  Alan Mackenzie  <acm@muc.de>
129083         Make typing into incomplete C++ raw strings work, and make it work fast enough
129085         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal):
129086         Put `save-match-data' around calls to `looking-at' to enable the use of the
129087         match data in higher level functions.
129089         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations)
129090         (c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a
129091         limit to speed up handling of C++ raw strings.
129093 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
129095         Fix handling of LWINDOW key on MS-Windows
129097         * src/w32fns.c (funhook): Correct a typo which broke handling of
129098         the LWINDOW key.  (Bug#23830)
129100 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
129102         Update Unicode data files from Unicode 9.0.0
129104         * admin/unidata/copyright.html:
129105         * admin/unidata/BidiBrackets.txt:
129106         * admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just
129107         released.
129109 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
129111         Fix test for whether the '.el' file is newer than '.elc'
129113         * src/lread.c (Fload): Don't overwrite the last character of the
129114         file name in FOUND with 'c', unless the file name ended in ".elc"
129115         to begin with.  Don't treat empty files as byte-compiled.  See
129116         https://lists.gnu.org/r/emacs-devel/2016-06/msg00463.html
129117         for more details of the problem this caused.
129119 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
129121         Fix 'insert-file-contents' when REPLACE is non-nil
129123         * src/fileio.c (maybe_move_gap): New function to move the gap to
129124         the end of a buffer, if it isn't there already.
129125         (Finsert_file_contents): Call 'maybe_move_gap' before using
129126         conversion_buffer's text as a C 'char' array.  (Bug#23659)
129127         * src/coding.c (decode_eol): Compute the byte increment before
129128         calling del_range_2, because the latter can invalidate the pointer
129129         to buffer text.
129131 2016-06-22  Ken Brown  <kbrown@cornell.edu>
129133         Avoid compiler warning
129135         * src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.
129137 2016-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
129139         * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region.
129141 2016-06-22  Ken Brown  <kbrown@cornell.edu>
129143         Fix last change to FRAME_INTERNAL_BORDER_WIDTH
129145         * src/w32fns.c (x_set_internal_border_width): Don’t use
129146         FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
129147         lvalue.
129149 2016-06-21  Paul Eggert  <eggert@cs.ucla.edu>
129151         Improve --without-x GCC pacification
129153         * src/composite.c (autocmp_chars):
129154         * src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
129155         Use simpler ((void) 0) for no-op expression returning void.
129156         * src/dispextern.h [HAVE_WINDOW_SYSTEM]:
129157         Include fontset.h, for face_for_char.
129158         (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
129159         Now inline functions instead of macros.  This avoids the need for
129160         all those casts to void.
129161         (FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
129162         All uses changed.
129163         * src/frame.c (Ficonify_frame, Fset_frame_position):
129164         * src/xdisp.c (Fmove_point_visually, show_mouse_face):
129165         * src/xdisp.c (note_mode_line_or_margin_highlight)
129166         (note_mouse_highlight):
129167         Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
129168         now work either way without generating warnings.
129169         * src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
129170         (window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
129171         (decode_window_system_frame): Use check_window_system instead of
129172         rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
129173         (decode_window_system_frame, check_window_system):
129174         Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
129175         * src/frame.c (Ficonify_frame, Fset_frame_position):
129176         * src/xdisp.c (show_mouse_face, define_frame_cursor1)
129177         (note_mouse_highlight):
129178         Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
129179         this is a better way to pacify GCC.
129180         * src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
129181         (x_set_right_divider_width, x_set_bottom_divider_width):
129182         * src/xfns.c (x_set_internal_border_width):
129183         Don’t use what are now function calls as lvalues.
129184         * src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
129185         (decode_window_system_frame, check_window_system):
129186         Use it, to avoid the need for duplicate declarations.
129187         (window_system_available): Now an inline function.
129188         (display_available): New decl.
129189         (frame_dimension): New inline function.
129190         (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
129191         (FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
129192         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
129193         (FRAME_BOTTOM_DIVIDER_WIDTH):
129194         Use it, to avoid the need for duplicate definitions.
129195         Now inline functions instead of macros.
129196         * src/gnutls.c (gnutls_log_function2i): Remove.
129197         * src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
129198         This avoids complaints about gnutls_log_function2i being defined
129199         and not used on older platforms that do not need to call GNUTLS_LOG2i.
129200         * src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
129201         * src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
129202         expr’ to ‘type id; id = expr’, as this would suppress valid
129203         jump-misses-init diagnostics.  Let’s find a better way to address
129204         the problem.
129205         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
129206         Define only if needed.
129207         * src/xdisp.c (handle_single_display_spec):
129208         Simplify fringe_bitmap computation.
129209         (define_frame_cursor1): Do nothing unless in a window system.
129210         All callers changed and simplified.
129211         * src/xfaces.c (realize_default_face):
129212         Use a simpler way to pacify GCC when a return value is not used
129213         on some platforms.
129215 2016-06-21  Phillip Lord  <phillip.lord@russet.org.uk>
129217         Ensure undo-boundary after all commands
129219         * lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
129220           every command whether it (apparently) changes the buffer or not.
129222         See Bug#23785 for discussion.
129224 2016-06-21  Eli Zaretskii  <eliz@gnu.org>
129226         Fix vertical layout calculations when newline has line-height property
129228         * src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
129229         'constrain_row_ascent_descent_p' flag after processing the
129230         newline, similar to what 'display_line' does.  Without this, the
129231         flag remains set once set by x_produce_glyphs, and causes the
129232         vertical layout calculations to go awry, because Emacs thinks the
129233         screen lines have zero height.  (Bug#23850)
129235 2016-06-20  Ken Brown  <kbrown@cornell.edu>
129237         Fix compiler warnings in Cygwin-w32 build
129239         * src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
129240         loop to avoid compiler warnings about empty body of 'if'
129241         statement.
129243         * src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
129244         macro.
129245         (x_create_bitmap_from_data): Declare 'frame'.
129246         (x_create_bitmap_from_file): Don't declare unused variable
129247         'dpyinfo'.
129249         * src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
129250         prevent "jump-misses-init" compiler warnings.
129252         * src/w32fns.c (check_w32_winkey_state): Define and use only if
129253         WINDOWSNT.
129254         (Fx_show_tip): Declare 'f'.
129255         (Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
129256         (w32_strerror): Use format specifier %d for sprintf argument of
129257         type int.
129258         (emacs_abort): Cast sprintf argument of type DWORD to unsigned
129259         int, and use format specifier %x, for compatibility with Cygwin.
129260         (unicode_append_menu) [NTGUI_UNICODE]:
129261         * src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
129262         (set_menu_item_info, unicode_append_menu)
129263         (unicode_message_box):
129264         * src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
129265         functions rather than macros to avoid "address will always
129266         evaluate as true" compiler warnings.
129268         * src/w32font.c (w32_to_x_charset): Use format specifier %d for
129269         sprintf argument of type int.
129271         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
129272         sprintf argument of type int to unsigned int to match %X format
129273         specifier.
129274         (w32_scroll_bar_handle_click):
129275         (w32_horizontal_scroll_bar_handle_click): Declare 'f'.
129277         * src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
129278         argument.
129280 2016-06-20  Ken Brown  <kbrown@cornell.edu>
129282         Fix compiler warnings in no-window-system-build
129284         * src/composite.c (autocmp_chars): Declare and set 'f' only if
129285         HAVE_WINDOW_SYSTEM.
129287         * src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
129288         (FACE_FOR_CHAR): Explicitly discard unused arguments.
129290         * src/font.c (font_open_entity): Declare 'min_width' where it is
129291         first set, and only if HAVE_WINDOW_SYSTEM.
129293         * src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
129294         Define _Noreturn version to avoid "suggest attribute noreturn"
129295         compiler warning.
129296         (check_window_system): Declare as _Noreturn.
129297         (Ficonify_frame):
129298         (Fset_frame_position): Don’t declare and set 'f'.
129300         * src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
129301         (check_window_system):  Add _Noreturn prototypes.
129302         (FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
129303         (FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
129304         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
129305         (FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.
129307         * src/xdisp.c (handle_single_display_spec): Declare
129308         'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
129309         (append_space_for_newline): Declare 'g' where it is first set.
129310         (Fmove_point_visually): Declare and set 'target_is_eol_p' only if
129311         HAVE_WINDOW_SYSTEM.
129312         (show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
129313         if HAVE_WINDOW_SYSTEM.
129314         (note_mode_line_or_margin_highlight):
129315         (note_mouse_highlight): Declare and set 'cursor' and 'pointer'
129316         only if HAVE_WINDOW_SYSTEM.
129318         * src/xfaces.c (realize_default_face): Declare and set 'face' only
129319         if HAVE_X_WINDOWS.  Remove redundant #ifdef.
129321 2016-06-20  Michael Albinus  <michael.albinus@gmx.de>
129323         Weaken test conditions in filenotify-tests.el
129325         * test/lisp/filenotify-tests.el (file-notify--test-with-events):
129326         Fix thinko in test.
129327         (file-notify-test02-events, file-notify-test04-file-validity)
129328         (file-notify-test07-backup)
129329         (file-notify-test08-watched-file-in-watched-dir): Make test
129330         conditions more weak.  (Bug#23618)
129332 2016-06-19  Paul Eggert  <eggert@cs.ucla.edu>
129334         Minor ABLOCKS_BUSY cleanups in alloc.c
129336         * src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
129337         with member ‘abase’ in definiens.
129338         (lisp_align_malloc, lisp_align_free): Use bool for boolean.
129339         Avoid compiler warning with fewer casts.
129340         (lisp_align_free): Check busy-field values; this can help the
129341         compiler a bit when optimizing, too.
129343 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
129345         ASCII-fy coding-system-for-read used for Git commands
129347         * lisp/vc/vc-git.el (vc-git--asciify-coding-system):
129348         New function.
129349         (vc-git-diff, vc-git-annotate-command): Use it.
129351 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
129353         Prohibit multibyte characters in url-http-data
129355         It didn't work anyway, but this makes any such errors more obvious
129356         by catching them earlier.
129358         * lisp/url/url-http.el (url-http-create-request):
129359         Use string-to-unibyte (bug#23750).
129361 2016-06-19  Eli Zaretskii  <eliz@gnu.org>
129363         Fix setting a range of char-table slots in a singular case
129365         * src/chartab.c (char_table_set_range): Start the loop from the
129366         first character of the block to which FROM belongs.  (Bug#23797)
129368         * test/src/chartab-tests.el: New test file.
129370 2016-06-19  Alan Mackenzie  <acm@muc.de>
129372         Fix CC Mode fontification problem apparent in test file decls-6.cc.
129374         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
129375         "bar (gnu);" as a declarator only when the construct is directly inside a
129376         class (etc.) called "bar".
129377         (c-directly-in-class-called-p): New function.
129379 2016-06-19  Alan Mackenzie  <acm@muc.de>
129381         c-renarrow-state-cache: take care when new point is inside old brace pair.
129383         Also add display of point-min to the c-parse-state debugging output.
129385         * lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
129386         point is inside an old recorded brace pair, clear the cache.
129387         (c-debug-parse-state): Output the value of point-min.
129389 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
129391         Rename ALIGN to pointer_align
129393         * src/alloc.c (pointer_align): Rename from ALIGN.
129394         This fixes Bug#23764 in a simpler way.
129396 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
129398         Merge from origin/emacs-25
129400         d1efbaf Fix documentation of completion functions
129401         65c96cc Clarify documentation of 'font-lock-maximum-decoration'
129402         2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
129403         b49cb0a Fbackward_prefix_chars: stay within buffer bounds
129405 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
129407         Merge from origin/emacs-25
129409         2317c61 Fix last todo-mode change
129410         5d4d8a3 Improve last todo-mode fix
129411         d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
129412         27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
129413         f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
129414         e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
129415         d308aa1 Minor grammar fix (bug#23746)
129416         20de667 Doc fixes for grammar and typos (bug#23746)
129417         a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
129418         27f440e Add cross-reference to ELisp manual
129419         10802d8 ; make change-history-commit
129420         4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
129421         12e009e Restore initial undo boundary with viper
129422         291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
129423         6921f4a Fix dbus crash on 32-bit Cygwin
129425 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
129427         Merge from origin/emacs-25
129429         9ae514a * etc/AUTHORS: Update the AUTHORS file
129430         3ca428e add entries to authors.el
129431         66d556b Fix eldoc-related freezes in python mode
129432         d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
129433         27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
129434         a813487 Fix undo boundary in recursive edit (Bug#23632)
129435         1f85b7c Doc fixes re alist-get.  (Bug#23548)
129436         ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
129437         56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
129438         4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
129439         a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
129440         601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
129442 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
129444         * lisp/emacs-lisp/map.el (map-contains-key): Better docstring
129446 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
129448         Fix seq-contains
129450         Make sure seq-contains return the element of the sequence instead of t.
129452         * lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
129453         * test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
129455 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
129457         Add new function map-do
129459         * lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
129460           functions.
129461         * test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
129463 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
129465         Add seq-do-indexed
129467         * lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
129468         * test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
129470 2016-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
129472         map.el (map-merge*): Use `map-into' at beginning rather than end
129474         * lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
129475         and don't use of an intermediate alist.
129476         (map-merge-with): Same, plus use `cl-callf' to try and avoid performing
129477         3 lookups per inner iteration.
129479 2016-06-16  Mark Oteiza  <mvoteiza@udel.edu>
129481         * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version.
129483 2016-06-15  Alan Mackenzie  <acm@muc.de>
129485         Speed up CC Mode's font locking by taking some code out of a hot loop.
129487         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which
129488         tests for bare declarators.
129489         (c-font-lock-cut-off-declarators): New function.
129490         (c-complex-decl-matchers): insert c-font-lock-cut-off-declarators.
129492 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
129494         Automatically find vars and functions via definition-prefixes
129496         * lisp/help-fns.el (help-definition-prefixes): New var and function.
129497         (help--loaded-p, help--load-prefixes, help--symbol-completion-table):
129498         New functions.
129499         (describe-function, describe-variable): Use them.
129501         * lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
129502         (radix-tree-prefixes, radix-tree-from-map): New functions.
129504 2016-06-15  Michal Nazarewicz  <mina86@mina86.com>
129506         Automatically detect whether .h file is C or C++
129508         * lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
129509         analyzes contents of the buffer to determine whether it looks like C++
129510         source code and based on that enables c-mode or c++-mode.
129511         (c-or-c++-mode--regexp): Regular expression which, when matches
129512         a buffer, signals file is C++.
129514 2016-06-15  Alan Mackenzie  <acm@muc.de>
129516         Parse compound identifiers in C++ member initialization lists.
129518         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function.
129519         (c-back-over-member-initializer-braces, c-back-over-list-of-member-inits)
129520         (c-back-over-member-initializers): Call c-back-over-compound-identifier rather
129521         than c-simple-skip-symbol-backward.
129523 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
129525         Advertize set-keymap-parent as replacement for copy-keymap
129527         * doc/lispref/keymaps.texi (Creating Keymaps):
129528         * src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
129530 2016-06-15  Ted Zlatanov  <tzz@lifelogs.com>
129532         * lisp/generic-x.el (ansible-inventory-generic-mode): Warn if
129533         value is missing
129535 2016-06-15  Tim Chambers  <tbc@alum.mit.edu>  (tiny change)
129537         Add new ansible-inventory-generic-mode (Bug#23762)
129539         * lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode.
129541 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
129543         Fix ifdef-vs-if typo with RANDR13_LIBRARY
129545         * src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
129546         This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
129547         https://lists.gnu.org/r/emacs-devel/2016-06/msg00198.html
129549 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
129551         Port to platforms where char * has top bit set
129553         This fixes a five-year-old FIXME comment.  Although I don’t know
129554         of a platform where this is a problem in practice, better safe
129555         than sorry.
129556         * src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
129557         as it is now an integer, not char *.
129558         (store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
129559         this is a file offset and EMACS_INT is better if --with-wide-int.
129560         If SUBRP, simply store the offset rather than negating it and
129561         converting it to char *.
129562         * src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.
129564 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
129566         Remove recursion from store_function_docstring
129568         * src/doc.c (store_function_docstring):
129569         Refactor to avoid the need for C-level recursion.
129571 2016-06-14  Ken Brown  <kbrown@cornell.edu>
129573         Remove system-specific -I switch from Cygwin-w32 build
129575         Suggested by Eli Zaretskii in discussion of bug#18302.
129577         * src/image.c [HAVE_NTGUI]: Remove the unused macro
129578         PIXEL_ALREADY_TYPEDEFED.  On Cygwin, include "noX/xpm.h" instead of
129579         "X11/xpm.h".
129581         * configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
129582         "noX/xpm.h".  Don't add a -I switch to CPPFLAGS.
129584 2016-06-14  Noam Postavsky  <npostavs@gmail.com>
129586         Make python.el work in Emacs 24
129588         * lisp/progmodes/python.el: Bump version.
129589         (python-define-auxiliary-skeleton): Only use format-message if
129590         fbound (Bug#23126).
129592 2016-06-13  Ken Brown  <kbrown@cornell.edu>
129594         Avoid compiler warning
129596         * src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
129597         'type_CtrlAlt'.
129599 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
129601         Call tzset after setting TZ
129603         * src/editfns.c (tzlookup): Call tzset after setting TZ, so that
129604         the setting change propagates into Emacs local time (Bug#23600).
129605         (emacs_setenv_TZ): Clarify comments.
129607 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
129609         Update texinfo.tex
129611         * doc/misc/texinfo.tex: Update from gnulib.
129613 2016-06-12  Paul Eggert  <eggert@cs.ucla.edu>
129615         New macro GNUC_PREREQ for GCC version
129617         * src/conf_post.h (GNUC_PREREQ): New macro.
129618         Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
129619         macro instead, for clarity and consistency.
129620         (PRINTF_ARCHETYPE): New macro.  Define it to __gnu_printf__ only
129621         if glibc, since non-GNU platforms don’t necessarily support GNU
129622         printf formats.
129623         (ATTRIBUTE_FORMAT_PRINTF): Use it.
129625 2016-06-12  Nicolas Petton  <nicolas@petton.fr>
129627         * lisp/emacs-lisp/seq.el (seq-drop): Better list implementation
129629 2016-06-12  Eli Zaretskii  <eliz@gnu.org>
129631         Fix printf-related compilation warnings on MinGW
129633         * src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
129634         '__ms_printf__', not '__gnu_printf__', as the latter is not what
129635         MS 'printf' supports, and causes bogus compilation warnings.
129636         * src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
129637         doesn't support the "ll" modifier.
129639 2016-06-11  Paul Eggert  <eggert@cs.ucla.edu>
129641         emacs_strerror cleanups
129643         * src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
129644         no longer needed, now that emacs_strerror is declared by lisp.h.
129645         * src/coding.c (emacs_strerror): Remove; moved to emacs.c.
129646         * src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
129647         to lisp.h.
129648         * src/emacs.c (emacs_strerror): Move here from coding.c.  Do not
129649         convert result string; this is now the caller’s responsibility,
129650         as some need conversion and others don’t.
129651         * src/fileio.c (report_file_errno, report_file_notify_error):
129652         Use emacs_strerror rather than rolling it ourselves.
129653         * src/lisp.h (emacs_strerror): Move decl here from coding.h.
129654         * src/lread.c (dir_warning): Just call emacs_strerror rather than
129655         both strerror and emacs_strerror.  Convert its result from
129656         locale-coding-system, since it no longer does that conversion.
129657         * src/sound.c (sound_perror):
129658         * src/sysdep.c (emacs_perror, str_collate):
129659         Use emacs_strerror, not strerror.
129661 2016-06-10  David Reitter  <david.reitter@gmail.com>
129663         Prevent compiler warning for unused arguments
129665         * lisp/international/ucs-normalize.el
129666         (ucs-normalize-hfs-nfd-pre-write-conversion):
129667         Prevent compiler warning for unused arguments, add comment.
129669 2016-06-10  Paul Eggert  <eggert@cs.ucla.edu>
129671         Catch malloc_get_state, malloc_set_state failure
129673         This should help insulate Emacs better from configuration screwups.
129674         Future versions of the GNU C library are planned to deprecate
129675         these functions, but will continue to support them in
129676         already-built-and-dumped Emacs executables.
129677         * src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
129678         Abort if malloc_set_state fails.
129679         (alloc_unexec_pre) [DOUG_LEA_MALLOC]:
129680         Report malloc_get_state failure, and exit.
129682 2016-06-10  Eli Zaretskii  <eliz@gnu.org>
129684         Show returned value after gdb-mi "finish" command
129686         * lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected
129687         "Value returned" message in response to "finish", when not
129688         produced by GDB/MI.  (Bug#23720)
129690 2016-06-10  David Reitter  <david.reitter@gmail.com>
129692         Simplify pre-write-conversion for utf-8-hfs coding system
129694         * lisp/international/ucs-normalize.el
129695         (ucs-normalize-hfs-nfd-pre-write-conversion): Refactor.
129697         May address an issue where Emacs consumed large amounts of CPU
129698         because of neverending toolbar updating (which was caused
129699         by, but also called this function).
129701 2016-06-09  Martin Rudalics  <rudalics@gmx.at>
129703         Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2"
129705         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
129706         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
129707         Monnier.  (Bug#19185, Bug#20398)
129709         This reverts commit 72166f2f3dba18f1217c666574032f5a0351ed65.
129711         That commit did more harm than good (Bug#23571).
129713 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
129715         Port __builtin_assume_aligned to Sun C 5.13
129717         * src/conf_post.h (__builtin_assume_aligned):
129718         Fix typo: the extra arg did not conform to C99.
129720 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
129722         Prefer getsockopt to getpeername on non-MS-Windows
129724         * admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
129725         * configure.ac: Don’t check for getpeername.
129726         * src/process.c (wait_reading_process_output) [!WINDOWSNT]:
129727         Use getsockopt even if not GNU/Linux, as the platforms where
129728         getsockopt used to hang are no doubt long dead.
129730 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
129732         Fix XFASTINT of non-fixnum in process status
129734         * src/process.c (decode_status): 3rd arg is now Lisp_Object *,
129735         not int *, and is not decoded.  All uses changed.
129736         (status_message): Do not assume ‘failed’ code is an integer.
129737         * src/process.h: Document codes better.
129739 2016-06-09  Glenn Morris  <rgm@gnu.org>
129741         Make messcompat.el obsolete.
129743         * lisp/obsolete/messcompat.el: Move here from lisp/gnus.
129744         * doc/misc/message.texi (Compatibility): Remove section.
129746 2016-06-09  Glenn Morris  <rgm@gnu.org>
129748         Leading "*" in the doc of defvars is long obsolete.
129750         * lisp/plstore.el (plstore-encrypt-to):
129751         * lisp/cedet/semantic/lex-spp.el
129752         (semantic-lex-spp-macro-max-length-to-save):
129753         * lisp/cedet/semantic/symref.el (semantic-symref-tool):
129754         * lisp/cedet/semantic/bovine/el.el
129755         (semantic-elisp-store-documentation-in-tag):
129756         * lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
129757         (wisent-expected-conflicts):
129758         * lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
129759         * lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
129760         * lisp/gnus/gnus-group.el (gnus-group-listing-limit):
129761         * lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
129762         (gnus-browse-menu-hook):
129763         * lisp/gnus/message.el (message-shoot-gnksa-feet):
129764         * lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
129765         * lisp/gnus/mm-util.el (mm-extra-numeric-entities):
129766         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
129767         * lisp/gnus/mml.el (mml-generate-multipart-alist):
129768         * lisp/gnus/nndraft.el (nndraft-required-headers):
129769         * lisp/gnus/nnheader.el (nnheader-max-head-length)
129770         (nnheader-head-chop-length, nnheader-file-name-translation-alist)
129771         (nnheader-directory-separator-character)
129772         (nnheader-pathname-coding-system):
129773         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
129774         (nnmail-active-file-coding-system):
129775         * lisp/gnus/nnrss.el (nnrss-file-coding-system):
129776         * lisp/gnus/nntp.el (nntp-record-commands):
129777         * lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
129778         (gnus-score-mode-hook, gnus-score-menu-hook):
129779         * lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
129780         (rfc2047-allow-irregular-q-encoded-words)
129781         (rfc2047-allow-incomplete-encoded-text):
129782         * lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
129783         * lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
129784         * lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
129785         * lisp/net/pop3.el (pop3-password):
129786         * lisp/play/animate.el (animate-n-steps):
129787         * lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
129788         Convert from defvar with leading * to defcustom.
129791         * lisp/emulation/viper-init.el (viper-heading-end):
129792         * lisp/gnus/mm-url.el (mm-url-html-entities):
129793         * lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
129794         * lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
129795         * lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.
129797         * lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
129798         (message-from-style, message-interactive, message-indentation-spaces)
129799         (message-signature, message-signature-file):
129800         Remove settings that match the defaults.
129801         (message-setup-hook, message-mode-hook, message-default-headers)
129802         (message-send-hook, message-send-mail-function):
129803         Just use setq rather than redefining.
129805         * lisp/gnus/nnrss.el (nnrss):
129806         * lisp/mail/rfc2047.el (rfc2047):
129807         * lisp/play/animate.el (animate): New custom groups.
129809 2016-06-09  Glenn Morris  <rgm@gnu.org>
129811         Remove obsolete leading * from defcustom, defface doc strings.
129813         * lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el:
129814         * lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el:
129815         * lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el:
129816         * lisp/cedet/semantic/decorate/include.el:
129817         * lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el:
129818         * lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el:
129819         * lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el:
129820         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el:
129821         * lisp/cedet/srecode/fields.el, lisp/ecomplete.el:
129822         * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
129823         * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
129824         * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el:
129825         * lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el:
129826         * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el:
129827         * lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el:
129828         * lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el:
129829         * lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el:
129830         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
129831         * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
129832         * lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el:
129833         * lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el:
129834         * lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el:
129835         * lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el:
129836         * lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el:
129837         * lisp/net/starttls.el, lisp/progmodes/cc-vars.el:
129838         * lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el:
129839         Remove obsolete leading * from defcustom, defface doc strings.
129841 2016-06-09  Eli Zaretskii  <eliz@gnu.org>
129843         Fix copying text properties by 'format'
129845         * src/editfns.c (styled_format): Fix copying text properties from
129846         the format specification to the produced string representation.
129847         (Bug#23730)
129848         (Fformat) Doc fix.
129850         * doc/lispref/strings.texi (Formatting Strings): Document that
129851         text properties from the format specifiers are also copied to the
129852         produced string.
129854 2016-06-09  Alan Mackenzie  <acm@muc.de>
129856         Handle C++ raw strings.
129858         * lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string)
129859         (c-depropertize-raw-strings-in-region,
129860         c-before-change-check-raw-strings)
129861         (c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New
129862         functions.
129864         * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for
129865         c-font-lock-raw-strings.
129866         (c-font-lock-raw-strings): New function.
129868         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert
129869         c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP
129870         into the values for C, C++, and Objective C.
129871         (c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into
129872         the C++ value.
129874         * lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables.
129875         (c-depropertize-CPP): New function, extracted from
129876         c-neutralize-syntax-in-and-mark-CPP.
129877         (c-neutralize-syntax-in-and-mark-CPP): Remove the call to
129878         c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning
129879         of the function.
129880         (c-after-change): Set c-old-BEG and c-old-END to the current values of
129881         c-new-BEG and c-new-END.
129883 2016-06-09  Daiki Ueno  <ueno@gnu.org>
129885         epg: don't use obsolete function
129887         * lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove
129888         redundant configuration check, which is now done in
129889         `epg-make-context'.
129891 2016-06-09  Daiki Ueno  <ueno@gnu.org>
129893         epg: don't start pinentry if it is useless
129895         * lisp/epg.el (epg--start): Don't start pinentry server if the
129896         session is non-interactive or pinentry-mode is set.
129898 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
129900         Replace IF_LINT by NONVOLATILE and UNINIT
129902         Inspired by a suggestion from RMS in: https://bugs.gnu.org/23640#58
129903         * .dir-locals.el (c-mode): Adjust to macro changes.
129904         * src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
129905         (IF_LINT): Remove.  All uses replaced by the new macros.
129907 2016-06-08  Michal Nazarewicz  <mina86@mina86.com>
129909         Remove ‘ert-with-function-mocked’ macro in favor of ‘cl-letf’ macro
129911         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
129912         in favor of ‘cl-letf’ macro which is more generic.  All existing
129913         uses are migrated accordingly.  The macro has not been included in
129914         an official release yet so it should be fine to delete it.
129916 2016-06-08  Glenn Morris  <rgm@gnu.org>
129918         * test/lisp/emacs-lisp/package-tests.el
129919         (package-test-update-archives-async): Try re-enabling on hydra.
129921 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
129923         * src/fileio.c (auto_save_error): Omit unused local.
129925 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
129927         Simplify overflow check via INT_SUBTRACT_WRAPV
129929         * src/editfns.c (check_tm_member): Simplify integer overflow check.
129931 2016-06-07  Glenn Morris  <rgm@gnu.org>
129933         Try to avoid hangs and stray procs in network-stream-tests.  (Bug#23560)
129935         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
129936         (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
129937         Ensure gnutls-serv process gets killed.
129938         (echo-server-nowait, connect-to-tls-ipv4-nowait):
129939         Limit the amount of time we might wait.
129941 2016-06-07  Glenn Morris  <rgm@gnu.org>
129943         Reduce allout.el's pollution of the namespace.
129945         * lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp.
129946         Keep old name as obsolete alias.
129947         (allout-produce-mode-menubar-entries, allout-nullify-prefix-data)
129948         (allout-solicit-char-in-string)
129949         (allout-count-trailing-whitespace-region, allout-regexp-sans-escapes):
129950         Rename to add an "allout-" prefix.
129952 2016-06-07  Glenn Morris  <rgm@gnu.org>
129954         * configure.ac (emacs_config_features): Add CANNOT_DUMP.
129956 2016-06-07  Glenn Morris  <rgm@gnu.org>
129958         Misc small webjump updates.
129960         * lisp/net/webjump.el (webjump): Add custom group.
129961         (webjump-sample-sites): Make it a constant.
129962         Remove explicit, old list of GNU ftp mirrors.
129963         (webjump-state-to-postal-alist): Make it a constant.
129964         (webjump-sites): Make it a defcustom.
129965         (webjump-to-iwin): Update for changed remote service.
129967 2016-06-07  Glenn Morris  <rgm@gnu.org>
129969         Do not hard-code port for package test server.  (Bug#23708)
129971         * test/lisp/emacs-lisp/package-resources/package-test-server.py:
129972         Do not hard-code port.
129973         * test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
129974         Update for the above change.
129976 2016-06-07  Tino Calancha  <f92capac@gmail.com>
129978         * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (Bug#23617)
129980 2016-06-07  Glenn Morris  <rgm@gnu.org>
129982         * src/fileio.c (auto_save_error): Use display-warning.  (Bug#23703)
129984 2016-06-07  Tino Calancha  <f92capac@gmail.com>
129986         * lisp/ibuf-ext.el (ibuffer-do-shell-command-file):
129987         Fix non-file-visiting-buffer case.  (Bug#22678)
129989 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
129991         Port --enable-gcc-warnings to clang 3.7.0
129993         * configure.ac: Add -Wno-tautological-compare to avoid bogus
129994         warnings about 0 <= rlim.rlim_max.  Remove flags that no longer
129995         seem to be needed, at least in Fedora 23 x86-64.
129997 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
129999         Use __builtin_assume_aligned on untagged Lisp vals
130001         * src/conf_post.h (__has_builtin, __builtin_assume_aligned):
130002         New macros, for compilers not already defining them.
130003         (__has_builtin___builtin_assume_aligned): New macro.
130004         * src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned.
130005         This shrinks text space by 0.2% on x86-64 with GCC 6.1.
130007 2016-06-07  Glenn Morris  <rgm@gnu.org>
130009         * lisp/help-fns.el (describe-function-1): Avoid reporting advised
130010         aliases as the type of their targets.
130012 2016-06-07  Tino Calancha  <f92capac@gmail.com>
130014         * lisp/simple.el (process-menu-mode, list-processes--refresh):
130015         Include PID.  (Bug#21725)
130017 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
130019         Merge from origin/emacs-25
130021         6e3adf8 Fix crash in syntax.c after GC
130022         973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
130023         9d5cceb Fix doc string quoting
130024         0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
130025         a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.
130027 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
130029         Merge from origin/emacs-25
130031         604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del...
130032         20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo.
130033         a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo.
130034         07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...
130036 2016-06-06  Paul Eggert  <eggert@cs.ucla.edu>
130038         Use standard Unicode names for Thai, Lao
130040         * lisp/language/lao-util.el, lisp/language/thai-util.el:
130041         Don’t override standard Unicode character name (Bug#23698).
130043 2016-06-06  Glenn Morris  <rgm@gnu.org>
130045         * lisp/man.el (Man-reference-regexp, Man-default-man-entry):
130046         Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8.
130048 2016-06-06  Michael Albinus  <michael.albinus@gmx.de>
130050         Some fixes in filenotify-tests.el for cygwin
130052         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
130053         Reintroduce value for cygwin, it's needed on slow systems.
130054         (file-notify--wait-for-events): Move up definition.
130055         (file-notify--test-no-descriptors): Use `file-notify--wait-for-events'.
130056         (file-notify--test-with-events-check, file-notify--test-with-events)
130057         (file-notify-test08-watched-file-in-watched-dir):
130058         Use :random rather than `random.
130059         (file-notify-test06-many-events): Do not skip for cygwin.
130061 2016-06-05  Juri Linkov  <juri@linkov.net>
130063         * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’.
130065         If non-nil, operate on multiple chunks.  (Bug#23655)
130067         * src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region.
130069 2016-06-05  Juri Linkov  <juri@linkov.net>
130071         * lisp/wdired.el (wdired-next-line, wdired-previous-line): Add "^"
130073         to interactive spec to handle shift-selection.  (Bug#23642)
130075 2016-06-05  Michael Albinus  <michael.albinus@gmx.de>
130077         Improve robustness of filenotify-tests.el (Bug#23618)
130079         * test/lisp/filenotify-tests.el (file-notify--test-no-descriptors)
130080         (file-notify--test-no-descriptors-explainer)
130081         (file-notify--test-cleanup-p): New defuns.
130082         (file-notify--test-cleanup): Don't check for
130083         `file-notify--test-event' anymore, that's done in
130084         `file-notify--test-no-descriptors'.
130085         (file-notify--test-with-events-check)
130086         (file-notify--test-with-events): Handle the `random' marker.
130087         (file-notify--test-with-events-explainer): Improve readability.
130088         (file-notify-test00-availability)
130089         (file-notify-test01-add-watch, file-notify-test02-events)
130090         (file-notify-test03-autorevert)
130091         (file-notify-test04-file-validity)
130092         (file-notify-test05-dir-validity)
130093         (file-notify-test06-many-events, file-notify-test07-backup)
130094         (file-notify-test08-watched-file-in-watched-dir)
130095         (file-notify-test09-sufficient-resources): Check also
130096         `file-notify--test-cleanup-p'.
130097         (file-notify-test04-file-validity)
130098         (file-notify-test05-dir-validity): Use `ignore' as handler.
130099         (file-notify-test05-dir-validity)
130100         (file-notify-test06-many-events): Delete directory finally.
130101         (file-notify-test08-watched-file-in-watched-dir): Add `random' marker.
130103 2016-06-05  Stephen Berman  <stephen.berman@gmx.net>
130105         man.el: Fix links on hyphenated words (bug#23647)
130107         * lisp/man.el (Man-bgproc-sentinel): Make links work on
130108         hyphenated words.
130110 2016-06-05  K. Handa  <handa@gnu.org>
130112         Add category 'j' to more characters.
130114         * lisp/international/characters.el: Add category 'j' (Japanese)
130115         to characters in japanese-jisx0213.2004-1.
130117 2016-06-04  Tino Calancha  <f92capac@gmail.com>
130119         isearch-edit-string resumes multi isearches
130121         * lisp/isearch.el (with-isearch-suspended): Remember and restore
130122         multi-isearch variables.  (Bug#21663)
130124 2016-06-04  Eli Zaretskii  <eliz@gnu.org>
130126         Fix Eshell display when RTL characters are involved
130128         * lisp/eshell/esh-mode.el (eshell-mode): Set
130129         'bidi-paragraph-direction' to 'left-to-right'.  (Bug#23652)
130131 2016-06-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
130133         Make ses-jump with completing input.
130135         * lisp/ses.el (ses-jump): Make symbol input completing against list of
130136           named cells.
130138 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
130140         Port angle-bracket TZ settings to MS-Windows
130142         * doc/lispref/os.texi (Time Zone Rules): Document MS-Windows
130143         lack of support for numeric time zone abbreviations.
130144         * src/w32.c (sys_putenv): Convert angle-bracket TZ syntax
130145         to MS-compatible syntax if possible, and to "ZZZ" otherwise.
130146         Problem reported by Kazuhiro Ito (Bug#23600).
130148 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
130150         Avoid delving into Git internals for version
130152         * lisp/loadup.el (exec-path): Set it to nil later, so that
130153         emacs-repository-get-version can invoke git commands in the PATH.
130154         * lisp/version.el (emacs-repository--version-git-1): Remove.
130155         (emacs-repository-get-version): Let Git do it rather than
130156         delving into Git internals.
130158 2016-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
130160         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less
130162 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
130164         Fix emacs-repository-get-version with packed .git
130166         * lisp/version.el (emacs-repository-get-version):
130167         Parse .git/packed-refs if it exists.
130168         Problem reported by Martin Rudalics in:
130169         https://lists.gnu.org/r/emacs-devel/2016-05/msg00554.html
130171 2016-06-01  Michael Albinus  <michael.albinus@gmx.de>
130173         Minor change in tramp.texi
130175         * doc/misc/tramp.texi (Password handling): Do not discuss
130176         anymore how to get password-cache.el.  It is bundled with
130177         Emacs.
130179 2016-06-01  Alan Mackenzie  <acm@muc.de>
130181         Correct fontification and indentation of C++'s "constexpr" expressions
130183         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "constexpr".
130184         (c-modifier-kwds): Add "constexpr".
130186 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
130188         Cosmetic change to kinsoku-eol.  (tiny change)
130190         * lisp/international/kinsoku.el (kinsoku-eol): Make the
130191         order of characters match with the comments.
130193 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
130195         Add HIRAGANA ITERATION MARK to japanese-kana-table.  (tiny change)
130197         * lisp/language/japan-util.el (japanese-kana-table): Add an
130198         entry for HIRAGANA ITERATION MARK (U+309D).
130199         (japanese-alpha-numeric-table): Fix docstring.
130201 2016-05-31  K. Handa  <handa@gnu.org>
130203         Fix incomplete handling of translation table in a coding system.
130205         * src/coding.c (get_translation): New arg NCHARS.  Even if TRANS
130206         is an alist, return a character or a vector of character.
130207         (produce_chars): Adjust for the above change.
130208         (consume_chars): Likewise.
130210 2016-05-31  Michael Albinus  <michael.albinus@gmx.de>
130212         Improve robustness for out-of-band copy in Tramp
130214         * lisp/net/tramp-adb.el (tramp-adb-execute-adb-command)
130215         * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers)
130216         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
130217         Cosmetic changes.
130219         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
130220         Use local `default-directory'.  Simplify command to send.
130221         Don't check return code, this was already done in
130222         `tramp-process-actions'.
130223         (tramp-get-inline-coding): Don't set `default-directory'.
130225         * lisp/net/tramp.el (tramp-action-out-of-band):
130226         Throw `out-of-band-failed'.
130227         (tramp-process-actions): Handle `out-of-band-failed'.
130228         (tramp-call-process, tramp-call-process-region):
130229         Use local `default-directory'.
130231 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
130233         Merge from origin/emacs-25
130235         788c9b6 ; Spelling fix
130236         25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
130237         0992ec3 Correct cl-flet usage (Bug#22317)
130238         50caae3 Release MH-E manual version 8.6
130239         602bb40 Update MH-E's documentation about HTML renderers
130240         89018f0 Fx the we->the typo
130241         845ee57 Restore frames into the current display by default
130242         ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
130243         01c3cd1 etc/TODO: Remove out-of-place issue
130244         5e18486 Clarify doc string of 'file-name-sans-extension'
130245         bffda22 Fix the MSDOS build
130246         f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
130247         1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix.  (Bug#23...
130248         f7ffc4b Fix infloop in 'number-sequence'
130249         4ab2673 ; Spelling and punctuation fixes in comments
130250         71c152e * lisp/emacs-lisp/find-func.el (find-function-library):
130252 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
130254         * lisp/emacs-lisp/autoload.el: Use radix-tree.
130256          (autoload--make-defs-autoload): Rewrite.
130257         (autoload--split-prefixes-1): Remove.
130258         (autoload-def-prefixes-max-entries): Rename from
130259         autoload-defs-autoload-max-size.
130260         (autoload-popular-prefixes): Remove.
130261         (autoload-def-prefixes-max-length): New const.
130263         * lisp/emacs-lisp/radix-tree.el: New file.
130265 2016-05-30  Ken Brown  <kbrown@cornell.edu>
130267         * src/conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Increase.
130269 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
130271         Omit IF_LINT code that no longer seems needed
130273         Nowadays GCC is smarter, or the Emacs code has mutated, or both,
130274         and now is as good a time as any to remove uses of IF_LINT that
130275         now seem to be unnecessary.
130276         * lib-src/emacsclient.c (set_local_socket):
130277         * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
130278         * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
130279         * src/casefiddle.c (casify_region):
130280         * src/charset.c (load_charset_map):
130281         * src/coding.c (decode_coding_object, encode_coding_object):
130282         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
130283         (cons_to_unsigned, cons_to_signed):
130284         * src/frame.c (make_frame, x_set_frame_parameters):
130285         * src/keyboard.c (read_event_from_main_queue):
130286         * src/regex.c (regex_compile):
130287         * src/syntax.c (back_comment):
130288         * src/window.c (Frecenter):
130289         * src/xfaces.c (Fx_list_fonts):
130290         Remove IF_LINT that no longer seems necessary.
130291         * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
130292         * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
130293         a pragma dance to pacify GCC -Wclobbered.
130294         * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.
130296         * src/xterm.c (x_connection_closed): Now _Noreturn, which should
130297         mean we do not need IF_LINT any more.
130298         (x_io_error_quitter): Now _Noreturn.  Put an 'assume (false)’
130299         at the end, to forestall warnings from older compilers.
130301 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
130303         Port --enable-gcc-warnings to Cygwin, FreeBSD
130305         These platforms have a bug where _Noreturn is empty when 'lint' is
130306         defined.  Problem reported by Ken Brown (Bug#23640).
130307         * configure.ac (GCC_LINT): Rename from 'lint'.
130308         * src/conf_post.h (IF_LINT): Use GCC_LINT, not just 'lint’.
130310 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
130312         Update from gnulib
130314         This incorporates:
130315         2016-05-30 Use GCC_LINT, not lint
130316         2016-05-29 secure_getenv: Port to many more platforms.
130317         * doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h:
130318         * m4/secure_getenv.m4: Copy from gnulib.
130320 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
130322         * lisp/emacs-lisp/pcase.el: Undo last change's spurious changes
130324         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'.
130326 2016-05-30  Ken Brown  <kbrown@cornell.edu>
130328         * src/regex.c (IF_LINT): Remove; it’s in conf_post.h
130330 2016-05-30  Michael Albinus  <michael.albinus@gmx.de>
130332         Fix Bug#23631 for Tramp
130334         * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions)
130335         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions)
130336         * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
130337         Fix caching problems.
130339         * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify.
130341         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
130342         Move duplicate deletion ...
130343         (tramp-smb-handle-file-name-all-completions): ... here.
130345         * lisp/net/tramp.el (tramp-handle-file-name-completion):
130346         Handle `completion-ignored-extensions'.  (Bug#23631)
130348         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
130349         Test also `completion-regexp-list' and `completion-ignored-extensions'.
130351 2016-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
130353         * lisp/wid-edit.el (link): Remove :follow-link property (bug#22434)
130355         * lisp/recentf.el (recentf-dialog-mode-map): Remove unnecessary mapping.
130357 2016-05-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
130359         Fix up remainder of the mml property change
130361         * lisp/gnus/message.el (message-send-mail): Use the renamed
130362         mml-buffer-substring-no-properties-except-some function.
130363         (message-send-news): Ditto.
130365 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
130367         Allow preserving EXIF rotations when sending HTML messages
130369         * lisp/gnus/mml.el (mml--possibly-alter-image): Allow image
130370         rotation if you have exiftool installed and the image format
130371         supports it.
130372         (mml-expand-html-into-multipart-related): Use it.
130373         (mml-buffer-substring-no-properties-except-some): Renamed and
130374         copy display properties, too.
130376 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
130378         Make message-toggle-image-thumbnails work better
130380         * lisp/gnus/message.el (message-toggle-image-thumbnails): Use
130381         `insert-image' instead of `put-image' to make it possible to
130382         edit the resulting text in a sensible manner.
130384 2016-05-29  Alan Mackenzie  <acm@muc.de>
130386         Rationalize the use of c-new-BEG and c-new-END in CC Mode.
130388         Remove the now redundant c-old-BOM and c-old-EOM.
130390         * lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
130391         meaning.
130392         (c-macro-cache-no-comment): New variable.
130393         (c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
130394         the new c-macro-cache-no-comment.
130395         (c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
130396         (c-no-comment-end-of-macro): New function.
130398         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
130399         c-extend-font-lock-region-for-macros to C/C++/ObjC value.
130401         * lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
130402         (c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
130403         c-old-BOM/EOM.
130404         (c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
130405         a cons for the new region, since the function is now called as an after-change
130406         function.  No longer adjust c-new-END for the length of inserted/deleted
130407         text.  Move the size restrictions on macros to here from
130408         c-neutralize-syntax-in-and-mark-CPP.
130409         (c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
130410         Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
130411         upper boundary to "neutralize" syntactically obtrusive characters.
130412         (c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
130413         one.
130415 2016-05-28  Ken Brown  <kbrown@cornell.edu>
130417         Avoid compiler warnings
130419         * src/cygw32.c (chdir_to_default_directory): Use "void" as
130420         argument list.  Use SSDATA instead of SDATA.
130422         * src/unexcw.c (fixup_executable): Use %td as format specifier for
130423         argument of type ptrdiff_t.  Use %zu for argument of type size_t.
130425 2016-05-28  Eli Zaretskii  <eliz@gnu.org>
130427         Fix 'next-line' and 'previous-line' during keyboard macro
130429         * lisp/simple.el (line-move-visual): Handle the case when point
130430         moves outside of the visible portion of the buffer while executing
130431         a keyboard macro.  (Bug#13452)  (Bug#23551)  (Bug#23555)
130433 2016-05-28  Alan Mackenzie  <acm@muc.de>
130435         C++ Mode: attribute in class declaration fouls up indentation.  Fix!
130437         * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip
130438         back over noise clauses and attribute clauses.
130440         * lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable.
130442 2016-05-28  Ken Olum  <kdo@cosmos.phy.tufts.edu>
130444         Prevent locked-file errors in Rmail
130446         * lisp/mail/rmail.el (rmail-get-new-mail-1): Lock file before
130447         calling 'rmail-insert-inbox-text'.  Unlock if
130448         'rmail-insert-inbox-text' doesn't modify buffer.
130449         (rmail-insert-inbox-text): Remove lock-checking code.  (Bug#17706)
130451 2016-05-28  Michael Albinus  <michael.albinus@gmx.de>
130453         Sync with Tramp repository.
130455         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
130456         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
130457         * lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
130458         Create BUFFER if it doesn't exist.  Reported by Nikolay
130459         Kudryavtsev <nikolay.kudryavtsev@gmail.com>.
130461         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
130462         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
130463         (tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
130464         (tramp-gvfs-get-directory-attributes)
130465         (tramp-gvfs-get-root-attributes)
130466         (tramp-gvfs-get-file-attributes): New defun.
130467         (tramp-gvfs-handle-file-attributes)
130468         (tramp-gvfs-handle-file-name-all-completions): Use them.
130469         (tramp-gvfs-handle-file-directory-p): Use `file-truename'.
130470         (tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
130471         (tramp-gvfs-send-command): Add locale settings to `process-environment'.
130472         (top): Suppress D-Bus error messages during zeroconf initialization.
130474         * lisp/net/tramp.el (tramp-unknown-id-string)
130475         (tramp-unknown-id-integer): New defconst.
130476         (tramp-check-cached-permissions)
130477         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
130478         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
130479         (tramp-convert-file-attributes, tramp-get-remote-uid)
130480         (tramp-get-remote-gid): Use them.
130482         * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
130483         Rename from `tramp-color-escape-sequence-regexp'.
130484         (tramp-sh-handle-insert-directory)
130485         (tramp-convert-file-attributes): Adapt callees.
130486         (tramp-device-escape-sequence-regexp): New defconst.
130487         (tramp-wait-for-output): Use it.  Reported by Matthías Páll
130488         Gissurarson <icetritlo@gmail.com>.
130490         * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
130491         Simplify.
130493         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
130494         (tramp-test28-shell-command):
130495         Use `tramp-display-escape-sequence-regexp'.
130497 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
130499         Don’t document declare-function internals
130501         Suggested by Stefan Monnier in:
130502         https://lists.gnu.org/r/emacs-devel/2016-05/msg00618.html
130503         * doc/lispref/functions.texi (Declaring Functions):
130504         * lisp/subr.el (declare-function):
130505         * lisp/emacs-lisp/bytecomp.el:
130506         (byte-compile-macroexpand-declare-function):
130507         Document as (fn file &optional arglist fileonly)
130508         even though it is really (fn file &rest args).
130510 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
130512         * src/puresize.h (BASE_PURESIZE): Increase it some more.
130514 2016-05-27  Glenn Morris  <rgm@gnu.org>
130516         * src/puresize.h (BASE_PURESIZE): Increase it by a little bit.
130518         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to
130519         avoid build failure.
130521 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
130523         Port to platforms where rlim_max < 0
130525         * src/emacs.c (main): Do not treat a negative rlim_max as a limit;
130526         this can happen if a special value like RLIM_INFINITY is negative.
130528 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
130530         Robustify stack-size calculation
130532         * src/emacs.c: Include getpagesize.h.
130533         (main): Check for integer overflow when computing stack size.
130534         Round new rlim_cur to pagesize boundary on all platforms, as this
130535         is easy and would have prevented Bug#23622.  If setrlimit
130536         fails, use current limit to determine re_max_failures.
130538 2016-05-27  Ken Brown  <kbrown@cornell.edu>
130540         Adjust filenotify-tests on Cygwin
130542         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
130543         Remove special case for Cygwin.
130544         (file-notify-test07-backup): Update expected results on Cygwin.
130546 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
130548         Improve define-function omitted-arg documentation
130550         * doc/lispref/functions.texi (Declaring Functions):
130551         * lisp/subr.el (declare-function):
130552         Be clearer when documenting omitted args for define-function.
130554 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
130556         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add docstring to accessors.
130558 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
130560         * lisp/subr.el (definition-prefixes): Expand docstring
130562         * lisp/emacs-lisp/autoload.el (autoload--split-prefixes):
130563         Remove unused function.
130565 2016-05-27  Phillip Lord  <phillip.lord@russet.org.uk>
130567         Fix broken viper deactivation
130569         * lisp/emulation/viper.el (viper--deactivate-advice-list): Destructure
130570           args to advice-remove.
130571           (viper--advice-add): Use cons not list.
130573         Addresses bug#23625
130575 2016-05-27  Mark Oteiza  <mvoteiza@udel.edu>
130577         Preserve buffer point in windows by default (Bug#4041).
130579         * doc/lispref/windows.texi: Mention new default.
130580         * etc/NEWS: Mention new default.
130581         * lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.
130583 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
130585         Fix byte-compiler pacification for declare-function
130587         Problem reported by Michael Heerdegen in:
130588         https://lists.gnu.org/r/emacs-devel/2016-05/msg00590.html
130589         * lisp/emacs-lisp/bytecomp.el:
130590         (byte-compile-macroexpand-declare-function):
130591         Revert signature to previous value.
130592         * lisp/subr.el (declare-function): Change signature to
130593         match the reverted signature used in the byte compiler.
130595 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
130597         Update texinfo.tex
130599         This fixes Bug#23611 in a different (and presumably better) way.
130600         * doc/misc/texinfo.tex: Update from gnulib.
130602 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
130604         Pacify 'make check-declare'
130606 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
130608         Repair damage from emacs-25 merge
130610         * test/lisp/character-fold-tests.el:
130611         Remove, as it was renamed to test/lisp/char-fold-tests.el.
130612         * test/lisp/emulation/viper-tests.el:
130613         Rename from test/automated/viper-tests.el.
130615 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
130617         Merge from origin/emacs-25
130619         c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3...
130620         a4d882c Correct old cell name unbinding when renaming cell.
130621         6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
130622         0be6725 Document problem: slow screen refresh on missing font.
130623         853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ...
130624         5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change...
130625         3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne...
130626         42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611).
130627         3f4a9d9 * admin/authors.el (authors): First update the ChangeLog.
130628         897fb6f ; 'Changes from the pre-25.1 API' copyedits
130629         825ca25 Rename vc-stay-local back to vc-cvs-stay-local
130630         4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble...
130631         b995d1e * doc/misc/eww.texi (Advanced): Fix xref.
130632         2e589c0 Fix cross-references between manuals
130633         f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ...
130634         906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ...
130635         bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY.
130636         503e752 ; * CONTRIBUTE: Fix a typo.
130637         fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib...
130638         bdfbe6d ; * admin/release-process: Copyedits.
130639         44a6aed ; * test/automated/data-tests.el: Standardize license notice.
130640         c33ed39 ; * test/automated/viper-tests.el: Standardize license notice.
130641         df4a14b Add automated test for viper-tests.el
130642         c0139e3 Fix viper undo breakage from undo-boundary changes
130643         920d76c Fix reference to obsolete fn ps-eval-switch
130644         18a9bc1 Do not trash symlinks to init file
130645         2671179 Don't print the "decomposition" line for control chars in wha...
130646         869092c Bring back xterm pasting with middle mouse
130647         5ab0830 Provide workaround for xftfont rendering problem
130648         c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic...
130649         30989a0 Mention GTK+ problems in etc/PROBLEMS
130650         421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents):
130651         dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests"
130652         e41a5cb Avoid errors with Czech and Slovak input methods
130653         d4ae6d7 epg: Add a way to detect gpg1 executable for tests
130654         ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings.
130655         6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer):
130656         c45d9f6 Improve documentation of 'server-name'
130657         3b5e38c Modernize ASLR advice in etc/PROBLEMS
130658         1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.
130660 2016-05-26  Eli Zaretskii  <eliz@gnu.org>
130662         Avoid byte-compiler warnings due to 'declare-function'
130664         * lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
130665         (w32-get-valid-locale-ids):
130666         * lisp/progmodes/js.el (ido-mode): Specify arglist in
130667         'declare-function' forms, to avoid byte-compiler warnings.
130669 2016-05-26  Glenn Morris  <rgm@gnu.org>
130671         * lisp/info.el (Info-default-directory-list): Don't check /share,info.
130673         No-one puts info pages there.  If /share does exist, it's likely to
130674         contain remote file systems where access could be slow.
130676 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
130678         Merge from origin/emacs-25
130680         2d76405 etc/AUTHORS: Update the AUTHORS file
130682 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
130684         Merge from origin/emacs-25
130686         06cb28f Fix bug#23462: Crash when iconifying frame on OS X.
130688 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
130690         Merge from origin/emacs-25
130692         939eb75 Fix bug in default setting of 'ps-paper-type'
130694 2016-05-26  Glenn Morris  <rgm@gnu.org>
130696         * lisp/info.el (Info-default-directory-list): Remove obsolete suffixes.
130698 2016-05-26  Michael Albinus  <michael.albinus@gmx.de>
130700         Fix Bug#23614.
130702         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
130703         Let-bind `process-coding-system-alist' in order to suppress
130704         the value for "cmdproxy".
130706         * lisp/net/tramp.el (tramp-encoding-shell):
130707         `w32-shell-name' is a function.
130708         (tramp-encoding-command-switch)
130709         (tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.
130711         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
130712         Suppress some tests on MS Windows.  (Bug#23614)
130714 2016-05-26  Stephen Berman  <stephen.berman@gmx.net>
130716         hl-line.el: Fix flickering of highlighted line (bug#23510)
130718         * lisp/hl-line.el (hl-line-maybe-unhighlight)
130719         (global-hl-line-highlight-all)
130720         (global-hl-line-maybe-unhighlight): New functions.
130721         (hl-line-overlay-buffer): New variable.
130722         (hl-line-mode): Use it.  Replace hl-line-unhighlight on
130723         pre-command-hook by hl-line-maybe-unhighlight on
130724         post-command-hook, to prevent hl-line from flickering.
130725         Adjust document string.
130726         (global-hl-line-mode): Use global-hl-line-highlight-all to
130727         simultaneously highlight the current line in all live windows.
130728         Replace global-hl-line-unhighlight on pre-command-hook by
130729         global-hl-line-maybe-unhighlight on post-command-hook, to
130730         prevent global-hl-line from flickering.  Remove
130731         global-hl-line-unhighlight from change-major-mode-hook on
130732         disabling the mode.  Adjust document string.
130734 2016-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
130736         Make autoloads populate a new definition-prefixes table
130738         * lisp/subr.el (definition-prefixes): New hash table.
130739         (register-definition-prefixes): New function.
130741         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
130742         (autoload--split-prefixes-1, autoload--split-prefixes)
130743         (autoload--make-defs-autoload): New functions.
130744         (autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
130745         (autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
130746         (update-directory-autoloads): Don't touch loaddefs.el if the set of
130747         autoloads hasn't changed (i.e. if only the timestamp would change).
130749         * lisp/loadup.el: Purify definition-prefixes.
130751         * lisp/w32-fns.el: Keep name space clean.
130752         (w32-set-default-process-coding-system): Rename from
130753         set-default-process-coding-system.
130754         (w32-set-system-coding-system): Rename from set-w32-system-coding-system.
130756 2016-05-24  Ken Brown  <kbrown@cornell.edu>
130758         Allow network-stream-tests to work for out-of-tree builds
130760         * test/lisp/net/network-stream-tests.el
130761         (network-stream-tests--datadir): New defconst.
130762         (make-tls-server): Use it.
130764 2016-05-24  Ken Brown  <kbrown@cornell.edu>
130766         Fix failing echo-server-nowait test
130768         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
130769         Specify IPv4 for the client, to match the family of the server.
130770         (Bug#23606)
130772 2016-05-24  Ken Brown  <kbrown@cornell.edu>
130774         Allow shr-tests to work for out-of-tree builds
130776         * test/lisp/net/shr-tests.el (shr-tests--datadir): New defconst.
130777         (shr-test, rendering): Use it.
130779 2016-05-24  Ken Brown  <kbrown@cornell.edu>
130781         Update allowable arguments for open-network-stream
130783         * src/coding.c (Ffind_operation_coding_system): Allow t as a
130784         target for open-network-stream.  (Bug #23540)
130786 2016-05-24  Dmitry Gutov  <dgutov@yandex.ru>
130788         Make js-mode's syntax highlighting work again
130790         * lisp/progmodes/js.el (js-mode): Fix the assigned
130791         font-lock-defaults value (bug#23603).
130793 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
130795         * lisp/progmodes/cc-mode.el: Add minor comments
130797         (c-change-expand-fl-region): Mark args as unused.
130799 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
130801         * lisp/url/url-http.el: Use lexical-binding
130803         (url-http-simple-after-change-function): Use buffer-size rather than `nd'.
130804         (url-http-wait-for-headers-change-function): Remove unused var
130805         `content-length'.
130806         (url-http): Remove unused vars `host' and `port'.
130808 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
130810         * lisp/widget.el (define-widget): Use `declare' (which does work now).
130812         (widget-plist-member): Mark as obsolete.
130814 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
130816         * lisp/image.el: Use lexical-binding
130818         (image-scaling-factor, imagemagick-types-inhibit)
130819         (imagemagick-enabled-types): Remove redundant :group.
130820         (image--get-image): Apply de-Morgan and use car-safe.
130821         (image-compute-scaling-factor): Use the argument.
130823 2016-05-23  Glenn Morris  <rgm@gnu.org>
130825         * lisp/image.el (image--get-image): Remove nonsensical code.
130827         * lisp/image.el (image--get-image): Avoid requiring a library for
130828         one trivial operation.
130830 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
130832         Don’t use only last protocol from getaddrinfo
130834         Problem reported by Ken Brown in:
130835         https://lists.gnu.org/r/emacs-devel/2016-05/msg00483.html
130836         * src/process.c (conv_addrinfo_to_lisp): New function.
130837         (connect_network_socket): Arg is now a list of addrinfos, not
130838         merely IP addresses.  All uses changed.  Use protocol from
130839         each addrinfo.
130840         (Fmake_network_process): Accumulate protocols into addrinfos
130841         rather than just using the last one found.
130842         (check_for_dns): Accumulate protocols here, too.
130843         * src/process.h (struct Lisp_Process): Remove ai_protocol;
130844         no longer needed.
130846 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
130848         Fix seq requirement that broke bootstrap
130850         * lisp/image.el (image--get-image): Require seq here, not at the
130851         top level, to avoid ‘(require seq) while preparing to dump’ while
130852         bootstrapping.  Suggested by Tino Calancha in:
130853         https://lists.gnu.org/r/emacs-devel/2016-05/msg00477.html
130855 2016-05-22  Nicolas Petton  <nicolas@petton.fr>
130857         Add missing dependencies to seq.el
130859         * lisp/emacs-lisp/find-func.el:
130860         * lisp/ibuffer.el:
130861         * lisp/image.el: Require seq.
130863 2016-05-22  Alp Aker  <alp@food52.com>
130865         * src/process.c (SOCK_NONBLOCK): Fix typo.
130867 2016-05-22  Etienne Prud’homme  <e.e.f.prudhomme@gmail.com>
130869         Add completion of colors in CSS mode
130871         * lisp/textmodes/css-mode.el (css-value-class-alist): Add CSS colors
130872         from "CSS Color Module Level 3".
130874         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
130875         Update test.
130877 2016-05-21  Paul Eggert  <eggert@cs.ucla.edu>
130879         Prefer SOCK_NONBLOCK to O_NONBLOCK
130881         * src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined.
130882         (connect_network_socket): Create the socket with SOCK_NONBLOCK, to
130883         avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works.  Put the
130884         SOCK_DGRAM check a bit later, to keep the logic cleaner, as
130885         the order does not matter here.
130887 2016-05-21  Alan Third  <alan@idiocy.org>
130889         Fix bug#16856, cursor leaves garbage in fringe on OS X.
130891         * src/nsterm.m (ns_draw_window_cursor): Prevent the cursor from
130892         being drawn outside the text area.
130894 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
130896         Fix compiler warnings in the MinGW build
130898         * configure.ac [mingw32]: Don't add -Wpointer-sign, and add
130899         -Wno-pointer-sign, to keep the noise level down.
130901         * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
130902         -Wredundant-decls, as that produces a lot of noise due to
130903         redeclaration of time-related functions by gnulib.
130904         * nt/runemacs.c (set_user_model_id): Fix argument type of
130905         'SetCurrentProcessExplicitAppUserModelID'.
130907         * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
130908         declare 'dpyinfo', as it is unused.
130909         (xpm_load): Fix warnings about pointer signedness.
130910         * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
130911         prototypes.
130912         (sys_spawnve): Avoid warnings about discarding 'const' qualifier.
130913         (sys_select): Provide prototype.
130914         (g_b_init_compare_string_w): Move declaration to file scope.
130915         * src/w32heap.c (dumped_data_commit): Now static.
130916         (FREEABLE_P): Avoid warnings about pointer comparison with integer.
130917         (mmap_realloc): Cast to 'char *' for arithmetics on void pointers.
130918         * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
130919         (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
130920         Provide prototypes.
130921         * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
130922         redundant prototypes.
130923         (w32_get_internal_run_time, map_w32_filename): Provide prototype.
130924         (init_environment, sys_ctime): Avoid warnings about discarding
130925         'const' qualifier.
130926         Include utimens.h.
130927         (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
130928         (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
130929         (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
130930         prototypes.
130931         (sys_rename_replace): Use %d to avoid compiler warnings.
130932         (_wsa_errlist): Make the message text 'const char *', to avoid
130933         compilation warnings.
130934         (dynlib_reset_last_error): Move prototype to file scope.
130935         (w32_get_resource): First argument is now 'const char *'.
130936         * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
130937         (otf_features): Second argument is no 'const char *'.
130938         * src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
130939         (x_set_window_size): Remove redundant prototypes.
130940         (XChangeGC, XGetGCValues, w32_draw_underwave)
130941         (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
130942         (x_calc_absolute_position, x_destroy_window): Now static.
130943         (menubar_selection_callback): Move prototype to file scope.
130944         * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
130945         declaration.
130946         (w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
130947         (w32font_full_name): Fix warnings about implicit conversion of
130948         'float' to 'double'.
130949         * src/w32reg.c (w32_get_rdb_resource): Fix warnings about
130950         discarding 'const' qualifier.
130951         * src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
130952         (set_frame_menubar): Remove redundant prototypes.
130953         (menubar_selection_callback, w32_menu_display_help): Provide
130954         prototypes.
130955         (simple_dialog_show): Avoid warnings about discarding 'const'
130956         qualifier.
130957         * src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
130958         (free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
130959         (x_set_tool_bar_lines, x_set_internal_border_width): Remove
130960         redundant prototypes.
130961         (current_popup_menu): Remove redundant declaration.
130962         (colormap_t): Member 'name' is now 'const char *'.
130963         (add_system_logical_colors_to_map): Fix signed/unsigned warnings.
130964         (x_decode_color, x_set_border_pixel)
130965         (x_clear_under_internal_border, x_set_name, hook_w32_key)
130966         (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
130967         static.
130968         (w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
130969         (w32_msg_worker, w32_last_error): Provide prototypes.
130970         (funhook, lookup_vk_code): Avoid warnings about missing
130971         parentheses.
130972         (x_default_font_parameter, Fw32_notification_notify): Avoid
130973         warnings about discarding 'const' qualifier.
130974         (Fx_create_frame): Avoid warnings about empty body of 'else'.
130975         (x_screen_planes): Ifdef away unused function.
130976         (Fx_show_tip): Remove unused variables.
130977         (Fw32_battery_status): Avoid warnings about implicit promotion
130978         from float to double.
130979         (Fw32_notification_notify): Initialize 'timeout'.
130980         * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
130981         define the TIMER_SETTIME_RUNNING value if it will be used.
130982         * src/w32notify.c (send_notifications): Ifdef away an empty if
130983         clause.  Remove unused variable.
130984         (watch_end, watch_completion): Provide prototypes.
130985         * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
130986         * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
130987         warning with pointer signedness.
130988         * src/gnutls.c (gnutls_x509_crt_get_signature)
130989         (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
130990         don't load them from the GnuTLS library, as they are no longer
130991         used.
130992         * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
130993         define, as it's unused.
130994         * src/unexw32.c (open_input_file, open_output_file)
130995         (close_file_data): Remove redundant prototypes.
130996         (_start): provide prototype.
130997         (mainCRTStartup): Move prototype to file level.
130998         (find_section): Use type-cast to shut up compiler warnings.
130999         (offset_to_section, relocate_offset): Now static.
131000         (find_section): First argument is now a 'const char *'.
131001         (offset_to_section): Ifdef away, as it's unused.
131002         * src/w32heap.h (find_section): Adjust prototype.
131003         * src/dynlib.c (dynlib_reset_last_error): Provide prototype.
131004         * src/dired.c (directory_files_internal_w32_unwind): Avoid
131005         warnings about missing prototypes.
131006         (is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
131007         (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
131008         signedness.
131009         * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
131010         Fix warnings about pointer signedness.
131011         * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
131012         unused.
131013         * src/sysdep.c (_getpid): Remove redundant prototype.
131014         (sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
131015         [!MSDOS]: Don't define 'st', it's unused.
131016         (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
131017         (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
131018         * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
131019         n_to_read, as it is not used.
131020         (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
131021         * src/w32font.h (syms_of_w32font): Remove redundant prototype.
131022         * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
131023         * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
131024         not used by DOS_NT builds, to avoid compiler warnings.
131025         * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
131026         declaration.
131027         * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
131028         up compiler warnings.
131029         * src/w32term.h (x_set_window_size, x_get_focus_frame)
131030         (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
131031         (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
131032         (x_free_frame_resources, x_real_positions)
131033         (display_x_get_resource): Remove redundant prototypes.
131035         * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
131036         (sys_rename, gettimeofday): Provide prototypes.
131037         * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
131038         declarations.
131039         * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
131040         (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
131041         (close_winsock, initialize_sockets, w32_set_user_model_id)
131042         (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
131043         prototypes.
131044         (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
131045         difference.
131046         (w32_set_user_model_id): Update prototype of
131047         SetCurrentProcessExplicitAppUserModelID to avoid compiler
131048         warnings.
131049         (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
131050         shut up compiler warnings.
131051         * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
131053 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
131055         Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode'
131057         * src/xdisp.c (move_it_in_display_line_to): Don't assume we can
131058         wrap on a whitespace character if it's followed by another
131059         whitespace character.  When returning under WORD_WRAP for a screen
131060         line that is continued, restore to wrap point when atpos/atx
131061         position would be displayed on the next screen line due to
131062         line-wrap.  (Bug#23570)
131064 2016-05-21  Puneeth Chaganti  <punchagan@muse-amuse.in>
131066         * lisp/svg.el (svg-create): Fix a typo: xmlsn -> xmlns.  (Bug#23589)
131068 2016-05-20  Andrew Hyatt  <ahyatt@gmail.com>
131070         Added tests for dos unibyte decoding.
131072         The underlying bug was previously fixed by Eli Zaretskii in commit
131073         c8109d9c4057d8cac79e2c139758cadd410e7446.
131075 2016-05-20  Philipp Stephani  <phst@google.com>
131077         Fix handling of ‘mouse-on-link-p’.
131079         If ‘mouse-on-link-p’ returns a string or vector, the first element
131080         is to be used as new event.  Translation to ‘mouse-2’ should only
131081         happen if the return value is not a string or vector.  See
131082         docstring of ‘mouse-on-link-p’ and Bug#23288.
131084         * lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
131085         value of ‘mouse-on-link-p’ according to documentation.
131087         * test/lisp/mouse-tests.el (bug23288-use-return-value)
131088         (bug23288-translate-to-mouse-2): Tests for Bug#23288.
131090 2016-05-20  Daiki Ueno  <ueno@gnu.org>
131092         epg: Add a way to detect gpg1 executable for tests
131094         Fixes bug#23561.
131096         * test/automated/epg-tests.el
131097         (epg-tests-program-alist-for-passphrase-callback): New
131098         constant.
131099         (epg-tests-find-usable-gpg-configuration): New function,
131100         renamed from `epg-tests-gpg-usable'.  All callers changed.
131101         (epg-tests-gpg-usable): Remove.
131103         * lisp/epg-config.el (epg-config--program-alist): Factor out
131104         constructor element to...
131105         (epg-config--configuration-constructor-alist): ...here.
131106         (epg-find-configuration): Rename FORCE argument to NO-CACHE,
131107         and add PROGRAM-ALIST argument.
131109 2016-05-19  Mark Oteiza  <mvoteiza@udel.edu>
131111         Put point at beginning of display-time-world buffer.
131113         If display-time-world decides to popup vertically from the bottom of the
131114         frame and scroll-margin is nonzero, the top of the buffer contents are
131115         hidden due to scroll.
131116         * lisp/time.el (display-time-world-display): Move point to point-min
131117         after inserting contents.
131119 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
131121         Allow null entries in face and image cache
131123         Problem reported by Tino Calancha (Bug#23580).
131124         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID):
131125         Don’t assume that the result is non-null.
131126         * src/xdisp.c (fill_image_glyph_string):
131127         Restore check that image pointer is non-null.
131129 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
131131         Fix flyspell highlighting
131133         Problem reported by Jim Meyering (Bug#23575).
131134         * src/xdisp.c (extend_face_to_end_of_line):
131135         Fix typo in previous change.
131137 2016-05-18  Eli Zaretskii  <eliz@gnu.org>
131139         * lisp/server.el (server-name): Add autoload cookie.  (Bug#23576)
131141 2016-05-18  Sam Steingold  <sds@gnu.org>
131143         python-describe-at-point: add and bind
131145 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
131147         ‘make check-declare’ now chatters less
131149         * etc/NEWS: Document this.
131150         * lisp/emacs-lisp/check-declare.el (check-declare-locate):
131151         Return relative names, not absolute.
131152         (check-declare-scan, check-declare-verify, check-declare-warn)
131153         (check-declare-file, check-declare-directory):
131154         Generate less chatter.  Use relative file names rather than
131155         absolute.  Don’t give up on computing a good file name for a
131156         diagnostic merely because the function name was bad.  Make
131157         malformed declarations more noticeable.  Don’t warn about
131158         "ext:..." declarations if check-declare-ext-errors is nil.
131159         (check-declare-errmsg): Remove.
131160         (check-declare-warn): New optional arg LINE.
131161         (check-declare-files): Put status into mode line rather than
131162         chattering.
131164 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
131166         Pacify byte-compiler for byte-compile-macroexpand-declare-function
131168         * lisp/emacs-lisp/bytecomp.el: Change signature of
131169         byte-compile-macroexpand-declare-function to match that of
131170         declare-function.
131172 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
131174         Pacify byte-compiler for with-wrapper-hook
131176         * lisp/subr.el (subr--with-wrapper-hook-no-warnings):
131177         New macro, split out from with-wrapper-hook.
131178         * lisp/abbrev.el (abbrev--default-expand):
131179         * lisp/minibuffer.el (completion--in-region):
131180         * lisp/simple.el (buffer-substring--filter):
131181         * lisp/subr.el (with-wrapper-hook):
131182         Use it.
131184 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
131186         Pacify byte-compiler in lisp/url
131188         * lisp/url/url-misc.el, lisp/url/url-file.el (mm-disable-multibyte):
131189         Add decl.
131191 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
131193         Port --enable-gcc-warnings to GCC 6.1
131195         * configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
131196         * lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
131197         Omit test whether pointer plus a constant equals a null pointer.
131198         * src/alloc.c (compact_small_strings):
131199         Avoid pointer arithmetic on null pointers.
131200         * src/alloc.c (mark_face_cache):
131201         * src/fontset.c (free_realized_fontsets, Fset_fontset_font):
131202         * src/fringe.c (draw_fringe_bitmap_1)
131203         (Fset_fringe_bitmap_face):
131204         * src/macfont.m (macfont_draw):
131205         * src/msdos.c (IT_set_face, IT_clear_screen):
131206         * src/nsfont.m (nsfont_draw):
131207         * src/nsterm.h (FRAME_DEFAULT_FACE):
131208         * src/nsterm.m (ns_draw_window_cursor)
131209         (ns_draw_vertical_window_border, ns_draw_window_divider)
131210         (ns_dumpglyphs_box_or_relief)
131211         (ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
131212         (ns_dumpglyphs_stretch):
131213         * src/w32term.c (w32_draw_vertical_window_border)
131214         (w32_draw_window_divider, x_set_mouse_face_gc):
131215         * src/xdisp.c (estimate_mode_line_height, init_iterator)
131216         (handle_face_prop, handle_single_display_spec, pop_it)
131217         (CHAR_COMPOSED_P, get_next_display_element)
131218         (next_element_from_display_vector, extend_face_to_end_of_line)
131219         (fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
131220         * src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
131221         (lookup_named_face):
131222         * src/xterm.c (x_draw_vertical_window_border)
131223         (x_draw_window_divider, x_set_mouse_face_gc):
131224         Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
131225         * src/xterm.c (try_window_id):
131226         Redo loop to convince GCC 6.1 that it is null pointer safe.
131227         (x_color_cells):
131228         Use eassume as necessary to pacify GCC 6.1.
131229         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
131230         (FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
131231         behavior of the non-_OPT macro, to be used when the result
131232         might be a null pointer.
131233         * src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
131234         [HAVE_WINDOW_SYSTEM]:
131235         * src/intervals.h (INTERVAL_WRITABLE_P):
131236         * src/term.c (turn_off_face):
131237         * src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
131238         (produce_image_glyph, produce_xwidget_glyph):
131239         * src/xfaces.c (lookup_named_face):
131240         Remove unnecessary test for null pointer.
131241         * src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
131242         * src/process.c (would_block): New function.
131243         (server_accept_connection, wait_reading_process_output, send_process):
131244         Use it.
131245         * src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
131246         Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
131247         might be null.
131249 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
131251         Sync from gnulib
131253         This incorporates:
131254         2016-05-17 manywarnings: update for GCC 6.1
131255         2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit
131256         * m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib.
131258 2016-05-16  Glenn Morris  <rgm@gnu.org>
131260         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
131261         Include more details on hydra.
131263 2016-05-16  Alan Mackenzie  <acm@muc.de>
131265         Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master
131267 2016-05-16  Alan Mackenzie  <acm@muc.de>
131269         Fix spurious fontification of "for (; a * b;)" in CC Mode.
131271         This fixes bug #7918 (again).
131273         * lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
131274         (c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
131275         cons cell - additionally, return a flag indicating whether the declaration
131276         parsed might have been an expression, and the position of the type identifier
131277         in the said declaration.
131279         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
131280         c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
131281         check for it being a spurious declaration in a "for" statement.
131283 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
131285         Pacify ‘make check-declare’
131287         * lisp/cedet/srecode/insert.el (data-debug-new-buffer)
131288         (data-debug-insert-stuff-list, data-debug-insert-thing):
131289         * lisp/emulation/viper-ex.el (viper-change-state-to-vi)
131290         (viper-change-state-to-emacs):
131291         * lisp/emulation/viper-macs.el (viper-change-state-to-vi):
131292         * lisp/org/ob-asymptote.el (orgtbl-to-generic):
131293         * lisp/org/ob-awk.el (orgtbl-to-generic):
131294         * lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
131295         * lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
131296         * lisp/org/ob-exp.el (org-element-context):
131297         * lisp/org/ob-gnuplot.el (org-time-string-to-time)
131298         (orgtbl-to-generic):
131299         * lisp/org/ob-haskell.el (org-export-to-file):
131300         * lisp/org/ob-latex.el (org-create-formula-image)
131301         (org-latex-compile):
131302         * lisp/org/ob-python.el (run-python):
131303         * lisp/org/ob-sh.el (orgtbl-to-generic):
131304         * lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
131305         * lisp/org/org-colview.el (org-agenda-redo):
131306         * lisp/org/org-feed.el (url-retrieve-synchronously):
131307         * lisp/org/org-info.el (Info-find-node):
131308         * lisp/org/org-list.el (org-previous-line-empty-p):
131309         * lisp/org/org-macs.el (org-string-match-p):
131310         * lisp/org/org.el (org-beamer-mode):
131311         Fix prototype to match current definition.
131312         * lisp/emacs-lisp/advice.el (function-called-at-point):
131313         * lisp/progmodes/prolog.el (compilation-shell-minor-mode):
131314         Fix typo: extra '.
131315         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
131316         Insert ,' to pacify check-declare.
131317         * lisp/org/ob-comint.el (tramp-flush-directory-property):
131318         * lisp/org/ob-tangle.el (org-babel-update-block-body):
131319         * lisp/org/org-bibtex.el (org-babel-trim):
131320         * lisp/org/org-pcomplete.el (org-export-backend-options):
131321         * lisp/org/org-protocol.el (org-publish-get-project-from-filename):
131322         Fix file name in declare-function.
131323         * lisp/org/ob-comint.el (with-parsed-tramp-file-name)
131324         * lisp/org/ob-core.el (with-parsed-tramp-file-name):
131325         * lisp/org/org.el (org-beamer-mode):
131326         * lisp/url/url-http.el (gnutls-negotiate):
131327         Append ‘t’ to declare-function, since the declaration isn’t a defun.
131328         * lisp/org/ob-core.el (show-all):
131329         Declare outline-show-all instead, since it is the
131330         non-obsolete version of this function.
131331         (org-save-outline-visibility): Remove; not needed.
131332         * lisp/org/ob-scheme.el (run-geiser, geiser-mode)
131333         (geiser-eval-region, geiser-repl-exit):
131334         * lisp/org/ox-org.el (htmlize-buffer):
131335         Prepend "ext:" to file name, since it is not part of Emacs.
131336         * lisp/org/ob-sh.el (org-babel-comint-in-buffer)
131337         * lisp/org/org-gnus.el (nnimap-group-overview-filename):
131338         Remove decl, since function was removed.
131339         * lisp/org/ob-sh.el (org-babel-comint-with-output):
131340         * lisp/org/org-macro.el (org-with-wide-buffer):
131341         Omit unnecessary (and mismatching) decl.
131342         * lisp/org/org-agenda.el (calendar-absolute-from-iso):
131343         * lisp/org/org-clock.el (calendar-iso-to-absolute):
131344         Declare calendar-iso-to-absolute instead, since it is the
131345         non-obsolete version of this function.
131346         * lisp/org/org-compat.el (w32-focus-frame):
131347         Remove decl, since function is now obsolete.
131349 2016-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
131351         :max-width/height fixes for shr after the scaling changes
131353         * lisp/net/shr.el (shr-rescale-image): Ensure that we respect
131354         max-width and max-height even after the scaling changes done
131355         earlier this year.
131357 2016-05-14  Eli Zaretskii  <eliz@gnu.org>
131359         Fix reading minibuffer input in viper-mode
131361         * lisp/emulation/viper-cmd.el (viper-read-string-with-history):
131362         Restore an assignment to viper-initial that got lost when
131363         viper-cmd.el was switched to lexical-binding.  (Bug#23536)
131365 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
131367         Port autogen.sh to Git 2.4
131369         Problem reported by Michael Brand in:
131370         https://lists.gnu.org/r/emacs-devel/2016-05/msg00367.html
131371         * autogen.sh (git_config): Don't assume that git rev-parse
131372         groks --git-common-dir.
131374 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
131376         Merge from origin/emacs-25
131378         6de0715 Properly reject malformed or empty package sigs
131379         edae7d9 Remove buggy non-native image scrolling
131381 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
131383         Improve display of tex-verbatim and Info quoted
131385         Problem reported by Glenn Morris (Bug#19889).
131386         * doc/emacs/display.texi (Standard Faces):
131387         * doc/lispref/display.texi (Basic Faces):
131388         * etc/NEWS: Mention fixed-pitch-serif.
131389         * lisp/faces.el (face-font-family-alternatives):
131390         New family alias Monospace Serif.
131391         (fixed-pitch-serif): New face, which uses the new family.
131392         * lisp/info.el (Info-quoted):
131393         * lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face.
131394         * test/lisp/legacy/font-parse-tests.el (font-parse-tests--data):
131395         Add test case for Monospace Serif.
131397 2016-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
131399         * lisp/net/sieve-mode.el: Handle the text:... notation
131401         Get rid of redundant :group keywords.
131402         (sieve-mode-syntax-table): Move initialization into declaration.
131403         (sieve-syntax-propertize, sieve-syntax-propertize-text): New functions.
131404         (sieve-mode): Use them.
131406 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
131408         Tweak check-declare-directory performance
131410         * lisp/emacs-lisp/check-declare.el (check-declare-directory):
131411         Use ‘find ... -exec ... +’ for speed.
131413 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
131415         Sync from gnulib
131417         This incorporates a spelling fix, plus:
131418         2016-05-09 Fix undefined behavior in gettext.h
131419         * lib/gettext.h, lib/mktime.c:
131420         Copy from gnulib.
131422 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
131424         Merge from origin/emacs-25
131426         9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib.
131427         66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
131428         1a5a05c Do not mistake colon at the end of regexp for slash symbol
131429         4c5a00b Make package-install-from-buffer not move point
131430         9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
131431         f79c352 Redo the fix for bug#21839
131432         8d2f78c Don't treat JS spread as continuation method call
131434 2016-05-12  Chris Feng  <chris.w.feng@gmail.com>
131436         Correct server/client address
131438         * src/process.c (Fmake_network_process): :local is for servers and :remote
131439         is for clients.
131441 2016-05-12  Ken Brown  <kbrown@cornell.edu>
131443         Autosave buffers on logout if HAVE_NTGUI
131445         * src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to
131446         w32_read_socket.
131448         * src/w32term.c (w32_read_socket): Create an event of type
131449         END_SESSION_EVENT if a WM_ENDSESSION message is received.
131451         * src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT.
131453         * src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol
131454         `end-session'.
131455         (kbd_buffer_get_event): Return an end-session event if an event of
131456         type END_SESSION_EVENT is read.
131457         (keys_of_keyboard): Bind the end-session event to kill-emacs in
131458         special-event-map.  (Bug#23483)
131460 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
131462         * lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars
131464         * lisp/cedet/semantic/db-el.el: Use _ to mark unused vars.
131465         (object-print): Use cl-call-next-method instead of call-next-method.
131466         * lisp/cedet/semantic/symref.el: Use _ to mark unused vars.
131468 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
131470         * lisp/cedet/semantic: Silence some warnings
131472         * lisp/cedet/semantic/db-el.el (emacs-lisp-mode)
131473         (semanticdb-get-database-tables): Use make-instance to silence warnings.
131475         * lisp/cedet/semantic/symref.el: Require semantic/find since we use
131476         some macros from there.  Silence compilation warnings:
131477         Replace initargs with slot names in oref/oset.
131478         Move `SYMREF TOOLS' section earlier so definitions precede their use.
131480 2016-05-12  Lars Ingebrigtsen  <larsi@gnus.org>
131482         Support srcset in <img>
131484         * lisp/net/shr.el (shr--preferred-image): Allow <img> tags
131485         with srcset specifiers (bug#23459).
131487 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
131489         Do not autoload some functions of tramp.el
131491         * lisp/net/tramp.el (tramp-completion-file-name-handler):
131492         Autoload a shortened version of this function, avoid recursive load.
131493         (tramp-completion-file-name-handler-alist)
131494         (tramp-completion-mode-p)
131495         (tramp-completion-handle-expand-file-name)
131496         (tramp-completion-handle-file-name-all-completions)
131497         (tramp-completion-handle-file-name-completion): Do not autoload.
131499 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
131501         Avoid recursive load of tramp.el
131503         * lisp/net/tramp.el (tramp-completion-file-name-handler):
131504         Autoload a shortened version of this function, avoid recursive load.
131506 2016-05-11  Michael Albinus  <michael.albinus@gmx.de>
131508         Fix a problem of tramp-tests on hydra.
131510         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
131511         Nullify `tramp-default-method' due to hydra.
131513 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
131515         Pacify byte-compiler in lisp/vc
131517         * lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el:
131518         * lisp/vc/vc-rcs.el, lisp/vc/vc-src.el:
131519         Declare functions defined elsewhere, to forestall “might not
131520         be defined at runtime” warnings.
131522 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
131524         Merge from origin/emacs-25
131526         d0d9f55 Allow newlines inside cl function arglists
131527         963541a Publicize cl--generic-all-functions
131528         3c581d5 ; Fix typo
131529         e58f900 Add some "safe-local-variable" declarations for compatibility...
131531 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
131533         'text-quoting-style' now affects only ` and '
131535         Change 'text-quoting-style' so that it no longer affects
131536         formatting of curved quotes in format arguments to functions like
131537         'message'.  In particular, when this variable's value is 'grave',
131538         all quotes in formats are output as-is.
131539         * doc/lispref/help.texi (Keys in Documentation):
131540         * doc/lispref/strings.texi (Formatting Strings):
131541         * doc/lispref/tips.texi (Documentation Tips):
131542         * etc/NEWS:
131543         * src/doc.c (syms_of_doc): Document this.
131544         * lisp/help-fns.el (describe-function-1):
131545         * src/doc.c (text_quoting_style, Fsubstitute_command_keys)
131546         (syms_of_doc):
131547         * src/editfns.c (styled_format): Omit now-unnecessary code.
131548         * src/lisp.h (LEAVE_QUOTING_STYLE): Remove.
131550 2016-05-10  Alan Mackenzie  <acm@muc.de>
131552         Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."
131554         This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556.  It is
131555         being reverted because it slowed down CC Mode's fontification too much
131556         (factor ~3).  It was the fix to bug #7918.
131558 2016-05-09  Lars Ingebrigtsen  <larsi@gnus.org>
131560         Move "Recent messages" earlier in report-emacs-bug
131562         * lisp/mail/emacsbug.el (report-emacs-bug): Move the "Recent
131563         messages" part earlier so that users can see it and remove it
131564         if they want.
131566 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
131568         Pacify byte compiler in tramp.el
131570         * lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'.
131572 2016-05-09  Paul Eggert  <eggert@cs.ucla.edu>
131574         Merge from origin/emacs-25
131576         3b47898 Fix doc string in `insert'
131577         b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins...
131578         cd27f73 Say 'All results processed' at the end
131579         4ffec91 Document automatic adjustment of process' logical window dime...
131580         dc66271 ; Fix typos and stylistic glitches in NEWS
131582 2016-05-09  Alan Mackenzie  <acm@muc.de>
131584         CC Mode now uses the new :after-hook feature of define-derived-mode
131586         It now runs internal variable setting functions after the mode hooks, no
131587         longer runs the mode hooks twice, and declares the configuration variables for
131588         noise macros and macros with semicolons as safe variables (when given suitable
131589         arguments).
131591         Fixes bug #16759 and bug #23476.
131593         * .dir-locals.el: Put the c-noise-macros-with-paren-names setting
131594         back into the C Mode value.
131596         * lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
131597         c-make-macro-with-semi-re.
131598         (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
131599         c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
131600         and c-update-modeline into the :after-hook form.  Remove the explicit settings
131601         of the syntax table, the abbreviation table and the local key map, since they
131602         duplicate forms generated by define-derived-mode.  Remove the explicit
131603         invocation of each mode's mode hook, since they duplicate ones generated by
131604         define-derived-mode.
131606         * lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
131607         functions.
131608         (c-noise-macro-names, c-noise-macro-with-parens-names): give the
131609         save-local-variable property c-string-list-p.
131610         (c-macro-names-with-semicolon): give the save-local-variable property
131611         c-string-or-string-list-p.
131613         * doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
131614         necessary to call the regexp generating functions after setting the pertinent
131615         configuration values in a mode hook.
131617 2016-05-09  Dmitry Gutov  <dgutov@yandex.ru>
131619         Fix the jit-lock-fontify-now test names
131621         * test/lisp/jit-lock-tests.el
131622         (jit-lock-fontify-now-mends-the-gaps)
131623         (jit-lock-fontify-now-does-not-refontify-unnecessarily):
131624         Fix the test names.
131626 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
131628         Extend completion candidates in tramp.el
131630         * lisp/net/tramp.el (tramp-parse-default-user-host): New defun.
131631         (tramp-get-completion-function): Use it.
131633 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
131635         Revert e2f785991d0c696fbb2bc2f331f888d979b8da82 for tramp.el
131637         * lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards
131638         compatibility.
131640 2016-05-08  Dmitry Gutov  <dgutov@yandex.ru>
131642         Emulate interactive mode
131644         * test/lisp/jit-lock-tests.el (jit-lock-tests--setup-buffer)
131645         (jit-lock-does-not-refontify-unnecessarily):
131646         Bind noninteractive to nil (bug#23278).
131648 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
131650         Simplify now that float-time etc. are built-in
131652         This was prompted by warnings about calls to now-obsolete functions.
131653         * lisp/calendar/time-date.el (encode-time-value):
131654         Use setq rather than a recursive call, to avoid a warning
131655         about calling this obsolete function.
131656         * lisp/calendar/time-date.el (encode-time-value)
131657         (with-decoded-time-value, time-to-seconds, time-to-number-of-days):
131658         * lisp/erc/erc.el (erc-emacs-time-to-erc-time):
131659         * lisp/net/rcirc.el (rcirc-float-time):
131660         * lisp/org/org-compat.el (org-float-time):
131661         Simplify now that time-add and float-time are now built-in.
131662         * lisp/calendar/time-date.el (time-add, time-subtract, time-less-p):
131663         * lisp/net/newst-backend.el (time-add):
131664         * lisp/org/org.el (time-subtract):
131665         Remove backward-compatibility definitions; they are now built-in.
131666         * lisp/calendar/timeclock.el (timeclock-time-to-seconds)
131667         (timeclock-seconds-to-time):
131668         * lisp/net/rcirc.el (rcirc-float-time):
131669         * lisp/org/org-compat.el (org-float-time):
131670         Now obsolete, since callers can just use float-time and
131671         seconds-to-time.  All uses changed.
131672         * lisp/emacs-lisp/ert.el (ert-results-pop-to-timings):
131673         * lisp/gnus/gnus-art.el (article-lapsed-string):
131674         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
131675         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
131676         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
131677         * lisp/net/tramp.el (tramp-time-diff):
131678         * lisp/org/org-clock.el (org-clock-timestamps-change):
131679         Prefer the time-subtract builtin to the subtract-time alias.
131680         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
131681         * test/lisp/character-fold-tests.el (character-fold--speed-test):
131682         Prefer the float-time builtin to the time-to-seconds alias.
131683         * lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el:
131684         * lisp/org/org-timer.el, lisp/org/org.el:
131685         Adjust to org-float-time deprecation.
131687 2016-05-08  Alan Mackenzie  <acm@muc.de>
131689         Add :after-hook facility to define-derived-mode.
131691         This allow a form to be evaluated _after_ a major mode's hooks have been run.
131692         It is needed to solve some problems in CC Mode, including bug #16759 and
131693         bug #23476.
131695         * lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument
131696         `:after-hook', and generate the requisite code for it.
131697         (derived-mode-make-docstring): Take account of the possibility of :after-hook.
131699         * lisp/subr.el (delayed-after-hook-forms): New variable.
131700         (run-mode-hooks): As the last thing evaluate the forms in
131701         delayed-after-hook-forms.
131703         * doc/lispref/modes.texi (Derived Modes): Document :after-hook.
131704         (Mode Hooks): Document the new feature in run-mode-hooks.
131706         * etc/NEWS: Note the new feature.
131708 2016-05-08  Michael Albinus  <michael.albinus@gmx.de>
131710         Fix recursive load of tramp.elc
131712         * lisp/net/tramp.el (tramp-completion-file-name-handler):
131713         Check also for `tramp-completion-mode-p'.
131714         (tramp-completion-mode, tramp-completion-mode-p): Autoload them.
131716 2016-05-07  Paul Eggert  <eggert@cs.ucla.edu>
131718         Prefer grep -E/-F to egrep/fgrep
131720         POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
131721         withdrew them in SUSv3 (2001), and these days grep -E and grep -F
131722         are probably more portable.
131723         * lib-src/etags.c (main):
131724         * lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
131725         (eshell/fgrep):
131726         * lisp/cedet/semantic/symref.el (semantic-symref-find-text):
131727         * lisp/eshell/esh-var.el (eshell-apply-indices):
131728         * lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
131729         (ada-find-in-src-path):
131730         * lisp/textmodes/ispell.el (ispell-grep-command):
131731         (ispell-lookup-words):
131732         Use or document grep -E and grep -F instead of egrep and fgrep.
131733         * lisp/textmodes/ispell.el (ispell-grep-options):
131734         Use -Ei on all platforms, not just MS-Windows.
131736 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
131738         Avoid unnecessary work if a chunk is empty
131740         * lisp/jit-lock.el (jit-lock-fontify-now): Avoid unnecessary work
131741         if a chunk is empty (bug#23278).
131743 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
131745         * test/lisp/jit-lock-tests.el: New file.
131747 2016-05-07  Michael Albinus  <michael.albinus@gmx.de>
131749         Continue to fix Bug#10085
131751         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist)
131752         <expand-file-name>: Add handler.
131753         (tramp-completion-handle-expand-file-name): New defun.
131754         (tramp-handle-file-name-as-directory): Handle completion mode case.
131756         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
131757         Fix test.
131758         (tramp-test24-file-name-completion): Extend test.
131760 2016-05-07  Alan Mackenzie  <acm@muc.de>
131762         Revert change 8e4595a... due to annoyance it causes the development team.
131764         Change 8e4595a438fe85dd109756886cdeaeea2e665afb from 2016-04-30 17:28:24
131765         +0000 was an enhancement to .dir-locals to allow correct fontification
131766         of certain macro constructs.
131768         * .dir-locals.el: Remove the two forms for C Mode dealing with noise macros.
131770 2016-05-07  Alan Mackenzie  <acm@muc.de>
131772         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): Give it a version number.
131774 2016-05-07  Simen Heggestøyl  <simenheg@gmail.com>
131776         Add tests for CSS mode completion
131778         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values)
131779         (css-test-property-values-no-duplicates)
131780         (css-test-value-class-lookup): Use `seq-sort'.
131781         (css-mode-tests--completions): New helper function for retrieving CSS
131782         completions.
131783         (css-test-complete-bang-rule, scss-test-complete-bang-rule)
131784         (css-test-complete-property-value, css-test-complete-pseudo-class)
131785         (css-test-complete-pseudo-element, css-test-complete-at-rule)
131786         (scss-test-complete-at-rule, css-test-complete-property)
131787         (css-test-complete-selector, css-test-complete-nested-selector)
131788         (scss-test-complete-nested-selector): New tests.
131790 2016-05-06  Alan Mackenzie  <acm@muc.de>
131792         Add an option in Edebug to prevent pauses after `h', 'f', and `o'.
131794         Requested by Paul Pogonyshev.  Also add in documentation for Edebug config
131795         variables which was missing.
131797         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): New customizable option.
131798         (edebug--display-1): Test edebug-sit-on-break before pausing 1 second.
131800         * doc/lispref/edebug.texi (Jumping): Document the effect of the new option.
131801         (Edebug Options): Document the new option.  Also add documentation for
131802         edebug-eval-macro-args, edebug-print-length, edebug-print-level,
131803         edebug-print-circle, edebug-sit-for-seconds.
131805         * etc/NEWS: Note the new feature.
131807 2016-05-07  Jorgen Schaefer  <contact@jorgenschaefer.de>
131809         scheme.el: Turn literal tabs into \t
131811         * lisp/progmodes/scheme.el: The last change to turn tabs into spaces
131812         also caught some literal tabs in character classes. Fix this by
131813         adding \t to those classes.
131815 2016-05-07  Tino Calancha  <f92capac@gmail.com>
131817         Make 'backtab' work in table-mode on text terminals
131819         * lisp/textmodes/table.el (table-cell-bindings): Bind 'backtab'
131820         explicitly.  (Bug#23456)
131822 2016-05-07  Eli Zaretskii  <eliz@gnu.org>
131824         Try to speed-up display of many all-blank lines
131826         * src/bidi.c (bidi_initialize): Use anchored regexps for
131827         paragraph start and paragraph separator sequences.  (Bug#23457)
131829 2016-05-06  Alan Mackenzie  <acm@muc.de>
131831         Correct hack-local-variables change from Thu May 5 11:05:49 2016 +0000
131833         Prevent hack-local-variables being called from the fundamental-mode mode call
131834         early in normal-mode.  This fixes bug #23460 and bug #23463.
131836         * lisp/files.el (normal-mode) Replace call to fundamental-mode with calls to
131837         the things it calls, with the exception of hack-local-variables.
131839         * etc/NEWS: Add an entry to note the calling of hack-local-variables at each
131840         major mode initialization.
131842 2016-05-06  Paul Eggert  <eggert@cs.ucla.edu>
131844         Port xref-tests to master branch
131846         Also, add a test to make this problem less likely in the future.
131847         * test/Makefile.in (check-no-automated-subdir): New rule.
131848         (check, check-expensive, check-maybe): Depend on it.
131849         * test/automated/data/xref/file1.txt: Rename to ...
131850         * test/data/xref/file1.txt: ... here.
131851         * test/automated/data/xref/file2.txt: Rename to ...
131852         * test/data/xref/file2.txt: ... here.
131853         * test/automated/xref-tests.el: Rename to ...
131854         * test/lisp/progmodes/xref-tests.el: ... here.
131855         (xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.
131857 2016-05-05  Paul Eggert  <eggert@cs.ucla.edu>
131859         Merge from origin/emacs-25
131861         50650cb Doc fixes for fclist and grep
131862         5e814e0 Minor doc fixes for quoting
131863         3347a73 `nreverse' the marker pairs list
131864         1a4127d Use save-excursion in xref-location-marker more
131865         ab3ba91 shell-quote-argument DIR when appropriate
131866         922c7a3 Rework xref-query-replace-in-results
131867         3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
131868         0932b94 Fix todo-mode bug involving archived items (bug#23447)
131869         e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
131870         adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
131871         4d8fd9c Handle "empty line" regexp in xref searches
131872         f559b37 Add tests for xref-collect-matches
131873         6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
131874         6f82d8e Clear buffer-undo-list when showing xrefs
131875         c68a091 Note the quote translation in `message' in section "incompati...
131876         52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
131877         93703c5 (Common Keywords): Correct what missing :group means
131878         79e5800 Improve documentation of Dired's 'A' and 'Q' commands
131879         2ea2a2f Doc fixes for quoting
131880         8544b98 posnp doc clarification
131881         805204f Mention what a missing :group does
131882         ec554d7 Fix documentation of dired-aux search/replace commands
131884 2016-05-05  Simen Heggestøyl  <simenheg@gmail.com>
131886         Support completion of HTML tags in CSS selectors
131888         * lisp/textmodes/css-mode.el (css--html-tags): New variable holding a
131889         list of HTML tags for completion.
131890         (css--nested-selectors-allowed): New variable for determining whether
131891         nested selectors are allowed in the current mode.
131892         (css--complete-selector): New function for completing part of a CSS
131893         selector.
131894         (css-completion-at-point): Support completion of selectors.
131895         (scss-mode): Allow nested selectors.
131897 2016-05-05  Lars Ingebrigtsen  <larsi@gnus.org>
131899         Make `R' in eww work more reliably
131901         * lisp/net/eww.el (eww-score-readability): Protect against
131902         null children.
131904 2016-05-05  Alan Mackenzie  <acm@muc.de>
131906         Call hack-local-variables from major modes rather than from file visiting
131908         This prevents file/directory local variables from being lost when the major
131909         mode is set or changed.
131911         This fixes bug #15577 and bug #23407.
131913         * lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode
131914         function hasn't already done so.
131915         (hack-local-variables): Rename parameter `mode-only' to `handle-mode', make
131916         its previous non-nil setting be t, and introduce the following action for a
131917         non-nil non-t value: apply all settings apart from `mode'.
131919         * lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers
131920         which are visiting files.
131922         * doc/emacs/custom.texi (File Variables): Note that setting a major mode also
131923         sets file variables.
131924         (Directory Variables): Note that `mode', `eval', and `unibyte' can be set as
131925         dir local variables, but `coding' can't.
131927         * doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks'
131928         also calls `hack-local-variables'.
131929         (Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables',
131930         as from 25.2.  Remove vagueness from `normal-mode' and `set-auto-mode' by
131931         saying that the mode IS SET, not merely "selected" or "chosen".
131932         (Mode Hooks): Document change to `run-mode-hooks'.
131934         * doc/lispref/variables.texi (File Local Variables): Document change to
131935         `hack-local-variables'.
131937 2016-05-05  Michael Albinus  <michael.albinus@gmx.de>
131939         tramp-sh.el: Work around a stat bug
131941         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use
131942         stat versions which produce shell quoted output.  See also
131943         coreutils Bug#23422.
131945 2016-05-04  Noam Postavsky  <npostavs@gmail.com>
131947         Fix autogen.sh for separate worktrees
131949         * autogen.sh: Use the $hooks variable in the $sample_hooks loop, instead
131950         of assuming .git/hooks is a directory.
131952 2016-05-04  Alan Mackenzie  <acm@muc.de>
131954         Allow `text-quoting-style' to be `leave', i.e. no translation of quotes.
131956         * lisp/help-fns.el (describe-function-1): Don't set coding system to UTF-8
131957         when text-quoting-style is `leave'.
131959         * src/lisp.h (enum text_quoting_style): Add identifier LEAVE_QUOTING_STYLE.
131961         * src/doc.c (syms_of_doc): New symbol "leave".  Amend doc string of
131962         `text_quoting_style'.
131963         (text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE.
131964         (Fsubstitute_command_keys): Don't translate quotes when quoting_style is
131965         LEAVE_QUOTING_STYLE.
131967         * src/editfns.c (styled_format): Set quoting_style to -1 when
131968         text-quoting-style is `leave'.
131970 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
131972         * lisp/emulation/viper.el:
131973         * lisp/emulation/viper-cmd.el: Use lexical-binding.
131974         (viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy
131975         args, for use in advice-add.
131976         (viper--init-message): Rename from init-message.
131977         (viper-minibuffer-standard-hook): Adjust accordingly.
131978         (viper-undo): Remove unused var `modified'.
131979         (viper-read-string-with-history, viper-set-searchstyle-toggling-macros):
131980         Don't use dynamic vars as args.
131981         (viper-submit-report): Clarify use of dynamic vars.
131983         * lisp/emulation/viper.el: Use lexical-binding and nadvice.
131984         Remove redundant :group keywords.  Group the (if viper-mode) at top-level.
131985         Use add-function rather than a `(lambda ...).
131986         (viper--advice-list): New var.
131987         (viper--advice-add, viper--deactivate-advice-list): New funs.
131988         (viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them.
131989         (viper-non-hook-settings): Don't hook into find-file any more.
131991 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
131993         * lisp/vc/ediff-util.el: Use lexical-binding.
131995         * lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line.
131997 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
131999         Add an animation sanity check
132001         * lisp/image.el (image-multi-frame-p): Give up on animations
132002         if it seems like they are too slow (bug#23431).
132004 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
132006         abbrev-tests.el fix
132008         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Don't check
132009         internal implementation detail.
132011 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
132013         (shr-rescale-image): Clarify logic slightly
132015         * lisp/net/shr.el (shr-rescale-image): Clarify logic slightly.
132017 2016-05-02  Martin Rudalics  <rudalics@gmx.at>
132019         Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2
132021         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
132022         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
132023         Monnier.  (Bug#19185, Bug#20398)
132025 2016-05-02  Lee Bochicchio  <lboc.home@gmail.com>
132027         Add more abbrev tests
132029         * test/lisp/abbrev-tests.el
132030         (clear-abbrev-table-test): Use `abbrev-expansion'
132031         (abbrev-table-empty-p-test, list-abbrevs-test)
132032         (prepare-abbrev-list-buffer-test, insert-abbrevs-test)
132033         (edit-abbrevs-test, define-abbrevs-test)
132034         (read-write-abbrev-file-test)
132035         (abbrev-edit-save-to-file-test): New tests (bug#23139).
132037 2016-05-02  Philipp Stephani  <p.stephani2@gmail.com>  (tiny change)
132039         Allow eval-ing named character literals
132041         * lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
132042         named character literals.
132043         * test/lisp/progmodes/elisp-mode-tests.el
132044         (elisp--preceding-sexp--char-name): Add test for skipping over
132045         named character literals (bug#23354).
132047 2016-05-02  Aaron Conole  <aconole@redhat.com>
132049         Call va_end in boot_error
132051         * src/gnutls.c (boot_error): A recent change added a function
132052         to signal an error or return an error code. That function uses
132053         a variadic argument list to populate an error message
132054         string. However, it missed calling va_end after using the
132055         variadic argument list.
132057           Copyright-paperwork-exempt: yes
132059 2016-05-02  Aaron Conole  <aconole@bytheb.org>
132061         Fix the call to set_network_coding_system
132063         * src/process.c (Fmake_network_process): A recent commit
132064         modified the set_network_socket_coding_system function to take
132065         arguments host, service, and name. However, those arguments
132066         appear to be swapped.
132068           Copyright-paperwork-exempt: yes
132070 2016-05-02  Lars Ingebrigtsen  <larsi@gnus.org>
132072         Revert "alas, a map can have only one parent"
132074         This reverts commit d05806fda1cbba2db112bc783597fbe9d27175b2.
132076         This had already been fixed by using `make-composed-map'.  And
132077         we don't want image-map to inherit from special-mode-map, anyway.
132079 2016-05-02  Paul Eggert  <eggert@cs.ucla.edu>
132081         Merge from origin/emacs-25
132083         bf21c84 Fix quoting problem in cc-engine debug message
132084         8f36614 Add electric-quote-string unit test
132085         6280531 Don’t electrically quote ‘'’ in Python
132086         fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
132088 2016-05-02  Sam Steingold  <sds@gnu.org>
132090         alas, a map can have only one parent
132092         * lisp/image-mode.el (image-model-map): Cannot have two parents.
132093         * lisp/image.el (image-map): Inherit from `special-mode-map'.
132095 2016-05-02  Michael Albinus  <michael.albinus@gmx.de>
132097         Fix Bug#10085
132099         * lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
132100         Add optional arguments OPERATION and COMPETION.  Handle
132101         `file-name-as-directory', `file-name-directory' and
132102         `file-name-nondirectory' also in completion mode.
132103         (tramp-file-name-handler): Use it.  (Bug#10085)
132105         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
132106         Extend test.
132108 2016-05-01  Martin Rudalics  <rudalics@gmx.at>
132110         * src/minibuf.c (read_minibuf): Use CONSP instead of Fconsp.
132112 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
132114         Tweak .gitignore
132116         * .gitignore: Remove leim/changed.misc, leim/changed.tit,
132117         as these files are no longer created.  Add gmon.out, for
132118         -pg profiling.  Sort.
132120 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
132122         Sync from gnulib
132124         This incorporates:
132125         2016-05-01 mktime: port to stricter signed overflow checking
132126         2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks
132127         2016-05-01 mktime: resurrect DEBUG_MKTIME testing
132128         2016-05-01 mktime: simplify DEBUG_MKTIME
132129         2016-05-01 Port mktime_internal offset to unsigned time_t
132130         2016-04-27 xstrtol: prohibit monstrosities like "1bB"
132131         2016-04-13 mktime: improve integer overflow checking
132132         2016-04-13 intprops: check two's complement assumption
132133         2016-04-13 intprops, mktime, strtol: assume two's complement
132134         * lib/intprops.h, lib/mktime-internal.h, lib/mktime.c:
132135         * lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4:
132136         Copy from gnulib.
132138 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
132140         Merge from origin/emacs-25
132142         c695fb3 ; Spelling fixes
132143         03750c0 * doc/misc/texinfo.tex: Sync from gnulib.
132144         42fed3b * lisp/isearch.el (isearch-forward-symbol-at-point): Add isea...
132146 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
132148         Merge from origin/emacs-25
132150         d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’
132151         d38d2a8 Fix documentation of 'url-retrieve-synchronously'
132152         586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix.  (Bu...
132154         # Conflicts:
132155         #       doc/misc/url.texi
132156         #       lisp/url/url.el
132158 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
132160         Merge from origin/emacs-25
132162         16e5e8e Fix last change to isearch-update (bug#23406)
132163         b755d98 Autoload cursor-sensor-inhibit (bug#23406)
132164         b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
132165         86aa409 Followup for last commit in the user manual
132166         7004459 Improve doc string of 'set-goal-column'
132167         ccdaf04 Fix the MSDOS build
132168         ffe701c Remove \= from format string (bug#18190)
132169         1c58fa1 Fix variable-pitch font on MS-Windows
132170         c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
132171         b671e21 Revert unneeded change which harms syntactic parsing.  This f...
132172         48b24c9 Correct indentation of ids in a C++ enum after a protection k...
132173         5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
132174         734fb3a Port dumping to NetBSD with PaX
132175         0255a70 Don't mistake `for' inside a function for a part of array com...
132177         # Conflicts:
132178         #       src/Makefile.in
132180 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
132182         Merge from origin/emacs-25
132184         71fb0e0 Improve last change to vc-git-mode-line-string
132185         6858e77 Todo mode doc bug fix
132186         e55d0db Fix revision calculation in vc-git-mode-line-string
132187         ca87b34 ; Fix errant revert ccb75d7
132188         40bfebe Add Python 3.5 keyword "await"
132189         fa7886a Add new keywords of Python 3.5
132190         ccb75d7 Partially revert previous change.
132191         8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w...
132192         b09ca27 Say why text-quoting-style is not a user option
132194 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
132196         Merge from origin/emacs-25
132198         5a952eb Don't mention ~/.emacs.bmk literally in doc strings
132199         c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o...
132200         c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings
132202 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
132204         Mention the `find-library-name' changes
132206 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
132208         Fix text in menu in minor-mode-menu-from-indicator
132210         * lisp/mouse.el (minor-mode-menu-from-indicator): Don't
132211         capitalize "Off" in "Turn Off" (bug#11028).
132213 2016-05-01  David Engster  <deng@randomsample.de>
132215         gitmerge: Add cherry pick to gitmerge-skip-regexp
132217         * admin/gitmerge.el (gitmerge-skip-regexp): Add "cherry picked
132218         from commit", which is the string appended by 'git cherry-pick
132219         -x'.
132221 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
132223         Allow `global-set-key' to bind keys under the `M-o' map
132225         * lisp/subr.el (global-set-key): Allow binding keys under the
132226         `M-o' map (bug#9730).
132228 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
132230         Add `size-indication-mode' to the menu on `mouse-1' "Top"
132232         * lisp/bindings.el (mode-line-column-line-number-mode-map):
132233         Add `size-indication-mode' to the menu (bug#5727).
132235 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
132237         Allow finding libraries loaded manually outside the load-path
132239         * lisp/emacs-lisp/find-func.el (find-library--from-load-path):
132240         New function to find a library from a load path (bug#5661).
132241         (find-library-name): Use it.
132243         There are so many combinations of inputs and possibly entries in
132244         `load-history' that the code looks like an entry in a code obfuscation
132245         contest.  If anybody has a better implementation, please substitute.
132247         But remember that the input given may be foo, foo.el, foo.elc, and the
132248         entries in load-history may be foo.el, foo.elc and foo.el.gz, and we
132249         want to return only foo.el and foo.el.gz.  *phew*
132251 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
132253         Allow minibuffer prompts to use faces
132255         * doc/lispref/minibuf.texi (Text from Minibuffer): Document
132256         `minibuffer-prompt-properties' and explain how faces work in
132257         the minibuffer prompt.
132259         * src/minibuf.c (read_minibuf): If `face' is in
132260         `minibuffer-prompt-properties', apply it to the end of the
132261         face list to allow users to have their own faces on the
132262         prompts (bug#16136).
132264 2016-05-01  Peter Feigl  <peter.feigl@nexoid.at>  (tiny change)
132266         Add R7RS syntax forms to scheme.el
132268         * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
132269         a number of special forms introduced in R7RS-small.
132270         * lisp/progmodes/scheme.el (scheme-indent-function): Same.
132272 2016-05-01  Alan Third  <alan@idiocy.org>
132274         Implement horizontal scroll bars on NS
132276         * lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS
132277         check.
132278         * lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind
132279         scroll-bar mouse clicks to standard handlers.
132280         * src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename
132281         pixel_height to pixel_length.
132282         * src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It
132283         caused scroll-bars to be over-drawn and the best working solution
132284         appears to be complete removal.
132285         (ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers
132286         correctly.
132287         (ns_set_vertical_scroll_bar): Set width to actual scroller width.
132288         (setFrame): Handle horizontal case.
132289         (dealloc): Handle horizontal case.
132290         (judge): Handle horizontal case.
132291         (setPosition): Rename pixel_height to pixel_length.
132292         (sendScrollEventAtLoc): Handle horizontal case.
132293         (mouseDown): Handle horizontal case and general tidy up of code.
132294         (mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with
132295         absolute pixel size instead of ratio.
132296         * src/window.h: Remove NS check.
132298 2016-05-01  Michael Albinus  <michael.albinus@gmx.de>
132300         tramp.texi: Revert last change due to backward compatibility
132302 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
132304         Fix the buffer-count patch (Bug#23394)
132306         * src/buffer.c (Fgenerate_new_buffer_name): Increment count just
132307         once each time through the loop.  Reported by Lars Ingebrigtsen in:
132308         https://lists.gnu.org/r/emacs-devel/2016-04/msg00918.html
132310 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132312         cua-prefix-override-inhibit-delay doc fix
132314         * lisp/emulation/cua-base.el
132315         (cua-prefix-override-inhibit-delay): Typo fix in doc string
132316         (bug#23401).
132318 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
132320         Fix generate-new-buffer-name increment typo
132322         Problem reported by Chaitanya Koparkar (Bug#23394).
132323         * src/buffer.c (Fgenerate_new_buffer_name): Increment count when
132324         generating a new buffer.  This fixes a typo I introduced in
132325         2014-04-05T00:04:58Z!eggert@cs.ucla.edu.
132327 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132329         global-eldoc-mode doc fix
132331         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Be more
132332         specific about what "applicable" means (bug#23071).
132334 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132336         Make the legend in describe-categories a link
132338         * lisp/help-fns.el (describe-categories): Make the "see
132339         bottom" text a link (bug#22227).
132341 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132343         normal-top-level-add-subdirs-to-load-path doc fix
132345         * lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
132346         Doc fix (bug#21962).
132348 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132350         isearch-search-fun-function doc tweak
132352         * lisp/isearch.el (isearch-search-fun-function): Mention what
132353         the STRING parameter is (bug#21552).
132355 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132357         Fill some imenu--index-alist doc lines
132359         * lisp/imenu.el (imenu--index-alist): Fill some doc lines (bug#21269).
132361 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132363         Make describe-variable look up the variable in the current buffer
132365         * lisp/help-fns.el (describe-variable): Get the variable
132366         definition in the buffer we were called from (in case it only
132367         exists there) (bug#21252).
132369 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132371         Fmarker_position doc string clarification
132373         * src/marker.c (Fmarker_position): Clarify the doc string
132374         (bug#21231).
132376 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132378         Further define-obsolete-* doc fixups
132380         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
132381         Fix up last change.
132382         (define-obsolete-variable-alias): Ditto.
132384 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132386         Describe WHEN in all the define-obsolete- macros
132388         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
132389         Say more verbosely what WHEN is (bug#21225).
132390         (define-obsolete-function-alias): Describe the WHEN parameter.
132391         (define-obsolete-variable-alias): Ditto.
132393 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132395         Mention with-silent-modifications in the lispref manual
132397         * doc/lispref/text.texi (Changing Properties): Document
132398         with-silent-modifications (bug#21171).
132400 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132402         with-silent-modifications doc clarification
132404         * lisp/subr.el (with-silent-modifications): Rearrange the doc
132405         string a bit so that the most pertinent information is at the
132406         top (bug#21171).
132408 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132410         clear-visited-file-modtime doc string fix
132412         * lisp/files.el (clear-visited-file-modtime): Fix possibly
132413         confusing doc string wording (bug#21169).
132415 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132417         Document mode mode line variables
132419         * doc/lispref/modes.texi (Mode Line Variables): Document
132420         `mode-line-front-space, `mode-line-misc-info',
132421         `mode-line-end-spaces' (bug#21014).
132423 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132425         Add a cross ref to Optional Mode Line
132427         * doc/lispref/modes.texi (Mode Line Variables): Add a cross
132428         reference to the Emacs mode line node that explains things
132429         like `display-time-string' (bug#21002).
132431 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132433         Add a doc string to display-time-string
132435         * lisp/time.el: Add a doc string to `display-time-string',
132436         because it's referred to in the manual, and is too mysterious
132437         otherwise (bug#21002).
132439 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132441         custom-buffer-style doc fix
132443         * lisp/cus-edit.el (custom-buffer-style): Document the `tree'
132444         value (bug#20724).
132446 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132448         Document how to check for ImageMagick support
132450         * doc/lispref/display.texi (ImageMagick Images): Say how to
132451         check for ImageMagick support, which isn't quite obvious
132452         (bug#20702).
132454 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132456         Minor doc fix for ImageMagick/SVG builds
132458         * doc/lispref/display.texi (SVG Images): Don't imply that you
132459         have to build Emacs yourself (bug#20702).
132460         (ImageMagick Images): Ditto.
132462 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132464         Rearrange the doc of query-replace slightly
132466         * lisp/replace.el (query-replace): Move the mention of the
132467         interactive prefix arg earlier so that users can find it
132468         (bug#20654).
132470 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132472         apropos-print doc fix
132474         * lisp/apropos.el (apropos-print): Document the undocumented
132475         parameters (bug#20520).
132477 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132479         completion-table-with-predicate doc string fix
132481         * lisp/minibuffer.el (completion-table-with-predicate): t ->
132482         non-nil in the doc string (bug#20460).
132484 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132486         Fill the completion-table-with-predicate doc string
132488         * lisp/minibuffer.el (completion-table-with-predicate): Fill
132489         the doc string (bug#20460).
132491 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132493         replace-match-maybe-edit doc clarification
132495         * lisp/replace.el (replace-match-maybe-edit): Say what
132496         MATCH-DATA is (bug#20304).
132498 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132500         add-timeout doc fix
132502         * lisp/emacs-lisp/timer.el (add-timeout): Mention the return
132503         value (bug#20181).
132505 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132507         Extremely minor doc fix in Choosing Window
132509         * doc/lispref/windows.texi (Choosing Window): There's only one
132510         action alist, I think (bug#20158).
132512 2016-04-30  Alan Mackenzie  <acm@muc.de>
132514         * .dir-locals.el: Amend for correct fontification of *.[ch]
132515         containing "IF_LINT"
132517 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132519         Transform mentions of `eval-after-load' to `with-eval-after-load'
132521         * doc/lispref/loading.texi (Hooks for Loading): Update text to
132522         not mention `eval-after-load' (bug#20038).
132524 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132526         cursor-type doc fix
132528         * src/buffer.c (syms_of_buffer): Mention that cursor-type's
132529         WIDTH/HEIGHT can't exceed the frame char size (bug#19215).
132531 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132533         Add a link from Tool Bar to Images
132535         * doc/lispref/keymaps.texi (Tool Bar): Add a link to the
132536         Images node (bug#19722).
132538 2016-04-30  Alan Mackenzie  <acm@muc.de>
132540         CC Mode: Recognize a noise macro with parens after a declarator's identifier
132542         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): In the while loop
132543         following comment "Skip over type decl suffix operators." insert code also
132544         to check for noise macros with parentheses.
132546 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132548         (default-mode-line-format): More explicit obsolete info
132550         * lisp/subr.el (default-mode-line-format): Be more explicit in
132551         how default values are now handled (bug#19424).
132553 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132555         Fcompare_buffer_substrings doc string clarification
132557         * src/editfns.c (Fcompare_buffer_substrings): Extremely minor
132558         doc string clarification (bug#19255).
132560 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132562         insert-file-contents-literally doc fix
132564         * lisp/files.el (insert-file-contents-literally): Say that the
132565         parameters are explained in the other function (bug#18317).
132567 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132569         Fix custom types for cursor-in-non-selected-windows
132571         * lisp/cus-start.el (standard): Use the same custom types for
132572         cursor-in-non-selected-windows as for cursor-type (bug#19214).
132574 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132576         Doc clarification to mwheel-scroll
132578         * lisp/mwheel.el (mwheel-scroll): Mention that the restriction
132579         does not apply to Windows (bug#19209).
132581 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132583         Clarify the doc of eval-expression-print-format
132585         * lisp/simple.el (eval-expression-print-format): Doc
132586         clarification (bug#19114).
132588 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132590         (extended-command-suggest-shorter): Add a version string
132592         * lisp/simple.el (extended-command-suggest-shorter): Add a
132593         version string.
132595 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132597         Document extended-command-suggest-shorter
132599         * doc/emacs/m-x.texi (M-x): Mention
132600         extended-command-suggest-shorter (bug#19152).
132602 2016-04-30  Ivan Shmakov  <ivan@siamics.net>
132604         Add a variable to control "shorter command" suggestions
132606         * lisp/simple.el (extended-command-suggest-shorter): New variable (bug#19152).
132607         (execute-extended-command): Use it.
132609 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132611         Explicitly explain that package-initialize loads the packages
132613         * lisp/emacs-lisp/package.el (package-initialize): Be explicit
132614         in saying that `package-initialize' obviates adjusting the
132615         path or requiring the packages, as this is a question that
132616         apparently comes up now and then (bug#18829).
132618 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132620         Have the doc strings of `load-path' and `require' mention each other
132622         * src/fns.c (Frequire): Mention `load-path' and fill the doc
132623         string (bug#18829).
132625         * src/lread.c (syms_of_lread): Mention that `require' uses
132626         `load-path'.
132628 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132630         Doc fix for insert-pair-alist
132632         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Say what
132633         COMMAND-CHAR is (bug#18809).
132635 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132637         Move doc of backup-directory-alist to the Backup node
132639         * doc/emacs/files.texi (Backup): Move the documentation of
132640         `backup-directory-alist' here from the "Single or Numbered
132641         Backups" node, because it doesn't seem to have much to do with
132642         numbering (bug#18692).
132644 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132646         Tiny doc clarification for create-fontset-from-fontset-spec
132648         * lisp/international/fontset.el (create-fontset-from-fontset-spec):
132649         Clarify what the optional part is (bug#18686).
132651 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132653         Fill the doc string of font-lock-keywords
132655         * lisp/font-lock.el (font-lock-keywords): Fill the lines and
132656         reorganize some explanations (bug#21427).
132658 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132660         Doc fix for font-lock-remove-keywords
132662         * lisp/font-lock.el (font-lock-remove-keywords): Add a link to
132663         `font-lock-add-keywords' to describe KEYWORDS (bug#18634).
132665 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
132667         Clarify whitespace-style doc string
132669         * lisp/whitespace.el (whitespace-style): Doc clarification
132670         (bug#18296).
132672 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132674         No need to test for jka-compr
132676         * lisp/vc/ediff-util.el (ediff-file-compressed-p): jka-compr
132677         is always available; no need to test (bug#18204).
132679 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132681         Doc fixed for next-error-buffer-p
132683         * lisp/simple.el (next-error-buffer-p): Clarify doc string
132684         (bug#18202).
132686 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132688         Tiny doc fix
132690         * src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix
132691         (and fill) (bug#18201).
132693 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132695         Doc fix
132697         * src/keymap.c (Fdefine_prefix_command): Clarify doc string
132698         slightly (bug#18092).
132700 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132702         delsel doc touch ups
132704         * lisp/delsel.el (delete-selection-helper): Use non-nil
132705         instead of t and clarify function return values (bug#18089).
132707 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132709         Doc fixes for menu-bar.el
132711         * lisp/menu-bar.el (clipboard-kill-ring-save): Describe the
132712         REGION parameter (bug#18028).
132713         (clipboard-kill-region): Ditto.
132715 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132717         Doc fix
132719         * lisp/rect.el (delete-whitespace-rectangle): Doc fix (bug#18026).
132721 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132723         Minor doc clarification
132725         * lisp/subr.el (y-or-n-p): Document the return value from "n"
132726         (bug#18024).
132728 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132730         Fill font-lock-mode doc string
132732         * lisp/font-core.el (font-lock-mode): Fill the text to make it
132733         narrower (bug#18008).
132735 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132737         Wrap the auto-generated doc string
132739         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a
132740         string to make it less likely that we get overlong lines
132741         (bug#17999).
132743 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132745         Clarify hi-lock-find-patterns
132747         * lisp/hi-lock.el (hi-lock-find-patterns): Doc clarification
132748         (bug#17989).
132750 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132752         Warning fix in jit-lock-mode
132754         * lisp/jit-lock.el (jit-lock-mode): Don't issue a warning when
132755         turning the mode on in an indirect buffer, if this somehow has
132756         happened (bug#17738).
132758 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132760         Add a doc string to `winner-mode'
132762         * lisp/winner.el (winner-mode): Add a doc string based on the
132763         comments in the file (bug#17716).
132765 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132767         Doc fix for align-newline-and-indent
132769         * lisp/align.el (align-newline-and-indent): Mention that
132770         alignment is done by `align' (bug#17707).
132772 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132774         Cancel the eldoc timer when switching off eldoc mode
132776         * lisp/emacs-lisp/eldoc.el (eldoc-mode): Cancel the eldoc
132777         timer when switching off eldoc mode.  It will be restarted
132778         again if needed (bug#17582).
132780 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132782         Doc fix for `kbd'
132784         * lisp/subr.el (kbd): Describe more fully the format of the
132785         parameter (bug#17039).
132787 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132789         Add a sanity check to apropos-documentation-internal
132791         * lisp/apropos.el (apropos-documentation-internal): Add a
132792         sanity check to be less fragile in the presence of invalid
132793         data (bug#16725).
132795 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132797         Doc tweak
132799         * lisp/simple.el (use-empty-active-region): Doc tweak.
132800         There's only one region (bug#16513).
132802 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132804         Clarify `read-face-name' doc and tweak the code
132806         * lisp/faces.el (read-face-name): Clarify the documentation
132807         and allow a mix of faces and faces names in all cases
132808         (bug#16483).
132810 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132812         Remove ": ?" from the read-face-name prompt
132814         * lisp/faces.el (read-face-name): Remove ": ?" from the prompt
132815         to be more backwards compatible (bug#15909).
132817 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132819         Link from (emacs)Exiting to (lisp)Killing Emacs
132821         * doc/emacs/entering.texi (Exiting): Link to the lispref
132822         manual for further customizations (bug#15445).
132824 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132826         find-lisp doc touchups
132828         * lisp/find-lisp.el (find-lisp-format): Copy over the doc
132829         string (bug#15047).
132830         (find-lisp-find-files): Clarify doc.
132832 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132834         Don't have the manual claim that it lists all CL incompatibilities
132836         * doc/misc/cl.texi (Common Lisp Compatibility): The list of
132837         incompatibilities isn't exhaustive, so don't say that it is
132838         (bug#15171).
132840 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132842         Fix call of `kmacro-display'
132844         * lisp/kmacro.el (kmacro-view-ring-2nd): Fix call of
132845         `kmacro-display' (bug#15020).
132847 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
132849         Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]"
132851         * doc/emacs/*.texi: Change all occurrences of "Mouse-[0-9]" to
132852         "mouse-[0-9]".  These are case sensitive, and the keys are lower case
132853         (bug#14554).
132855 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
132857         Rename "Directory Search" menu to "Servers"
132859         * lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory
132860         Search" to "Directory Servers".  Suggested by Eli
132861         Zaretskii. (bug#14919).
132863         * lisp/net/eudc.el: Rename ditto throughout.
132865 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
132867         Remove uses of the unused to-end parameter from simple.el
132869         * lisp/simple.el (line-move-partial): Remove usages of the
132870         unused to-end parameter, and make it optional (bug#14844).
132871         (line-move): Remove use of the unused to-end parameter.
132873 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
132875         Doc fix: _ chars are automatically removed.
132877         * lisp/cus-edit.el (custom-buffer-create): _ chars are
132878         automatically removed when displaying help, so fix the last
132879         doc change.
132880         (custom-buffer-create-other-window): Ditto.
132882 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
132884         Doc string change to enable-recursive-minibuffers
132886         * src/minibuf.c (syms_of_minibuf): Mention
132887         minibuffer-depth-indicator-mode in the doc string to
132888         enable-recursive-minibuffers (bug#14147).
132890 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
132892         Fix definition of nobreak-space
132894         * lisp/faces.el (nobreak-space): The definition to
132895         nobreak-space was inadvertently changed by the previous checkin.
132897 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
132899         Clarify the `interactive' doc string slightly
132901         * src/callint.c (Finteractive): Clarify the doc string slightly
132902           (bug#14577).
132904 2016-04-28  Drew Adams  <drew.adams@oracle.com>
132906         Make icomplete respect `completion-ignored-extensions'
132908         * lisp/icomplete.el (icomplete-completions): Heed
132909         `completion-ignored-extensions' (bug#12939).
132911 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
132913         Make ibuffer not break on newline-embedded buffer names
132915         * lisp/ibuffer.el (name): When buffer names contain newlines,
132916         quote those newlines before displaying (bug#12378).
132918 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
132920         Add a new face for non-breaking hyphen characters
132922         * doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen.
132923         (Text Display): Ditto.
132925         * lisp/faces.el (nobreak-hyphen): New face (bug#12048).
132927         * src/xdisp.c (get_next_display_element): Use it instead of
132928         the escape-glyph face.
132930         * src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen.
132932 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
132934         Make a menu less ambiguous
132936         * doc/emacs/custom.texi (Key Bindings): The Modifier Keys node
132937         is about using modifier keys, not binding them (bug#10942).
132939 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
132941         Make kill-emacs-query-functions into defcustom
132943         * lisp/files.el (save-buffers-kill-terminal): Mention
132944         `save-buffers-kill-emacs' (bug#10794).
132945         (kill-emacs-query-functions): Made into a defcustom.
132947 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
132949         Have describe-variable output multi-line values better
132951         * lisp/help-fns.el (describe-variable): When printing
132952         multi-line expressions, display them prettier (bug#10723).
132954 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
132956         Clean up custom-buffer-create code slightly
132958         * lisp/cus-edit.el (custom-buffer-create-other-window): Don't
132959         pass the unused description value on (for clarity) (bug#10540).
132960         (custom-buffer-create): Ditto
132962 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
132964         Clarify some doc strings
132966         * lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
132967         Clarify doc string (bug#8693).
132968         (syntax-propertize): Clarify doc string.
132970 2016-04-28  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
132972         Fix number-at-point in lisp buffers
132974         * lisp/thingatpt.el (number-at-point): Don't say that things
132975         like ?a are numbers in lisp mode buffers (bug#8634).
132977 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
132979         Don't consider colons to be paragraphs starting chars in strings
132981         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't
132982         consider colons to start paragraphs in (doc) strings
132983         (bug#7751).
132985 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
132987         Make `undo' of `C-x r t' put point where it should be
132989         * lisp/rect.el (string-rectangle): Make `undo' of a this
132990         command put point back where it was (bug#7522).
132992 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
132994         Add some concept index entries for custom types
132996         * doc/lispref/customize.texi (Composite Types): Add concept
132997         index entries for restricted-sexp, radio and choice (bug#7385).
132999 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
133001         Mention `lisp-indent-function' in the lispref manual
133003         * doc/lispref/macros.texi (Indenting Macros): Mention
133004         `lisp-indent-function' (bug#3393).
133006 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
133008         Clarify doc string of internal compilation function
133010         * lisp/progmodes/compile.el (compilation-get-file-structure):
133011         Clarify doc string (bug#3137).
133013 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
133015         Avoid having `C-x h' mark the prompt part of the minibuffer
133017         * lisp/simple.el (mark-whole-buffer): Don't mark the prompt
133018         part of the minibuffer (bug#2589).
133020 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
133022         Allow a prefix argument to find-library to pop to a different window
133024         * lisp/emacs-lisp/find-func.el (find-library): Allow a prefix
133025         argument to pop to a different window (bug#2270).
133027 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
133029         Move the diff command to "Operate" in ibuffer
133031         * lisp/ibuffer.el (ibuffer-mode-operate-map): Move the diff
133032         command to the "Operate" menu, and remove the customization
133033         entry to make the "View" menu more logical (bug#1150).
133035 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
133037         Make the minor modes in help buffers into buttons
133039         * lisp/help.el (describe-mode): Make the minor modes into
133040         buttons to enable easier documentation traversal (bug#1149).
133042 2016-04-27  Jorgen Schaefer  <contact@jorgenschaefer.de>
133044         Add a number of Python 3 exceptions
133046         * lisp/progmodes/python.el (python-font-lock-keywords): Clean up
133047         the exception list, adding a number of new Python 3 exceptions and
133048         moving some exceptions to the Python 2 and 3 list as Python 2.7
133049         includes them.
133051 2016-04-26  Anders Lindgren  <andlind@gmail.com>
133053         Fix bug#22891: wrong terminal width when a fringe width is zero.
133055         When either fringe width is zero, Emacs reserved one column for a
133056         continuation glyph. Terminal windows does not take this into
133057         account when the frame is resized.
133059         * lisp/window.el (window-adjust-process-window-size): Use
133060         `window-max-chars-per-line' instead of `window-body-width'.
133061         * lisp/term.el (term-window-width): Remove function. (It does the
133062         same as `window-max-chars-per-line' but without recent bug fixes.)
133063         (term-mode): Use `window-max-chars-per-line' instead of
133064         `term-window-width'.
133066 2016-04-26  Simen Heggestøyl  <simenheg@gmail.com>
133068         Add completion of `calc()' in CSS mode
133070         * lisp/textmodes/css-mode.el (css-value-class-alist): Add `calc()' as
133071         a completion candidate for several value classes.
133072         (css--value-class-lookup): Return only unique results.
133074         * test/lisp/textmodes/css-mode-tests.el
133075         (css-test-property-values-no-duplicates)
133076         (css-test-value-class-lookup): Update to reflect the above changes.
133078 2016-04-26  Paul Eggert  <eggert@cs.ucla.edu>
133080         Fix socketd fd startup bug that I introduced
133082         Problem reported by Matthew Leach in:
133083         https://lists.gnu.org/r/emacs-devel/2016-04/msg00778.html
133084         * src/emacs.c (main): Indicate more clearly the coupling between
133085         the --daemon option and init_process_emacs.
133086         * src/lisp.h: Adjust to API changes.
133087         * src/process.c (set_external_socket_descriptor):
133088         Remove, replacing by ...
133089         (init_process_emacs): ... passing the socket FD here instead.
133090         All uses changed.
133092 2016-04-25  Tao Fang  <fangtao0901@gmail.com>
133094         Fix: (void-variable url-http-response-status)
133096         * lisp/url/url-http.el
133097         (url-https-proxy-after-change-function): Display the error
133098         message before doing the callback to avoid a void variable
133099         situation (bug#23290).
133101 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
133103         smtpmail would say it's done before it is
133105         * lisp/mail/smtpmail.el (smtpmail-via-smtp): Move the sending
133106         of the data end marker from here... (bug#23020).
133107         (smtpmail-send-data): ... to here, so that we don't get a
133108         "Sending done" before we've sent the final "." (which can make
133109         the SMPT server reject the email.
133111 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
133113         `url-retrieve-synchronously' now takes an optional timeout parameter
133115         * doc/misc/url.texi (Retrieving URLs): Document optional parameters.
133117         * lisp/url/url.el (url-retrieve-synchronously): Allow passing
133118         in a timeout parameter (bug#22940).
133120 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
133122         Include "Retype" as a comint password prompt
133124         * lisp/comint.el (comint-password-prompt-regexp): Include
133125         "Retype" to catch "Retype password for [account]:" from the
133126         "pass" utility (bug#22942).
133128 2016-04-25  Alan Mackenzie  <acm@muc.de>
133130         Fix spurious fontification of "for (; a * b;)" in CC Mode.
133132         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being
133133         inside the parens of a for statement and after a semicolon near the beginning
133134         of the lambda form.
133136 2016-04-25  Paul Eggert  <eggert@cs.ucla.edu>
133138         New function ‘char-from-name’
133140         This also fixes the mishandling of "\N{CJK COMPATIBILITY
133141         IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc.
133142         Problem reported by Eli Zaretskii in:
133143         https://lists.gnu.org/r/emacs-devel/2016-04/msg00614.html
133144         * doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this.
133145         * lisp/international/mule-cmds.el (char-from-name): New function.
133146         (read-char-by-name): Use it.  Document that "BED" is treated as
133147         a name, not as a hexadecimal number.  Reject out-of-range integers,
133148         floating-point numbers, and strings with trailing junk.
133149         * src/lread.c (character_name_to_code): Call char-from-name
133150         instead of inspecting ucs-names directly, so that we handle
133151         computed names like "VARIATION SELECTOR-1".  Do not use an auto
133152         string, since char-from-name might GC.
133153         * test/src/lread-tests.el: Add tests for new behavior, and
133154         fix some old tests that were wrong.
133156 2016-04-25  Alan Mackenzie  <acm@muc.de>
133158         c-forward-<>-arglist no longer directly applies face properties in Java Mode.
133160         This allows the calling of c-restore-<>-properties from c-common-init without
133161         the test suite giving spurious errors.
133163         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that
133164         sets face properties.
133165         (c-forward-<>-arglist-recur): Reformulate the bit that handles types inside
133166         template brackets using c-inside-<>-type-key.  Don't bind
133167         c-record-type-identifiers or c-record-found-types around the recursive call,
133168         allowing positions of found types to flow back to the caller.
133170         * lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key):
133171         new lang consts/var.
133173         * lisp/progmodes/cc-mode.el (c-common-init): Don't remove
133174         c-restore-<>-properties from the list of functions called at mode
133175         initialization.
133177 2016-04-25  Jun Hao  <jun_hao@aol.com>
133179         Pass in port only if provided by caller in the OS X keychain
133181         * lisp/auth-source.el (auth-source-macos-keychain-search): Pass in
133182         port only if provided (bug#23374).
133184 2016-04-25  Alan Mackenzie  <acm@muc.de>
133186         Add fontification for a C declaration which looks like a function call.
133188         For example, "t1 *fn (t2 *b);".
133190         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable
133191         at-decl-start, setting it to whether the putative decl starts immediately
133192         after ; or { or }.  Accept such a construct as a decl when at-decl-start is
133193         non-nil.
133195         * lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable.
133197 2016-04-25  Eli Zaretskii  <eliz@gnu.org>
133199         Don't mirror slashes in convert-standard-filename on MS-Windows
133201         * lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror
133202         slashes into backslashes.  This avoids producing ugly file names,
133203         and is deemed no longer necessary, and should certainly be
133204         unrelated to which shell is in use.
133206 2016-04-24  Dmitry Gutov  <dgutov@yandex.ru>
133208         Revert the disputed VC change and update the tests
133210         * lisp/vc/vc-hooks.el (vc-working-revision):
133211         Remove the previous change.
133212         (vc-state): Same.  And update the old, incorrect comment about
133213         unregistered files
133214         (https://lists.gnu.org/r/emacs-devel/2016-04/msg00526.html).
133216         * test/lisp/vc/vc-tests.el (vc-test--state): Remove the check
133217         calling `vc-state' on default-directory (VC state is undefined
133218         for directories).  Check that `vc-state' returns nil where it
133219         returned `unregistered' before.  Remove all checks comparing
133220         invocations with the backend passed in explicitly and without.
133221         (vc-test--working-revision): Remove all checks comparing
133222         invocations with the backend passed in explicitly and without.
133223         Update comments, and add a new one.
133225 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
133227         * etc/NEWS: Grammar and punctuation improvements.
133229 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
133231         Merge from origin/emacs-25
133233         9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste...
133234         0cd2e92 Don't kill ~/ if it's the top level directory
133235         4f40f5f describe-char: fix insert char documentation
133236         87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string'
133238 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
133240         Merge from origin/emacs-25
133242         960f90d * etc/AUTHORS: Update the AUTHORS file
133243         b21e9d4 * admin/update_autogen: Use #!/usr/bin/env bash
133245 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
133247         Merge from origin/emacs-25
133249         78f9af7 ; ChangeLog fixes
133250         162e549 * admin/authors.el (authors-ignored-files): Additions.
133251         2b31a0c In x_set_window_size restore do_pending_window_change calls
133252         401857e Fix Alt-modified keys on some European MS-Windows keyboards
133253         a77cf24 Document 'help-go-forward'
133254         1ba947f Revert "Allow to customize names of executables used by grep.el"
133255         570e0fa Revert "Don't use 'find-program'"
133256         645f4ef Revert "Use 'grep-find-program' in check-declare.el"
133257         aa03257 Clarify documentation of 'dired-mark-files-containing-regexp'
133258         ce0d8c7 Make tmm-menubar work in correct order again
133259         b8d5a8f Remove the Meta-CVS VC backend
133261 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
133263         Don't let `css--property-values' return duplicates
133265         * lisp/textmodes/css-mode.el (css--property-values): Don't return
133266         duplicate values.
133268         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
133269         Take the above into account.
133270         (css-test-property-values-no-duplicates): Test that duplicates aren't
133271         returned by `css--property-values'.
133273 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
133275         Call `make-composed-keymap' correctly
133277         * lisp/image-mode.el (image-mode-map): Call
133278         `make-composed-keymap' correctly.
133280 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
133282         Use `make-composed-keymap' instead of copying the keymap
133284         * lisp/image-mode.el (image-mode-map): Use
133285         `make-composed-keymap' instead of copying the keymap.
133287 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
133289         Make `q' etc work in image mode again
133291         * lisp/image-mode.el (image-mode-map): Restore
133292         special-mode-map as the parent keymap of image-mode-map (bug#23167).
133294 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
133296         Fix typo in last url.texi checkin
133298 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
133300         Make STARTTLS error messages better
133302         * lisp/net/network-stream.el (network-stream-open-starttls):
133303         Output a better error message when TLS negotiation fails while
133304         doing STARTTLS (bug#23027).
133306 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
133308         Encode the shr tests files with trailing white space
133310 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
133312         Cache results of `css--property-values'
133314         * lisp/textmodes/css-mode.el (css--property-values): Cache computed
133315         values.
133317         * test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache):
133318         New regression test for the above.
133320 2016-04-24  Michael Albinus  <michael.albinus@gmx.de>
133322         Some improvements in vc
133324         * lisp/vc/vc-hooks.el (vc-state, vc-working-revision):
133325         Check, whether FILE is registered.
133327         * lisp/vc/vc-rcs.el (vc-rcs-checkout-model): Return `locking'
133328         for nonexistent files.
133330         * test/lisp/vc/vc-tests.el (w32-application-type): Declare.
133331         (vc-test--revision-granularity-function)
133332         (vc-test--unregister-function): Use `vc-call-backend'.
133333         (vc-test--run-maybe-unsupported-function): New defmacro.
133334         (vc-test--register, vc-test--state, vc-test--working-revision)
133335         (vc-test--checkout-model): Use it.  Fix also expected results.
133336         (vc-test-src02-state, vc-test-rcs04-checkout-model): They pass now.
133338 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
133340         Document the nil/default values of url-user-agent
133342         * doc/misc/url.texi (Customization): Document the nil/default
133343         values of url-user-agent.
133345 2016-04-24  Clément Pit--Claudel  <clement.pit@gmail.com>
133347         Compute User-Agent dynamically in url-http
133349         * lisp/url/url-http.el (url-http-user-agent-string): Compute
133350         User-Agent string dynamically.
133351         (url-http--user-agent-default-string): New function.
133353         * lisp/url/url-vars.el (url-privacy-level): Allow `emacs' in list
133354         of information not to send.
133355         (url-user-agent): Add nil and `default' options; do not
133356         pre-compute value.
133358 2016-04-24  Jun Hao  <jun_hao@aol.com>
133360         Handle auth-source items with special characters on OS X
133362         * lisp/auth-source.el
133363         (auth-source-macos-keychain-search-items): Handle keychain
133364         output correctly when has special chararcters (bug#22824).
133366 2016-04-24  Magnus Henoch  <magnus.henoch@gmail.com>
133368         Implement process-attributes for Darwin
133370         * src/sysdep.c (timeval_to_timespec, make_lisp_timeval)
133371         (system_process_attributes): Implement process-attributes
133372         for Darwin (bug#16579).
133374 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
133376         Use Unicode literals instead of hex values
133378         * lisp/net/shr.el (shr-tag-bdo): Use Unicode literals instead
133379         of hex values for greater readability.
133380         (shr-tag-bdi): Ditto.
133382 2016-04-24  Steve Purcell  <steve@sanityinc.com>
133384         Allow _ characters in SQL prompts
133386         * lisp/progmodes/sql.el (sql-product-alist): Allow _
133387         characters in SQL prompts (bug#22596).
133389         Fixes issue 22596, whereby "_" is now not considered a word constituent
133390         character in sql-interactive-mode, so prompts like "foo_dev# " are not
133391         correctly detected. Rather than piggy-back on the symbol table, we
133392         explicitly match against alphanumeric chars or "_".
133394 2016-04-23  Glenn Morris  <rgm@gnu.org>
133396         When autoload-timestamps is nil, use a dummy timestamp rather than "t".
133398         * lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant.
133399         (autoload-generate-file-autoloads, autoload-find-destination)
133400         (update-directory-autoloads): Use autoload--non-timestamp.
133402 2016-04-23  Glenn Morris  <rgm@gnu.org>
133404         * test/lisp/xt-mouse-tests.el: Move from test/automated/.
133406 2016-04-22  Jö Fahlke  <jorrit@jorrit.de>  (tiny change)
133408         Regexps for matching CMake output
133410         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
133411         regexps for matching CMake output.
133412         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add
133413         CMake test cases.
133414         * etc/compilation.txt (CMake): Add CMake examples.
133416 2016-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
133418         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
133420         Fix docstring quotes.
133422 2016-04-21  Paul Eggert  <eggert@cs.ucla.edu>
133424         Improve character name escapes
133426         * doc/lispref/nonascii.texi (Character Properties):
133427         Avoid duplication of Unicode names.  Reformat examples to fit in
133428         narrow pages.
133429         * doc/lispref/objects.texi (General Escape Syntax):
133430         Simplify and better-organize explanation of \N{...} escapes.
133431         * src/character.h (CHAR_SURROGATE_PAIR_P): Remove; unused.
133432         (char_surrogate_p): New inline function.
133433         * src/lread.c: Do not include string.h; no longer needed.
133434         (invalid_character_name, check_scalar_value): Remove; the ideas
133435         behind these functions are now bundled into character_name_to_code.
133436         (character_name_to_code): Remove undocumented support for "CJK
133437         IDEOGRAPH-XXXX" names, as "U+XXXX" suffices.  Reject monstrosities
133438         like "\N{U+-0}" and null bytes in \N escapes.  Reject floating
133439         point in \N escapes instead of returning garbage.  Use
133440         AUTO_STRING_WITH_LEN to lessen pressure on the garbage collector.
133441         * test/src/lread-tests.el (lread-char-number, lread-char-name)
133442         (lread-string-char-number, lread-string-char-name):
133443         Test runtime behavior, not compile-time, as the test framework
133444         is not set up to test compile-time.
133445         (lread-char-surrogate-1, lread-char-surrogate-2)
133446         (lread-char-surrogate-3, lread-char-surrogate-4)
133447         (lread-string-char-number-2, lread-string-char-number-3):
133448         New tests.
133449         (lread-string-char-number-1): Rename from lread-string-char-number.
133451 2016-04-21  Philipp Stephani  <phst@google.com>
133453         Use 'ucs-names' for character name escapes
133455         * src/lread.c (invalid_character_name, check_scalar_value)
133456         (parse_code_after_prefix, character_name_to_code): New helper
133457         functions that use 'ucs-names' and parsing for CJK ideographs.
133458         (read_escape): Use helper functions.
133459         (syms_of_lread): New symbol 'ucs-names'.
133460         * test/src/lread-tests.el: New tests; fix a couple of bugs in
133461         existing tests.
133463 2016-04-21  Philipp Stephani  <phst@google.com>
133465         Minor cleanups for character name escapes
133467         * src/lread.c (init_character_names): Add missing 'void'.
133468         Remove top-level 'const'.
133469         (read_escape): Simplify loop a bit.  Remove top-level 'const'.
133471 2016-04-21  Philipp Stephani  <phst@google.com>
133473         Add documentation for character name escapes
133475 2016-04-21  Philipp Stephani  <phst@google.com>
133477         Implement named character escapes, similar to Perl
133479         * src/lread.c (init_character_names): New function.
133480         (read_escape): Read Perl-style named character escape sequences.
133481         (syms_of_lread): Initialize new variable 'character_names'.
133482         * test/src/lread-tests.el (lread-char-empty-name): Add test file
133483         for src/lread.c.
133485 2016-04-21  Fabrice Popineau  <fabrice.popineau@gmail.com>
133487         Avoid run-time dependency on libwinpthread DLL on MS-Windows
133489         * nt/mingw-cfg.site (ac_cv_search_clock_gettime)
133490         (ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to not
133491         present, so that MinGW64 builds don't depend on libwinpthread.
133492         (Bug#22959)
133494 2016-04-21  Matthew Leach  <matthew@mattleach.net>
133496         Add LIBSYSTEMD to the list of supported features
133498         * configure.ac: Add LIBSYSTEMD to EMACS_CONFIG_FEATURES and print a
133499         message at the end of configure stating whether Emacs will be build
133500         with libsystemd support.
133502 2016-04-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
133504         Support absolute column movement in 'ansi-term'
133506         * lisp/term.el (term-handle-ansi-escape): Handle the "\E[G" sequence
133507         for absolute column movement.  (Bug#23303)
133509 2016-04-21  Jorgen Schaefer  <contact@jorgenschaefer.de>
133511         Add Python 3.5 keyword "await"
133513         * lisp/progmodes/python.el (python-font-lock-keywords): Add await as
133514         keyword.
133516 2016-04-20  Simen Heggestøyl  <simenheg@gmail.com>
133518         Add "keyframes" to list of CSS at-rules
133520         * lisp/textmodes/css-mode.el (css-at-ids): Add "keyframes" at-rule.
133522 2016-04-20  Phillip Lord  <phillip.lord@russet.org.uk>
133524         Prevent bootstrap autoload backup files
133526         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Suppress
133527         backups in newly created file.
133529         (autoload-ensure-default-file): Function split into two.
133530         (autoload-ensure-file-writeable): New function from split.
133532         (Bug#23203)
133534 2016-04-20  Paul Eggert  <eggert@penguin.cs.ucla.edu>
133536         Fix org-timestamp-change typo
133538         Problem reported by Peter Münster (Bug#23299).
133539         * lisp/org/org.el (org-timestamp-change): Fix typo that relied
133540         on undocumented behavior in ‘encode-time’.  In practice the
133541         old code used local time, so use that.
133543 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
133545         Avoid AC_PREPROC_IFELSE glitch in configure.ac
133547         Problem reported by Angelo Graziosi in:
133548         https://lists.gnu.org/r/emacs-devel/2016-04/msg00545.html
133549         * configure.ac (gl_gcc_warnings): Work around an Autoconf glitch:
133550         AC_PREPROC_IFELSE doesn’t generate a simple shell command.
133552 2016-04-19  Michael Albinus  <michael.albinus@gmx.de>
133554         autorevert: Resume with polling if file is deleted
133556         * lisp/autorevert.el: Use consistent wording in comments and
133557         docstrings.
133558         (auto-revert-mode): Add local function to `kill-buffer-hook'.
133559         (auto-revert-notify-handler): Improve handling of `stopped' event.
133561         * test/lisp/autorevert-tests.el
133562         (auto-revert-test02-auto-revert-deleted-file): New test.
133563         (auto-revert-test03-auto-revert-tail-mode)
133564         (auto-revert-test04-auto-revert-mode-dired): Rename them.
133566 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
133568         Merge from origin/emacs-25
133570         5a0cbe5 Fix Bug#23276
133571         2007e32 Sync with upstream vhdl mode v3.38.1.
133572         b6d2552 Tweak configure.ac syntax in recent module patch
133574 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
133576         Merge from origin/emacs-25
133578         ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo...
133579         3287f48 ; Add entry to MAINTAINERS
133580         b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev...
133581         0f33284 Make use of rectangle-preview custom variable.
133582         aa0d83a Make use of rectangle-preview face.
133583         33bef6e Use 'grep-find-program' in check-declare.el
133584         a8560e5 Improve "C-h S" for cl-lib symbols
133585         52e798b Fix minor issues with removing left or right fringes
133586         d6ffd64 Speed up redisplay in ansi-term mode
133587         4ab671c Simplify 8-bit character handling by terminal for 'raw-text'
133588         f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux.  (Bu...
133589         ab849b7 Fix w32 memory-management problem when extending buffer text
133591 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
133593         Merge from origin/emacs-25
133595         32364bb substitute-command-keys keeps quotes’ text props
133596         567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ...
133597         24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact...
133598         cc0b713 Perform xref searches without visiting unopened files
133599         5045575 Revert "Prevent bootstrap autoload backup files"
133601 2016-04-18  Philipp Stephani  <p.stephani2@gmail.com>
133603         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
133605         so that it matches the actual implementation.
133606         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
133608 2016-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
133610         * lisp/textmodes/ispell.el: Compile with lexical-binding
133612         (declare-function): Don't define any more.
133613         (ispell-check-minver, ispell-looking-back): Tweak definition so that
133614         the compiler can obviously know that it's always defined.
133615         (ispell-debug-buffer): Declare var.
133616         (ispell-hunspell-fill-dictionary-entry)
133617         (ispell-parse-hunspell-affix-file, ispell-hunspell-add-multi-dic)
133618         (ispell-find-hunspell-dictionaries, ispell-set-spellchecker-params)
133619         (ispell-command-loop): Avoid add-to-list on local variables.
133621 2016-04-17  Paul Eggert  <eggert@cs.ucla.edu>
133623         Minor fixups for external socket launching
133625         * configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222.
133626         * doc/emacs/misc.texi (Emacs Server):
133627         * etc/NEWS: Spelling and doc fixes.
133628         * src/emacs.c (main) [HAVE_LIBSYSTEMD]:
133629         Check for sd_is_socket returning positive, not zero.
133630         * src/process.c (external_sock_fd): Instead of initializing here ...
133631         (init_process_emacs): ... initialize it here, so that it does the
133632         right thing after dump/restore.
133633         (connect_network_socket): Simplify socket_to_use test.
133635 2016-04-17  Simen Heggestøyl  <simenheg@gmail.com>
133637         Add HTML5 tags to HTML mode
133639         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 tags.
133640         (html-tag-help): Add short descriptions of those tags.
133642 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
133644         Finish idna->puny changes in last Message patch
133646         * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Use puny
133647         instead of idna functions.
133649 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
133651         Use puny.el instead of idna.el functions in Gnus
133653         * lisp/gnus/gnus-art.el (gnus-use-idna): Default to t (since
133654         Emacs comes with IDNA support built in).
133655         (article-decode-idna-rhs): Use `puny-decode-domain' instead of
133656         `idna-to-unicode'.
133658         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): Ditto.
133660 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
133662         Mention `message-use-idna' in NEWS
133664 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
133666         Default `message-use-idna' to t
133668         * lisp/gnus/message.el (message-use-idna): Default to t (since
133669         Emacs comes with puny.el now).
133671 2016-04-16  Matthew Leach  <matthew@mattleach.net>
133673         Extend battery.el to exotic power supply types
133675         * lisp/battery.el (battery-linux-sysfs-regexp): Rename from
133676         'battery--linux-sysfs-regexp' and make a defcustom. All users
133677         changed.  (Bug#23216)
133679 2016-04-16  Matthew Leach  <matthew@mattleach.net>
133681         Add external socket launching support
133683         * src/process.c (connect_network_socket): Allow a pre-allocated socket
133684         descriptor to be used if passed to Emacs, avoiding the call to
133685         'socket' and 'bind'.
133686         (Fmake_network_process): Allow users to pass ':use-external-socket' in
133687         the parameter plist to use any sockets that have been passed to Emacs.
133688         (wait_reading_process_output): Call 'socket' and 'bind' every time.
133689         (syms_of_process): New symbol ':use-external-socket'.
133690         (set_external_socket_descriptor): New function.
133691         (external_sock_fd): New variable.
133692         * src/lisp.h: (set_external_socket_descriptor): New declaration.
133693         * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets
133694         passed and call 'set_external_socket_descriptor' to set the external
133695         socket.
133696         * src/Makefile.in: Add libsystemd library and C flags to the Emacs
133697         compilation options.
133699         * configure.ac: Add new default-on option "systemd" and check for
133700         libsystemd at configure time.
133702         * lisp/server.el (server-start): Set ':use-external-socket' to 't' when
133703         calling 'make-network-process'.
133705         * etc/NEWS: Document new socket-passing functionality and the configure
133706         option to disable systemd interaction.
133708         * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing
133709         functionality and provide systemd unit examples.
133710         * doc/lispref/processes.texi (Network Processes): Document new
133711         'make-network-process' option ':use-external-socket'.
133713 2016-04-16  Matthew Leach  <matthew@mattleach.net>
133715         Don't spell-check argument of 'cref' TeX macro
133717         * lisp/textmodes/ispell.el (ispell-tex-skip-alists): Add the cref
133718         macro to skip spell-checking the cref macro argument.
133720 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
133722         Simplify use of O_BINARY
133724         * src/callproc.c (call_process):
133725         * src/fileio.c (write_region):
133726         * src/filelock.c (read_lock_data):
133727         * src/image.c (x_find_image_fd):
133728         * src/lread.c (openp):
133729         * src/sysdep.c (init_random, emacs_fopen):
133730         * src/unexcw.c (unexec):
133731         Omit unnecessary use of O_BINARY, since emacs_open now arranges
133732         that for us.
133734 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
133736         * src/indent.c (Fvertical_motion): Pacify GCC
133738         5.3.1 20160406 (Red Hat 5.3.1-6) on x86-64.
133740 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
133742         Port ‘./autogen.sh git’ to non-clones
133744         Problem reported by Angelo Graziosi in:
133745         https://lists.gnu.org/r/emacs-devel/2016-04/msg00341.html
133746         * autogen.sh (do_git): Default to false when the arg is ‘all’ but
133747         there is no ‘.git’.
133748         (git_common_dir, hooks): New vars.
133749         (git_config, tailored_hooks, sample_hooks): Use them.
133751 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
133753         Do not require that .git be a directory
133755         Problem reportyed by Phillip Lord.
133756         * admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog:
133757         * configure.ac, make-dist:
133758         Do not require that .git be a directory, as 'git worktree' makes
133759         it a file and not a directory.
133761 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
133763         Avoid now-obsolete function gmm-format-time-string
133765         * lisp/gnus/message.el (message-insert-formatted-citation-line):
133766         Use format-time-string instead of obsolete function
133767         gmm-format-time-string.
133769 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
133771         Support OFFSET and (OFFSET ABBR) time zone rules
133773         This simplifies Gnus and VC time zone support, by letting them
133774         feed the output of ‘current-time-zone’ and ‘decode time’ to
133775         primitives that accept time zone arguments.
133776         * doc/lispref/os.texi (Time Zone Rules, Time Conversion):
133777         * etc/NEWS:
133778         * lisp/gnus/message.el (message-insert-formatted-citation-line):
133779         * lisp/org/org.el (org-timestamp-format):
133780         * src/editfns.c (Fformat_time_string, Fdecode_time):
133781         (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
133782         Document new behavior.
133783         * lisp/gnus/gmm-utils.el (gmm-format-time-string):
133784         * lisp/vc/add-log.el (add-log-iso8601-time-zone):
133785         Mark as obsolete, as it is now just an alias or narrow wrapper
133786         around format-time-string.
133787         * src/editfns.c (tzlookup): Also support integer OFFSET and
133788         list (OFFSET ABBR) as time zone rules.
133789         (Fencode_time): No longer need a special case for a cons ZONE.
133790         (Fcurrent_time_zone): If the time zone string is missing, compute
133791         it the same way the other new code does.
133793 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
133795         Merge from origin/emacs-25
133797         ca50981 Improve time zone documentation
133798         c23c965 Prevent bootstrap autoload backup files
133799         9344612 Disable multicolor fonts on OS X since they are not supported...
133800         c41ce1c Capitalize “Universal Time” in documentation
133801         10597c9 Don't use 'find-program'
133803 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
133805         Merge from origin/emacs-25
133807         b134c20 Sync with gnulib
133808         bb30fa9 Fix last change on 2016-01-02
133809         488a72f ; Spelling fixes
133810         9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3
133811         0e7bcec Avoid crashes due to unreasonably large or small text scaling
133812         85f257c Improve documentation of 'with-eval-after-load'
133813         668c7bc Improve handling of non-ASCII characters in Git log messages
133814         b570769 Remove undefined behavior in OS X dumper.
133815         97211f3 Fix clipping of xwidgets
133816         e87fbc0 Improve Lisp-level documentation of tooltips
133817         9f1786e Faces names should not end in "-face".
133818         3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings.
133819         a1f221b Comint and compile no longer set EMACS
133820         5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2...
133821         a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
133822         c93ae7a Allow to customize names of executables used by grep.el
133823         f6497c6 Set locale encoding to UTF-8 when run from OS X GUI.
133824         7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt
133825         a3f1ac2 Avoid infinite loop in 'studlify-word'
133826         f36df4b Don’t recommend obsolete EMACS env var
133827         fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
133829 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
133831         Merge from origin/emacs-25
133833         96d9e78 Fix "Beginning of buffer" error in forward-page
133834         20686f7 Add a `transient' project type
133836 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
133838         Merge from origin/emacs-25
133840         80128a7 Fix stability confusion in sort-tests
133841         1e4aa42 Avoid describe-key error with lambdas
133842         a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag...
133843         f501116 Sync with gnulib
133844         c4963f9 Fix doc for Universal Time
133846 2016-04-10  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
133848         Fix alignment rule for CSS
133850         * lisp/align.el (align-rules-list): Support CSS properties that have
133851         multiple words.
133853 2016-04-10  Tassilo Horn  <tsdh@gnu.org>
133855         New custom option for overriding mailcap choices
133857         * lisp/net/mailcap.el (mailcap--get-user-mime-data): New function.
133858         (mailcap--set-user-mime-data): New function.
133859         (mailcap-user-mime-data): New customization option.
133860         (mailcap-select-preferred-viewer): New function.
133861         (mailcap-mime-info): Use it.
133863         * doc/misc/emacs-mime.texi (mailcap): Document `mailcap-user-mime-data'.
133865 2016-04-10  Michael Albinus  <michael.albinus@gmx.de>
133867         Fix Bug#23207
133869         * src/keyboard.c (read_char): Resume idle timers in case of
133870         dbus-event, file-notify-event and config-changed-event.
133871         Reported by Johan Claesson <johanclaesson@bredband.net>.  (Bug#23207)
133873 2016-04-09  Michael Albinus  <michael.albinus@gmx.de>
133875         Add vc-backend and vc-responsible-backend tests
133877         * lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop)
133878         (vc-file-clearprops): Use properties on absolute files.
133880         * test/lisp/vc/vc-tests.el (vc-test--unregister-function):
133881         Clear file properties.
133882         (vc-test--register): Add tests for `vc-backend' and
133883         `vc-responsible-backend'.  Catch other errors but `vc-not-supported'.
133884         (vc-test--state, vc-test--checkout-model): Catch other errors
133885         but `vc-not-supported'.
133886         (vc-test--working-revision): Fix test for RCS and SCCS.  Catch
133887         other errors but `vc-not-supported'.
133888         (vc-test-src02-state): Mark as an expected failure.
133890 2016-04-08  Paul Eggert  <eggert@cs.ucla.edu>
133892         Minor improvements for hash function primitives
133894         * src/fns.c (hashfn_eql): Define in terms of hashfn_equal and
133895         hashfn_eq rather than reaching inside them.
133896         (hashtest_eq, hashtest_eql, hashtest_equal):
133897         Now constants with initializers.
133898         (syms_of_fns): Omit no-longer-needed initialization.
133899         * src/lisp.h (LISPSYM_INITIALLY): New macro.
133900         (DEFINE_LISP_SYMBOL): Use it.
133902 2016-04-08  Paul Pogonyshev  <pogonyshev@gmail.com>
133904         New primitives sxhash-eq, sxhash-eql
133906         * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
133907         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
133908         Add sxhash-equal, sxhash-eq, sxhash-eql.
133909         * lisp/subr.el (sxhash): Now an alias for sxhash-equal.
133910         * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n
133912 2016-04-08  Eli Zaretskii  <eliz@gnu.org>
133914         Teach Dired support parallel execution of commands on MS-Windows
133916         * lisp/dired-aux.el (dired-shell-stuff-it): Support
133917         parallel-in-background execution of commands on MS-Windows.
133918         Test 'w32-shell-dos-semantics' instead of the underlying OS
133919         when determining whether addition of 'wait' is needed.
133921 2016-04-08  Tino Calancha  <f92capac@gmail.com>
133923         Make 'dired-do-shell-command' wait for all background jobs
133925         * lisp/dired-aux.el (dired-shell-stuff-it): Force POSIX shells to
133926         wait until all background jobs exit.  (Bug#23206).
133928 2016-04-07  Vivek Dasmohapatra  <vivek@etla.org>
133930         Prefer 'font-lock-face to 'face in erc where appropriate
133932         * lisp/erc/erc-button.el (erc-button-add-face): Prefer
133933         'font-lock-face to 'face where appropriate.
133934         * lisp/erc/erc-capab.el (erc-capab-identify-add-prefix)
133935         * lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output)
133936         * lisp/erc/erc-goodies.el (erc-controls-propertize)
133937         * lisp/erc/erc-stamp.el (erc-format-timestamp)
133938         * lisp/erc/erc-track.el (erc-faces-in)
133939         * lisp/erc/erc.el (erc-load-irc-script-lines, erc-display-msg)
133940         (erc-display-command, erc-make-notice, erc-highlight-notice)
133941         (erc-format-my-nick, erc-format-@nick, erc-format-privmessage)
133942         (erc-display-prompt, erc-display-message-highlight)
133943         (erc-log-irc-protocol): Ditto.
133945         * test/lisp/erc/erc-track-tests.el: Converted asserts into ert
133946         tests.
133948 2016-04-06  Lele Gaifax  <lele@metapensiero.it>
133950         Add new keywords of Python 3.5
133952         Python 3.5, released in mid September 2015, introduced a few new
133953         keywords to better support asynchronous code, "async" and "await"
133954         in particular. See https://www.python.org/dev/peps/pep-0492/ for
133955         details. (Bug#21783)
133956         * lisp/progmodes/python.el (python-rx-constituents): Add async
133957         def/for/with as block-start and async def as defun.
133958         * lisp/progmodes/python.el (python-font-lock-keywords): Add async
133959         def/for/with as keyword.
133960         * test/automated/python-tests.el (python-indent-after-async-block-1,
133961         python-indent-after-async-block-2, python-indent-after-async-block-3,
133962         python-nav-beginning-of-defun-3): New tests to test indentation and
133963         navigation for the async keyword.
133965 2016-04-05  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
133967         Support completion of at-rules in SCSS mode
133969         lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding
133970         SCSS-specific at-rules.
133971         (css--at-ids): New buffer-local variable holding the list of at-rules
133972         for the current mode.
133973         (css--complete-at-rule): Retrieve at-rules from `css--at-ids`.
133974         (scss-mode): Set `css--at-ids'.
133976 2016-04-05  Paul Eggert  <eggert@cs.ucla.edu>
133978         Enable GCC warnings in developer builds
133980         However, do not fail; just issue the warnings.  Add an option
133981         --enable-gcc-warnings=warn-only to configure, to implement this.
133982         * INSTALL, etc/NEWS: Document this.
133983         * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
133984         (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
133985         Don’t treat --with-x-toolkit=no as a special case when configuring
133986         warnings.
133988 2016-04-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
133990         Inhibit querying for the encoding of the headers when resending
133992         * lisp/gnus/message.el (message-resend): Inhibit querying for
133993         the encoding of the headers when resending.
133995 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
133997         Prefer AUTO_STRING_WITH_LEN to make_formatted_string
133999         * src/buffer.c (Fgenerate_new_buffer_name):
134000         * src/filelock.c (get_boot_time):
134001         * src/minibuf.c (get_minibuffer):
134002         * src/process.c (make_process):
134003         * src/xdisp.c (ensure_echo_area_buffers):
134004         Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string
134005         when either will do.
134007 2016-04-04  Tao Fang  <fangtao0901@gmail.com>
134009         Allow URL using HTTPS proxies using CONNECT
134011         * lisp/url/url-http.el (url-http-find-free-connection): Allow
134012         using proxies (bug#11788).
134013         (url-http-end-of-document-sentinel): Ditto.
134014         (url-http): The protocol may change from http to https and
134015         vice versa.
134016         (url-https-proxy-connect): Allow using CONNECT proxies for https.
134018 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
134020         New C macro AUTO_STRING_WITH_LEN
134022         Put a bit less pressure on the garbage collector by defining a
134023         macro that is like AUTO_STRING but also allows null bytes in strings,
134024         and by extending AUTO_STRING to work with any unibyte string.
134025         * src/alloc.c (verify_ascii): Remove; all uses removed.
134026         AUTO_STRING can now be used on non-ASCII unibyte strings.
134027         * src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
134028         (AUTO_STRING_WITH_LEN): New macro.
134029         * src/coding.c (from_unicode_buffer):
134030         * src/editfns.c (format_time_string):
134031         * src/emacs-module.c (module_make_string, module_format_fun_env):
134032         * src/fileio.c (Fexpand_file_name):
134033         * src/font.c (font_parse_family_registry):
134034         * src/ftfont.c (ftfont_get_charset):
134035         * src/keymap.c (silly_event_symbol_error):
134036         * src/menu.c (single_menu_item):
134037         * src/sysdep.c (system_process_attributes):
134038         Use AUTO_STRING_WITH_LEN if possible.
134039         * src/emacs-module.c (module_make_function):
134040         * src/fileio.c (report_file_errno, report_file_notify_error):
134041         * src/fns.c (Flocale_info):
134042         * src/sysdep.c (system_process_attributes):
134043         Use AUTO_STRING if possible.  This is doable more often now
134044         that AUTO_STRING works on any unibyte string.
134046 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
134048         Port redirect-debugging-output to MS-Windows
134050         Suggested by Eli Zaretskii in:
134051         https://lists.gnu.org/r/emacs-devel/2016-04/msg00037.html
134052         * src/print.c [WINDOWSNT]: Include sys/socket.h.
134053         * src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2.
134055 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
134057         Port redirect-debugging-output to non-GNU/Linux
134059         Problem reported by Kylie McClain for musl in:
134060         https://lists.gnu.org/r/emacs-devel/2016-03/msg01592.html
134061         * etc/DEBUG, etc/NEWS: Mention this.
134062         * src/callproc.c (child_setup) [!MSDOS]:
134063         * src/dispnew.c (init_display):
134064         * src/emacs.c (main, Fdaemon_initialized):
134065         * src/minibuf.c (read_minibuf_noninteractive):
134066         * src/regex.c (xmalloc, xrealloc):
134067         Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
134068         to make file-descriptor manipulation easier to follow.
134069         * src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
134070         now that we make sure stdin, stdout and stderr are open.  All uses
134071         removed.
134072         (main): Make sure standard FDs are OK.  Prefer symbolic names like
134073         EXIT_FAILURE to magic numbers like 1.  Use bool for boolean.
134074         * src/lisp.h (init_standard_fds): New decl.
134075         * src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
134076         Remove; no longer needed.
134077         (Fredirect_debugging_output): Define on all platforms, not just
134078         GNU/Linux.  Redirect file descriptor, not stream, so that the code
134079         works even if stderr is not an lvalue.  Report an error if the
134080         file arg is neither a string nor nil.
134081         (syms_of_print): Always define redirect-debugging-output.
134082         * src/sysdep.c (force_open, init_standard_fds): New functions.
134084 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
134086         Spelling fixes
134088 2016-04-03  John Wiegley  <johnw@newartisans.com>
134090         Revert "Add `r'/`l' grep command history commands"
134092         This reverts commit a32eea60ac90d367435860fe3a10bf843e6f497c.
134094 2016-04-03  John Wiegley  <johnw@newartisans.com>
134096         Revert "Restore the point in grep buffers when traversing the history"
134098         This reverts commit f7c5f79ca565d3ef3feeb1e0af5ca261f1bcf58a.
134100 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
134102         Merge from origin/emacs-25
134104         787df9d ; * src/keyboard.c (read_char): Fix typos in a comment.
134106 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
134108         Merge from origin/emacs-25
134110         b787d55 More format-time-string change fixups
134111         13c8f29 make-xwidget unused arg cleanup
134112         36e05f0 Remove unused arguments from make-xwidget
134113         1042217 Document incompatible changes in 'format-time-string'
134114         7228eb8 Improve documentation of byte-code objects
134115         0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
134116         17b5152 Improve vc-diff with Git backend
134117         c28f87a (js--continued-expression-p): Special-case unary plus and minus
134118         2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
134119         9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
134120         b3b523c Avoid crashes due to insanely large columns in tabulated-list...
134121         a3daa34 Teach M-x disassemble a default argument.
134122         e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
134123         df441b3 Fix OS X specific settings in tramp-tests
134124         2244331 Finish fixing a caching bug in CC Mode (see 2016-03-09)
134126         # Conflicts:
134127         #       lisp/net/tramp-sh.el
134128         #       lisp/progmodes/cc-engine.el
134130 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
134132         Restore the point in grep buffers when traversing the history
134134         * lisp/progmodes/grep.el (grep-process-setup): Allow moving
134135         point to a specific place after finishing the grep command.
134136         (grep-mode): Use it to restore point after traversing the history.
134137         (grep--history-point): New internal variable.
134138         (grep--save-history, grep-forward-history): Use it to restore
134139         the point.
134141 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
134143         Add `r'/`l' grep command history commands
134145         * doc/emacs/building.texi (Grep Searching): Mention the
134146         `r'/`l' commands.
134148         * lisp/progmodes/grep.el (grep-forward-history): New command.
134149         (grep-backward-history): Ditto.
134150         (grep--save-buffers): New function.
134151         (grep): Use it to record the history.
134152         (grep--command-history, grep--history-inhibit)
134153         (grep--history-place): New internal variables for the grep
134154         history (bug#22627).
134156 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
134158         Fix Bug#23186, again
134160         * lisp/net/tramp.el (tramp-encoding-shell)
134161         (tramp-encoding-command-switch)
134162         (tramp-encoding-command-interactive): Check for
134163         `w32-shell-name'.  (Bug#23186)
134165 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
134167         Fix Bug#23186
134169         * lisp/net/tramp.el (tramp-encoding-command-switch)
134170         (tramp-encoding-command-interactive):
134171         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
134172         `tramp-encoding-shell' could be nil.  (Bug#23186)
134174 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
134176         Fix Bug#22145
134178         * lisp/net/tramp-cache.el (tramp-get-connection-property)
134179         (tramp-set-connection-property, tramp-connection-property-p)
134180         (tramp-flush-connection-property): Improve docstring.
134182         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
134184         * lisp/net/tramp.el (tramp-get-local-locale): New defun.
134186         * test/automated/tramp-tests.el (tramp--test-utf8):
134187         Improve settings of coding systems.  (Bug#22145)
134189 2016-04-02  John Wiegley  <johnw@newartisans.com>
134191         Merge from origin/emacs-25
134193         7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer...
134194         9034c50 * doc/man/emacsclient.1: Document +line:column option.
134195         06495c9 Fix rare problems with echo-area display and multiple frames
134196         f99b512 In M-%, avoid making buffer-local binding of text-property-de...
134198 2016-04-02  John Wiegley  <johnw@newartisans.com>
134200         Merge from origin/emacs-25
134202         e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec.
134203         c8b868b Don't start the 'midnight' timer twice
134204         278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X...
134205         e5c17f4 Fix todo-mode category movement
134206         bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version.
134207         cf40f38 Ignore non-nil. non-cons values of unread-command-events
134208         8ee4c52 Improve documentatuon of 'truncate-partial-width-windows'
134209         fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU...
134210         1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired
134211         3a13472 Fix map-put and map-delete for alists (Bug#23105)
134212         422c3da Minor copyedits of documentation for temporary displays
134213         90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse
134214         f14d463 Minor doc string fixes in replace.el
134215         e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url'
134216         44782de Fix display of Indic scripts
134217         326c64f Fix splash screen display at startup
134218         7ab2a97 ; In NEWS mention new display of minibuffer completions window
134219         a1cd84c Describe temporary displays in Emacs manual
134220         5ec1056 Avoid stray As next to IDLW icons
134221         45577d5 Avoid GTK 3 crash with icons and masks
134222         e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi...
134223         077b78c Define make_save_ptr_ptr unconditionally
134224         20a1003 Preserve current buffer when popping up TTY menus
134225         7eba90c Improve font selection by family on MS-Windows
134226         73d213f Comint, term, and compile now set EMACS
134227         9524ec5 Ignore more merges when generating ChangeLog
134228         ad250f2 Sync with gnulib
134229         c0165ea Resurrect GNUS-NEWS autogeneration
134230         1e5327c ; Backport ChangeLog.2 fixes from master
134231         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
134232         38a43f1 Fix bug in displaying header line with a box face
134233         91e6676 Fix an Isearch var to be a string (Bug#23038)
134234         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
134235         8a35f83 Render empty <ul><li><ul> correctly
134236         d8b2ce5 Ignore invalid base64 encoded embedded images
134237         52ba24b Fix <p> and <div> newlines with or without <li> in shr
134238         b8ea08b Avoid errors in 'newline'
134239         fc3cd53 Fix Bug#23032
134240         dd2737b Adjudicate review comments in abbrevs.texi
134241         26f9c50 Fixup the "normal" matcher; highlight global var symbols, too
134242         413e73b ; Small theme additions
134243         cd950da Honor prefix arg in doc-view-next-line-or-next-page
134244         ed909c0 ; Spelling fixes
134245         6da3a6d Port to strict C99 offsetof
134246         de7601f Port to GTK with strict C11 compiler
134247         658aa2d Port to GTK with strict C99 compiler
134248         1df7173 Avoid screen artifacts with new OS X visible bell after scrol...
134249         7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
134250         dca240a Suppress some Tramp tests for OSX, do not merge with master
134251         9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo...
134252         cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
134253         005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare.
134254         9ab03f2 ; Auto-commit of loaddefs files.
134255         56df617 Address compilation warnings due to 2016-01-03 mml refactoring.
134256         a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i...
134257         79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes...
134258         253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined...
134259         ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
134260         d6d164f Avoid segfaults due to frame image cache being absent
134261         bc7f6f6 Improve documentation of glyphless-character display
134262         6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments.
134263         ee9a1f7 Support safe navigation operator in non-SMIE indentation code
134264         c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1
134265         2036be4 Fix Ruby's operator precedence
134266         1d686c2 (ruby-interpolation-inside-another-interpolation): New failin...
134267         7950e1d Port to clang 3.7.0 on x86-64
134268         218ae59 * test/automated/package-test.el (package-test-signed): Tweak...
134269         ba33b7c Sync with gnulib
134270         38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP
134271         dbfbedd Do not tokenize a comment before continuation as ';'
134272         0403620 Don't misindent arguments of a method call inside continuation
134273         e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec...
134274         8475f3d ASCII-only etc/NEWS etc.
134275         5cc6919 Fix a caching bug, which led to inordinately slow c-beginnin...
134276         0ce37ea Fix Isearch prompt when invoked with an argument
134277         f3033d4 Fix a typo in the Emacs manual
134278         4235d2d Curved quotes in etc/NEWS etc.
134279         26b56dc Fix some single quotes in documentation
134280         80ec484 Make lisp-completion-at-point's argument optional
134281         9d463ae Tweak the left precedence of '=>'
134282         5b705bc Indent '.' relative to the first sibling expression
134283         04f5525 Make '.' associative, for easier sexp navigation
134284         ba24c99 Revert "Simplify "Visit New File" to "New File""
134286 2016-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
134288         * lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler
134290         Use #' to quote functions.
134291         (erc-server-delayed-reconnect): Remove unused arg `event'.
134292         (erc-process-sentinel-2): Adjust accordingly.
134293         Don't pass `err' to condition-case if we don't use it.
134294         (define-erc-response-handler): Use add-hook rather than add-to-list.
134295         (NICK): Use cl-pushnew rather than add-to-list.
134296         (331): Remove unused var `topic'.
134297         (352): Remove unused var `hopcount'.
134299 2016-04-02  Paul Pogonyshev  <pogonyshev@gmail.com>
134301         Support macros in 'func-arity'
134303         * src/eval.c (Ffunc_arity): Support Lisp macros as well.
134305 2016-04-02  Andy Moreton  <andrewjmoreton@gmail.com>
134307         Fix compilation of Cygwin w32 port
134309         * src/w32xfns.c (init_crit, delete_crit) [HAVE_W32NOTIFY]: Only
134310         initialize and free the notification set if compiling with
134311         w32notify feature.
134313 2016-04-01  Paul Eggert  <eggert@penguin.cs.ucla.edu>
134315         Fix resize incompatibility with GTK+ master
134317         Problem reported by Matthias Clasen (Bug#23144).
134318         * src/xterm.c (handle_one_xevent) [USE_GTK]:
134319         Do not call xg_frame_resized.
134321 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
134323         Fix check for subscript errors in module calls
134325         * src/emacs-module.c (check_vec_index): New function.
134326         (module_vec_set, module_vec_get): Use it instead of a
134327         not-strict-enough check.
134329 2016-03-31  Simen Heggestøyl  <simenheg@gmail.com>
134331         Support completion of bang-rules in CSS mode
134333         lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
134334         holding the list of bang-rules for the current mode.
134335         (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
134336         instead of computing them.
134337         (css--complete-bang-rule): New function for completing a bang-rule.
134338         (css-completion-at-point): Add support for completing bang-rules.
134339         (scss-font-lock-keywords): Change from a variable to a function in
134340         order to recompute `css--font-lock-keywords' when `css--bang-ids' has
134341         changed.
134342         (scss-mode): Set `css--bang-ids' and recompute font-lock keywords.
134344 2016-03-30  Simen Heggestøyl  <simenheg@gmail.com>
134346         Add HTML4 tags to HTML mode
134348         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML4 tags.
134349         (html-tag-help): Add short descriptions of those tags.
134351 2016-03-29  Paul Eggert  <eggert@cs.ucla.edu>
134353         Pacify --enable-gcc-warnings for buffer-hash etc.
134355         * src/fns.c (make_digest_string): Now static.
134356         (secure_hash): Omit unused local.
134358 2016-03-29  Oleh Krehel  <ohwoeowho@gmail.com>
134360         Add support for 7z archives
134362         * lisp/dired-aux.el (dired-compress-file-suffixes): "Z" should now
134363           also work with 7z archives.
134365         The shell command should produce a single extracted directory named
134366         after the archive's name.
134368         In case the extracted directory exists, all files will be overwritten
134369         without a prompt. This matches the expected behavior with the "tar.gz"
134370         archives.
134372 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
134374         * lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra
134376 2016-03-29  Michael Albinus  <michael.albinus@gmx.de>
134378         Fix typo in network-stream-tests.el
134380         * test/lisp/net/network-stream-tests.el
134381         (connect-to-tls-ipv6-nowait): Fix typo.
134383 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
134385         New function seq-sort-by in seq.el
134387         * lisp/emacs-lisp/seq.el (seq-sort-by): New function.
134388         * test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
134389         * doc/lispref/sequences.texi: Add documentation for seq-sort-by.
134391 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
134393         Mention the `M-q' changes
134395 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
134397         Have `M-q' not mark buffers are changed when they haven't
134399         * lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash'
134400         to avoid marking buffers as changed when they haven't.
134402 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
134404         Add a new function `buffer-hash'
134406         * doc/lispref/text.texi (Checksum/Hash): Document `buffer-hash'.
134408         * src/fns.c (Fbuffer_hash): New function.
134409         (make_digest_string): Refactored out into its own function.
134410         (secure_hash): Use it.
134412         * test/src/fns-tests.el (fns-tests-hash-buffer): New tests.
134414 2016-03-27  Paul Eggert  <eggert@cs.ucla.edu>
134416         Rename C names to match Lisp symbols better
134418         This was inspired by commit e65c3079c65595d95749348366af9811fafff062,
134419         which fixed a bug where the C name for a symbol disagreed with the
134420         symbol name itself.  Fix other instances of disagreements that I found.
134421         Although this doesn’t fix a bug, it should make code easier to follow.
134422         The remaining disagreements are idiosyncratic: Qminus, Qplus,
134423         Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot.
134424         All uses changed.
134425         * src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc.
134426         * src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus.
134427         (QCsession): Rename from QCdbus_session_bus.
134428         (QCtimeout): Rename from QCdbus_timeout.
134429         (QCbyte): Rename from QCdbus_type_byte.
134430         (QCboolean): Rename from QCdbus_type_boolean.
134431         (QCint16): Rename from QCdbus_type_int16.
134432         (QCuint16): Rename from QCdbus_type_uint16.
134433         (QCint32): Rename from QCdbus_type_int32.
134434         (QCuint32): Rename from QCdbus_type_uint32.
134435         (QCint64): Rename from QCdbus_type_int64.
134436         (QCuint64): Rename from QCdbus_type_uint64.
134437         (QCdouble): Rename from QCdbus_type_double.
134438         (QCstring): Rename from QCdbus_type_string.
134439         (QCobject_path): Rename from QCdbus_type_object_path.
134440         (QCsignature): Rename from QCdbus_type_signature.
134441         (QCunix_fd): Rename from QCdbus_type_unix_fd.
134442         (QCarray): Rename from QCdbus_type_array.
134443         (QCvariant): Rename from QCdbus_type_variant.
134444         (QCstruct): Rename from QCdbus_type_struct.
134445         (QCdict_entry): Rename from QCdbus_type_dict_entry.
134446         (QCserial): Rename from QCdbus_registered_serial.
134447         (QCmethod): Rename from QCdbus_registered_method.
134448         (QCsignal): Rename from QCdbus_registered_signal.
134449         * src/emacs-module.c (Qinternal__module_call):
134450         Rename from Qinternal_module_call.
134451         * src/frame.c (Qwindow__pixel_to_total):
134452         Rename from Qwindow_pixel_to_total.
134453         * src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname.
134454         (QCpriority): Rename from QCgnutls_bootprop_priority.
134455         (QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles.
134456         (QCkeylist): Rename from QCgnutls_bootprop_keylist.
134457         (QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles.
134458         (QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits.
134459         (QCloglevel): Rename from QCgnutls_bootprop_loglevel.
134460         (QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation.
134461         (QCverify_flags): Rename from QCgnutls_bootprop_verify_flags.
134462         (QCverify_error): Rename from QCgnutls_bootprop_verify_error.
134463         * src/w32fns.c (Qfont_parameter): Rename from Qfont_param.
134464         (Qgnutls): Rename from Qgnutls_dll.
134465         (Qlibxml2): Rename from Qlibxml2_dll.
134466         (Qzlib): Rename from Qzlib_dll.
134467         * src/w32select.c (Qutf_16le_dos): Rename from QUNICODE.
134468         * src/window.c (Qwindow__resize_root_window):
134469         Rename from Qwindow_resize_root_window.
134470         (Qwindow__resize_root_window_vertically):
134471         Rename from Qwindow_resize_root_window_vertically.
134472         (Qwindow__sanitize_window_sizes):
134473         Rename from Qwindow_sanitize_window_sizes.
134474         (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total.
134475         * src/xdisp.c (Qredisplay_internal_xC_functionx):
134476         Rename from Qredisplay_internal.
134477         * src/xfns.c (Qfont_parameter): Rename from Qfont_param.
134478         * src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP.
134480 2016-03-26  Paul Eggert  <eggert@cs.ucla.edu>
134482         func-arity minor improvements
134484         * src/bytecode.c (get_byte_code_arity): Omit unnecessary
134485         runtime test for integer argument, unless debugging.
134486         Use EMACS_INT for Emacs integers.
134487         * src/eval.c (Ffunc_arity): Omit unused locals.
134488         Avoid side effects in ‘if’ expr.
134489         (lambda_arity): Use bool for boolean, and EMACS_INT for Emacs ints.
134491 2016-03-26  John Wiegley  <johnw@newartisans.com>
134493         Restore the fix to bug#18527 from commit d6868025
134495 2016-03-26  Martin Rudalics  <rudalics@gmx.at>
134497         Safely run window size change functions
134499         * src/window.c (run_window_size_change_functions): Use
134500         safe_call1 when running a size change function.
134501         (grow_mini_window, shrink_mini_window): Report error when
134502         minibuffer window cannot be resized.
134504 2016-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
134506         Implement 'func-arity'
134508         * src/eval.c (Ffunc_arity, lambda_arity): New functions.
134509         * src/bytecode.c (get_byte_code_arity): New function.
134510         * src/lisp.h (get_byte_code_arity): Add prototype.
134512         * doc/lispref/functions.texi (What Is a Function): Document
134513         'func-arity'.
134515         * etc/NEWS: Mention 'func-arity'.
134517         * test/src/fns-tests.el (fns-tests-func-arity): New test set.
134519 2016-03-25  Alan Mackenzie  <acm@muc.de>
134521         Fix absence of c-noise-macro-name-re, etc., in languages which don't use it
134523         * lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type)
134524         (c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header)
134525         (c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at'
134526         c-noise-macro-with-parens-name-re.
134528         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for
134529         cc-engine.el.
134531         * lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to
134532         `c-make-noise-macro-regexps'.
134533         (c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'.
134535         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
134536         (c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil.
134538 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
134540         (shr-insert): Respect non-breaking space in non-<pre> text
134542         * lisp/net/shr.el (shr-insert): Respect non-breaking space in
134543         non-<pre> text.
134545 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
134547         parse-times-string doc string clarification
134549         * lisp/calendar/parse-time.el (parse-time-string): Note that
134550         we accept RFC2822 strings.
134552 2016-03-25  Marcin Borkowski  <mbork@mbork.pl>
134554         Doc string fix
134556         * lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
134557         doc string and clean up code.
134559 2016-03-25  Michael Albinus  <michael.albinus@gmx.de>
134561         Cleanup file notification code in Tramp
134563         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
134564         Make `events' a list of symbols for "inotifywait".
134565         (tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
134566         Call `file-notify-handle-event' for better traces.
134567         (tramp-sh-inotifywait-process-filter): Check for expected events.
134568         Call `file-notify-handle-event' for better traces.
134570 2016-03-24  Michael Albinus  <michael.albinus@gmx.de>
134572         Adapt filenotify-tests.el according latest tests
134574         * test/lisp/filenotify-tests.el (file-notify-test02-events)
134575         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
134576         Remove superfluous `read-event' calls.
134577         (file-notify-test02-events): Expect different events under MS
134578         Windows 7 and 10.
134579         (file-notify-test04-file-validity): Move `file-notify-valid-p'
134580         check up.
134582 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
134584         Merge from origin/emacs-25
134586         ad250f2 Sync with gnulib
134587         c0165ea Resurrect GNUS-NEWS autogeneration
134589         # Conflicts:
134590         #       etc/GNUS-NEWS
134591         #       lisp/Makefile.in
134593 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
134595         Merge from origin/emacs-25
134597         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
134598         38a43f1 Fix bug in displaying header line with a box face
134600 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
134602         * etc/NEWS: Use straight quotes.
134604 2016-03-23  Simen Heggestøyl  <simenheg@gmail.com>
134606         Support completion of attribute values in CSS mode
134608         * lisp/textmodes/css-mode.el (css-property-alist): New defconst
134609         holding CSS identifiers and the values they can have.
134610         (css-property-ids): Compute dynamically from `css-property-alist'.
134611         (css-value-class-alist): New defconst holding property value classes
134612         and their values.
134613         (css--property-value-cache): New variable providing a cache for
134614         `css--property-values'.
134615         (css--value-class-lookup): New function for computing a list of values
134616         in a value class.
134617         (css--property-values): New function for computing a list of possible
134618         values for a CSS property.
134619         (css--complete-property-value): New function for completing a property
134620         value.
134621         (css-completion-at-point): Add support for completing property values.
134622         * test/lisp/textmodes/css-mode-tests.el: New file.
134624 2016-03-22  Wilson Snyder  <wsnyder@wsnyder.org>
134626         Sync with verilog-mode development tree.
134628         * lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
134629         verilog-speedbar-initialize): Automatically add verilog-mode
134630         extensions when in speedbar mode, bug1045, bug1046.  Reported by
134631         David Shleifman.
134632         (verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
134633         avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
134634         (verilog-read-always-signals-recurse): Fix :: notation for
134635         auto-reset signals.  Reported by Andrew Jones.
134636         (verilog-font-lock-grouping-keywords-face): Fix highlighting of
134637         grouping keywords, bug1002. Reported by Paul Sargent.
134638         (verilog-save-font-no-change-functions): Commentary and fix
134639         pre-Emacs 21 behavior.
134641 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
134643         Compute a better commit message for merges
134645         Problem reported by David Engster in:
134646         https://lists.gnu.org/r/emacs-devel/2016-03/msg01270.html
134647         * admin/gitmerge.el (gitmerge-commit-message):
134648         Truncate the computed commit message to at most 72 characters per line.
134649         (gitmerge-maybe-resume): Don’t use "-" as the commit message for
134650         merges; use the computed commit message instead.
134652 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
134654         * admin/gitmerge.el (gitmerge-skip-regexp): Add "no need to merge".
134656 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
134658         Change do-not-merge pattern to "do not merge"
134660         This should avoid the problem we recently had with
134661         automatically-generated merge messages, while still letting people
134662         specify commits not to merge.
134663         * admin/gitmerge.el (gitmerge-skip-regexp): Add "do not merge".
134664         (gitmerge-highlight-skip-regexp): Fold case when searching
134665         for gitmerge-skip-regexp.
134667 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
134669         Merge from origin/emacs-25
134671         91e6676 Fix an Isearch var to be a string (Bug#23038)
134672         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
134674 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
134676         -
134678         -
134680 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
134682         Keep "merge" commits by default in gitmerge
134684         * admin/gitmerge.el (gitmerge-skip-regexp): Omit "merge", as it
134685         causes false positives.  See:
134686         https://lists.gnu.org/r/emacs-devel/2016-03/msg01234.html
134688 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
134690         Assume NON_BLOCKING_CONNECT (Bug#22946)
134692         * lisp/proced.el (proced-signal-list): Omit comment about
134693         obsolete systems that do not support POSIX 1003.1-2001 signals.
134694         * src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
134695         assume POSIX 1003.1-2001 or better here.  Assume it’s defined.
134696         (connect_network_socket): Assume EINPROGRESS is defined,
134697         as that’s portable too now.
134698         (Fmake_network_process): Use bool for boolean.
134700 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
134702         Fix problems caused by new implementation of sub-word mode
134704         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
134705         New functions.
134706         (word-move-empty-char-table): New variable.
134708         * etc/NEWS: Mention 'forward-word-strictly' and
134709         'backward-word-strictly'.
134711         * doc/lispref/positions.texi (Word Motion): Document
134712         'find-word-boundary-function-table', 'forward-word-strictly', and
134713         'backward-word-strictly'.  (Bug#22560)
134715         * src/syntax.c (syms_of_syntax)
134716         <find-word-boundary-function-table>: Doc fix.
134718         * lisp/wdired.el (wdired-xcase-word):
134719         * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
134720         (texinfo-copy-section-title, texinfo-start-menu-description)
134721         (texinfo-copy-menu-title, texinfo-specific-section-type)
134722         (texinfo-insert-node-lines, texinfo-copy-next-section-title):
134723         * lisp/textmodes/texinfo.el (texinfo-clone-environment)
134724         (texinfo-insert-@end):
134725         * lisp/textmodes/texinfmt.el (texinfo-format-scan)
134726         (texinfo-anchor, texinfo-multitable-widths)
134727         (texinfo-multitable-item):
134728         * lisp/textmodes/tex-mode.el (latex-env-before-change):
134729         * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
134730         * lisp/skeleton.el (skeleton-insert):
134731         * lisp/simple.el (count-words):
134732         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
134733         (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
134734         (vhdl-update-sensitivity-list, vhdl-template-block)
134735         (vhdl-template-break, vhdl-template-case, vhdl-template-default)
134736         (vhdl-template-default-indent, vhdl-template-for-loop)
134737         (vhdl-template-if-then-use, vhdl-template-bare-loop)
134738         (vhdl-template-nature, vhdl-template-procedural)
134739         (vhdl-template-process, vhdl-template-selected-signal-asst)
134740         (vhdl-template-type, vhdl-template-variable)
134741         (vhdl-template-while-loop, vhdl-beginning-of-block)
134742         (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
134743         * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
134744         (verilog-forward-sexp, verilog-beg-of-statement)
134745         (verilog-set-auto-endcomments, verilog-backward-token)
134746         (verilog-do-indent):
134747         * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
134748         (vera-indent-block-closing):
134749         * lisp/progmodes/simula.el (simula-context)
134750         (simula-backward-up-level, simula-forward-down-level)
134751         (simula-previous-statement, simula-next-statement)
134752         (simula-skip-comment-backward, simula-calculate-indent)
134753         (simula-find-if, simula-electric-keyword):
134754         * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
134755         * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
134756         (ruby-smie--forward-token, ruby-smie--backward-token)
134757         (ruby-singleton-class-p, ruby-calculate-indent)
134758         (ruby-forward-sexp, ruby-backward-sexp):
134759         * lisp/progmodes/ps-mode.el (ps-run-goto-error):
134760         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
134761         (perl-syntax-propertize-special-constructs)
134762         (perl-backward-to-start-of-continued-exp):
134763         * lisp/progmodes/pascal.el (pascal-indent-declaration):
134764         * lisp/progmodes/octave.el (octave-function-file-p):
134765         * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
134766         * lisp/progmodes/js.el (js--forward-function-decl):
134767         * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
134768         (idlwave-beginning-of-block, idlwave-end-of-block)
134769         (idlwave-block-jump-out, idlwave-determine-class):
134770         * lisp/progmodes/icon.el (icon-is-continuation-line)
134771         (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
134772         * lisp/progmodes/hideif.el (hide-ifdef-define):
134773         * lisp/progmodes/f90.el (f90-change-keywords):
134774         * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
134775         (cperl-linefeed, cperl-electric-terminator)
134776         (cperl-find-pods-heres, cperl-fix-line-spacing)
134777         (cperl-invert-if-unless):
134778         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
134779         * lisp/progmodes/cc-align.el (c-lineup-java-inher):
134780         * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
134781         (ada-adjust-case-skeleton, ada-create-case-exception)
134782         (ada-create-case-exception-substring)
134783         (ada-case-read-exceptions-from-file, ada-after-keyword-p)
134784         (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
134785         (ada-get-indent-if, ada-get-indent-block-start)
134786         (ada-get-indent-loop, ada-get-indent-type)
134787         (ada-search-prev-end-stmt, ada-check-defun-name)
134788         (ada-goto-decl-start, ada-goto-matching-start)
134789         (ada-goto-matching-end, ada-looking-at-semi-or)
134790         (ada-looking-at-semi-private, ada-in-paramlist-p)
134791         (ada-search-ignore-complex-boolean, ada-move-to-start)
134792         (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
134793         * lisp/net/quickurl.el (quickurl-grab-url):
134794         * lisp/mail/sendmail.el (mail-do-fcc):
134795         * lisp/mail/rmail.el (rmail-resend):
134796         * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
134797         * lisp/mail/mail-extr.el (mail-extract-address-components):
134798         * lisp/json.el (json-read-keyword):
134799         * lisp/files.el (insert-directory):
134800         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
134801         * lisp/completion.el (symbol-under-point, symbol-before-point)
134802         (symbol-before-point-for-complete, next-cdabbrev)
134803         (add-completions-from-c-buffer):
134804         * lisp/cedet/semantic/texi.el (semantic-up-context)
134805         (semantic-beginning-of-context):
134806         * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
134807         use 'forward-word-strictly' and 'backward-word-strictly' instead
134808         of 'forward-word' and 'backward-word'.
134810         [This reapplies commit c1d32a65372c72d7de4808d620eefd3214a8e92a,
134811         which was inadvertently lost by merge commit
134812         c71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5.]
134814 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
134816         * etc/TODO: Minor quoting and grammar fixes.
134818         [This reapplies commit 433407d8230a8a256b26c6c7615d3921b43f59ce,
134819         which was inadvertently lost by merge commit
134820         5ab243f40e4db91586ff74b01a775a5218a1d5be.]
134822 2016-03-21  Alan Mackenzie  <acm@muc.de>
134824         Don't confuse "::" with ":" when trying to parse member initializers.
134826         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
134827         more robustly for ":" token when searching backwards for it.
134829         * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New
134830         language variable.
134832         [This reapplies commit 9e5452f7166e3634f2d8e943815ed722e1672714,
134833         which was inadvertently lost by merge commit
134834         7823745acbe9b87eea2db4ef434e379fc903ec35.]
134836 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
134838         Ensure positive number of glyphs for margins of positive width
134840         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
134841         positive value when a non-zero width of the marginal area was
134842         requested.  (Bug#22356)
134844         [This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9,
134845         which was inadvertently lost by merge commit
134846         7823745acbe9b87eea2db4ef434e379fc903ec35.]
134848 2016-03-21  Alan Mackenzie  <acm@muc.de>
134850         In comment-dwim with style `extra-line', respect indent-tabs-mode.
134852         This fixes bug #22369.
134854         * lisp/newcomment.el (comment-make-bol-ws): New function.
134855         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
134857         [This reapplies commit 016b3d5894b8c424eab262aeefc646c6cd03a70a,
134858         which was inadvertently lost by merge commit
134859         7823745acbe9b87eea2db4ef434e379fc903ec35.]
134861 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
134863         Merge doc fixes for 'random' lost in previous merge
134865         [This reapplies part of commit
134866         3ffe81e245d854a694ae1734f1b6a995bdc5e724,
134867         which was inadvertently lost by merge commit
134868         7823745acbe9b87eea2db4ef434e379fc903ec35.]
134869         (Bug#22202)
134871 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
134873         Unhide the --no-line-directive option to 'etags'
134875         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
134876         option.  (Bug#22306)
134878         * doc/man/etags.1: Document the --no-line-directive option.
134880         [This reapplies commit fee0526a189f43e8470d78e8374bd425890fbe6f,
134881         which was inadvertently lost by merge commit
134882         7823745acbe9b87eea2db4ef434e379fc903ec35.]
134884 2016-03-21  Alan J Third  <alan@idiocy.org>  (tiny change)
134886         Fix picture-mode wrt double-width characters
134888         * lisp/textmodes/picture.el (picture-insert): Check the width of
134889         the character being replaced, not just that of the replacement.
134890         (Bug#1808)
134892         [This reapplies commit b70dba4e18514411ed38b5bbb846558158842ace,
134893         which was inadvertently lost by merge commit
134894         7823745acbe9b87eea2db4ef434e379fc903ec35.]
134896 2016-03-20  Martin Rudalics  <rudalics@gmx.at>
134898         Resurrect earlier fix of resize_frame_windows
134900         * src/window.c (resize_frame_windows): Resurrect earlier fix for
134901         calculating the number of columns of the minibuffer window which
134902         was lost in subsequent merges.
134904 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
134906         Move the cert files to the data directory
134908 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
134910         Further empty <li> tweaks
134912         * lisp/net/shr.el (shr-tag-li): When showing several empty
134913         <li> elements, ensure that they really get inserted on a new line.
134915 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
134917         Don't remove too much white space at the end of documents
134919         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't
134920         remove too much white space -- leave it on the last line (in
134921         case there's a background color).
134923 2016-03-20  Alan Mackenzie  <acm@muc.de>
134925         Amend parse-partial-sexp correctly to handle two character comment delimiters
134927         Do this by adding a new field to the parser state: the syntax of the last
134928         character scanned, should that be the first char of a (potential) two char
134929         construct, nil otherwise.
134930         This should make the parser state complete.
134931         Also document element 9 of the parser state.  Also refactor the code a bit.
134933         * src/syntax.c (struct lisp_parse_state): Add a new field.
134934         (SYNTAX_FLAGS_COMSTARTEND_FIRST): New function.
134935         (internalize_parse_state): New function, extracted from scan_sexps_forward.
134936         (back_comment): Call internalize_parse_state.
134937         (forw_comment): Return the syntax of the last character scanned to the caller
134938         when that character might be the first of a two character construct.
134939         (Fforward_comment, scan_lists): New dummy variables, passed to forw_comment.
134940         (scan_sexps_forward): Remove a redundant state parameter.  Access all `state'
134941         information via the address parameter `state'.  Remove the code which converts
134942         from external to internal form of `state'.  Access buffer contents only from
134943         `from' onwards.  Reformulate code at the top of the main loop correctly to
134944         recognize comment openers when starting in the middle of one.  Call
134945         forw_comment with extra argument (for return of syntax value of possible first
134946         char of a two char construct).
134947         (Fparse_partial_sexp): Document elements 9, 10 of the parser state in the
134948         doc string.  Clarify the doc string in general.  Call
134949         internalize_parse_state.  Take account of the new elements when consing up the
134950         output parser state.
134952         * doc/lispref/syntax.texi: (Parser State): Document element 9 and the new
134953         element 10.  Minor wording corrections (remove reference to "trivial
134954         cases").
134955         (Low Level Parsing): Minor corrections.
134957         * etc/NEWS: Note new element 10, and documentation of element 9 of parser
134958         state.
134960 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
134962         Allow the shr test files to have trailing blank space.
134964         * .gitattributes: Allow the shr test files to have trailing
134965         blank space.
134967 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
134969         Add tests for empty <ul><li>
134971 2016-03-20  Paul Eggert  <eggert@cs.ucla.edu>
134973         * src/alloc.c (purecopy): Use AUTO_STRING.
134975 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
134977         Ignore invalid base64 encoded embedded images
134979         * lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
134980         encoded embedded images (bug#22928).
134982 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
134984         Render empty <ul><li><ul> correctly
134986         * lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
134987         correctly (bug#22964).
134989 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
134991         Fix <p> and <div> newlines with or without <li> in shr
134993         * lisp/net/shr.el (shr-ensure-newline): Respect that we're in
134994         a <li>, if we are, and don't insert newlines there.
134995         (shr-ensure-paragraph): When mixing newlines and paragraph
134996         ensurements, don't insert too many blank lines.
134997         (shr-tag-div): A <div> shouldn't introduce a paragraph, but a
134998         new line.
135000 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135002         Add more shr HTML rendering tests
135004         Add a test harness for shr HTML rendering and one test
135006 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135008         Remove code left over from when overlays were used for padding
135010         * lisp/net/shr.el (shr-previous-newline-padding-width): Remove.
135011         (shr-remove-trailing-whitespace): Ditto.
135012         (shr-insert-document): Don't call them.
135014 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135016         Remove trailing blank lines in shr
135018         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
135019         (shr-insert-document): Use it to remove trailing blank lines
135020         at the end of documents, since these never seem to be very useful.
135022 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135024         Don't bug out on nil `patch-buf' arguments
135026         * lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil
135027         `patch-buf' arguments.
135029 2016-03-20  Ernest Adrogué  <nfdisco@gmail.com>
135031         Add a Catalan language environment
135033         * lisp/international/mule-cmds.el (locale-language-names): Map locale
135034           language name `ca' to language environment `Catalan'.
135036         * lisp/language/european.el: Add definition of language
135037         environment for the Catalan language.
135039         * lisp/leim/quail/latin-pre.el: Add quail rule to the
135040         `catalan-prefix' input method to support input of middle dot
135041         characters through composition (bug#18279).
135043 2016-03-19  Paul Eggert  <eggert@cs.ucla.edu>
135045         No need to block input when reading directories
135047         * src/dired.c: Don’t include blockinput.h.
135048         (open_directory, directory_files_internal_unwind)
135049         (directory_files_internal, file_attributes):
135050         Don’t block input here, as the reasons for blocking input should
135051         no longer apply.  See blockinput.h FIXME.  (Bug#22996).
135053 2016-03-19  Oscar Fuentes  <ofv@wanadoo.es>
135055         * lisp/vc/vc-hooks.el: Fix typo
135057 2016-03-19  Fabrice Popineau  <fabrice.popineau@gmail.com>
135059         Improve w32notify notifications
135061         * src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro.
135062         (struct notification): 'terminate' is now a HANDLE.
135063         (send_notifications): Argument is now a pointer to a
135064         notification.  Don't loop waiting for the notification to be
135065         acknowledged by the main thread; instead, just add the
135066         notification to the linked list of notifications waiting to be
135067         acknowledged.
135068         (watch_end): Don't close the directory handle.
135069         (watch_completion): Allocate a new notification structure to be
135070         added to the notifications set.  Call ReadDirectoryChangesW
135071         immediately after adding the new notification, and before sending
135072         a message to the main thread about them.
135073         (watch_worker): Don't loop calling ReadDirectoryChangesW; instead,
135074         call it just once -- it will be called again in watch_completion.
135075         Loop waiting for the main thread's indication to terminate.
135076         (start_watching): Create the event to be used to indicate to the
135077         worker thread that its should terminate.
135078         (remove_watch): Indicate to the worker thread that it should
135079         terminate.
135080         * src/w32term.c (queue_notifications): Loop over all the
135081         notifications in the linked list, processing all of them in one
135082         go.
135083         * src/w32inevt.c (handle_file_notifications): Loop over all the
135084         notifications in the linked list.
135085         * src/w32xfns.c (init_crit): Initialize the linked list of file
135086         notifications.
135087         (delete_crit): Free the linked list of file notifications,
135088         including any unprocessed notifications left in it.
135089         * src/w32term.h (struct notifications_se): New struct.
135091         * test/lisp/filenotify-tests.el (file-notify-test02-events)
135092         (file-notify-test05-dir-validity): Add read-event calls to
135093         facilitate event recognition by the main thread in batch mode.
135095 2016-03-17  Sam Steingold  <sds@gnu.org>
135097         make `vc-log-operation' buffer local to allow multiple simultaneous editing
135099 2016-03-17  Glenn Morris  <rgm@gnu.org>
135101         Simplify some rococo Gnus code that loads or tests for other libraries.
135103         * lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default.
135104         * lisp/gnus/mml-smime.el (epg): Simply require it.
135105         (mml-smime-use): Simplify the default.  Doc fix.
135106         * lisp/gnus/mml2015.el (epg-config): Require it.
135107         (mml2015-use): Simplify the default.
135108         * lisp/gnus/smime.el (password-cache): Simply require it.
135109         (password-read-and-add): Remove declaration.
135111 2016-03-16  Glenn Morris  <rgm@gnu.org>
135113         * test/lisp/dabbrev-tests.el: Merge fix: move here from test/automated.
135115 2016-03-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
135116             Alex Harsanyi  <AlexHarsanyi@gmail.com>
135118         Sync with soap-client repository, version 3.1.1
135120         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix error
135121         message.
135122         (soap-find-port): Delete trailing whitespace.
135123         (soap-find-operation): Fix documentation and rename parameter.
135124         (soap-find-port): Likewise.
135125         (soap-operation-arity): Likewise.
135127         * lisp/net/soap-client.el: Update copyright years.
135128         (soap-warning): Fix docstring quoting.
135129         (soap-decode-date-time): Likewise.
135130         (soap-validate-xs-simple-type): Remove tabs for indentation.
135131         * lisp/net/soap-inspect.el: Update copyright years.
135133         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Do not
135134         assume xsd:base64Binary values are UTF-8 strings.
135135         (soap-decode-xs-basic-type): Likewise.
135136         (soap-invoke): Document xsd:base64Binary handling.
135138         * lisp/net/soap-client.el (soap-find-port, soap-find-operation)
135139         (soap-operation-arity): new defuns
135140         (soap-invoke-internal): use soap-find-port, soap-find-operation.
135142 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
135144         Merge from gnulib
135146         This incorporates:
135147         2016-03-15 std-gnu11: improve clang support
135148         * m4/std-gnu11.m4: Copy from gnulib.
135150 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135152         Disable MOVE more for Dovecot
135154         * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also
135155         disable MOVE when expirying.
135156         (nnimap-split-incoming-mail): And when splitting mail.
135158 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135160         Don't use MOVE on Dovecot
135162         * lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
135163         MOVE on Dovecot, since it's broken in many versions.
135164         (nnimap-quirks): Mark MOVE on Dovecot as non-working.
135166 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
135168         Improve diff hunk headers when maintaining Emacs
135170         * .gitattributes: Improve diff hunk header support for makefiles,
135171         shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java,
135172         Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs
135173         somewhere (sometimes just in test cases).
135174         * autogen.sh: Add regexes for makefiles and shell scripts.
135176 2016-03-12  Eli Zaretskii  <eliz@gnu.org>
135178         Update handling of <bdo> per Unicode 9.0
135180         * lisp/net/shr.el (shr-tag-bdo): Wrap in FSI..PDI as well, per
135181         Unicode 9.0 changes in UAX#9, paragraph 2.7.
135183 2016-03-11  John Wiegley  <johnw@newartisans.com>
135185         Merge from origin/emacs-25
135187         facb5e2 Update Emacs manual section related to character folding
135188         4efea8e ; * etc/DEBUG: Fix a typo.  (Bug#22984)
135189         f8df21b Update admin/notes/unicode
135190         950be68 Add symref-filepattern entries for c?perl-mode
135191         8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
135192         985dacf ; NEWS update for the last change in etags
135193         741a6f8 Sync with gnulib
135194         7352c6c Rework C source files to avoid ^(
135195         a589e9a By default, etags produces unqualified Perl tag names
135196         72c7438 Indent methods with keyword names correctly
135197         28532a9 Propertize character literals and special global variables
135198                 differently
135199         a7d6f39 ; Fix last change in NEWS
135200         83b2a20 Change how /etc/NEWS presents character folding
135201         b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
135202                 off by default""
135203         711ca36 Properly handle lambda as read function (bug 22961)
135204         1b9d616 Propertize operator symbol names with symbol syntax class
135205         9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
135206         366ec77 Allow using the left shift operator without spaces on both sides
135207         02bf7cc Properly handle unquoting in wdired (bug 22938)
135208         16cf469 ; Spelling fix and tighten up comment
135209         f50bc04 Allow splat operator before percent literal
135210         991c801 Don't apply the return value of goto-char as syntax class
135211         6e63b3e Guard against nested percent literals
135212         066f3bc Recognize iuwu-mod after an escaped newline
135213         6f7a57c Fix symbolic mode string conversion for s and t
135214         50b9826 Update 'ucs-names' database
135215         993b2fb Improve doc string of 'shell-command'
135216         b71c717 Make the code in movemail_strftime more general
135217         cc057e4 Speed up redisplay of binary files with long series of nulls
135218         e51b27e Remove the highlighting support for quoting 'like this' inside
135219                 Lisp docstrings
135220         b1abce1 Restore leading space in movemail pop output
135221         98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
135222         dc9d837 Don't misindent computed property generator methods
135223         7923112 Fix mbox files produced by movemail on MS-Windows
135224         c45a1ca doc string file descriptor exhaustion fix
135225         265141b Fix Bug#22814
135227 2016-03-11  John Wiegley  <johnw@newartisans.com>
135229         Merge from origin/emacs-25
135231         620951f Fix previous fix of enlarge-/shrink-window
135232         2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic
135233         66d2717 Complete temperature units in calc-convert-temperature
135234         dbb02bf Make sure to use case-sensitive search
135235         8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344)
135236         100346a Add the missing test case for the previous patch
135237         5aba61e Use the correct dabbrev expansion
135239 2016-03-11  Michael Albinus  <michael.albinus@gmx.de>
135241         Remove compat code in Tramp
135243         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
135244         Remove compat code.
135246 2016-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
135248         * lisp/textmodes/tex-mode.el: Complete local envs.  Use #'.
135250         Use #' for function names.
135251         (latex-complete-envnames): Include existing environments in
135252         current buffer.
135253         (latex-insert-block): Use latex-complete-envnames.
135254         (tildify-foreach-ignore-environments): Declare.
135256 2016-03-10  Alain Schneble  <a.s@realize.ch>
135258         Fix asynchronous TLS connections on MS-Windows
135260         * src/w32.c (sys_write): Don't switch the socket to blocking mode
135261         if the connection attempt is in progress.  Instead, return either
135262         EWOULDBLOCK immediately if the connection is in progress, or the
135263         error code produced by '_sys_wait_connect' if the connection
135264         failed.  Switching the socket to blocking mode was found to
135265         interfere with GnuTLS handshake.  (Bug#22789)
135267 2016-03-10  Alan Mackenzie  <acm@muc.de>
135269         Clarify the documentation of nested comments.
135271         * doc/lispref/syntax.texi (Syntax Flags): State that only comments of the same
135272         style are recognized inside nestable comments.
135273         (Low-Level Parsing): Clarify that parsing will stop after the start or end of
135274         UNNESTED comments.
135276 2016-03-10  Nicolas Richard  <youngfrog@members.fsf.org>
135278         Add new function display-buffer-reuse-mode-window
135280         * lisp/window.el (display-buffer-reuse-mode-window): New function.
135281         * doc/lispref/windows.texi (Display Action Functions): Document it.
135283 2016-03-09  Paul Eggert  <eggert@cs.ucla.edu>
135285         Minor fixes for getaddrinfo_a usage
135287         * src/process.c (Fdelete_process): Check gai_cancel return value.
135288         That way, there’s no need to invoke gai_error.  Check gai_suspend
135289         return value.
135290         (Fmake_network_process): Don’t assume gai_strerror returns a UTF-8
135291         string.  Simplify call to connect_network_socket.
135292         (check_for_dns): Avoid unnecessary initialization of local.
135294 2016-03-09  Sam Steingold  <sds@gnu.org>
135296         declare `rmail-mime-entity-truncated' and `rmail-mime-render-html-function'
135298         The former avoids a compiler warning, the latter fixes a bug whereas
135299         the variable is compiled as lexical instead of dynamic.
135301 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
135303         Pacify --enable-gcc-warnings
135305         * src/xfns.c (x_create_tip_frame): Omit unused local.
135306         (Fx_show_tip): Don’t jump over auto initialization.
135308 2016-03-07  Martin Rudalics  <rudalics@gmx.at>
135310         Optionally reuse tooltip frames instead of deleting/recreating them.
135312         * src/frame.c (tooltip_reuse_hidden_frame): New option.
135313         * src/w32fns.c (x_create_tip_frame): Remove argument TEXT.  Fix
135314         handling of dividers.
135315         (x_hide_tip): New function.
135316         (Fx_show_tip): Try to reuse old tooltip frame when
135317         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
135318         have not changed.  Insert STRING here instead of passing it to
135319         x_create_tip_frame.  Compute size of tooltip window with
135320         Fwindow_text_pixel_size.  Obey Vw32_tooltip_extra_pixels when
135321         padding tooltip window.
135322         (Fx_hide_tip): Call x_hide_tip.
135323         (Vw32_tooltip_extra_pixels): New variable.
135324         * src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y
135325         value.  Fix doc-string.
135326         * src/xfns.c (x_create_tip_frame): Remove argument TEXT.  Call
135327         make_frame with mini_p argument false.
135328         (x_hide_tip): New function.
135329         (Fx_show_tip): Try to reuse old tooltip frame when
135330         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
135331         have not changed.  Insert STRING here instead of passing it to
135332         x_create_tip_frame.  Compute size of tooltip window with
135333         Fwindow_text_pixel_size.
135334         (Fx_hide_tip): Call x_hide_tip.
135335         * lisp/cus-start.el (tooltip-reuse-hidden-frame): Add
135336         customization entry.
135338 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
135340         Assume getaddrinfo in C code
135342         * admin/CPP-DEFINES, configure.ac: Remove HAVE_GETADDRINFO, HAVE_H_ERRNO.
135343         All uses removed.
135344         * doc/lispref/processes.texi (Network, Network Processes), etc/NEWS:
135345         Say that port numbers can be integer strings.
135346         * lib-src/pop.c (h_errno) [!WINDOWSNT && !HAVE_H_ERRNO]: Remove decl.
135347         (socket_connection): Assume HAVE_GETADDRINFO.
135348         * lisp/mpc.el (mpc--proc-connect):
135349         * lisp/net/network-stream.el (open-network-stream):
135350         It’s now OK to use integer strings as port numbers.
135351         * src/process.c (conv_numerical_to_lisp) [!HAVE_GETADDRINFO]: Remove.
135352         (Fmake_network_process): Assume HAVE_GETADDRINFO.
135354 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
135356         Remove support for IRIX
135358         The IRIX port wasn’t really working anyway, and the code was
135359         getting in the way of other changes (e.g., getaddrinfo fixes).
135360         IRIX’s supplier dropped support for IRIX in 2013.
135361         * admin/CPP-DEFINES:
135362         * configure.ac (opsys):
135363         * doc/lispref/os.texi (System Environment):
135364         * etc/MACHINES, etc/PROBLEMS:
135365         * lisp/find-dired.el (find-grep-options):
135366         * lisp/lpr.el (lpr-lp-system):
135367         * lisp/ls-lisp.el (ls-lisp-emulation):
135368         * lisp/mail/rmail.el (rmail-spool-directory):
135369         * lisp/net/net-utils.el (ping-program-options):
135370         * lisp/progmodes/gud.el (gud-irix-p, gud-dbx-use-stopformat-p):
135371         * lisp/progmodes/ps-mode.el (ps-mode-print-function):
135372         * src/conf_post.h [IRIX6_5]:
135373         * src/emacs.c (Vsystem_type):
135374         * src/filelock.c (get_boot_time_1):
135375         * src/process.c (process_send_signal):
135376         * src/unexelf.c (unexec):
135377         Omit IRIX-specific code and/or documentation.
135378         * configure.ac (NON_GCC_TEST_OPTIONS, IRIX6_5, PREFER_VSUSP):
135379         Remove.  All uses removed.
135380         * etc/NEWS: Document the change.
135382 2016-03-06  John Wiegley  <johnw@newartisans.com>
135384         Revert "Use colors in the VC mode lines"
135386         This reverts commit 2621c293d82c15c00d9e73a8db75d70da7d0a23b.
135388 2016-03-06  Ken Brown  <kbrown@cornell.edu>
135390         Fix Cygwin-w32 build
135392         * src/w32fns.c (funhook, setup_w32_kbdhook, remove_w32_kbdhook):
135393         Define only if WINDOWSNT, and update all uses accordingly.
135394         * src/w32term.h (check_w32_winkey_state, setup_w32_kbdhook)
135395         (remove_w32_kbdhook): Declare only if WINDOWSNT.
135396         (w32_kbdhook_active): Define as 0 if not WINDOWSNT.
135398 2016-03-06  Eli Zaretskii  <eliz@gnu.org>
135400         Unbreak the MinGW64 build
135402         * nt/inc/ms-w32.h [MINGW_W64]: Undefine HAVE_GAI_STRERROR.  See
135403         https://lists.gnu.org/r/emacs-devel/2016-03/msg00130.html
135404         for the details.  Reported by Angelo Graziosi
135405         <angelo.graziosi@alice.it>.
135407 2016-03-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135409         Don't signal errors on E_AGAIN
135411         * src/gnutls.c (Fgnutls_errorp): Qgnutls_e_again is not an
135412         error now that TLS is async.
135414 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135416         Allow making TLS negotiation blocking
135418         * lisp/net/gnutls.el (gnutls-negotiate): Make negotiation blocking.
135420         * src/gnutls.c (Fgnutls_boot): Provide a new keyword,
135421         :complete-negotiation, to specify that we want complete
135422         negotiation even if the socket is non-blocking.
135423         (gnutls_try_handshake): Complete negotiation if given that keyword.
135425         * src/process.h (L): Added gnutls_complete_negotiation_p.
135427 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135429         Don't run ipv6 test on systems without ipv6
135431         * test/lisp/net/network-stream-tests.el
135432         (connect-to-tls-ipv6-nowait): Skip on systems without ipv6.
135434 2016-03-05  Eli Zaretskii  <eliz@gnu.org>
135436         Implement getaddrinfo fallback for MS-Windows
135438         See https://lists.gnu.org/r/emacs-devel/2016-02/msg01602.html
135439         for more details.
135441         * nt/mingw-cfg.site (ac_cv_func_getaddrinfo)
135442         (ac_cv_func_gai_strerror): Set to "yes", as the configure script's
135443         test program is not smart enough to auto-detect these.
135444         * nt/inc/sys/socket.h (getaddrinfo, freeaddrinfo): Redirect to
135445         sys_getaddrinfo and sys_freeaddrinfo.  Provide prototypes for
135446         sys_getaddrinfo and sys_freeaddrinfo.
135448         * src/w32.c (init_winsock): Try loading getaddrinfo and
135449         freeaddrinfo from ws2_32.dll.
135450         (sys_getaddrinfo, sys_freeaddrinfo): New functions.
135452         * lib-src/pop.c [WINDOWSNT]: Include winsock2.h, not winsock.h,
135453         and also ws2tcpip.h.
135454         (getaddrinfo, freeaddrinfo) [WINDOWSNT]: Redirect to
135455         sys_getaddrinfo and sys_freeaddrinfo, respectively.
135456         (load_ws2, sys_getaddrinfo, sys_freeaddrinfo) [WINDOWSNT]: New
135457         functions.
135459 2016-03-04  Glenn Morris  <rgm@gnu.org>
135461         * lisp/files.el: Fix recent typo.
135463         * lisp/subr.el (read-multiple-choice): Avoid free variable.
135465         * doc/lispref/files.texi (File Attributes): Fix typo.
135467 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
135469         Make the describe-key prompts clearer
135471         * lisp/help.el (describe-key-briefly): Make the prompt clearer
135472         (bug#14854).
135473         (describe-key): Ditto.
135475 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
135477         Allow scrolling while querying multiple choice
135479         * lisp/subr.el (read-multiple-choice): Allow scrolling the
135480         buffer while querying (bug#22827).
135482 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
135484         Add accessors for `file-attributes'
135486         * doc/lispref/files.texi (File Attributes): Mention the accessors.
135488         * lisp/files.el (file-attribute-type)
135489         (file-attribute-link-number, file-attribute-user-id)
135490         (file-attribute-group-id, file-attribute-access-time)
135491         (file-attribute-modification-time)
135492         (file-attribute-change-time, file-attribute-size)
135493         (file-attribute-modes, file-attribute-inode-number)
135494         (file-attribute-device-number): New functions.
135496         * src/dired.c (Ffile_attributes): Mention the accessors (bug#22890).
135498 2016-03-04  Michael Albinus  <michael.albinus@gmx.de>
135500         Fix Bug#22814
135502         * lisp/autorevert.el (global-auto-revert-mode): Do not set
135503         `auto-revert-use-notify' to nil.
135505         * etc/NEWS: Mention this.
135507         * etc/PROBLEMS: Remove problem Bug#22814.
135509         * src/kqueue.c: Include <sys/resource.h>.
135510         (Fkqueue_add_watch): Limit the number of used file descriptors.
135511         (Bug#22814)
135513         * test/lisp/filenotify-tests.el (file-notify--test-remote-enabled)
135514         (file-notify-test00-availability, file-notify-test01-add-watch)
135515         (file-notify-test02-events, file-notify-test06-many-events):
135516         Use #' read syntax for functions.
135517         (file-notify-test05-dir-validity)
135518         (file-notify-test06-many-events): Simplify directory creation.
135519         (file-notify-test09-sufficient-ressources): New test.
135521 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
135523         Fix insertion of edited servers in the dribble file
135525         * lisp/gnus/gnus-srvr.el (gnus-server-update-server): Don't
135526         insert explicit newlines, because they're quoted (bug#22903).
135528 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
135530         Move cl-seq-tests to the right place after the merge
135532         Move cl-seq-tests to the right place after the merge
135534 2016-03-03  John Wiegley  <johnw@newartisans.com>
135536         Merge from origin/emacs-25
135538         d6f6b7d * etc/AUTHORS: Update the AUTHORS file
135539         5cf7c39 authors.el updates
135540         a26f193 ; fix changelog entries
135541         fbc85c7 ; make change-history-commit
135542         06da00c Fix Bug#22859
135543         ab30bf5 ; * src/w32proc.c: Update the commentary to sys_select.
135544         1481029 Fix reordering of bidi text in an isolate inside an override
135545         60e0596 Document c-guess-basic-syntax in the CC Mode manual.
135547 2016-03-03  John Wiegley  <johnw@newartisans.com>
135549         Merge from origin/emacs-25
135551         f5d1435 Fix targets in test/automated/Makefile.in
135553 2016-03-03  John Wiegley  <johnw@newartisans.com>
135555         Merge from origin/emacs-25
135557         b6d6304 Comment on last change to define-derived-mode
135559 2016-03-03  John Wiegley  <johnw@newartisans.com>
135561         Merge from origin/emacs-25
135563         cb1e3da Also allow setting the paragraph direction to nil
135564         bbe8a89 Made the new OS X visible bell more visible.
135566 2016-03-03  John Wiegley  <johnw@newartisans.com>
135568         Merge from origin/emacs-25
135570         aae436e Uncomment the next-error-function integration in xref
135571         5f0d096 Remove the word "valid", to avoid ambiguity
135573 2016-03-03  John Wiegley  <johnw@newartisans.com>
135575         Merge from origin/emacs-25
135577         5a44bfe Set auto-revert-use-notify to nil in global-auto-revert-mode.  (Bug#22814)
135578         0d60bfc Fix ModelSim error parsing
135580 2016-03-03  John Wiegley  <johnw@newartisans.com>
135582         Merge from origin/emacs-25
135584         b13cab6 Add a eww command to toggle paragraph direction
135585         4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove.
135586         9e078e5 Fix char signedness issue in bidi code
135587         064adf6 * lib-src/pop.c (socket_connection): Fix format string.
135588         14060a9 Avoid inflooping in thing-at-point-looking-at
135589         098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert
135590                 indent change.
135591         b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors
135592         ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix.  (Bug#22813).
135593         d2dd614 Remove unneeded workaround in xftfont.c
135594         9b7593c ; * etc/NEWS: Reflect latest changes in saveplace.
135595         fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode
135596         06a872b Fix redisplay on a TTY after 'make-frame'
135597         95f5a43 Make double-click-1 work with unbalanced parens in CC Mode.
135598                 Fixes bug#5560.
135599         7d206fc Input method polish-slash should not use keyboard translation
135600         8be32cf Fix an assertion
135601         040e0d6 Fix 'toggle-save-place'
135602         5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
135604 2016-03-03  John Wiegley  <johnw@newartisans.com>
135606         Merge from origin/emacs-25
135608         e6a3819 Update HISTORY section in readme for the NextStep interface.
135609         f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording.
135610         7c81a0b Improve documentation of 'save-place-mode'
135611         cab3f0a Allocate glyph matrices for the initial frame
135612         e01c72f Fix white space in last checkin
135613         370eb67 Make `insert-pair' always leave the cursor where documented
135614         b594393 etc/NEWS: Mention the new second parameter to `package-install'
135616 2016-03-03  John Wiegley  <johnw@newartisans.com>
135618         Merge from origin/emacs-25
135620         bd58c13 Improve documentation of focus-related hooks
135621         00a4720 Further improve doc string of 'disable-point-adjustment'
135622         c582def Further adaptions in file-notify-tests.el for w32notify
135623         a1585e1 Don't bug out on localized dates in gnus-icalendar
135625 2016-03-03  John Wiegley  <johnw@newartisans.com>
135627         Merge from origin/emacs-25
135629         7bc4820 Make setf for frame-height/width work again
135631 2016-03-03  John Wiegley  <johnw@newartisans.com>
135633         Merge from origin/emacs-25
135635         6620944 (cl-union): Do not ignore :test argument when lists are equal.
135636         17dd3fb Add `isearch' to `basic-faces'
135637         c1ec743 Make $, : and @ "prefix characters" in ruby-mode
135638         e72a26e Make find-tag-default-bounds more strict
135639         1bc0e0a Minor fixes in filenotify.el
135641 2016-03-02  Alain Schneble  <a.s@realize.ch>
135643         Fix issue of inserting images on some systems
135645         * lisp/net/shr.el (shr-tag-img): Construct a non-empty range
135646         to pass to shr-image-fetched, to indicate where to insert the
135647         image.  Fixes the issue introduced with commit
135648         80852f843e69b81618f29cfb9aa4b074946cb3c4
135649         (bug#22789).
135651 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
135653         Ensure TLS negotiation progress
135655         * src/gnutls.h (GNUTLS_EMACS_HANDSHAKES_LIMIT): Increase the
135656         number of retries so that we try for about a minute.
135658         * src/process.c (wait_reading_process_output): Ensure progress
135659         for DNS resolution and TLS negotiation.
135661 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
135663         emacs-module.h slight simplification
135665         * src/emacs-module.c (emacs_init_function, emacs_subr): Move here ...
135666         * src/emacs-module.h: ... from here, as they don’t need to be public.
135667         (enum emacs_arity): Remove useless enum tag.  The enum value is
135668         used in ptrdiff_t contexts.
135670         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
135672 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
135674         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
135676 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
135678         emacs-module.c simplification and tuneup
135680         * src/emacs-module.c (CHECK_USER_PTR): New function.
135681         (module_get_user_ptr, module_set_user_ptr)
135682         (module_get_user_finalizer, module_set_user_finalizer): Use it.
135683         (module_make_global_ref, module_copy_string_contents)
135684         (module_make_string, module_vec_set, module_vec_get): Omit
135685         unnecessary runtime tests.  For example, vector sizes are always
135686         fixnums, so we don’t need to test that they are in fixnum range.
135688 2016-03-02  Philipp Stephani  <phst@google.com>
135690         Use standard checks whenever possible.
135692         This is possible in all functions where we catch signals anyway.
135694         * src/emacs-module.c (module_make_global_ref, module_funcall)
135695         (module_copy_string_contents, module_make_string): Use xsignal0
135696         and CHECK macros for argument checks.
135698 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
135700         Deterministic build improvements
135702         * configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP,
135703         and negate its sense.  Use it via AC_SUBST, not AC_DEFINE,
135704         and have its value be either empty or --no-build-details.
135705         All uses changed.  Change option to --disable-build-details.
135706         * doc/emacs/cmdargs.texi (Initial Options):
135707         Document --no-build-details.
135708         * doc/lispref/internals.texi (Building Emacs):
135709         * etc/NEWS:
135710         Document --disable-build-details.
135711         * doc/lispref/intro.texi (Version Info): Say that
135712         emacs-build-time can be nil.
135713         * lisp/erc/erc-compat.el (erc-emacs-build-time):
135714         Now nil if details are omitted.
135715         * lisp/erc/erc.el (erc-cmd-SV):
135716         * lisp/version.el (emacs-build-time):
135717         Now nil if no build details.
135718         (emacs-version):
135719         Output build time only if build details.
135720         * src/Makefile.in (BUILD_DETAILS): New macro.
135721         (temacs, bootstrap-emacs): Use it.
135722         * src/emacs.c (build_details): New var.
135723         (standard_args, main): Support --no-build-details.
135724         (Vdeterministic_dump): Remove; all uses replaced
135725         by !build_details.
135726         (syms_of_emacs): Set Vbuild_details to a boolean, not
135727         to a Lisp_Object.
135728         * src/lisp.h (build_details): New decl.
135729         * src/sysdep.c (init_system_name): When !build_details,
135730         set system-name to nil, not to "elided".
135732 2016-03-02  Philipp Stephani  <phst@google.com>
135734         Remove build system name from deterministic dumps
135736         * configure.ac (DETERMINISTIC_DUMP): New configuration option.
135737         * lisp/version.el (emacs-build-time): Add a comment to make the
135738         build time deterministic if requested.
135739         (emacs-build-system): Make variable deterministic if requested.
135740         * src/emacs.c (main): Initialize `deterministic-dump' from the
135741         configuration option.
135742         (syms_of_emacs): New constant `deterministic-dump'.
135743         * src/sysdep.c (init_system_name): Use a constant
135744         if a deterministic dump is requested.
135746 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
135748         Remove buggy parse-time test
135750         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
135751         Remove the iso parse test, since it doesn't work.
135753 2016-03-01  Paul Eggert  <eggert@cs.ucla.edu>
135755         * src/syntax.c (syntax_multibyte): Omit unnecessary parens.
135757 2016-02-29  Glenn Morris  <rgm@gnu.org>
135759         * lisp/emacs-lisp/autoload.el (autoload-timestamps):
135760         Experiment with setting to nil.
135762 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
135764         Make the revert command in timer-list-mode work
135766         * lisp/emacs-lisp/timer-list.el (timer-list): Make the revert
135767         command work.
135769 2016-02-29  Glenn Morris  <rgm@gnu.org>
135771         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
135772         Fix 6-week old merge error.
135774         * lisp/emacs-lisp/autoload.el (update-file-autoloads):
135775         Ensure timestamps.
135777         * lisp/emacs-lisp/package.el (package-generate-autoloads):
135778         Disable timestamps.
135780 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
135782         Allow binding `url-mime-accept-string'
135784         * lisp/url/url-http.el (url-http): Allow binding
135785         `url-mime-accept-string' (bug#22855).
135787 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
135789         Add a NEWS entry for the colorful VC indicator
135791 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
135793         Use colors in the VC mode lines
135795         * lisp/vc/vc-hooks.el: Make the mode line faces default to
135796         using colors to more clearly tell the user what the status is.
135798 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
135800         Support <bdo> and <bdi>
135802         * lisp/net/shr.el (shr-tag-bdo): New function.
135803         (shr-tag-bdi): Ditto.
135805 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
135807         Respect <html dir=auto>
135809         * lisp/net/shr.el (shr-tag-html): Respect the "auto"
135810         directional HTML setting.
135812 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
135814         Default bidi paragraph direction to nil
135816         * lisp/net/eww.el (eww-display-html): Default bidi rendering
135817         to nil, so that possibly more Arabic web pages render
135818         correctly (bug#22786).
135819         (eww-setup-buffer): Ditto.
135821 2016-02-29  Mathias Dahl  <mathias.dahl@gmail.com>
135823         Preserve current column, going up/down in thumbnail view.
135825 2016-02-29  Alan Mackenzie  <acm@muc.de>
135827         Handle "noise" macros and compiler directives.
135829         * lisp/progmodes/cc-langs.el (c-symbol-char-key): New language variable.
135831         * lisp/progmodes/cc-vars.el (c-noise-macro-names)
135832         (c-noise-macro-with-parens-names): New customizable variables.
135833         (c-noise-macro-name-re, c-noise-macro-with-parens-name-re): New variables.
135834         (c-make-noise-macro-regexps): New function.
135836         * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Adapt to treat
135837         members of c-noise-macro-names as whitespace.
135838         (c-forward-noise-clause): New function.
135839         (c-forward-keyword-prefixed-id, c-forward-type, c-forward-declarator)
135840         (c-forward-decl-or-cast-1, c-backward-over-enum-header)
135841         (c-guess-basic-syntax CASE 5A.3, CASE 5A.5, CASE 9A):
135842         Handle "noise clauses" in parallel with, e.g., "hangon key clauses".
135844         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): Handle "noise clauses"
135845         in parallel with "prefix-spec keywords".
135847         * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): call
135848         c-make-noise-macro-regexps to initialize the internal variables.
135850         * doc/misc/cc-mode.texi ("Noise Macros"): New section documenting the new
135851         facilities.
135853 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
135855         Stop calling res_init
135857         Emacs shouldn’t need to call res_init any more, now that nscd or
135858         equivalent is everywhere.  On modern systems, calling res_init
135859         simply slows Emacs down.  On ancient systems lacking nscd Emacs
135860         will still work well enough with this change; it’s just that it
135861         won’t respond to changes in /etc/resolv.conf.
135862         * configure.ac (HAVE_RES_INIT): Remove.  Worry about -lresolv only
135863         when configured --with-hesiod.  Hesiod is still used; see, e.g.:
135864         https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
135865         * src/Makefile.in (LIBRESOLV): Remove.  All uses removed.
135867 2016-02-29  Glenn Morris  <rgm@gnu.org>
135869         * lisp/progmodes/grep.el (grep-save-buffers): Fix type, tweak doc.
135871         * lisp/progmodes/grep.el (grep-save-buffers): Don't autoload defcustoms.
135873 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
135875         * src/process.c (Fdelete_process): Simplify cast.
135877 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
135879         Use the correct background color when filling nested <divs>
135881         * lisp/net/shr.el (shr-face-background): Return the first
135882         background, because that's the one that's visible (bug#22680).
135884 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
135886         Make <div> in <li> not insert extra newlines
135888         * lisp/net/shr.el (shr-tag-div): Make <div> in <li> not insert
135889         extra newlines (bug#19587).
135891 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
135893         Allow reading Gnus reports from an offline cache
135895         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
135896         Allow reading bug reports from an offline cache directory.
135898 2016-02-28  Tino Calancha  <f92capac@gmail.com>
135900         Meta + shift + Fn combos are recognized by xterm>=216.
135902         * lisp/term/xterm.el (xterm-alternatives-map): Meta + shift +
135903         Fn combos are recognized by xterm>=216 (bug#22837).
135905 2016-02-28  Simen Heggestøyl  <simenheg@gmail.com>
135907         Declare $ as an expression prefix in SCSS
135909         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
135910         expression prefix (bug#22841).
135912 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
135914         Revert "Declare $ as an expression prefix in SCSS"
135916         This reverts commit ffb33264f21e8af60b8055c47baffcf0f6c300df.
135918         Revering to fix author name.
135920 2016-02-28  Simen  <simenheg@gmail.com>
135922         Declare $ as an expression prefix in SCSS
135924         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
135925         expression prefix (bug#22841).
135927 2016-02-28  Hugh Brown  <aardvark@saintaardvarkthecarpeted.com>
135929         Save buffers before running grep commands
135931         * lisp/progmodes/grep.el (grep-ask-about-save): New variable (bug#96).
135932         (grep, lgrep, rgrep): Use it (bug#96).
135934         * doc/emacs/building.texi (Grep Searching): Document
135935         `grep-save-buffers'.
135937         * lisp/progmodes/grep.el (grep-save-buffers): Rename from
135938         `grep-ask-about-save'.
135939         (grep--save-buffers): New function.
135940         (grep, lgrep, rgrep): Use it.
135942 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
135944         Allow sorting flyspell corrections
135946         * lisp/textmodes/flyspell.el (flyspell-sort): New function (bug#2405).
135947         (flyspell-sort-corrections-functionx): New variable.
135948         (flyspell-sort-corrections-alphabetically): New function.
135949         (flyspell-notify-misspell): Use them.
135950         (flyspell-auto-correct-word): Ditto.
135951         (flyspell-emacs-popup): Ditto.
135952         (flyspell-xemacs-popup): Ditto.  Suggested by Sebastien Delafond.
135954 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
135956         Wait for async DNS to complete before freeing resources
135958         * src/process.c (Fdelete_process): Wait for async DNS to
135959         complete before freeing the data structures it needs.
135961 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
135963         * lisp/faces.el: Remove duplicated functions from previous patch.
135965 2016-02-28  Eli Zaretskii  <eliz@gnu.org>
135967         Fix TLS connections on MS-Windows
135969         * src/w32.c (sys_write): If 'send' returns with WSAENOTCONN, and
135970         this is a non-blocking socket whose connection is in progress, set
135971         errno to EWOULDBLOCK, as expected by GnuTLS and other callers.
135972         Avoid overwriting the errno value from 'send' by 'ioctlsocket'.
135973         Suggested by Alain Schneble <a.s@realize.ch>.  (Bug#22789)
135975 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
135977         Add a NEWS entry for the read-color change
135979 2016-02-27  Jan Moringen  <jan.moringen@uni-bielefeld.de>
135981         Show the face colors when completing in `read-color'
135983         * lisp/faces.el (defined-colors-with-face-attributes): New function.
135984         (readable-foreground-color, defined-colors-with-face-attributes)
135985         (readable-foreground-color): Ditto.
135986         (read-color): Use them (bug#5305).
135988 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
135990         Clean up the code in parse-time-string-chars
135992         * lisp/calendar/parse-time.el (parse-time-string-chars):
135993         Clean up the code a bit.
135995 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
135997         Add some tests for parse-time.el
135999         * test/lisp/calendar/parse-time-tests.el: New file.
136001 2016-02-27  Dima Kogan  <dima@secretsauce.net>
136003         Strip out some leading whitespace when looking at logs
136005         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking
136006         at expanded git logs with `vc-print-root-log' (C-x v L, then
136007         <enter> by default), Emacs was stripping out all leading
136008         whitespace from git logs.  I now strip exactly 2 leading
136009         spaces, which retains the indentation in the logs (bug#18110).
136011 2016-02-27  Dima Kogan  <dima@secretsauce.net>
136013         Use a separate history variable for align-regexp
136015         * lisp/align.el (align-regexp-history): New variable (bug#16891).
136016         (align-regexp): Use it.
136018 2016-02-27  Phil Sung  <philbert@gmail.com>
136020         Create subdirectories automatically in wdired
136022         * lisp/wdired.el (wdired-create-parent-directories): New
136023         variable (bug#6817).
136024         (wdired-create-parentdirs): New function.
136025         (wdired-do-renames): Use it.
136026         * doc/emacs/dired.texi (Wdired): Mention
136027         `wdired-create-parent-directories'
136029 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
136031         Return the correct error values from gnutls.c
136033         * src/gnutls.c (emacs_gnutls_read): Set errno to the value
136034         expected by process.c.
136035         (gnutls_try_handshake): Set gnutls_p to true earlier to avoid
136036         possible race condition with the process.c socket polling
136037         functions.
136039 2016-02-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
136041         Don't make assumptions about mkdir.  (Bug#22822)
136043         * test/Makefile.in (MKDIR_P): New, set by configure.
136044         (%.log): Use MKDIR_P.
136046 2016-02-27  Alexander Kuleshov  <kuleshovmail@gmail.com>
136048         Support switching to hexl-mode from image-mode
136050         * lisp/image-mode.el (image-toggle-hex-display)
136051         (image-mode-to-text): New functions.
136052         (image-mode-map, image-minor-mode-map): Bind "C-c C-x" to
136053         image-toggle-hex-display.
136054         (image-mode-map): New menu item "Show as Hex".
136055         (image-mode): Update doc string and echo-area message.
136056         (image-toggle-display): Support toggle to hex.  (Bug#22453)
136058         * doc/emacs/files.texi (File Conveniences): Document
136059         'image-toggle-hex-display'.
136061 2016-02-27  Eli Zaretskii  <eliz@gnu.org>
136063         Remove unused code in coding.c
136065         * src/coding.c (decode_eol): Remove unused code that handled the
136066         case of coding->dst_object being nil.  Replace it with an
136067         assertion.
136069 2016-02-26  Aurelien Aptel  <aaptel@suse.com>
136071         * src/syntax.c: Fix result of syntax_multibyte()
136073         The ?: operator has a lower precedence than ||.
136074         Bug introduced by commit 45b683a.
136076 2016-02-26  Paul Eggert  <eggert@cs.ucla.edu>
136078         --enable-gcc-warnings now uses -Wjump-misses-init
136080         When configuring with --enable-gcc-warnings, also enable
136081         -Wjump-misses-init, as it’s confusing to use a goto to skip over
136082         an initialization.  Fix the few places in the code that run afoul
136083         of this warning.
136084         * configure.ac (WERROR_CFLAGS): Add -Wjump-misses-init.
136085         * src/doc.c (Fsubstitute_command_keys):
136086         * src/image.c (svg_load_image):
136087         * src/regex.c (re_match_2_internal):
136088         * src/xdisp.c (redisplay_internal, redisplay_window):
136089         Don’t jump over initialization.
136091 2016-02-26  Jussi Lahdenniemi  <jussi@aprikoodi.fi>
136093         Improve the register-hotkey functionality on MS-Windows
136095         * src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
136096         keyboard hook functionality.
136097         Include w32inevt.h, basetyps.h and unknwn.h.
136098         (VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
136099         (kbdhook): A new struct definition.
136100         (funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
136101         (check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
136102         (modifier_set): Call check_w32_winkey_state if a Win key was
136103         pressed and the keyboard hook is active.
136104         (w32_wnd_proc): Don't handle Win key combinations if the keyboard
136105         hook is active.  Only register/unregister the hotkeys if the
136106         keyboard hook is not active.  When WM_CREATE is received, call
136107         setup_w32_kbdhook.  When WM_DESTROY is received, call
136108         reset_w32_kbdhook_state.
136109         (lookup_vk_code): When the keyboard hook is active, map
136110         alphanumeric characters to themselves.
136111         (w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key.  Map
136112         modified keys to VK_ANY if the keyboard hook is active.  Register
136113         Alt-x and Win-x combinations.
136114         (Fw32_shell_execute): Update doc string to reflect new
136115         functionality.  Bypass the code that posts the
136116         WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
136117         (Fw32_unregister_hot_key): Bypass the code that posts the
136118         WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
136119         (syms_of_w32fns) <w32-pass-lwindow-to-system>
136120         <w32-pass-rwindow-to-system, w32-phantom-key-code>
136121         <w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
136122         to reflect the new functionality.
136123         * src/w32console.c (initialize_w32_display): Install the low-level
136124         keyboard hook.
136125         * src/w32inevt.c (key_event): Handle Win-x combinations only if
136126         the keyboard hook is not active.  If the hook is active, use
136127         check_w32_winkey_state instead.
136128         * src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
136129         (check_w32_winkey_state): Add prototypes.
136130         (w32_kbdhook_active): New macro.
136132         * doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
136133         new functionality.
136135 2016-02-25  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
136137         Add forward-sexp (and related) tests
136139         * test/lisp/emacs-lisp/lisp-tests.el: New file for testing
136140         forward-sexp and related functions (bug#22800).
136142 2016-02-25  Jan Tatarik  <jan.tatarik@gmail.com>
136144         Don't use (localized) week days in dates
136146         * lisp/gnus/gnus-icalendar.el
136147         (gnus-icalendar-event:org-timestamp): Don't use (localized)
136148         week days in the dates, because that messes up things later.
136150 2016-02-25  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
136152         Update pcomplete/find
136154         * lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version
136155         (bug#10487).
136157 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
136159         Make parse-time-string-chars more efficient
136161         * lisp/calendar/parse-time.el (parse-time-string-chars): The
136162         string has already been downcase, so don't care about case
136163         (bug#18522).
136165 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
136167         Remove killed buffers from the list of Gnus buffers
136169         * lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed
136170         buffers from the list of Gnus buffers (bug#18522).
136172 2016-02-25  Paul Eggert  <eggert@cs.ucla.edu>
136174         Integer overflow cleanups for ports and socklen
136176         * src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp)
136177         (get_lisp_to_sockaddr_size, Fset_process_datagram_address)
136178         (connect_network_socket):
136179         Use ptrdiff_t, not int, for signed object sizes.
136180         This addresses only a theoretical problem, as in practice these
136181         object sizes are less than 2**31, but we might as well use the
136182         same style here as elsewhere in Emacs.
136183         (string_integer_p): Remove; all uses removed.
136184         (Fmake_network_process): Check that port number is in range.
136185         When converting an integer-string service, rely on strtol
136186         rather than rechecking the string by hand.
136187         * src/process.h, src/w32.c (conv_sockaddr_to_lisp):
136188         Adjust prototypes to match.
136190 2016-02-24  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
136192         Add pcomplete support for find
136194         * lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support
136195         for find (bug#10487).
136197 2016-02-24  Per Starbäck  <starback@stp.lingfil.uu.se>
136199         Replace XXX acronyms with draft standard ones
136201         * lisp/international/characters.el (c1-acronyms): Replace XXX
136202         entries with the acronyms PAD, HOP, SGCI from draft DIS 10646
136203         (bug#13745).
136205 2016-02-24  Kevin Ryde  <user42@zip.com.au>
136207         Make checkdoc warn about variables described as "True"
136209         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
136210         Docstrings for variables "True...", and functions "Return
136211         true...", should usually be "non-nil" (bug#15506).
136213 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
136215         Add NEWS entry for "number string" change
136217 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
136219         Allow using "number strings" as services on non-GNU systems
136221         * src/process.c (string_integer_p): New function.
136222         (Fmake_network_process): Use it to allow connecting to
136223         services specified as "993" even when getaddrbyname isn't
136224         available.
136226 2016-02-24  Michael Albinus  <michael.albinus@gmx.de>
136228         Fix problem in tramp.texi
136230         * doc/misc/tramp.texi (File name completion): Do not use
136231         @trampfn{} for IPv6 addresses.  Somehow, it results in errors
136232         during PDF creation.
136234 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
136236         Make image commands available in image-mode
136238         * lisp/image-mode.el (image-mode-map): Inherit from
136239         `image-map' so that the usual image commands work.
136241 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
136243         Move `o' to `O' in shr-map
136245         * lisp/net/shr.el (shr-map): `shr-save-contents' has moved
136246         from `o' to `O' to avoid collisions with `image-map'.
136248 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
136250         Make setting the coding system non-blocking
136252         * src/process.c (Fset_process_filter_multibyte): Defer
136253         completing coding system setup in asynchronous processes.
136254         (Fset_process_coding_system): Ditto.
136256 2016-02-23  Gregoire Jadi  <daimrod@gmail.com>
136258         Mention `proced-toggle-auto-update' in the proced-mode doc string
136260         * lisp/proced.el (proced-mode): Mention
136261         `proced-toggle-auto-update' (bug#14341).
136263 2016-02-23  Joshua Datko  <jbdatko@gmail.com>  (tiny change)
136265         Add a fortune-message command
136267         * lisp/play/fortune.el (fortune-message): Add a command to
136268         display fortunes in the echo area (bug#14915).
136270 2016-02-23  Susanne Oberhauser  <froh@suse.com>  (tiny change)
136272         Add hideshow bindings analogous to outline mode
136274         * lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings
136275         analogous to outline mode bindings (bug#15324).
136277 2016-02-23  Bastien Guerry  <bzg@altern.org>
136279         Allow highlighting things like @math{2^{12}}
136281         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords):
136282         Allow highlighting things like @math{2^{12}} (bug#16390).
136284 2016-02-23  Per Bothner  <per@bothner.com>
136286         Make `C-{up,down,left,right}' work in term mode
136288         * lisp/term.el (term-raw-map): Define C-{up,down,left,right}
136289         to send the same escape sequence that xterm sends.  This makes
136290         backward-word and forward-word work in readline (bug#16746).
136292 2016-02-23  Dima Kogan  <dima@secretsauce.net>
136294         Allow ff-find-other-file (etc) to work with indirect clone buffers
136296         * lisp/find-file.el (ff-buffer-file-name): New function to
136297         allow the feature to work with indirect buffers, too
136298         (bug#16904).
136299         (ff-find-the-other-file): Use it.
136300         (ff-other-file-name): Ditto.
136301         (ff-get-file-name): Ditto.
136303 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
136305         Fix error in add-change-log-entry when the entry has no newline
136307         * lisp/vc/add-log.el (add-change-log-entry): The entry in the
136308         ChangeLog may end without a new line starting with blanks.
136310 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
136312         Avoid using mm-util functoins in gravatar.el
136314         * lisp/image/gravatar.el (gravatar-retrieve): Avoid using
136315         mm-util functions.
136316         (gravatar-retrieve-synchronously): Ditto.
136318 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
136320         Move low-level library files from the lisp/gnus directory
136322         The files moved from lisp/gnus are:
136324         auth-source.el -> /
136325         compface.el -> /image
136326         ecomplete.el -> /
136327         flow-fill.el -> /mail
136328         gravatar.el -> /image
136329         gssapi.el -> /net
136330         html2text.el -> /net
136331         ietf-drums.el -> /mail
136332         mail-parse.el -> /mail
136333         mail-prsvr.el -> /mail
136334         mailcap.el -> /net
136335         plstore.el -> /
136336         pop3.el -> /net
136337         qp.el -> /mail
136338         registry.el -> /
136339         rfc1843.el -> /international
136340         rfc2045.el -> /mail
136341         rfc2047.el -> /mail
136342         rfc2231.el -> /mail
136343         rtree.el -> /
136344         sieve-manage.el -> /net
136345         sieve-mode.el -> /net
136346         sieve.el -> /net
136347         starttls.el -> /net
136348         utf7.el -> /international
136349         yenc.el -> /mail
136351 2016-02-23  Tino Calancha  <f92capac@gmail.com>
136353         Allow undoing changes while doing query-replace
136355         * doc/lispref/searching.texi (Search and Replace): Mention
136356         undo (bug#21684).
136358         * lisp/replace.el (query-replace-help): Document undo.
136359         (perform-replace): Implement undo while replacing text.
136361 2016-02-23  John F. Trudeau  <JFTrudeau@aetna.com>  (tiny change)
136363         Highlight assignments in Makefiles more correctly
136365         * lisp/progmodes/make-mode.el (makefile-macroassign-regex):
136366         Highlight assignments preceded by a TAB character correctly
136367         (bug#20787).
136369 2016-02-23  Fredrik Bergroth  <fbergroth@gmail.com>  (tiny change)
136371         Use memmove instead of memcpy on overlapping regions
136373         * src/editfns.c (Ftranspose_regions): Regions may overlap, so
136374         use memmove instead of memcpy (bug#19213).
136376 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
136378         Port to --enable-gcc-warnings sans getaddrinfo_a
136380         * src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED
136381         to a local unused when getaddrinfo_a is missing.
136382         Resize portbuf to size needed.  Do cheap test first.
136383         Move local to block where it’s needed.
136385 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
136387         Minor cleanups for async DNS etc.
136389         * src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED):
136390         Omit unnecessary parens.
136391         * src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit)
136392         (gnutls_verify_boot):
136393         Use bool for boolean.
136394         (ATTRIBUTE_FORMAT_PRINTF): Add printf attribute.
136395         * src/process.c (free_dns_request, Fmake_network_process):
136396         Allocate and free async request control block all in one go.
136397         (set_network_socket_coding_system, finish_after_tls_connection)
136398         (connect_network_socket):
136399         Now static.
136400         (conv_numerical_to_lisp): 2nd arg is now int, not unsigned.
136401         (Fmake_network_process): Use list1 for brevity.
136402         (wait_for_socket_fds): 2nd arg is now const ptr.
136403         * src/process.h (struct Lisp_Process.dns_request):
136404         Now struct gaicb *, not struct gaicb **, since there was always
136405         exactly one.  All uses changed.
136406         * src/window.c, src/window.h (run_window_configuration_change_hook):
136407         Now static.
136409 2016-02-23  Carlos Pita  <carlosjosepita@gmail.com>
136411         Allow more shell script defun forms
136413         * lisp/progmodes/sh-script.el (sh-mode): Allow more shell
136414         script defun forms, like function name () {...} (bug#19754).
136416 2016-02-23  Martin Rudalics  <rudalics@gmx.at>
136418         Fix `window-configuration-change-hook' and `window-size-change-functions'
136420         (1) Run `window-configuration-change-hook' if and only if at least
136421         one window was deleted or created or shows another buffer since
136422         last redisplay.
136424         (2) Run `window-size-change-functions' if and only if at least
136425         one window changed its size since last redisplay (in a few cases
136426         `window-size-change-functions' will also run when no window
136427         changed its size).
136429         (3) Provide two functions `window-pixel-height-before-size-change'
136430         and `window-pixel-width-before-size-change' that allow to easily
136431         detect which window changed size.
136433         * src/frame.h (struct frame): New boolean member
136434         window_configuration_changed.
136435         (FRAME_WINDOW_SIZES_CHANGED): Remove macro.
136436         (FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
136437         * src/frame.c (adjust_frame_size): Don't run
136438         `window-configuration-change-hook'.
136439         * src/window.h (struct window): New fields
136440         pixel_width_before_size_change and pixel_height_before_size_change.
136441         (WINDOW_INTERNAL_P): New macro.
136442         * src/window.c (Fwindow_pixel_width_before_size_change)
136443         (Fwindow_pixel_height_before_size_change): New functions.
136444         (Fdelete_other_windows_internal, Fwindow_resize_apply)
136445         (resize_frame_windows, Fsplit_window_internal)
136446         (Fdelete_window_internal, grow_mini_window)
136447         (shrink_mini_window, Fresize_mini_window_internal): Don't call
136448         FRAME_WINDOW_SIZES_CHANGED.
136449         (window_size_changed, window_set_before_size_change_sizes)
136450         (run_window_size_change_functions): New functions.
136451         (make_window): Initialize pixel_width_before_size_change and
136452         pixel_height_before_size_change.
136453         (Fdelete_window_internal): Don't call
136454         run_window_configuration_change_hook.
136455         (struct saved_window): Add pixel_height_before_size_change and
136456         pixel_width_before_size_change.
136457         (Fset_window_configuration): Try to identify window configuration
136458         changes correctly so run_window_configuration_change_hook and
136459         run_window_size_change_functions run only if configuration and size
136460         really changed.
136461         (save_window_save): Set the pixel_height_before_size_change and
136462         pixel_width_before_size_change fields.
136463         (Vwindow_size_change_functions): Move here definition from xdisp.c.
136464         * src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
136465         run_window_size_change_functions.
136466         (Vwindow_size_change_functions): Move definition to window.c.
136467         * src/xfns.c (x_set_menu_bar_lines): Don't call
136468         run_window_configuration_change_hook.
136469         * doc/lispref/windows.texi (Window Sizes): Document new
136470         functions `window-pixel-height-before-size-change' and
136471         `window-pixel-width-before-size-change'.
136472         (Window Configurations): Mention that this may trigger
136473         execution of `window-size-change-functions' although no window
136474         changed size.
136475         (Window Hooks): Update descriptions of `window-size-change-functions'
136476         and `window-configuration-change-hook'.
136478 2016-02-23  Drew Adams  <drew.adams@oracle.com>
136480         (ls-lisp-insert-directory): Make -B work
136482         * lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
136483         (bug#20776).
136485 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
136487         Fix typo in message-setup-fill-variables
136489         * lisp/gnus/message.el (message-setup-fill-variables): Fix
136490         typo in a recent checkin that used `setq-default' instead of
136491         `setq-local' (bug#22781).
136493 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
136495         `message-dont-reply-to-names' can also be a list of regexps
136497         * lisp/gnus/message.el (message-dont-reply-to-names):
136498         `message-dont-reply-to-names' can also be a list of regexps (bug#22773).
136500 2016-02-23  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>
136502         Make buttons in header lines work
136504         * lisp/help-mode.el (help-button-action): `help-xref-button' in
136505         header line doesn't work (bug#21024).
136507 2016-02-23  Vasilij Schneidermann  <v.schneidermann@gmail.com>
136509         Place apples randomly in Snake
136511         * lisp/play/snake.el (snake-score): New variable (bug#21359).
136512         (snake-set-dot): Place the apples randomly.
136514 2016-02-23  Tino Calancha  <f92capac@gmail.com>
136516         Allow optional parameter to be nil
136518         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the
136519         optional parameter to be nil (bug#21576).
136521 2016-02-23  Tino Calancha  <f92capac@gmail.com>
136523         Completely ignore buffers with no name when copying file names
136525         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely
136526         ignore buffers with no file name. (bug#21577).
136528 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
136530         Make spelling of "Eshell" consistent
136532         * lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell".
136533         * lisp/eshell/eshell.el (eshell-command):
136534         Spell it "Eshell" (bug#21678).
136536 2016-02-23  Simen Heggestøyl  <simenheg@gmail.com>
136538         Allow pretty lambdas in Scheme mode
136540         * lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
136541         `prettify-symbols-alist' from Lisp mode (bug#21679).
136543 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
136545         Rename lisp--prettify-symbols-alist
136547         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist):
136548         Rename from `lisp--prettify-symbols-alist' since we're going
136549         to use it in Scheme mode, too.
136550         (lisp-mode-variables): Use it.
136552 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>  (tiny change)
136554         Remove spurious newline in package list
136556         * lisp/emacs-lisp/package.el (describe-package-1): Remove
136557         spurious newline (bug#21706).
136559 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
136561         Revert "Remove spurious newline in package list"
136563         This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d.
136565 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>
136567         Remove spurious newline in package list
136569         * lisp/emacs-lisp/package.el (describe-package-1): Remove
136570         spurious newline (bug#21706).
136572 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
136574         Keep the position in the process buffer when deleting processes
136576         * lisp/simple.el (process-menu-delete-process): Keep the
136577         position in the buffer after killing a process (bug#21759).
136579 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
136581         Require that the buffer that we're trying to patch exist
136583         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
136584         buffer that we're trying to patch exist (bug#21852).
136586 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
136588         Require that the buffer that we're trying to patch exist
136590         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
136591         buffer that we're trying to patch exist (bug#21852).
136593 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
136595         Be more verbose when changing frame mode in ediff
136597         * lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what
136598         mode we toggled to (bug#21853).
136600 2016-02-22  Łukasz Stelmach  <stlman@poczta.fm>
136602         Encode header strings before printing
136604         * lisp/ps-print.el (ps-generate-header-line): Encode the
136605         header strings to avoid problems with non-ASCII headers
136606         (bug#22611).
136608 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
136610         Test message-strip-subject-trailing-was
136612         * test/lisp/gnus/message-tests.el (message-strip-subject-trailing-was):
136613         New test (bug#22632).
136615 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
136617         Make use of the `ert-with-function-mocked' macro
136619         * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
136620         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use
136621         `ert-with-function-mocked' instead of implementing the fragile
136622         `unwind-protect' logic openly.
136624 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
136626         message-strip-subject-trailing-was: Refactor
136628         * lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor
136629         the function replacing sequence of `if' calls with a mixture of `or'
136630         and `and' calls instead.  This makes it shorter and containing less
136631         internal state thus easier to follow.
136633 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
136635         ert-with-function-mocked: New macro
136637         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which
136638         allows evaluating code while particular function is replaced with
136639         a mock.  The original definition of said function is restored once the
136640         macro finishes.
136642 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
136644         Move Gnus functions frm rfc1843 to new file gnus-rfc1843
136646         * lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
136647         interface functions.
136649         * lisp/gnus/gnus-rfc1843.el: Move all Gnus-specifig functions to
136650         gnus-rfc1843.
136652 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
136654         Don't use mm-util functions in qp.el
136656         * lisp/gnus/qp.el (quoted-printable-decode-region): Don't use
136657         mm-util functions.
136658         (quoted-printable-encode-string): Ditto.
136659         (quoted-printable-encode-region): Ditto.
136661 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
136663         Don't require mm-util
136665         * lisp/mail/ietf-drums.el (mm-util): Don't require.
136667 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
136669         Remove Gnus functions from auth-source.el
136671         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
136672         Remove usage of Gnus utility function.
136673         (mm-util, gnus-util): Don't require.
136675 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
136677         Allow deleting all non-matching cookies
136679         * lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
136680         keeping matching cookies (bug#22720).
136682 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
136684         Make (setf (image-property ...)) return VALUE
136686         * lisp/image.el (image--set-property): Return VALUE, not IMAGE.
136688 2016-02-22  John Wiegley  <johnw@newartisans.com>
136690         Merge from origin/emacs-25
136692         a9c48d5 Additional fixes for file notification
136693         6bd9d69 Fix documentation of 'global-disable-point-adjustment'
136694         8c22ac9 ; Spelling fix
136695         2975784 Set file modes of pinentry socket for extra safety
136696         2667b3e Clarify GnuPG version compatibility chapter
136697         5e34c36 Revert "Change the default socket location for pinentry"
136698         e19c1c3 Kill off xref--display-history
136699         5698947 Keep the xref buffer visible until the user quits it explicitly
136700         e34fbde Change the default socket location for pinentry
136701         5f89658 Mention how to enable pinentry feature
136702         db51224 Sync with gnulib
136703         aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
136704         2d8b2fd Restore point when writing semantic table to disk
136705         27d3430 Mention pinentry.el in epa manual
136706         5baa001 Fix Bug#22736
136707         7261355 Grammar fix in doc string
136708         d0f3b18 Naming fix for consistency
136709         74ec92d Prefer customized value for GnuPG executable
136710         ea0b604 Fix memory reservation on MS-Windows
136711         c5f72aa Update NextStep readme and add wish list.
136712         6de26a7 Report also result in `file-notify--test-event-handler'
136713         5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
136714         1cb1268 Fix todo-mode item date editing bugs
136715         1e996cf Fix "[:upper:]" for non-ASCII characters
136716         896f993 Allow customizing the article mode cursor behavior
136717         24c1c1d Use pop-to-buffer-same-window in woman.el
136718         2a75f64 New filenotify test for bug#22736
136719         c9bccf7 Report critical battery errors
136720         d675db9 Make eww message toggling message clearer
136721         5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
136722         fa8fd65 ; Improve character-folding entries in NEWS
136723         3722a69 Fix bugs in window resizing code
136724         289d5c6 Fix decoding DOS EOL in a unibyte buffer
136725         2abcb06 Correct c-parse-state cache manipulation error.
136726         14aec91 Take advantage of new GnuPG version check function
136727         e80c2a7 Make GnuPG version check robuster
136728         15a9464 Fix x-load-color-file pointer signedness
136729         132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
136730         78ab6f1 Follow convention for greek letter constants.
136731         106b5bb Add Stefan-Boltzmann constant to calc units table.
136732         b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
136733         5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw.  (Bug#22669)
136734         2d40f7d Fix soffice UserInstallation-URL for Windows
136735         b1a3ebe Fix display of <pre> elements
136736         57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
136737         7a0628d ; * admin/make-tarball.txt: Mention cleaning.
136739 2016-02-22  Oleh Krehel  <ohwoeowho@gmail.com>
136741         lisp/calendar/appt.el (appt-delete-window): Check if buffer is live
136743         * lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
136744           non-existing buffer.
136746 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
136748         Mention the further asynchronousity
136750 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
136752         Fix async TLS boot problem
136754         * src/process.c (wait_reading_process_output): Verify the boot
136755         of the correct process.
136757 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
136759         Clean up forgotten text in manual
136761         * doc/lispref/display.texi (Defining Images): Remove example
136762         forgotten when making previous change.
136764 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
136766         Clean up debugging code
136768         * src/process.c (Fmake_network_process): Remove debugging printf.
136769         (wait_for_socket_fds, wait_while_connecting)
136770         (wait_for_tls_negotiation): Remove newlines from messages.
136772 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
136774         Fix merge conflicts in network-stream-tests.el
136776 2016-02-21  Paul Eggert  <eggert@penguin.cs.ucla.edu>
136778         Port recent filevercmp addition to MS-Windows
136780         Reported by Andy Moreton in:
136781         https://lists.gnu.org/r/emacs-devel/2016-02/msg01302.html
136782         * nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
136783         (EXTRA_DIST): Add filevercmp.h.
136785 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
136787         add_to_log expects Lisp parameters
136789 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
136791         Mention sentinels in conjunction with :nowait t.
136793         * doc/lispref/processes.texi (Network Processes): Mention the
136794         recommended way of using sentinels with :nowait t.
136796 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
136798         Mention in the doc strings that process functions may block
136800         (Fprocess_contact, Fprocess_datagram_address)
136801         (Fset_process_datagram_address, Fset_network_process_option)
136802         (Fprocess_send_region, Fprocess_send_string): Mention that the
136803         functions may block.
136804         (Fset_process_coding_system): Ditto.
136806 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
136808         Add blocker warnings to the *Messages* buffer
136810         * src/process.c (wait_for_socket_fds): Add warning to the log.
136811         (wait_while_connecting): Ditto.
136812         (wait_for_tls_negotiation): Ditto.
136814 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
136816         Rework the image property getter/setters
136818         * doc/lispref/display.texi (Defining Images): Document the
136819         renamed `image-get/set-property' functions.
136821         * lisp/image.el (image--set-property): Rename from
136822         image-set-property.
136823         (image-property): Declare a setf form.
136824         (image-property): Rename from `image-get-property'.
136826 2016-02-21  Paul Eggert  <eggert@cs.ucla.edu>
136828         Use Gnulib filevercmp for version comparison
136830         * admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
136831         * doc/lispref/strings.texi (Text Comparison):
136832         * etc/NEWS, src/fns.c:
136833         * test/src/fns-tests.el (fns-tests-string-version-lessp):
136834         Rename newly-introduced function to string-version-lessp, by
136835         analogy with strverscmp.
136836         * lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
136837         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
136838         * src/fns.c: Include <filevercmp.h>.
136839         (gather_number_from_string): Remove.
136840         (Fstring_version_lessp): Reimplement via filevercmp.
136842 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
136844         Add a function to delete URL cookies
136846         * doc/misc/url.texi (Cookies): Document
136847         url-cookie-delete-cookies.
136849         * lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.
136851 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
136853         Avoid integer overflows in string-numeric-lessp
136855         * src/fns.c (Fstring_numeric_lessp): If we have an integer
136856         overflow, compare lexicographically.
136858 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
136860         Add the string-numeric-lessp function
136862         * doc/lispref/strings.texi (Text Comparison): Document
136863         `string-numerical-lessp'.
136865         * src/fns.c (Fstring_numeric_lessp): New function.
136866         (gather_number_from_string): Helper function for that function.
136868         * test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.
136870 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
136872         Clarify levels of :nowait t.
136874         * doc/lispref/processes.texi (Network Processes): Mention
136875         levels of asynchronicity.
136877 2016-02-20  Alain Schneble  <a.s@realize.ch>
136879         Respect DNS timeouts
136881         * src/process.c (check_for_dns): If the async DNS request
136882         failed and the associated process is still in "connect" state,
136883         deactivate the process and set status to "failed".
136885 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
136887         Add a frame around the placeholder image in shr
136889         * lisp/net/shr.el (shr-make-placeholder-image): Add a frame
136890         around the image.
136892 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
136894         Use placeholder images in shr to avoid text moving around
136896         * lisp/net/shr.el (shr-rescale-image): Pass in width/height
136897         from the HTML.
136898         (shr-tag-img): Ditto.
136899         (shr-string-number): New function.
136900         (shr-make-placeholder-image): Make placeholder images.
136901         (shr-tag-img): Insert them if we have SVG support.
136903 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
136905         Get explicit width/height + scale computations right
136907         * src/image.c (compute_image_size): :scale should also be
136908         taken into account when :width and :height are explicitly names.
136910 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
136912         New functions for getting and setting image properties
136914         * doc/lispref/display.texi (Defining Images): Document
136915         image-get/set-property.
136917         * lisp/image.el (image-set-property): New function.
136918         (image-get-property): Ditto.
136920 2016-02-19  Alan Mackenzie  <acm@muc.de>
136922         Await the final mouse event in C-h c and C-h k.
136924         * lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
136925         event, keep reading further events until a timeout occurs, to ensure we have
136926         the complete mouse event from the user.
136928 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
136930         Add a library for creating and manipulating SVG images
136932         * doc/lispref/display.texi (SVG Images): New section.
136934         * lisp/svg.el: New file.
136936 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
136938         Fix up tests for async TLS negotiation
136940 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
136942         Fix coding system setup
136944         * src/process.c (set_network_socket_coding_system): Pass in
136945         the host/service that's been computed already.
136947 2016-02-18  Michael Albinus  <michael.albinus@gmx.de>
136949         Reference `tramp-theme' in GNU ELPA.
136951         * doc/misc/tramp.texi (Frequently Asked Questions):
136952         Reference `tramp-theme' in GNU ELPA.
136954 2016-02-17  Lars Ingebrigtsen  <larsi@gnus.org>
136956         Verify the TLS connection asynchronously
136958         * src/gnutls.c (gnutls_verify_boot): Refactor out into its own
136959         function so that we can call it asynchronously.
136960         (Fgnutls_boot): Use it.
136962         * src/process.c (wait_reading_process_output): Verify the TLS
136963         negotiation.
136965 2016-02-16  Simen Heggestøyl  <simenheg@gmail.com>
136967         Add column layout module to CSS property list
136969         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
136970         CSS Multi-column Layout Module.
136972 2016-02-16  Michael Albinus  <michael.albinus@gmx.de>
136974         Minor cleanup in CONTRIBUTE and test/README
136976         * CONTRIBUTE: Remove detailed explanation about testing; this
136977         is now in test/README.
136979         * test/README: Don't mention automated/ subdirectory.
136981 2016-02-15  Glenn Morris  <rgm@gnu.org>
136983         Provide 'term/name in lisp/term files.
136985         * lisp/term/AT386.el, lisp/term/bobcat.el, lisp/term/cygwin.el:
136986         * lisp/term/internal.el, lisp/term/iris-ansi.el, lisp/term/linux.el:
136987         * lisp/term/lk201.el, lisp/term/news.el, lisp/term/ns-win.el:
136988         * lisp/term/pc-win.el, lisp/term/rxvt.el, lisp/term/screen.el:
136989         * lisp/term/sun.el, lisp/term/tty-colors.el, lisp/term/tvi970.el:
136990         * lisp/term/vt100.el, lisp/term/vt200.el, lisp/term/w32-win.el:
136991         * lisp/term/w32console.el, lisp/term/wyse50.el, lisp/term/x-win.el:
136992         For consistency, provide 'term/name in all files that don't already.
136994 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
136996         Deactivate the correct process
136998         * src/process.c (wait_reading_process_output): Deactivate the
136999         correct process on failure.
137001 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
137003         Implement asynch TLS negotiation
137005         * src/gnutls.c (gnutls_try_handshake): Factor out into its own
137006         function.
137007         (emacs_gnutls_handshake): Use it.
137008         (emacs_gnutls_read): Just return instead of retrying the handshake.
137010         * src/process.c (finish_after_tls_connection): Factor out
137011         into its own function.
137012         (connect_network_socket): Use it.
137013         (wait_reading_process_output): Retry TLS handshakes.
137014         (wait_reading_process_output): Defer sentinel until TLS completes.
137016 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
137018         Simplify the DNS resolution loop a bit
137020         * src/process.c (wait_reading_process_output): Simplify the
137021         DNS resolution loop a bit.
137023 2016-02-15  Alain Schneble  <a.s@realize.ch>
137025         Loop over the process list instead of maintaining a separate list
137027         * src/process.c: Remove declaration/definition of dns_processes list.
137028         * src/process.c (wait_reading_process_output): Loop over all processes in
137029         Vprocess_alist instead of dns_processes, to check for completed DNS
137030         requests.
137032 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
137034         Allow setting the filter masks later
137036         * src/process.c (Fset_process_filter): Don't set the socket
137037         masks here, because we may not have a socket yet.
137038         (set_process_filter_masks): New function.
137039         (connect_network_socket): Set the filter masks here.
137041 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
137043         Remove debugging
137045 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
137047         Ensure we always free DNS resources when deleting a process
137049         * src/process.c (free_dns_request): Factor out into own function.
137050         (Fdelete_process): When deleting a process, free any DNS
137051         structures associated with it.
137052         (check_for_dns): Always free all DNS resources.
137054 2016-02-15  Alain Schneble  <a.s@realize.ch>
137056         Don't block in set-process-window-size
137058         * src/process.c (set-process-window-size): Explicitly return Qnil when
137059         called with network processes as set_window_size won't work anyway on
137060         socket fds.  As a welcome side effect, this makes the blocking
137061         wait_for_socket_fds call obsolete.
137063 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
137065         Do most of the coding system setup earlier
137067         * src/process.c (Fmake_network_process): Set the read/write
137068         coding systems here, so that special bindings work.
137069         (Fmake_network_process): Complete the coding system setup here.
137071 2016-02-15  John Wiegley  <johnw@newartisans.com>
137073         Merge from origin/emacs-25
137075         d4b93e1 Minor fixes in global-auto-composition-mode
137076         02b037b Allow arithmetic operators inside C++ template constructs.
137077         44b16f6 Avoid crashes in semi-malformed 'condition-case'
137078         652e5b4 Allow arithmetic operators inside C++ template constructs.
137079         d9ea795 Fix regression with 'recent-keys' and keyboard macros
137080         903603f Fix wording in a doc-view.el comment
137081         cf79616 ; Spelling fixes
137082         f8bf1b3 CONTRIBUTE cleanups and updates
137083         f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang
137084         1834ac7 Port to x86 GCC 4.3.1 and earlier
137085         8482949 Fix point movement under 'scroll-conservatively'
137086         c1313b5 Replace colon in file name (not legal on Windows)
137087         f7af26c Fix a typo in edt.texi
137088         8badf95 Make 'mmap_realloc' on MS-Windows more reliable
137089         856cd94 Grep alias `all' shall not match parent directory
137091 2016-02-15  John Wiegley  <johnw@newartisans.com>
137093         Merge from origin/emacs-25
137095         dacde7e * etc/AUTHORS: Update the AUTHORS file
137096         478ca5d ; fix changelog entries
137097         2b7d006 ; make change-history-commit
137098         851decb * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
137099         47896c8 ; Improve commentary in insdel.c
137100         53ca1e1 Index tilde characters in names of backup files
137101         d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings
137102         b55f06d ; * etc/NEWS: Use double spaces to end a sentence.
137103         28bb214 Announce that the `C-x w' bindings are deprecated
137104         1c98f98 Suppress GNUstep hardening
137105         d82f24b Fix redisplay after a large insertion
137106         85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
137107                 closed server"
137108         e8e3db0 ; Improve merge documentation in CONTRIBUTE
137109         5be9989 * lib-src/make-docfile.c: Include stdarg.h.
137110         c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
137111                 limitations.
137113 2016-02-15  John Wiegley  <johnw@newartisans.com>
137115         Merge from origin/emacs-25
137117         f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
137118         afe7d1f Revert "Document EXIF image rotation"
137119         c6f377c Document OS X LANG default
137120         eb4a18c Set locale when run from OS X GUI
137121         456c0a3 make-docfile cleanup for I/O, etc.
137122         25ec995 Memory-management cleanup in make-docfile
137123         02d925e Kevin Gallagher has new email address
137124         4ef153b Improve doc strings of 'forward/backward-word-strictly'
137125         3ad05a0 Describe Makefile test targets in test/README
137127 2016-02-15  John Wiegley  <johnw@newartisans.com>
137129         Merge from origin/emacs-25
137131         10b8ed2 Document EXIF image rotation
137132         0f60049 Support integer image rotation and respect EXIF rotations
137133         7dd45b6 Quote table names for postgres listings (sql-mode)
137134         6bac035 * lisp/replace.el (replace-match-maybe-edit): Make arg
137135                 `backward' optional.
137136         ee909aa * lisp/simple.el (next-line-or-history-element): Reset
137137                 temporary-goal-column.
137138         0a289d3 Suppress ACL ops if configured with --disable-acl
137139         1a9dbf5 Mention web bugs
137140         fa55da2 Make mm-html-blocked-images default to "" again
137142 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
137144         Protect against initial handshake failures
137146         * src/process.c (connect_network_socket): Mark the connection
137147         as failed if the handshake didn't succeed yet.  This should be
137148         reworked later.
137150 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
137152         Call the network security manager after doing TLS negotiation
137154         * lisp/net/network-stream.el (network-stream-open-tls):
137155         Postpone NSM verification when running async.
137157         * src/process.c (Fset_process_filter): This function doesn't
137158         need to wait.
137159         (connect_network_socket): Set the process status to "run" only
137160         after TLS negotiation.
137161         (wait_for_socket_fds): Take a name parameter for more debugging.
137162         (wait_reading_process_output): Don't change status to "run"
137163         unless TLS negotiation has finished.
137164         (send_process): Wait for the process here instead of
137165         send_process_string.
137166         (connect_network_socket): Call the network security manager.
137168 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
137170         Remove some #ifdefs and update documentation
137172         * doc/lispref/processes.texi (Network Processes): Remove
137173         mention of `dns'.
137175         * lisp/net/network-stream.el (open-network-stream): Remove
137176         mention of `dns'.
137178         * src/process.c (Fset_process_filter)
137179         (Fset_process_window_size, Fprocess_contact)
137180         (Fprocess_datagram_address, Fset_process_datagram_address)
137181         (Fset_network_process_option, Fprocess_send_region)
137182         (Fprocess_send_string, Fset_process_coding_system)
137183         (Fset_process_filter_multibyte): Remove the #ifdef
137184         HAVE_GETADDRINFO_A checks.
137185         (Fprocess_send_string): Wait for TLS negotiation.
137186         (wait_for_tls_negotiation): New function.
137187         (send_process): Remove the TLS boot check.
137189         * src/process.c (Fmake_network_process): Ditto.
137191 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
137193         Use :nowait t in url-gw
137195         * lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
137196         since we're not differentiating.
137198 2016-02-14  Alain Schneble  <a.s@realize.ch>
137200         Add blockers to process functions
137202         * src/process.c (set-process-filter, set-process-window-size,
137203         process-contact, process-datagram-address, set-process-datagram-address,
137204         set-network-process-option): Make functions wait (block) on network
137205         process until pending DNS requests have been processed and associated
137206         socket initialized.
137208         * src/process.c (process-send-region, process-send-string,
137209         process-send-eof): Make functions wait (block) while network process is
137210         in connect state.
137212 2016-02-14  Simen Heggestøyl  <simenheg@gmail.com>
137214         Add fragmentation module to CSS property list
137216         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
137217         CSS Fragmentation Module Level 3.
137219 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
137221         * doc/lispref/sequences.texi: Add documentation for seq-map-indexed
137223 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
137225         New function seq-map-indexed
137227         * lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
137228         * test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.
137230 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137232         * lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias.
137234 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137236         Fix problem with wrong encoding of non-ASCII message bodies
137238         * lisp/gnus/mml.el (mml-generate-mime-1): Disable
137239         multibyteness before encoding the data.
137241 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137243         Remove codepage setup code from mm-util
137245         * lisp/gnus/mm-util.el (mm-codepage-setup): Remove.
137246         (mm-codepage-iso-8859-list): Remove.
137247         (mm-codepage-ibm-list, mm-setup-codepage-iso-8859)
137248         (mm-setup-codepage-ibm): Remove.
137249         (mm-charset-eval-alist): Remove the code pages from the
137250         default value.
137252 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137254         Remove compat code for older Emacsen
137256         * lisp/gnus/gnus-art.el (gnus-button-url-regexp): Remove
137257         XEmacs compat code.
137259         * lisp/gnus/gnus-sync.el (gnus-sync-json-alist-p): Remove
137260         unused compat function.
137261         (gnus-sync-json-plist-p): Ditto.
137263         * lisp/gnus/message.el (message-default-charset): Make obsolete.
137264         (message-info): Remove compat code.
137265         (message-setup-fill-variables): Remove kludge needed earlier
137266         to not overwrite `normal-auto-fill-function'.
137267         (message-split-line): Remove compat code.
137269         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove
137270         compat code.
137272 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137274         Remove some compat functions from gmm-utils.el
137276         * lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Remove
137277         compat code.
137278         (gmm-image-search-load-path): Remove.
137279         (gmm-image-load-path-for-library): Remove.
137281 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137283         Remove the gmm-lazy and nnmail-lazy compat widgets
137285         * lisp/gnus/gmm-utils.el (gmm-lazy): Remove.
137287         * lisp/gnus/nnmail.el (nnmail-lazy): Remove.
137289 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137291         Clean up nnimap-request-move-article slightly
137293         * lisp/gnus/nnheader.el (subr-x): Require.
137295         * lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
137296         the code slightly.
137298 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137300         Use open-network-stream instead of open-protocol-stream
137302         * lisp/gnus/nnimap.el: Use open-network-stream instead of
137303         open-protocol-stream.
137305         * lisp/gnus/nntp.el: Ditto.
137307         * lisp/gnus/pop3.el: Ditto.
137309         * lisp/net/sieve-manage.el: Ditto.
137311         * lisp/net/network-stream.el (open-protocol-stream): Make obsolete.
137313 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137315         Remove compat code that relies on (featurep 'mule)
137317         * lisp/gnus/gnus-group.el (gnus-group-name-decode): Remove
137318         compat code.
137320         * lisp/gnus/gnus-start.el (gnus-read-descriptions-file):
137321         Remove compat code.
137323         * lisp/gnus/mm-bodies.el (mm-decode-body, mm-decode-string):
137324         Remove compat code.
137326         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
137327         Remove compat code.
137328         (mm-w3m-standalone-supports-m17n-p): Ditto.
137330 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137332         Remove compat functions from starttls.el
137334         * lisp/net/starttls.el
137335         (starttls-set-process-query-on-exit-flag): Remove.
137337 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137339         Remove compat functions from smime.el
137341         * lisp/gnus/smime.el (smime-replace-in-string): Remove.
137342         (smime-make-temp-file): Remove.
137344 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137346         Remove compat code from smiley
137348         * lisp/gnus/smiley.el (smiley-style): Remove compat code.
137350 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137352         Remove compat code from rfc2047
137354         * lisp/mail/rfc2047.el (rfc2047-encode-message-header): Remove
137355         compat code.
137356         (rfc2047-decode-string): Ditto.
137358 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137360         Remove compat function from pop3
137362         * lisp/gnus/pop3.el (pop3-set-process-query-on-exit-flag): Remove.
137364 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137366         Remove compat code in Gnus backends
137368         * lisp/gnus/nndiary.el (nndiary-error): Remove.
137370         * lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.
137372         * lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.
137374         * lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.
137376         * lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.
137378 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137380         Remove compat code from some mml files
137382         * lisp/gnus/mml-sec.el (mml-secure-passphrase-cache-expiry):
137383         Remove compat code.
137385         * lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
137386         Always use `mail-extract-address-components', since this isn't
137387         time critical.
137388         (mml-smime-get-dns-cert): Ditto.
137390         * lisp/gnus/mml.el (mml-preview): Remove compat code.
137392 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137394         Remove compat code and compat functions from mm-util.el
137396         * lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): Remove
137397         compat code.
137398         (mm-coding-system-priorities)
137399         (mm-mule-charset-to-mime-charset, mm-charset-after)
137400         (mm-mime-charset, mm-iso-8859-x-to-15-region): Remove compat code.
137401         (mm-detect-coding-region): Define unconditionally.
137402         (mm-detect-mime-charset-region): Ditto.
137403         (mm-coding-system-to-mime-charset): It's 'mime-charset now.
137404         (coding-system-name)
137405         (find-file-coding-system-for-read-from-filename)
137406         (find-operation-coding-system): Remove aliases.
137408 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137410         Remove some compat code from mm-*.el
137412         * lisp/gnus/mm-bodies.el (mm-decode-body): Ditto.
137414         * lisp/gnus/mm-decode.el (mm-tmp-directory)
137415         (mm-valid-image-format-p): Remove compat code.
137417         * lisp/gnus/mm-url.el (mm-url-insert-file-contents): Remove
137418         "Connection" "Close" workaround for older Emacsen.
137420 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137422         Remove compat code and functions from message.el
137424         * lisp/gnus/message.el (message-send-mail-function): Remove
137425         compat code.
137426         (message-dont-reply-to-names, message-mode)
137427         (message-setup-fill-variables, message-fill-paragraph)
137428         (message-remove-blank-cited-lines, message-make-from)
137429         (message-forward-rmail-make-body, message-tool-bar-gnome)
137430         (message-tab): Remove compat code.
137431         (message-completion-in-region): Remove.
137432         (message-read-from-minibuffer): Remove compat code.
137434 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137436         Declare rfc1843 instead of autoloading
137438         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Declare
137439         instead of autoload.
137441 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
137443         Avoid signaling an error in 'dired-do-find-regexp-and-replace'
137445         * lisp/dired-aux.el: Require cl-lib, so that 'cl-mapcan' is
137446         autoloaded correctly.  (Bug#22613)
137448 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
137450         Fix network-stream-tests.el for MS-Windows
137452         * test/lisp/net/network-stream-tests.el
137453         (connect-to-tls-ipv6-nowait): Skip for MS-Windows builds.
137454         (connect-to-tls-ipv4-wait): Add a 0.1 sleep-for.
137456 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
137458         Remove some Message compat functions
137460         * lisp/gnus/message.el (message-kill-all-overlays): Define
137461         unconditionally.
137462         (message-window-inside-pixel-edges): Remove.
137463         (mail-dont-reply-to): Remove.
137465 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137467         Remove some Gnus compat code
137469         * lisp/gnus/gnus-art.el (gnus-mime-inline-part): Remove compat code.
137470         (gnus-mm-display-part): Ditto.
137472         * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Remove
137473         compat code.
137475 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137477         Sort groups before inserting them into the group buffer
137479         * lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
137480         Sort groups before inserting them.
137482 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137484         Make "unseen" tracking work again in Gnus
137486         * lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen"
137487         tracking work again.
137489 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137491         Remove Gnus compat functions defined in gnus.el
137493         * lisp/gnus/gnus.el (gnus-extent-detached-p): Remove.
137494         (gnus-extent-start-open, gnus-character-to-event)
137495         (gnus-assq-delete-all, gnus-add-text-properties)
137496         (gnus-put-text-property, gnus-key-press-event-p):
137498 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137500         Remove compat code from gnus-uu and win
137502         * lisp/gnus/gnus-util.el (gnus-image-type-available-p): Remove
137503         compat code.
137505         * lisp/gnus/gnus-uu.el (gnus-uu-tmp-dir): Remove compat code.
137507         * lisp/gnus/gnus-win.el (gnus-frames-on-display-list): Remove.
137509 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137511         Remove several gnus-util compat functions
137513         * lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
137514         (gnus-read-shell-command): Remove.
137515         (gnus-match-substitute-replacement): Remove.
137516         (gnus-string-match-p): Remove.
137517         (gnus-string-prefix-p): Remove.
137519 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137521         Remove the gnus-merge alias
137523         * lisp/gnus/gnus-util.el (gnus-merge): Remove.
137525 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137527         Remove the gnus-union alias
137529         * lisp/gnus/gnus-util.el (gnus-union): Remove.
137531 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137533         Remove the gnus-delete-alist alias
137535         * lisp/gnus/gnus-util.el (gnus-run-mode-hooks): Remove compat code.
137536         (gnus-delete-alist): Remove.
137538 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137540         Remove the gnus-float-time alias
137542         * lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
137543         compat code.
137544         (gnus-float-time): Remove.
137546 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137548         Remove compat code from gnus-srvr, start and sum
137550         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Remove
137551         compat code.
137553         * lisp/gnus/gnus-start.el (gnus-check-reasonable-setup):
137554         Remove compat code.
137556         * lisp/gnus/gnus-sum.el (gnus-summary-display-arrow)
137557         (gnus-summary-make-menu-bar, gnus-summary-make-tool-bar)
137558         (gnus-recenter)
137559         (gnus-summary-limit-strange-charsets-predicate)
137560         (gnus-summary-show-thread): Remove compat code.
137562 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137564         Remove compat code from gnus-spec.el
137566         * lisp/gnus/gnus-spec.el (gnus-lrm-string-p): Remove compat code.
137567         (gnus-balloon-face-function): Remove compat code.
137569 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137571         Fix compat change in last check-in
137573         * lisp/gnus/gnus-group.el
137574         (gnus-group-name-charset-group-alist): `find-coding-system'
137575         doesn't exist in Emacs.
137577 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137579         Always use url-queue
137581         * lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching):
137582         Always use url-queue.
137584 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137586         Remove compat functions from gnus-html.el
137588         * lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove.
137590 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137592         Remove compat code from gnus-group.el
137594         * lisp/gnus/gnus-group.el (gnus-group-name-charset-group-alist)
137595         (gnus-group-make-tool-bar, gnus-group-update-tool-bar): Remove compat code.
137597 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137599         Define gnus-diary-kill-entire-line unconditionally
137601         * lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line):
137602         Define unconditionally.
137604 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137606         Remove compat code from gnus-cache and gnus-bookmark
137608         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Ditto.
137610         * lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-name):
137611         Remove compat code.
137613 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137615         Remove compat code from gnus-art.el
137617         * lisp/gnus/gnus-art.el (gnus-article-prepare)
137618         (gnus-mime-copy-part, gnus-output-to-file)
137619         (gnus-article-reply-with-original)
137620         (gnus-button-handle-apropos-variable)
137621         (gnus-button-handle-apropos-documentation):
137623 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137625         Remove compat code from gnus-agent.el
137627         * lisp/gnus/gnus-agent.el (gnus-agent-make-mode-line-string):
137628         Remove compat code.
137630 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137632         Rewrite gmm-labels usage to use cl-labels
137634         * lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Remove compat code.
137635         (gmm-labels): Remove.
137637 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137639         Remove compat code from canlock.el
137641         * lisp/gnus/canlock.el (defmacro): Remove
137643 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137645         Remove compat code from auth-source
137647         * lisp/gnus/auth-source.el (auth-source-read-char-choice):
137648         Remove compat code.
137650 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137652         Fix gnus-group.el compilation warnings about unprefixed variables
137654         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): Avoid
137655         compilation warnings by passing in the dynamic variables as
137656         explicit lexical parameters to `eval'.
137658 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137660         Fix the :tracker slot name
137662         * lisp/gnus/registry.el (registry-lookup-secondary): The
137663         `tracker' slot is called `tracker', not `:tracker'.
137665 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137667         Fix compilation warnings in gnus-art.el
137669         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Autoload.
137670         (gnus-article-hide): Avoid compilation warnings.
137672 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137674         Fix compilation warning in gnus-score.el
137676         * lisp/gnus/gnus-score.el (gnus-art): Require to silence byte
137677         compiler.
137679 2016-02-12  Andreas Schwab  <schwab@linux-m68k.org>
137681         Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
137683         This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
137685         This makes nnimap groups not be activated.
137687 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137689         Fix encoding problem introduced by previous patch series
137691         * lisp/mail/rfc2047.el: Ditto (bug#22648).
137693         * lisp/mail/rfc2231.el: Fix problem created by the
137694         mm-replace-in-string conversion.
137696 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
137698         Revert "Avoid defvarring prefix-less variables"
137700         This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.
137702         The defvars are needed if we're doing lexical-binding
137704 2016-02-12  Glenn Morris  <rgm@gnu.org>
137706         * test/lisp/url/url-auth-tests.el (url-auth-test-digest-auth):
137707         Make it pass.
137709         * test/lisp/url/url-auth-tests.el
137710         (url-auth-test-digest-auth-retrieve-cache): Fix obvious typo.
137712 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137714         Finish up cl-defmethoding registry,el
137716         * lisp/gnus/registry.el (initialize-instance): Use cl-defmethod.
137718 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137720         Revert the gnus-replace-in-string change, fix arguments, reapply
137722 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137724         Silence more message.el compilation warnings
137726         * lisp/gnus/message.el (message-generate-headers): Don't use
137727         variable values directly to get the header values, because
137728         that breaks with lexical binding (without unprefixed defvars).
137730 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137732         Fix various compilation warnings in message.el
137734         * lisp/gnus/message.el (message-fix-before-sending): Use
137735         read-multiple-choice instead of gnus-multiple-choice.
137736         (mm-util): Require.
137737         (rfc2047): Require.
137738         (message-remove-blank-cited-lines): Use message instead of
137739         gnus-message.
137740         (message-send): Use y-or-n-p instead of gnus-y-or-n-p.
137742 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137744         Silence compilation warning in mm-view
137746         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence
137747         compilation warning.
137749 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137751         Fix epg-related compilation warnings in mml-sec
137753         * lisp/gnus/mml-sec.el: Fix compilation warnings from the epg
137754         library.
137756 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137758         rmail-dont-reply-to-names is obsolete
137760         * lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Don't bind
137761         the obsolete `rmail-dont-reply-to-names' variable.
137763 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137765         Partially revert the defmethod->cl-defmethod change in registry.el
137767         * lisp/gnus/registry.el (initialize-instance): Use defmethod,
137768         since cl-defmethod doesn't work with :after.
137769         (initialize-instance): Ditto, but with :before.
137771 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137773         Avoid obsolete function in plstore
137775         * lisp/gnus/plstore.el (plstore--insert-buffer): Use setf
137776         instead of the obsolete epg-context-set-armor.
137778 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137780         Use cl-defmethod in registry.el
137782         * lisp/gnus/registry.el: Use cl-defmethod instead of the
137783         obsolete defmethod.
137785 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137787         Make sieve-manage require sasl
137789         * lisp/net/sieve-manage.el: Fix compilation warning by
137790         requiring sasl.
137792 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137794         Avoid defvarring prefix-less variable
137796         * lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'.
137798 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137800         * lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates.
137802 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137804         Don't use the obsolete char-valid-p function
137806         * lisp/gnus/mm-url.el (mm-url-decode-entities): Don't use the
137807         obsolete char-valid-p function.
137809 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137811         Fix missed translation in a previous commit
137813         * lisp/gnus/mailcap.el (mailcap-mime-types): Fix missed
137814         translation of mailcap-delete-duplicates.
137816 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137818         Avoid using mm-make-temp-file
137820         * lisp/gnus/mail-source.el (mail-source-delete-crash-box): Ditto.
137822         * lisp/gnus/mm-decode.el (mm-display-external): Ditto.
137824         * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Ditto.
137826 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137828         Fix compilation warning in gnus-start
137830         * lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid
137831         mm-make-temp-file.
137833 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137835         Avoid the obsoleted defmethod
137837         * lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of
137838         defmethod.
137840 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137842         Avoid defvarring prefix-less variables
137844         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): We
137845         don't need to `defvar' the short variables to allow `eval' to
137846         use them.
137848 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137850         nnweb doesn't need unibyte buffers
137852         * lisp/gnus/nnweb.el (nnweb-retrieve-headers)
137853         (nnweb-read-overview, nnweb-request-article)
137854         (nnweb-google-reference): Unibyte buffers are not needed here.
137856 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137858         Encode before sending from nnspool
137860         * lisp/gnus/nnspool.el (nnspool-request-post): Encode data
137861         before sending it to the news server.
137863 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137865         nnrss buffers don't have to be unibyte
137867         * lisp/gnus/nnrss.el (nnrss-insert): The buffer doesn't have
137868         to be unibyte just to receive data, I think.
137870 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137872         Don't use mm-with-unibyte-current-buffer in mml2015
137874         * lisp/gnus/mml2015.el (mml2015-mailcrypt-encrypt): Don't use
137875         mm-with-unibyte-current-buffer.
137877 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137879         Don't use mm-with-unibyte-current in mml1991
137881         * lisp/gnus/mml1991.el (mml1991-epg-sign): Don't use
137882         mm-with-unibyte-current.
137884 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137886         Don't use mm-with-unibyte-current in mml1991
137888         * lisp/gnus/mml1991.el (mml1991-pgg-sign): Don't use
137889         mm-with-unibyte-current.
137891 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137893         Don't use mm-with-unibyte-buffer in utf7
137895         * lisp/international/utf7.el (utf7-fragment-encode): Don't use
137896         mm-with-unibyte-buffer.
137898 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137900         Remove XEmacs compat code from Gnus helper libraries
137902         * lisp/gnus/plstore.el (plstore-called-interactively-p): Remove.
137904         * lisp/gnus/pop3.el (pop3-make-date): Remove XEmacs compat.
137906         * lisp/gnus/sieve-mode.el: Remove XEmacs compat.
137908         * lisp/gnus/spam-stat.el (spam-stat-called-interactively-p): Remove.
137910 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137912         Remove XEmacs compat code from Gnus backends
137914         * lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
137915         (mm-inline-image): Rename from mm-inline-image-emacs.
137917         * lisp/gnus/mml.el: Remove XEmacs compat code.
137919         * lisp/gnus/nnheader.el: Remove XEmacs compat code.
137921         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
137922         XEmacs compat code.
137924         * lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.
137926         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
137927         XEmacs compat code.
137929         * lisp/gnus/nnmairix.el: Remove XEmacs compat code.
137931         * lisp/gnus/nnrss.el: Remove XEmacs compat code.
137933         * lisp/gnus/nntp.el: Remove XEmacs compat code.
137935 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137937         Remove XEmacs compat functions from mm-util.el
137939         * lisp/gnus/mm-util.el (mm-special-display-p): Remove.
137940         (mm-decode-coding-string, mm-encode-coding-string)
137941         (mm-decode-coding-region, mm-encode-coding-region): Remove.
137942         (mm-string-to-multibyte): Remove.
137943         (mm-char-or-char-int-p): Remove.
137944         (mm-ucs-to-char): Remove compat versions of the function.
137945         (mm-read-coding-system): Remove.
137946         (mm-coding-system-p): Remove compat code.
137947         (mm-enrich-utf-8-by-mule-ucs): Remove.
137948         (mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
137949         (mm-delete-duplicates): Remove.
137950         (mm-multibyte-p): Remove compat versions.
137951         (mm-xemacs-find-mime-charset-1): Remove.
137952         (mm-xemacs-find-mime-charset): Remove.
137953         (mm-make-temp-file): Made obsolete.
137954         (mm-find-buffer-file-coding-system): Remove XEmacs compat.
137956 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
137958         Remove Message and mm-decode XEmacs compat code
137960         * lisp/gnus/message.el: Remove XEmacs compat code.
137962         * lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.
137964         * lisp/gnus/mm-util.el: Remove some XEmacs compat code.
137966 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
137968         Remove some XEmacs compat code from message.el
137970         * lisp/gnus/message.el: Remove some XEmacs compat code.
137972 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
137974         Remove XEmacs compat code from ietf-drums.el
137976         * lisp/mail/ietf-drums.el (ietf-drums-syntax-table): Drop
137977         XEmacs compat.
137979 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
137981         Remove XEmacs compat code from gravatar.el
137983         * lisp/gnus/gravatar.el: Remove XEmacs compat code from
137984         gravatar.el.
137986 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
137988         Remove more XEmacs compat code from Gnus
137990         * lisp/gnus/gnus-util.el (gnus-bound-and-true-p): Remove.
137991         (gnus-timer--function): Remove.
137993         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Remove XEmacs
137994         19.2 compat.
137996         * lisp/gnus/gnus-win.el: Remove XEmacs compat code.
137998 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
138000         Remove more XEmacs compat functions from gnus-util.el
138002         * lisp/gnus/gnus-util.el (gnus-put-display-table): Remove.
138003         (gnus-get-display-table): Remove.
138004         (gnus-format-message): Remove.
138006 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
138008         Remove more XEmacs compat functions from Gnus
138010         * lisp/gnus/gnus-util.el (gnus-next-char-property-change): Remove.
138011         (gnus-previous-char-property-change): Remove.
138012         (gnus-graphic-display-p): Remove.
138013         (gnus-select-frame-set-input-focus): Remove.
138015 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
138017         Remove more XEmacs compat code from gnus-util
138019         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
138020         all its usages).
138021         (gnus-invisible-p): Remove.
138023 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
138025         Remove gnus-make-local-hook
138027         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
138028         all its usages).
138030 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
138032         gnus-replace-in-string -> replace-regexp-in-string
138034         * lisp/gnus/gnus-util.el (gnus-replace-in-string): Declare
138035         obsolete.  Transform all usages of it into
138036         replace-regexp-in-string.
138038         * lisp/gnus/mailcap.el (mailcap-replace-in-string): Remove.
138040 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
138042         Remove Gnus XEmacs compat
138044         * lisp/gnus/gnus-start.el (gnus-dribble-enter): Remove comment
138045         about code that doesn't work in XEmacs.
138047         * lisp/gnus/gnus-sum.el: Remove XEmacs compat.
138049         * lisp/gnus/gnus-topic.el: Remove XEmacs compat.
138051 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
138053         Remove compat functions in gnus-spec.el
138055         * lisp/gnus/gnus-spec.el (gnus-string-width-function): Remove.
138056         (gnus-substring-function): Remove.
138057         (gnus-use-correct-string-widths): Remove.
138058         (gnus-make-format-preserve-properties): Remove.
138059         (gnus-xmas-format): Remove.
138061         * lisp/gnus/gnus-srvr.el (gnus-server-mode): Remove XEmacs compat.
138063 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
138065         Remove Gnus XEmacs compat functions
138067         * lisp/gnus/gnus-registry.el: Remove XEmacs compat.
138069         * lisp/gnus/gnus-salt.el: Remove XEmacs compat.
138071         * lisp/gnus/gnus-score.el (gnus-decay-score): Remove XEmacs compat.
138073 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
138075         Remove Gnus XEmacs compatibility
138077         * lisp/gnus/gnus-demon.el (gnus-demon-idle-since): Remove
138078         XEmacs compat.
138080         * lisp/gnus/gnus-dired.el: Remove XEmacs compat.
138082         * lisp/gnus/gnus-draft.el: Remove XEmacs compat.
138084         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Remove
138085         XEmacs compat.
138087         * lisp/gnus/gnus-group.el: Remove XEmacs compat.
138089         * lisp/gnus/gnus-html.el: Remove XEmacs compat.
138091         * lisp/gnus/gnus-ml.el: Remove XEmacs compat.
138093         * lisp/gnus/gnus-picon.el (gnus-picon-style): Remove XEmacs comment.
138095 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
138097         Don't use image-map if it isn't defined
138099         * lisp/net/shr.el (shr-image-map): Only use image-map as a
138100         parent if it's defined (bug#22614).
138102 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
138104         Check for MagickAutoOrientImage
138106         * configure.ac: Check for MagickAutoOrientImage.
138108         * src/image.c (imagemagick_load_image): Don't use
138109         MagickAutoOrientImage unless it's available.
138111 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
138113         Document EXIF image rotation
138115         * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
138117 2016-02-10  Dima Kogan  <dima@secretsauce.net>
138119         Support integer image rotation and respect EXIF rotations
138121         * src/image.c (imagemagick_load_image): Allow integer rotations in
138122         addition to floating point rotations (bug#22591).
138123         * src/image.c (imagemagick_load_image): Images that have an
138124         orientation given in EXIF and have no explicit :rotation tag are now
138125         pre-rotated.  All information such as width/height is reported for the
138126         rotated image.
138128 2016-02-10  Wolfgang Jenkner  <wjenkner@inode.at>
138130         * lisp/net/shr.el (image-map): Defvar it.  (Bug#22614)
138132 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138134         * lisp/gnus/gnus-cite.el: Remove XEmacs compat code.
138136 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138138         Remove compat code from gnus-bookmark.el
138140         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-mouse-available-p): Remove.
138141         (gnus-bookmark-remove-properties): Remove.
138143 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138145         Remove XEmacs compat code from gnus-a*.el
138147         * lisp/gnus/gnus-agent.el: Remove compat code.
138149         * lisp/gnus/gnus-art.el: Remove compat code.
138151         * lisp/gnus/gnus-async.el: Remove compat code.
138153 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138155         Remove gmm compat functions
138157         * lisp/gnus/gmm-utils.el (gmm-image-search-load-path): Remove.
138158         (gmm-write-region): Remove.
138159         (gmm-called-interactively-p): Remove.
138161 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138163         * lisp/gnus/ecomplete.el: Remove XEmacs compat code.
138165 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138167         Remove compat code from compface.el
138169         * lisp/image/compface.el: Remove XEmacs compat code throughout.
138171 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138173         Remove the now empty gnus-ems.el and references to it
138175 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138177         Remove Gnus compat names for mouse bindings
138179         * lisp/gnus/gnus-ems.el (gnus-widget-button-keymap): Remove.
138180         (gnus-down-mouse-2): Remove.
138181         (gnus-down-mouse-3): Remove.
138183 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138185         Drop Gnus compat functions
138187         * lisp/gnus/gnus-ems.el (gnus-mule-max-width-function): Remove.
138189         * lisp/gnus/gnus-util.el (gnus-kill-all-overlays): Move here.
138191         * lisp/gnus/gnus.el (gnus-mode-line-modified): Remove.
138193 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138195         Get rid of gnus-ems-redefine
138197         * lisp/gnus/gnus-ems.el (gnus-mouse-face-prop): Remove.
138199 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138201         * lisp/gnus/gnus-spec.el: Move definition here from gnus-ems.el.
138203 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138205         Remove Gnus compat code
138207         * lisp/gnus/gnus-ems.el (gnus-ems-redefine): Remove
138208         transitional code from ten years ago.
138210 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138212         Allow interactively scaling past :max-width etc
138214         * lisp/image.el (image--current-scaling)
138215         (image--image-without-parameters): New functions.
138216         (image--change-size): Use them to allow changing the size of a
138217         image even if it has :width/:max-width (etc.) already set.
138219 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138221         * lisp/gnus/mm-decode.el (shr-image-map): Compilation fix.
138223 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138225         Allow accessing the image commands via shr
138227         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Allow
138228         accessing the image commands.
138230         * lisp/net/shr.el (shr-image-map): New map used for images.
138231         (shr-urlify): Don't overwrite image maps when applying URL maps.
138233 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138235         Use a sparse image keymap
138237         * lisp/image.el (image-map): Use a sparse keymap.
138239 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138241         Put a keymap on images created with insert-image and friends
138243         * lisp/image.el (image-save): New command.
138244         (image-rotate): Ditto.
138245         (image-map): New keymap.
138246         (insert-image): Put the image-map on all images.
138247         (insert-sliced-image): Ditto.
138248         * doc/lispref/display.texi (Showing Images): Document the
138249         image map.
138251 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138253         Fix some folding issues in read-multiple-choice
138255         * lisp/subr.el (read-multiple-choice): Fix folding when you
138256         have many items.
138258 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138260         Fix typo in last checkin
138262 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138264         Remove Gnus compat functions
138266         * lisp/gnus/gnus-ems.el (gnus-mark-active-p)
138267         (gnus-region-active-p, gnus-select-lowest-window)
138268         (gnus-summary-display-table, gnus-max-width-function): Remove
138269         compat functions.
138271 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138273         Move non-compat Gnus functions to gnus-util.el
138275         * lisp/gnus/gnus-util.el (gnus-remove-image, gnus-put-image)
138276         (gnus-create-image, gnus-image-type-available-p): Move here
138277         from gnus-ems.el, since these aren't compat functions.
138279 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
138281         Omit valloc decl if redundant
138283         * src/gmalloc.c (valloc): Omit decl if malloc.h is included,
138284         to pacify --enable-gcc-warnings.
138286 2016-02-09  Wolfgang Jenkner  <wjenkner@inode.at>
138288         Restore the calloc family.
138290         * src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions.
138291         They were lost in a4817d8 but calloc is still (marginally) used in
138292         code statically liked with emacs, so hybrid_calloc is needed.
138293         Also, in the non-hybrid case, we can't get rid of calloc anyway as
138294         other libraries liked with emacs may need it.
138295         * src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.
138297 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
138299         Remove some Gnus compat functions
138301         * lisp/gnus/gnus-ems.el (gnus-string-mark-left-to-right)
138302         (gnus-window-inside-pixel-edges, gnus-set-process-plist)
138303         (gnus-process-plist, gnus-process-get, gnus-process-put): Remove.
138305 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
138307         -
138309         -
138311 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
138313         Merge from origin/emacs-25
138315         4feb962 * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
138316         cc419fb Don't inloop gnus-uu-mark-thread on the last thread
138317         51c77a2 Display non-ASCII group names better in prompts
138318         f93d669 Default to gpg2 instead of gpg
138320 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
138322         Merge from origin/emacs-25
138324         9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
138325         16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
138326         3db6adb * lisp/isearch.el (search-default-mode)
138327         4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
138328         c77ffc8 Use monitor's resolution for positioning tooltips
138329         49e5749 Fix file-notify-test on MS-Windows
138330         be1d874 Fix issues found by auditing w32notify code
138331         87ae218 Extend etags Ruby support for accessors
138332         aa35257 Update publicsuffix.txt.
138333         6816bff Ensure that Gnus dribble handling allows removing entries
138334         691feae Be consistent when using encoded strings in nnimap data
138335         3ed423b Display the decoded Gnus group name
138336         5428b5b Use completion-ignore-case instead of defining command
138338 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
138340         Merge from origin/emacs-25
138342         1eaf68f * test/automated/file-notify-tests.el (file-notify-test06-many-events):
138343         d333716 ; * etc/NEWS: Expand news entry for scss-mode
138344         c32c16f ; Better document changes in ls-lisp default behavior
138345         dc6eed2 Fix doc string of tls-program
138347 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
138349         Merge from origin/emacs-25
138351         2c117fc * etc/NEWS: Document new mpc.el features
138352         71a0496 * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
138353         9dfece1 Correctly fontify C++ initializations which "look like" functions.
138354         4485222 Improve newsticker-treeview-selection-face
138355         4236944 Minor fix in tagging Ruby accessors by etags
138356         35fc77d Spelling fixes
138357         3dda110 Remove 'def X' from the example
138359 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
138361         Fix network-stream-tests on MS-Windows
138363         * test/lisp/net/network-stream-tests.el (make-local-unix-server):
138364         Skip if local sockets are not supported.
138366 2016-02-09  Michael Albinus  <michael.albinus@gmx.de>
138368         * admin/notes/bug-triage: Fix bug priorities.  Explain colors in debbugs-gnu.
138370 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
138372         Disable 'timer-list'
138374         * lisp/emacs-lisp/timer-list.el: Make 'timer-list' a disabled
138375         command.
138377 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
138379         Avoid aligned_alloc static/extern collision
138381         * src/alloc.c (aligned_alloc): Define to private name when a
138382         static function, to avoid collision with lisp.h extern decl.
138383         Reported by John Yates in:
138384         https://lists.gnu.org/r/emacs-devel/2016-02/msg00439.html
138386 2016-02-08  David Edmondson  <dme@dme.org>
138388         src/process.c Correctly convert AF_INET6 addresses
138390         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
138391         converted to a list of 16 bit quantities by
138392         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
138393         same scheme rather than expecting a (longer) list of 8 bit
138394         quantities.
138396 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
138398         Make `message-beginning-of-line' aware of folded headers
138400         * lisp/gnus/message.el (message-beginning-of-header): New function which
138401         moves point to the beginning of a mail header.  The function is aware of
138402         folded headers and with non-nil argument looks for the true beginning of
138403         a header while with nil argument moves to the indented text of header's
138404         value.
138405         (message-beginning-of-line): Function is now aware of folded headers and
138406         either moves point to the indentation of a header or, in visual-line-mode,
138407         searches for the beginning of the header.
138409 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
138411         Optimize ‘point in message header’ check
138413         * lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
138414         regular expression matches with a single bound string match thus
138415         reducing amount of work the function is doing.
138417 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
138419         Make the `R' command get the correct relative <img>s
138421         * lisp/net/eww.el (eww-readable): Preserve the base URL so
138422         that image expansions are fetched from the right place (bug#22605).
138424 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
138426         Add a mode to list and cancel timers
138428         * doc/lispref/os.texi (Timers): Menton `timer-list'.
138430         * lisp/emacs-lisp/timer-list.el: New file.
138432 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
138434         Add new commands to allow changing the size of images
138436         * lisp/image.el (image-increase-size, image-decrease-size):
138437         New commands.
138438         (image-change-size): New function.
138440 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
138442         Allow the image scale to be a floating point number
138444         * src/image.c (compute_image_size): The scale can be a
138445         floating point number.
138447 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
138449         Add an IPv6 test
138451         * test/lisp/net/network-stream-tests.el
138452         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
138454 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
138456         Use gnutls-serv instead of openssh
138458         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
138459         gnutls-serv instead of openssh.
138461 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
138463         Skip TLS tests if we don't have openssl
138465         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
138466         TLS tests if we don't have openssl and GnuTLS.
138468 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
138470         Add an IPv6 test
138472         * test/lisp/net/network-stream-tests.el
138473         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
138475 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
138477         Use gnutls-serv instead of openssh
138479         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
138480         gnutls-serv instead of openssh.
138482 2016-02-08  Daniel Colascione  <dancol@dancol.org>
138484         Performance improvements for vc-hg
138486         Teach vc-hg how to read some Mercurial internal data structures,
138487         allowing us to avoid the need to run hg status -A, which is very slow
138488         for large repositories.  Fall back to running hg if anything looks
138489         funny.  vc-hg now puts the _working directory_ revision in the
138490         modeline instead of the file revision, which greatly improves
138491         performance and which allows us to again skip running hg in the case
138492         that we have an active bookmark.
138494         * lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
138495         (vc-hg-symbolic-revision-styles)
138496         (vc-hg-use-file-version-for-mode-line-version)
138497         (vc-hg-parse-hg-data-structures): New user preferences
138498         (vc-hg--active-bookmark-internal, vc-hg--run-log)
138499         (vc-hg--symbolic-revision, vc-hg-mode-line-string)
138500         (vc-hg--read-u8, vc-hg--read-u32-be)
138501         (vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
138502         (vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
138503         (vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
138504         (vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
138505         (vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
138506         (vc-hg--ignore-patterns-valid-p)
138507         (vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
138508         (vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
138509         (vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
138510         (vc-hg-state-fast): New functions.
138511         (vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
138512         (vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
138513         (vc-hg--dirstate-scan-cache): New internal variables.
138514         * lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
138515         before updating modeline.
138517 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
138519         Skip TLS tests if we don't have openssl
138521         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
138522         TLS tests if we don't have openssl and GnuTLS.
138524 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
138526         Automatically scale images up on high-density screens
138528         * doc/lispref/display.texi (ImageMagick Images): Mention :scale.
138529         (Defining Images): Mention image-scaling-factor.
138531         * lisp/image.el (image-compute-scaling-factor): New function
138532         (bug#22172).
138533         (create-image): Use it.
138534         (image-scaling-factor): New variable.
138536         * src/image.c (compute_image_size): Take :scale into account.
138538 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
138540         Ensure progress when fetching from the queue
138542         * lisp/url/url-queue.el (url-queue-check-progress): Ensure
138543         that we have progress when fetching queued requests (bug#22576).
138545 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
138547         Make mail-extract-address-components return the user name more
138549         * lisp/mail/mail-extr.el (mail-extract-address-components):
138550         Return the name even if it's the same as the mailbox name (if
138551         `mail-extr-ignore-single-names' isn't set) (bug#22594).
138553 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
138555         Message no longer warns about unknown top level domains
138557 2016-02-07  Jarno Malmari  <jarno@malmari.fi>
138559         Add tests for url-auth
138561         * test/lisp/url/url-auth-tests.el: New file.
138563 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
138565         Add a TLS connection test
138567         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
138568         a TLS connection test.
138570 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
138572         Add more network tests
138574         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
138575         New test.
138577 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
138579         Add network tests
138581         * test/lisp/net/network-stream-tests.el: New suite of network tests.
138583 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
138585         Add a TLS connection test
138587         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
138588         a TLS connection test.
138590 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
138592         Add more network tests
138594         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
138595         New test.
138597 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
138599         Add network tests
138601         * test/lisp/net/network-stream-tests.el: New suite of network tests.
138603 2016-02-07  Rasmus Pank Roulund  <rasmus@gmx.us>
138605         Allow various Gnus and Message address variables to be functions
138607         * doc/misc/gnus.texi (To From Newsgroups):
138608         gnus-ignored-from-addresses can be a function.
138610         * doc/misc/message.texi (Wide Reply):
138611         message-dont-reply-to-names can be a function.
138613         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
138614         message-alternative-emails can be a function.
138616         * lisp/gnus/gnus-notifications.el (gnus-notifications):
138617         message-alternative-emails can be a function (bug#22315).
138619         * lisp/gnus/gnus-sum.el
138620         (gnus-summary-from-or-to-or-newsgroups):
138621         gnus-ignored-from-addresses can be a function (bug#22315).
138623 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
138625         Fix typo in Gnus regexp
138627         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Fix
138628         typo in last change to this regexp (bug#22592).
138630 2016-02-07  Paul Eggert  <eggert@cs.ucla.edu>
138632         Port to FreeBSD x86
138634         Reported by Herbert J. Skuhra in:
138635         https://lists.gnu.org/r/emacs-devel/2016-02/msg00336.html
138636         * src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too,
138637         since malloc always returns a multiple of 8 in FreeBSD.
138639 2016-02-07  Alan Mackenzie  <acm@muc.de>
138641         On leaving CC Mode, clean up by removing character properties.
138643         * lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
138644         all instances of the text properties/extents category, syntax-table,
138645         c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.
138647 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
138649         message-valid-fqdn-regexp no longer exists
138651         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
138652         the no-longer-existing message-valid-fqdn-regexp variable.
138654 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
138656         Remove message-valid-fqdn-regexp, since it changes too much now
138658         * lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
138659         (message-bogus-recipient-p): Don't use it any more.
138660         (message-make-fqdn): Ditto.  Suggested by Lars-Johan Liman.
138662 2016-02-06  Paul van der Walt  <paul@denknerd.org>
138664         Match "Re :" as a "Re:" prefix
138666         * lisp/gnus/message.el (message-subject-re-regexp): Also match
138667         "Re :" as a "Re:" prefix (commonly used in France).
138669 2016-02-06  Adam Sjøgren  <asjo@koldfront.dk>
138671         lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
138673         * lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
138675 2016-02-06  David Edmondson  <dme@dme.org>
138677         src/process.c Correctly convert AF_INET6 addresses
138679         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
138680         converted to a list of 16 bit quantities by
138681         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
138682         same scheme rather than expecting a (longer) list of 8 bit
138683         quantities.
138685 2016-02-05  Martin Jesper Low Madsen  <martin@martinjlowm.dk>
138687         Search for host/port combinations in auth-source on OS X
138689         * lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
138690         Search for all host/port (or protocol) combinations for a match in
138691         the OS X keychain.
138693 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
138695         Remove nonsensical setting of gnus-newsgroup-unseen
138697         * lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
138698         setting of gnus-newsgroup-unseen.
138700 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
138702         Use underline on all terminals that support it
138704         * lisp/subr.el (read-multiple-choice): Use
138705         display-supports-face-attributes-p instead of
138706         display-graphic-p to determine whether we can use underlining.
138708 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
138710         Make the nsm query say what it did after the user interaction
138712         * lisp/net/nsm.el (nsm-query): Issue a message about
138713         aborting/accepting messages (suggested by N. Jackson)
138714         (bug#22531).
138716 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
138718         Omit XLI (init) == 0 optimization in make-vector
138720         * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
138721         == 0) case, as this optimization is probably not worth the hassle.
138722         Just for the record, the test for that case could have been
138723         (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
138724         assuming the typical platform with no padding bits and where
138725         conversion to int omits the most significant bits.
138727 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
138729         * autogen.sh: Port to dash (Bug#22556).
138731 2016-02-05  Michael Albinus  <michael.albinus@gmx.de>
138733         Minor cleanup for Tramp "doas".
138735         * doc/misc/tramp.texi (Inline methods): Add "doas" method.
138737         * etc/NEWS: Add Tramp connection method "doas".
138739         * lisp/net/tramp-sh.el (tramp-methods) <doas>:
138740         Add `tramp-remote-shell-args'.
138742 2016-02-05  Xi Lu  <lx@shellcodes.org>
138744         * lisp/net/tramp-sh.el (tramp-methods) <doas>: Add.  (Bug#22542)
138746         (tramp-default-user-alist): Add rule for "doas".
138747         (top): Completion function for "doas" is
138748         `tramp-completion-function-alist-su'.
138750 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
138752         Restore the window configuration
138754         * lisp/net/nsm.el (nsm-query-user): Restore the window
138755         configuration (bug#22532).
138757 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
138759         Use an X popup in read-multiple-choice if running from a mouse command
138761         * lisp/subr.el (read-multiple-choice): Use an X popup if
138762         called from a mouse action (bug#19368).
138764 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
138766         Display cursor in echo area when prompting
138768         * lisp/subr.el (read-multiple-choice): Display the cursor in
138769         the echo area when prompting (bug#19368).
138771 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
138773         Make NSM prompting clearer
138775         * lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
138776         to prompt in a nicer way (bug#19368).
138778 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
138780         Underline read-multiple-choice-face
138782         * lisp/faces.el (read-multiple-choice-face): Also underline
138783         the choice.
138785 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
138787         Make url.el use async DNS
138789         * lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.
138791         * src/process.c (syms_of_process): Add a `dns' subfeature for
138792         make-network-process.
138794 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
138796         Only do async DNS if requested with :nowait 'dns
138798         * doc/lispref/processes.texi (Network Processes): Mention the
138799         dns value of :nowait.
138801         * src/process.c (Fmake_network_process): Only do async DNS if
138802         :nowait is `dns'.
138804 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
138806         Add sanity check for checking async DNS
138808         * src/process.c (check_for_dns): Disregard processes that have
138809         already been killed.
138811 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
138813         Make the read-multiple-choice prompt a bit prettier
138815         * doc/lispref/commands.texi (Reading One Event): Mention
138816         read-multiple-choice-face.
138818         * lisp/subr.el (read-multiple-choice): Make the prompting a bit
138819         prettier.
138821 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
138823         Prefer memcpy and memset to doing it by hand
138825         * src/alloc.c (Fmake_vector):
138826         * src/ccl.c (setup_ccl_program):
138827         Use memset to clear array.
138828         * src/alloc.c (Fvector, Fmake_byte_code):
138829         * src/charset.c (Fdefine_charset_internal):
138830         Use memcpy to copy array.
138832 2016-02-04  Nicolas Petton  <nicolas@petton.fr>
138834         Do not ignore redirections of 301, 302 and 307 status codes
138836         The current version of HTTP/1.1 (RFC 7231) no longer requires
138837         confirmation on 301, 302 or 307 status codes, therefore we do not have
138838         to ignore redirects for other requests than GET and HEAD.
138840         * lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
138841         and 307 redirects for other requests than GET and HEAD.
138843 2016-02-04  Mark Oteiza  <mvoteiza@udel.edu>
138845         * lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.
138847 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
138849         Simplify USE_ALIGNED_ALLOC
138851         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
138852         in the emacs-25 changes.  Omit no-longer-needed decl for aligned_alloc.
138854 2016-02-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
138856         Honor docstring of gnus-group-get-new-news
138858         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
138859         is t, but non-numeric, unconditionally consider all groups to need
138860         updating.
138862 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
138864         New function read-multiple-choice
138866         * doc/lispref/commands.texi (Reading One Event): Document
138867         read-multiple-choice.
138869         * lisp/faces.el (read-multiple-choice-face): New face.
138871         * lisp/subr.el (read-multiple-choice): New function.
138873 2016-02-03  John Wiegley  <johnw@newartisans.com>
138875         Merge from origin/emacs-25
138877         ee73997 Make erc work better when encountering unknown prefix chars
138878         b99141d Make erc completion case-insensitive again
138879         66c4620 Make complection in erc use consistent casing
138880         8c562b2 Make /QUIT in erc more robust
138881         d93d2c5 Make tracking faces in Emacs work more reliably
138882         af6ab7e Make shr not bug out on images on non-graphical displays
138883         3311f40 Fix bookmark display widths
138884         d90ab1e Fix typo in eww-make-unique-file-name
138885         7f81825 Make it possible to TAB to input fields
138886         a43a1dc Insert complete alt texts when images are disabled
138887         56ed4e1 Allow eww text fields to grow
138888         66b315c Make erc work when subword-mode is switched on
138889         255b68f Fix IMAP doc example
138890         91557f5 Quoting fixes in doc strings and diagnostics
138891         2c0dc9f Fix warning message in hack-local-variables
138892         504696d Etags: yet another improvement in Ruby tags
138893         8784ebf Fix x-popup-menu on TTYs without a mouse
138894         8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
138895                 pcase macro
138896         6191003 Use pop-to-buffer-same-window in eww
138897         fe321fd * autogen.sh: Revert all recent changes.
138898         74ebd4a * make-dist: Updates related to nt/.
138899         737193a * make-dist: Add modules/.
138900         3696bf2 * make-dist: Update for super-special file that can't live in etc/.
138901         a4278e2 Fix failure to compile ns-win.el in parallel builds
138902         860da4d Fix names of tags generated for Ruby accessors
138903         f6213ce Fix file-name recognition in 'etags'
138904         e42e662 Change Ruby file names and extensions recognized by 'etags'
138905         58bfb6a More improvements for Ruby support in 'etags'
138906         c04e911 Add --git-config option to autogen.sh
138907         5713466 Fix editing undo changes in eww fields
138908         51362d6 Allow the user more control of popping up the eww window
138909         ee0fbd8 Make eww-browse-url with new-window parameter work again
138910         9c3142d Clean up eww code slightly
138911         cb035f3 Don't insert nil faces in shr
138912         4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
138913         93f2153 Improve the custom type of some user options.
138914         9f60d7e Mark some risky calendar variables.
138915         1d07dcd Highlight two additional SCSS keywords
138916         ee8b466 Recommend enabling integrity-checking in git
138917         e639e10 Some corrections in Elisp manual
138918         d766ca8 Chatter when autogen.sh changes Git configuration
138919         3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
138920         43cb9f8 Omit unnecessary history from Lisp intro
138921         2fbd1da * etc/HISTORY: Add some more history, plus git tags.
138922         c90e1b4 Improve elisp “Security Considerations” doc
138923         cedd7ca autogen.sh now arranges for git to check hashes
138924         86ce76b ; Fix ChangeLog.2 commit ID.
138925         7b1d2b1 Fix (c & 040) typo in emergency escapes
138926         a8273da Fix display of overlay strings with 'display' and 'box' property
138927         fc48106 Fix imap-starttls-open
138928         cdecbed Fix return value of imap-starttls-open
138929         20c7e34 ; * etc/NEWS: Fix renamed command name
138930         98bdbdb Correct reference to DARWIN_OS preprocessor symbol
138931         b250d29 Spelling fix
138932         b920a0e Spelling fixes
138933         93b144b Pacify GCC on C library without glibc API
138935 2016-02-03  John Wiegley  <johnw@newartisans.com>
138937         Merge from origin/emacs-25
138939         ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
138940                 priority of non-free Chrome.
138941         0fac75f Improve the custom type of some user options.
138942         2df0e04 Highlight CSS variables with variable name face
138943         3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
138944                 user-serviceable.
138945         2a5233c Mark some user options that can get evalled as risky.
138946         39b166f Disable DebPrint in sys_read on MS-Windows
138947         9fd0189 ;Fix ChangeLog entry
138948         4bb7233 Fix typos in Introduction to Emacs Lisp manual
138950 2016-02-03  Mark Oteiza  <mvoteiza@udel.edu>
138952         Add a new command to switch between erc buffers
138954         * doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
138955         * etc/NEWS: Mention new command
138956         * lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
138957         (eww-mode-map): Add menu item
138958         (eww-switch-to-buffer): New command
138960 2016-02-03  David Edmondson  <dme@dme.org>
138962         Make erc work better when encountering unknown prefix chars
138964         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
138965         instead of erroring out on unknown prefix chars (bug#22380).
138967 2016-02-03  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
138969         Allow sending empty hidden values in eww
138971         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
138972         values (bug#22388).
138974 2016-02-03  Andrew Hyatt  <ahyatt@gmail.com>
138976         Remove packages obsoleted before Emacs 24.
138978         In accordance with the policy discussed in the emacs-devel list,
138979         packages that have been obsoleted for a full major release cycle are up
138980         for deletion.
138982         This removes almost all packages that are now eligible for deletion,
138983         with the exception of "cl-compat", which seems it is likely to still be
138984         used, and "optional", which offers some functionality that doesn't have
138985         a replacement yet.
138987 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
138989         Mention context when resume from emergency escape
138991         That way, if the user has been doing something else for a while,
138992         they are reminded of the situation when restarting Emacs,
138993         and are more likely to understand the two questions.
138994         * doc/emacs/trouble.texi (Emergency Escape): Document this.
138995         * src/keyboard.c (handle_interrupt): Implement this.
138997 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
138999         Port aligned_alloc decl to Cygwin.
139001         Problem reported by Ken Brown (Bug#22522#38).
139002         * configure.ac (aligned_alloc): Check for decl too.
139003         * src/lisp.h (aligned_alloc): Declare if not already declared.
139005 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
139007         autogen.sh now configures git only on request
139009         * autogen.sh (do_autoconf, do_git): New vars.
139010         Support new arguments --help, all, autoconf, git.
139011         By default, just do autoconf-related configuration, not git.
139012         Prefer 'echo' to 'cat <<EOF ...', as this tends to avoid temp files.
139013         If GNU cp is available, use it to backup .git/config before
139014         changing it.  When configuring git, chatter about what is being
139015         done, and configure git to check hashes.  Avoid some duplicate
139016         file name specification when creating git hooks.
139018         * GNUmakefile (ALL_IF_GIT): New macro.
139019         (configure): Use it.
139020         * INSTALL.REPO: Suggest './autogen.sh all'.
139022 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
139024         Doc fixes and refactorings based on comments from Eli Zaretskii
139026         * doc/lispref/processes.texi (Network Processes): Clarify the
139027         meaning of :tls-parameters.
139029         * lisp/net/gnutls.el (open-gnutls-stream): Clarify :nowait.
139031         * lisp/net/gnutls.el (gnutls-boot-parameters): Factor out into
139032         own function.
139033         (gnutls-negotiate): Use it.
139034         (open-gnutls-stream): Ditto.
139036         * src/eval.c (vformat_string): Refactor out the printing bits
139037         from verror.
139038         (verror): Use it.
139040         * src/gnutls.c (boot_error): Mark failed processes with the
139041         real error message.
139043         * src/lisp.h: Declare vformat_string.
139045 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
139047         Build with C11 if available
139049         * admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
139050         * m4/std-gnu11.m4: New file, from gnulib.
139051         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
139053 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
139055         Update gnulib copy
139057         * doc/misc/texinfo.tex: Copy from gnulib.
139059 2016-02-02  Glenn Morris  <rgm@gnu.org>
139061         * lisp/vc/add-log.el (change-log-directory-files, find-change-log):
139062         Doc tweaks.
139064 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
139066         Port better to platforms lacking aligned_alloc
139068         Problem reported by Ken Brown (Bug#22522).
139069         * src/lisp.h (hybrid_aligned_alloc)
139070         [HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
139072 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
139074         Port malloc.h hygiene fix to LTO
139076         * src/alloc.c (__malloc_initialize_hook):
139077         Make it externally visible (Bug#22522).
139079 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
139081         Build fix for --enable-check-lisp-object-type
139083         * src/process.c (check_for_dns): Type fix reported by YAMAMOTO
139084         Mitsuharu.
139086 2016-02-01  Glenn Morris  <rgm@gnu.org>
139088         Make find-change-log prefer a VCS root, if no ChangeLog exists.
139090         * lisp/vc/add-log.el (change-log-directory-files): New option.
139091         (find-change-log): Respect change-log-directory-files.
139092         * doc/emacs/maintaining.texi (Change Log Commands):
139093         Mention change-log-directory-files.
139095 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
139097         Boot parameter check fix
139099         * src/process.c (send_process): Fix test for boot parameters noted
139100         by Andy Moreton.
139102 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
139104         Double static heap size.
139106         * src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
139107         small on FreeBSD (Bug#22086).
139109 2016-02-01  Michael Albinus  <michael.albinus@gmx.de>
139111         Fix Bug#20821
139113         * lisp/net/tramp.el (tramp-file-name-handler):
139114         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
139115         Use `tramp-drop-volume-letter'.  (Bug#20821)
139117 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
139119         Style fix
139121 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
139123         Return the correct server port number
139125         * src/process.c (connect_network_socket): Return the correct
139126         server port number.
139128 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
139130         Fix autoconf test for getaddrinfo_a
139132         * configure.ac: Make the test for getaddrinfo_a work.
139134 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
139136         Better async error reporting
139138         * src/process.c (connect_network_socket): Mark failed processes
139139         with a better error message.
139140         (check_for_dns): Ditto.
139142 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
139144         Clarify :tls-parameters.
139146 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
139148         Always boot TLS if given parameters
139150         * src/process.c (connect_network_socket): If we have the TLS
139151         parameters, then boot the socket.
139153 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
139155         Add documentation for :tls-parameters
139157         * doc/lispref/processes.texi (Network Processes): Mention
139158         :tls-parameters.
139160         * src/process.c (Fmake_network_process): Document the
139161         :tls-parameters parameter.
139163 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
139165         Build fix for glibc systems.
139167 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
139169         Make network connections work again on non-glibc systems
139171         * lisp/net/gnutls.el (open-gnutls-stream): Pass the TLS
139172         keywords in directly so that they can be used when doing
139173         synchronous DNS on non-synchronous connections.
139175         * lisp/net/network-stream.el (open-network-stream): Allow
139176         passing in the TLS parameters directly.
139178         * src/process.c (conv_numerical_to_lisp): New function to convert
139179         numerical addresses to Lisp.
139180         (Fmake_network_process): Rework the non-HAVE_ADDRINFO code
139181         paths so that they work again.
139182         (syms_of_process): Build fix for non-glibc systems.
139184 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
139186         Windows build fix
139188         * src/process.c (Fmake_network_process): Build fix for systems
139189         without local sockets.
139191 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
139193         Use XCAR/XCDR instead of Fcar etc
139195 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
139197         Fix GC problem in async TLS connection
139199         * src/process.h: All Lisp_Object slots have to come first,
139200         otherwise they won't be protected from gc.
139202 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
139204         Further TLS async work
139206         * src/gnutls.c (boot_error): New function to either signal an
139207         error or return an error code.
139208         (Fgnutls_boot): Don't signal errors when running asynchronously.
139210         * src/process.h (pset_status): Move here from process.c to be
139211         able to use from gnutls.c.
139213         * src/process.c (connect_network_socket): Do the TLS boot here
139214         when running asynchronously.
139215         (wait_reading_process_output): Rework the dns_processes
139216         handling for more safety.
139218 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
139220         Clean up dead code
139222         * lisp/net/gnutls.el (gnutls-async-sentinel): Remove.
139224 2016-01-31  Dave Barker  <kzar@kzar.co.uk>
139226         Add ability to give rcirc servers an alias name
139228         * lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
139229         customization option.
139230         (rcirc, rcirc-connect): Take server alias into account.
139232 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
139234         Port new hybrid malloc to FreeBSD
139236         Problem reported by Wolfgang Jenkner in: https://bugs.gnu.org/22086#118
139237         * src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
139238         (__morecore) [HYBRID_MALLOC]: Define in this case too.
139240 2016-01-31  Wolfgang Jenkner  <wjenkner@inode.at>
139242         * configure.ac: Stop using mmap for buffers for FreeBSD.
139244 2016-01-31  Michael Albinus  <michael.albinus@gmx.de>
139246         Merge changes from Tramp repository
139248         * doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
139249         No EXTRA_OPTS needed.
139251         * doc/misc/tramp.texi: Merge changes from Emacsemacs-25
139252         branch, especially for @trampfn{}.
139253         (Top): Move @ifnottex down.
139254         (History): XEmacs support has been removed.
139255         (GVFS based methods, Remote processes): Do not use emacsgvfs flag.
139256         (Auto-save and Backup): Use both syntax versions.
139257         (File name Syntax): Remark on IPv6 addresses is valid for
139258         unified syntax only.
139260         * doc/misc/trampver.texi: Do not set emacsgvfs flag.
139262 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
139264         Spelling fixes
139266 2016-01-30  Glenn Morris  <rgm@gnu.org>
139268         * lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.
139270 2016-01-30  Matthew Carter  <m@ahungry.com>
139272         Quote table names for postgres listings (sql-mode)
139274         * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
139275           unquoted table names to the completion list.
139277 2016-01-30  Glenn Morris  <rgm@gnu.org>
139279         Change Smerge "Mine" and "Other" for "Upper" and "Lower.  (Bug#20878)
139281         * lisp/vc/smerge-mode.el (smerge-diff-switches)
139282         (smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
139283         (smerge-upper, smerge-upper-face, smerge-keep-upper)
139284         (smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
139285         smerge-keep-mine, smerge-diff-base-mine.  Update all uses.
139286         (smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
139287         (smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
139288         (smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
139289         smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
139290         Update all uses.
139291         (smerge-basic-map): Add "l" and "u" bindings.
139292         (smerge-mode-menu): Update menu bindings for renaming.
139293         (smerge-font-lock-keywords): Update face names.
139294         (smerge-match-names): Update names.
139295         (smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
139296         (smerge-match-conflict, smerge-ediff): Rename local variables.
139297         (smerge-makeup-conflict): Relabel markers.
139298         (smerge-parsep-re): Use renamed variables.
139300 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
139302         Port recent my_edata change to MS-Windows
139304         * src/lastfile.c (my_edata): Also define if WINDOWSNT.
139306 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
139308         Rework the mechanisms for async GnuTLS connections
139310         * lisp/net/gnutls.el (open-gnutls-stream): Compute the
139311         gnutls-boot parameters and pass them to the process object.
139312         (gnutls-negotiate): New parameter :return-keywords that won't
139313         connect to anything, just compute the keywords.
139315         * lisp/url/url-http.el (url-http): Revert async TLS sentinel
139316         hack, which is no longer necessary.
139318         * src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
139319         gnutls-mark-process.
139321         * src/process.c (connect_network_socket): If we're connecting to
139322         an asynchronous TLS socket, complete the GnuTLS boot sequence here.
139324         * src/process.h: New parameter gnutls_async_parameters.
139326 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
139328         Fix segfault from double free
139330         * src/process.c (check_for_dns): Protect against double free
139331         issues.
139333 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
139335         Remove debugging
139337 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
139339         Implement asynchronous GnuTLS connections
139341         * doc/misc/emacs-gnutls.texi (Help For Developers): Mention
139342         the nowait parameter.
139344         * lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
139345         connections with the new nowait parameter.
139347         * lisp/net/network-stream.el (network-stream-open-tls): Pass
139348         on :nowait to open-gnutls-stream.
139350         * lisp/url/url-http.el (url-http): Don't overwrite the
139351         sentinel created by open-gnutls-stream.
139353         * src/gnutls.c (Fgnutls_mark_process): New function.
139355         * src/process.c (send_process): Don't write to GnuTLS sockets that
139356         haven't been initialized yed.
139358         * src/process.h: New slot gnutls_wait_p.
139360 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
139362         Tell Automake the new lib/Makefile.am is OK
139364         * lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
139366 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
139368         Make it easy to override preferred-branch test
139370         * Makefile.in (preferred-branch-is-current):
139371         Rename from emacs-25-branch-is-current.  All uses changed.
139372         (PREFERRED_BRANCH): New macro.
139374 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
139376         Shrink static heap a bit
139378         * src/sheap.h: Include lisp.h, for Lisp_Object.
139379         (STATIC_HEAP_SIZE): Now an enum constant, not a macro.
139380         Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
139381         conservative than the old value.
139382         (Bug#22086)
139384 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
139386         Fix extern symbols defined and not used
139388         * src/alloc.c: Always include <signal.h>.
139389         (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
139390         Do not define; unused.
139391         * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
139392         * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
139393         to avoid collision with glibc.  Now static.  All uses changed.
139394         * src/lastfile.c (my_edata): Define only if
139395         ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
139396         WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
139397         (Bug#22086)
139399 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
139401         Build lib/e-*.o only on platforms that need it
139403         * configure.ac (hybrid malloc): Simplify configuration.
139404         (SHEAP_OBJ): Remove; no longer needed.
139405         (HYBRID_MALLOC): New var. Subst it.
139406         (HYBRID_MALLOC_LIB): New Automake conditional.
139407         * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
139408         HYBRID_MALLOC_LIB.
139409         (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
139410         (MOSTLYCLEANFILES): Add libegnu.a.
139411         * src/Makefile.in (SHEAP_OBJ): Remove.
139412         (HYBRID_MALLOC): New macro.
139413         (base_obj): Use it to conditionally add sheap.o.
139414         (LIBEGNU_ARCHIVE): New macro.
139415         ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
139416         All uses of the latter replaced by the former.
139417         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
139418         Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
139419         * src/gmalloc.c: Update comment.
139420         * src/lisp.h (aligned_alloc)
139421         [!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
139422         New decl.
139423         (Bug#22086)
139425 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
139427         Include <malloc.h> when advisable
139429         This should help insulate us better from future glibc changes.
139430         It is good hygiene to include .h files for APIs that Emacs uses.
139431         Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
139432         * configure.ac: Check for malloc.h.
139433         * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
139434         not on DOUG_LEA_MALLOC.
139435         * src/emacs.c, src/gmalloc.c (malloc_enable_thread):
139436         Remove decl (now in lisp.h).
139437         * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
139438         [emacs]: Include lisp.h.
139439         [HAVE_MALLOC_H]: Include <malloc.h>.
139440         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
139441         (__after_morecore_hook, __malloc_initialize_hook, __morecore)
139442         (__default_morecore):
139443         [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
139444         (calloc): Make it clear that the macro should not be used.
139445         Remove unused decl.
139446         (malloc_info): New macro, to avoid clash with glibc <malloc.h>.
139447         (__morecore, __default_morecore, __after_morecore_hook)
139448         (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
139449         (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
139450         Remove later decls.
139451         (gmalloc_hook, gfree_hook, grealloc_hook):
139452         Rename from __malloc_hook, __free_hook, __realloc_hook to
139453         avoid type collision with glibc <malloc.h>.  All uses changed.
139454         (gmalloc_hook):
139455         (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
139456         Now static.
139457         (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
139458         (__malloc_initialize_hook, __after_morecore_hook):
139459         Declare with types compatible with glibc.
139460         (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
139461         Remove.  All uses removed.
139462         * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
139463         * src/ralloc.c, src/vm-limit.c:
139464         Simplify includes and include <malloc.h> if available.
139466 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
139468         * src/alloc.c: Include "sheap.h".
139470         (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
139471         Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
139472         * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
139473         Declare unconditionally.
139474         * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
139475         (unexec): Don’t set or clear bss_sbrk_did_unexec;
139476         the caller now does this.
139477         (Bug#22086)
139479 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
139481         Pacify --enable-gcc-warnings when HYBRID_MALLOC
139483         * src/buffer.c (init_buffer):
139484         * src/emacs.c (main):
139485         * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
139486         Use emacs_get_current_dir_name, not get_current_dir_name.
139487         * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
139488         (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
139489         * src/emacs.c: Include "sheap.h".
139490         (report_sheap_usage): Remove decl.
139491         (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
139492         Don't assume ptrdiff_t can be printed as int.
139493         * src/gmalloc.c [HYBRID_MALLOC]:
139494         Include "sheap.h" rather than declaring its contents by hand.
139495         (get_current_dir_name, gget_current_dir_name)
139496         (hybrid_get_current_dir_name): Remove.
139497         (emacs_abort): Remove duplicate decl.
139498         (aligned_alloc): Undef, like malloc etc.
139499         (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
139500         Make it a bit more efficient.
139501         (malloc_find_object_address): Remove unused decl.
139502         (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
139503         (mstats, memory_warnings): Declare only if GC_MCHECK.
139504         * src/lisp.h (emacs_get_current_dir_name):
139505         New decl, replacing get_current_dir_name.
139506         * src/sheap.c: Include sheap.h first.
139507         (STATIC_HEAP_SIZE): Remove; now in sheap.h.
139508         (debug_sheap): Now static.
139509         (bss_sbrk_buffer_end): Remove; no longer used.
139510         (bss_sbrk_ptr): Now static and private.
139511         (bss_sbrk_did_unexec): Now bool.
139512         (BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
139513         (bss_sbrk): Don't treat request_size 0 as special, since the code
139514         works without this being a special case.
139515         Avoid overflow if request size exceeds INT_MAX.
139516         (report_sheap_usage): Remove; now done in emacs.c.
139517         * src/sheap.h: New file.
139518         * src/sysdep.c (get_current_dir_name): Remove macro.
139519         Include "sheap.h".
139520         (emacs_get_current_dir_name): Rename function from
139521         get_current_dir_name.  Handle HYBRID_MALLOC here;
139522         this is simpler.
139523         (Bug#22086)
139525 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
139527         Report static heap usage on non-Cygwin, too
139529         * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
139530         * src/unexcw.c (unexec): ... instead of here, since sheap can be used
139531         on platforms other than Cygwin (Bug#22086).
139533 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
139535         Pacify GCC on extern decls
139537         * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
139538         to pacify recent GCC (Bug#22086).
139540 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
139542         Add musl patch to support HYBRID_MALLOC on elf systems
139544         * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
139545         (__default_morecore): Here, in particular.
139546         * configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
139547         New variable SHEAP_OBJ.
139548         * src/Makefile.in: Use it.
139549         (Bug#22086)
139551 2016-01-30  Rich Felker  <dalias@libc.org>  (tiny change)
139553         unexelf.c hook to support HYBRID_MALLOC on ELF
139555         * src/unexelf.c (unexec) [HYBRID_MALLOC]:
139556         Define bss_sbrk_did_unexec (Bug#22086).
139558 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
139560         Link temacs with gnulib compiled with -Demacs
139562         This is done to support HYBRID_MALLOC, since some static variables
139563         (e.g., last_environ in putenv.c) hold pointers to memory malloced
139564         before dumping (Bug#22086).
139565         * lib/Makefile.am: Add incantation to install libegnu.a.
139566         * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
139567         (temacs$(EXEEXT)): Use it.
139569 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
139571         Internal linkage for gmalloc etc. if HYBRID_MALLOC
139573         This avoids clashes with symbols if the after-dump malloc is
139574         derived from Doug Lea's implementation (Bug#22086).
139576         * src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
139577         Move declarations up.  For HYBRID_MALLOC, turn all `extern'
139578         declarations below to `static' ones.
139579         (aligned_alloc): Declare for !MSDOS as well.
139580         (heapsize, _fraghead): Move resp. copy declaration downwards.
139581         For HYBRID_MALLOC, conditionalize out the other definitions,
139582         since the previous `static' declarations double as tentative
139583         definitions, anyway.
139584         (_malloc, _free, _realloc, __free_hook, _aligned_blocks)
139585         (__realloc_hook, __memalign_hook): Conditionalize out.
139586         (cfree, memalign, valloc): Ditto.
139588 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
139590         -
139592         -
139594         -
139596 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
139598         Merge from origin/emacs-25
139600         3f481ad Rename xref-query-replace to xref-query-replace-in-results
139601         62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
139602         2111e0e Comment out next-error-function integration in xref
139603         4e11ad3 Correct a use of "which" in intro.texi
139604         a1865bc Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
139605         76045f7 Don't operate on menu bar of nonexistent frame
139606         c32f3bc Unbreak the GNUstep build.
139608 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
139610         -
139612         -
139614 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
139616         Re-enable checks in member, memql, delete to complain about non-lists
139618         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
139620 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
139622         Clean up compilation warnings
139624 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
139626         Make async resolution more efficient
139628         * src/process.c (wait_reading_process_output): Use a list of
139629         process objects instead of looping through an array to check
139630         for name resolution.  This should be much faster.
139632 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
139634         More async memory leaks
139636         * src/process.c (check_for_dns): Free even more allocated async stuff.
139638 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
139640         Compilation for systems with getaddrinfo_a
139642         * src/process.c (Fmake_network_process): Make stuff work again on
139643         systems with getaddrinfo_a.
139645 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
139647         Save correct server data
139649         * src/process.c (connect_network_socket): Save the correct contact
139650         info for servers.
139652 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
139654         Compilation for non-GNU systems
139656         * src/process.c (Fmake_network_process): Make compilation work
139657         again on hosts that don't have getaddrinfo_a.
139659 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
139661         Avoid memory leaks in async DNS
139663         * src/process.c (check_for_dns): Free async DNS resources after
139664         they've been used.
139666 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
139668         * src/process.c (check_for_dns): Free the result data.
139670 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
139672         Fix server connections
139674         * src/process.c (Fmake_network_process): Make creating server
139675         listening ports work again.
139677 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
139679         Further make_network_process clean up
139681         * src/process.c (Fmake_network_process): Remove setting of unused
139682         family variable.
139684 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
139686         Clean up GETADDRINFO usage in make-network-process
139688         * src/process.c (Fmake_network_process): Clean up the GETADDRINFO
139689         handling.
139691 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
139693         Implement asynchronous name resolution
139695         * src/process.c (Fmake_network_process): Do asynchronous DNS
139696         lookups if we have getaddrinfo_a and the user requests :nowait.
139697         (check_for_dns): New function.
139698         (wait_reading_process_output): Check for pending name
139699         resolution in the idle loop.
139701         * src/process.h: Add structure for async DNS.
139703 2016-01-28  Glenn Morris  <rgm@gnu.org>
139705         Remove some useless-use-of eval.
139707         * lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
139708         * lisp/gnus/nnrss.el (xml): Simply require it.
139709         (xml-rpc-method-call): Use declare-function.
139711 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
139713         Fix memory leak
139715         * src/process.c (connect_network_socket): Free previous sockaddr
139716         before allocating a new one.
139718 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
139720         Return IP addresses in the correct order
139722         * src/process.c (Fmake_network_process): Return the IP addresses
139723         in the same order as getaddrinfo does.
139724         (set_network_socket_coding_system): Clean up the code slightly.
139726 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
139728         Add checks for getaddrinfo_a
139730         * configure.ac: Detect getaddrinfo_a.
139732 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
139734         Refactor make_network_process
139736         * src/process.c (set_network_socket_coding_system)
139737         (connect_network_socket): Refactor out of
139738         make_network_process to allow calling connect_network_socket
139739         asynchronously.
139740         (Fmake_network_process): Do nothing but parsing the parameters
139741         and name resolution, leaving the connection to
139742         connect_network_socket.
139744 2016-01-28  Glenn Morris  <rgm@gnu.org>
139746         * lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
139747         Warn if defcustom has no type.  (Bug#16276)
139749 2016-01-27  Glenn Morris  <rgm@gnu.org>
139751         * test/lisp/vc/vc-hg-tests.el: Move from test/automated/.
139753 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
139755         (rng-c-fix-escaped-newlines): Use subst-char-in-string
139757         * lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
139758         Use subst-char-in-string.
139760 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
139762         * lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function
139764         (sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
139765         (sgml-calculate-indent): Use it.
139767 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
139769         * lisp/org: Fix some compiler warnings
139771         * lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
139772         (org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
139773         (*this*): Declare as dyn-bound.
139774         (org-babel-expand-src-block, org-babel-load-in-session)
139775         (org-babel-switch-to-session-with-code, org-babel-get-rownames):
139776         Mark unused args.
139777         (org-babel-combine-header-arg-lists): Remove unused var `args'.
139778         (org-babel-find-named-block): Remove unused var `msg'.
139780         * lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
139781         Declare as dyn-bound.
139782         (org-edit-src-code): Remove unused var `lfmt'.
139783         (org-edit-fixed-width-region): Remove unused var `preserve-indentation'.
139785 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
139787         * lisp/font-lock.el: Use #' to quote function symbols
139789 2016-01-23  Michael Albinus  <michael.albinus@gmx.de>
139791         Improve user name completion in Tramp
139793         * lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
139794         Call also "getent passwd" or "getent group", if possible.
139795         (tramp-parse-putty): Cache the result.
139797 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
139799         * etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
139801 2016-01-20  Glenn Morris  <rgm@gnu.org>
139803         Remove handling of non-string time-stamp formats, obsolete for 20 years.
139805         * lisp/time-stamp.el (time-stamp-format): Doc fix.
139806         (time-stamp-old-format-warn, time-stamp-fconcat): Remove.
139807         (time-stamp-string): Ignore non-string formats.
139809 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
139811         Another fix for problematic merge from emacs-25
139813         * src/w32fns.c (globals_of_w32fns): Move initialization of
139814         resetstkoflw to a non-Cygwin part.
139816 2016-01-20  Michael Albinus  <michael.albinus@gmx.de>
139818         * test/Makefile.in (mostlyclean): Use ${LOGFILES}.
139820 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
139822         Fix MS-Windows build broken by a botched merge from emacs-25
139824         * src/w32.c (w32_crypto_hprov): New static variable.
139825         (globals_of_w32): Initialize w32_crypto_hprov.
139826         (w32_init_crypt_random, w32_init_random): New functions.
139827         Include wincrypt.h.
139828         * src/w32.h (w32_init_random): Add prototype.
139830 2016-01-19  Vincent Belaïche  <vincentb1@users.sourceforge.net>
139832         Correct a whole bunch of bugs coming with renamed cell relocation.
139834         * lisp/ses.el (ses-localvars): rename variable
139835         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
139836         and adjust the comment about it.
139837         (ses-plist-delq): new defun.
139838         (ses--ses-buffer-list): new defvar.
139839         (ses--unbind-cell-name): new defun.
139840         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
139841         (ses-relocate-formula): Undo change of
139842         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
139843         preventing relocation for named cell --- now doing this is delegated
139844         to function `ses-relocate-symbol'.
139845         (ses-relocate-range): In docstring, undo change of
139846         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
139847         lower case as it is not a variable.
139848         (ses-relocate-all): Cell name relocation : 1) check that cell is a
139849         renamed cell by testing `ses-cell' property to :ses-named, rather than
139850         comparing name to corresponding standard name. Set rowcol of renamed
139851         cell into the hashmap --- `ses-cell' property must not be used for
139852         that as the same name can be used for different locations in different
139853         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
139854         `local-variable-p' to check if cell name is already in use in this
139855         sheet or needs initialization.
139856         (ses-relocate-all): Cell value relocation : 1) like for name
139857         relocation use the `ses-cell' property rather than comparing actual
139858         name to corresponding standard name. 2) Correct bug introduced in
139859         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
139860         made the other way round than the intention --- ie value relocation
139861         was disabled for standard cell, not for renamed cell as was the
139862         intention.
139863         (ses-relocate-all): Add loop for unbinding deleted renamed cells
139864         names.
139865         (ses-killbuffer-hook): new defun.
139866         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
139867         kill buffer hook, plus pushing current buffer if new in list.
139868         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
139869         into `ses--in-killing-named-cell-list'.
139870         (ses-rename-cell): Remove update of variable
139871         `ses--renamed-cell-symb-list', this variable is renamed to
139872         `ses--in-killing-named-cell-list', and its setting is done in
139873         functions `ses-delete-row' and , `ses-delete-column' now.
139874         (ses-rename-cell): Change correction of
139875         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
139876         computation of the range over which `cursor-intangible' property was
139877         to be updated. This correction was ok for non spilling cells, but not
139878         for cells spilling over following blank cells. Simply use
139879         `next-single-property-change' rather than computing the end column
139880         from column widths.
139882 2016-01-18  John Wiegley  <johnw@newartisans.com>
139884         -
139886 2016-01-18  John Wiegley  <johnw@newartisans.com>
139888         Merge from origin/emacs-25
139890         3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
139891         6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
139892         2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
139893         71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
139894         f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
139895         86e4513 Fix incompatbilities with MS-Windows 2000 and older
139896         4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
139897         15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
139898         39afa42 Fix tests for active region in hideif.el
139899         05df666 Fix interactive specs in some hideif.el commands
139901 2016-01-18  John Wiegley  <johnw@newartisans.com>
139903         -
139905 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
139907         Avoid stdio in SIGINT handler
139909         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
139910         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
139911         * lib/ignore-value.h: New file, from gnulib.
139912         * src/keyboard.c: Include it.
139913         (write_stdout, read_stdin): New functions.
139914         (handle_interrupt): Use them instead of printf and getchar,
139915         and avoid fflush when handling signals.
139917 2016-01-18  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
139919         Refactor mml-smime.el, mml1991.el, mml2015.el
139921         (Maybe this is the last merge from Gnus git to Emacs git)
139923         Cf. discussion on ding mailing list, messages in
139924         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
139925         Common code from the three files mml-smime.el, mml1991.el, and
139926         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
139927         to gnus-util.el.
139929         The code is supported by test cases with necessary test keys.
139931         Documentation in message.texi is updated.
139933         * doc/misc/message.texi (Security, Using S/MIME):
139934         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
139935         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
139936         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
139938         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
139939         New functions.
139941         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
139942         (epa--select-keys): Autoload.
139943         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
139944         (mml-secure-openpgp-signers): New user option;
139945         make mml1991-signers and mml2015-signers obsolete aliases to it.
139946         (mml-secure-smime-signers): New user option;
139947         make mml-smime-signers an obsolete alias to it.
139948         (mml-secure-openpgp-encrypt-to-self): New user option;
139949         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
139950         aliases to it.
139951         (mml-secure-smime-encrypt-to-self): New user option;
139952         make mml-smime-encrypt-to-self an obsolete alias to it.
139953         (mml-secure-openpgp-sign-with-sender): New user option;
139954         make mml2015-sign-with-sender an obsolete alias to it.
139955         (mml-secure-smime-sign-with-sender): New user option;
139956         make mml-smime-sign-with-sender an obsolete alias to it.
139957         (mml-secure-openpgp-always-trust): New user option;
139958         make mml2015-always-trust an obsolete alias to it.
139959         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
139960         New user options.
139961         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
139962         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
139963         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
139964         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
139965         (mml-secure-passphrase-callback, mml-secure-check-user-id)
139966         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
139967         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
139968         (mml-secure-fingerprint, mml-secure-filter-keys)
139969         (mml-secure-normalize-cust-name, mml-secure-select-keys)
139970         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
139971         (mml-secure-self-recipients, mml-secure-recipients)
139972         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
139974         * lisp/gnus/mml-smime.el: Require epg;
139975         refactor declaration and autoloading of epg functions.
139976         (mml-smime-use): Doc fix.
139977         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
139978         Obsolete.
139979         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
139980         Use format instead of gnus-format-message.
139981         (mml-smime-epg-secret-key-id-list): Remove variable.
139982         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
139983         (mml-smime-epg-find-usable-secret-key): Remove functions.
139984         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
139986         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
139987         (mml1991-passphrase-cache-expiry): Obsolete.
139988         (mml1991-epg-secret-key-id-list): Remove variable.
139989         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
139990         (mml1991-epg-find-usable-secret-key): Remove functions.
139991         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
139993         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
139994         (mml2015-passphrase-cache-expiry): Obsolete.
139995         (mml2015-epg-secret-key-id-list): Remove variable.
139996         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
139997         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
139998         (mml2015-epg-find-usable-secret-key): Remove functions.
139999         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
140000         (mml2015-epg-encrypt): Refactor.
140002 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
140004         Merge from gnulib
140006         This mostly just updates copyright dates of gnulib files.
140007         It also updates to the latest version of texinfo.tex.
140009 2016-01-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
140011         Move variables to inner loop, preparing for Mac port merge
140013         * src/keyboard.c (command_loop_1): Move variables `cmd',
140014         `keybuf', and `i' to inner loop.
140016 2016-01-17  Bill Wohler  <wohler@newt.com>
140018         * lisp/mh-e/mh-e.el (mh-version): Add +git to version.
140020 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
140022         * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
140024         (syntax-ppss):
140025         * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
140027 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
140029         lisp/nxml: Use syntax-tables for comments
140031         * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
140032         (nxml-mode): Set syntax-ppss-table.
140033         Use sgml-syntax-propertize-function for syntax-propertize-function.
140034         Let font-lock highlight strings and comments.
140035         (nxml-degrade): Don't touch "nxml-inside" property any more.
140036         (nxml-after-change, nxml-after-change1): Remove functions.
140037         (comment): Don't set fontify rule any more.
140038         (nxml-fontify-attribute): Don't highlight the value any more.
140039         (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
140040         (nxml-comment-delimiter, nxml-comment-content): Remove faces.
140042         * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
140043         (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
140044         (nxml-clear-inside, nxml-set-inside): Remove.
140045         (nxml-scan-after-change): Remove function.
140046         (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
140047         (nxml-ensure-scan-up-to-date): Use syntax-propertize.
140048         (nxml-move-outside-backwards):
140049         * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
140050         nxml-inside-start behavior.
140052         * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
140053         (nxml-debug-clear-inside): Remove macros.
140055         * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
140056         (xmltok-scan-after-comment-open): Simplify.
140058 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
140060         * lisp/progmodes/elisp-mode.el
140061         (elisp--font-lock-flush-elisp-buffers): Fix comment
140063 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
140065         * lisp/nxml: Use standard completion; it also works for company-mode
140067         * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
140068         (nxml-completion-at-point-function): Remove.
140069         (nxml-mode): Don't set completion-at-point-functions.
140070         * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
140071         (rng-completion-at-point): Rename from rng-complete and mark it
140072         non-interactive.  It is now to be used as completion-at-point-function.
140073         (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
140074         (rng-complete-attribute-value): Don't perform completion, but return
140075         completion data instead.
140076         (rng-complete-qname-function, rng-generate-qname-list): Add a few
140077         arguments, previously passed via dynamic coping.
140078         (rng-strings-to-completion-table): Rename from
140079         rng-strings-to-completion-alist.  Don't return an alist.  Don't both
140080         sorting and uniquifying.
140082         * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
140083         (rng-completion-exact-p, rng-quote-string): Delete functions.
140085         * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
140086         (rng-missing-attributes-message, rng-missing-element-message)
140087         (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
140088         calling rng-quote-string everywhere.
140090 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
140092         Use sgml-electric-tag-pair-mode also in nxml-mode
140094         * lisp/nxml/rng-nxml.el: Require sgml-mode.
140095         (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
140096         (rng-complete-qname-function): Use complete-with-action.
140098         * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
140099         Let-bind forward-sexp-function, since nxml-mode binds it to
140100         something incompatible.
140102         * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
140104 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
140106         * lisp/nxml/xmltok.el: Mark the "sole --" rather than the comment
140107         opener.
140109         * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
140110         marker on the "sole --" rather than on the comment opener.
140112 2016-01-15  Sam Steingold  <sds@gnu.org>
140114         replace `tramp-compat-split-string' (removed) with `split-string'
140116         (python-shell-tramp-refresh-process-environment)
140117         (python-shell-calculate-pythonpath): use `split-string'
140118         instead of defunct `tramp-compat-split-string'
140120 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
140122         Update nXML to use Emacs's Unicode support, and lexical-binding
140124         * etc/nxml/*.el: Remove obsolete char-name files.
140125         * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
140126         var `next'.
140127         * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
140128         * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
140129         * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
140130         (nxml-target-section-pos, nxml-depth-in-target-section)
140131         (nxml-outline-state-transform-alist)
140132         (nxml-outline-display-section-tag-function): Move decl before first use.
140133         * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
140134         (nxml-char-name-alist, nxml-char-name-table)
140135         (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
140136         (nxml-enable-char-name-set, nxml-disable-char-name-set)
140137         (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
140138         (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
140139         (nxml-insert-named-char): Use read-char-by-name instead.
140140         (nxml-char-ref-display-extra): Use get-char-code-property.
140141         * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
140142         Remove function.
140143         * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
140145 2016-01-15  Michael Albinus  <michael.albinus@gmx.de>
140147         Add "sg" method to Tramp
140149         * doc/misc/tramp.texi (Inline methods): Add "sg" method.
140150         (Customizing Completion): Add function `tramp-parse-etc-group'.
140152         * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
140153         (tramp-completion-function-alist-sg): New defconst.
140154         (top): Completion function for "sg" is
140155         `tramp-completion-function-alist-sg'.
140157         * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
140158         (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
140160 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
140162         Remove XEmacs compatibility in Tramp
140164         * doc/misc/tramp.texi: Replace flags by their hard coded name.
140165         Remove unused flags and the enclosed alternative text for XEmacs.
140167         * doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
140168         and "xemacs" flags to "unified" and "separate".  Remove flags
140169         "emacsgw", "emacsname", "emacsdir", "ftppackagename",
140170         "emacsothername", "emacsotherdir" and "emacsotherfilename".
140171         (trampver):
140172         * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
140174         * lisp/net/tramp.el (bkup-backup-directory-info)
140175         (directory-sep-char, ls-lisp-use-insert-directory-program)
140176         (outline-regexp, tramp-backup-directory-alist)
140177         (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
140178         (tramp-file-name-regexp-unified)
140179         (tramp-file-name-regexp-separate)
140180         (tramp-completion-file-name-regexp-unified)
140181         (tramp-completion-file-name-regexp-separate, tramp-chunksize)
140182         (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
140183         (tramp-debug-message, tramp-progress-reporter-update)
140184         (with-tramp-progress-reporter)
140185         (tramp-rfn-eshadow-setup-minibuffer)
140186         (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
140187         (tramp-rfn-eshadow-update-overlay)
140188         (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
140189         (tramp-file-name-for-operation)
140190         (tramp-completion-file-name-handler)
140191         (tramp-autoload-file-name-handler, tramp-completion-mode-p)
140192         (tramp-handle-directory-files)
140193         (tramp-handle-directory-files-and-attributes)
140194         (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
140195         (tramp-handle-insert-file-contents, tramp-handle-load)
140196         (tramp-handle-shell-command)
140197         (tramp-handle-verify-visited-file-modtime)
140198         (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
140199         (tramp-check-for-regexp, tramp-wait-for-regexp)
140200         (tramp-send-string, tramp-mode-string-to-int)
140201         (tramp-get-local-gid, tramp-check-cached-permissions)
140202         (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
140203         (auto-save-file-name-transforms)
140204         (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
140205         (tramp-clear-passwd, tramp-time-diff):
140206         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
140207         (directory-sep-char, tramp-adb-file-name-handler-alist)
140208         (tramp-adb-parse-device-names)
140209         (tramp-adb-handle-expand-file-name)
140210         (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
140211         (tramp-adb-handle-file-local-copy)
140212         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
140213         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
140214         (tramp-adb-handle-shell-command)
140215         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
140216         (tramp-adb-maybe-open-connection):
140217         * lisp/net/tramp-cache.el (tramp-persistency-file-name)
140218         (tramp-cache-print):
140219         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
140220         (tramp-bug, tramp-reporter-dump-variable)
140221         (tramp-load-report-modules, tramp-append-tramp-buffers):
140222         * lisp/net/tramp-compat.el (tramp-compat-funcall)
140223         (tramp-advice-file-expand-wildcards)
140224         (tramp-compat-temporary-file-directory)
140225         (tramp-compat-make-temp-file, tramp-compat-copy-file)
140226         (tramp-compat-delete-directory, )
140227         (tramp-compat-process-running-p):
140228         * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
140229         (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
140230         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
140231         (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
140232         (tramp-gvfs-handle-file-local-copy)
140233         (tramp-gvfs-handle-file-name-all-completions)
140234         (tramp-gvfs-handle-file-notify-add-watch)
140235         (tramp-gvfs-monitor-file-process-filter)
140236         (tramp-gvfs-handle-file-readable-p)
140237         (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
140238         (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
140239         (tramp-gvfs-maybe-open-connection)
140240         (tramp-gvfs-parse-device-names):
140241         * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
140242         (tramp-gw-open-connection, tramp-gw-open-network-stream):
140243         * lisp/net/tramp-sh.el (directory-sep-char)
140244         (tramp-sh-file-name-handler-alist)
140245         (tramp-sh-handle-file-truename)
140246         (tramp-sh-handle-set-visited-file-modtime)
140247         (tramp-sh-handle-verify-visited-file-modtime)
140248         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
140249         (tramp-sh-handle-file-acl)
140250         (tramp-sh-handle-file-name-all-completions)
140251         (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
140252         (tramp-do-copy-or-rename-file-directly)
140253         (tramp-do-copy-or-rename-file-out-of-band)
140254         (dired-compress-file-suffixes, dired-remove-file)
140255         (tramp-sh-handle-dired-compress-file)
140256         (tramp-sh-handle-insert-directory)
140257         (tramp-sh-handle-expand-file-name)
140258         (tramp-sh-handle-start-file-process)
140259         (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
140260         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
140261         (tramp-sh-handle-file-notify-add-watch)
140262         (tramp-sh-gvfs-monitor-dir-process-filter)
140263         (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
140264         (tramp-find-executable)
140265         (tramp-open-connection-setup-interactive-shell)
140266         (tramp-find-inline-encoding, tramp-compute-multi-hops)
140267         (tramp-maybe-open-connection, tramp-convert-file-attributes)
140268         (tramp-get-remote-path, tramp-get-remote-touch):
140269         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
140270         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
140271         (tramp-smb-handle-delete-directory)
140272         (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
140273         (tramp-smb-handle-make-directory-internal)
140274         (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
140275         (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
140276         (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
140277         (tramp-smb-get-cifs-capabilities)
140278         (tramp-smb-maybe-open-connection):
140279         * lisp/net/trampver.el (tramp-repository-get-version):
140280         Remove XEmacs compat code.
140282         * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
140283         (reporter-dump-variable): Declare functions.
140285         * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
140286         (tramp-advice-minibuffer-electric-separator)
140287         (tramp-advice-minibuffer-electric-tilde)
140288         (tramp-handle-unhandled-file-name-directory):
140289         * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
140290         (tramp-compat-font-lock-add-keywords)
140291         (tramp-compat-load, tramp-compat-number-sequence)
140292         (tramp-compat-split-string, tramp-compat-delete-dups):
140293         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
140294         Remove.
140296         * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
140297         recursively.
140299 2016-01-14  K. Handa  <handa@gnu.org>
140301         fix previous change of src/ftfont.c (ftfont_shape_by_flt)
140303         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
140304         second glyph only when there are enough glyphs.
140306 2016-01-13  Glenn Morris  <rgm@gnu.org>
140308         * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
140310         or its hook, to move point.  (Bug#22348)
140312 2016-01-12  Michael Albinus  <michael.albinus@gmx.de>
140314         Merge missing commit from emacs-25 branch
140316         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
140317         New variables.
140318         (check-expensive, check-doit): New targets.
140320         * Makefile.in (check-expensive): New target.
140322         * test/lisp/autorevert-tests.el
140323         (auto-revert-test01-auto-revert-several-files):
140324         * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
140325         (file-notify-test06-many-events):
140326         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
140327         (tramp-test27-start-file-process, tramp-test28-shell-command)
140328         (tramp-test29-vc-registered)
140329         (tramp-test31-special-characters-with-stat)
140330         (tramp-test31-special-characters-with-perl)
140331         (tramp-test31-special-characters-with-ls)
140332         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
140333         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
140334         (tramp-test35-unload): Tag the tests as :expensive-test.
140336 2016-01-11  John Wiegley  <johnw@newartisans.com>
140338         Merge from origin/emacs-25
140340         1f6898d test/automated/vc-hg.el: Support out-of-tree build
140341         3adb56e Minor change in tramp-tests.el
140342         2b535ba ; * etc/NEWS: Update the js.el entry.
140343         76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
140344         b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
140345         36b9539 Avoid an infloop when we run out of memory
140346         2006752 Avoid unnecessary failures of auto-saving after fatal error
140347         eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
140348         552694a Revert attempt to use 'noexcept' in typedef
140349         6ad0d39 Update documentation of 'indirect-function'
140350         c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
140351         303141a Update documentation for obsoleting 'syntax-begin-function'
140352         4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
140353         e667bbb Document new features if Eshell
140354         9c4e4e0 ; * etc/NEWS: Update EUDC entries.
140355         1089dc9 Handle too long commands in Tramp
140356         684eb58 * .gitattributes: *.cur and *.pif are binary files too.
140357         d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
140358         bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
140359         09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
140360         cca0f93 ; Account for spaces before the filename
140361         c71e1e8 Use short date for 'hg annotate', and output the author
140362         f50027b Spelling fix
140363         c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
140364         cc140bc Document user-level functions in project.el
140365         f8208b6 Document the user-level features of the Xref package
140366         b131fb8 * loading.texi: Add `define-type' entry for load-history
140367         db3c2a8 Improve doc strings and prompts in xref.el
140368         f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
140369         90fd798 Fix coding system for Tramp on OS X.
140370         e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
140371         9dfcbf0 Update 'load-history' docs
140372         207e191 Fix (error ...) error
140373         457738f Correctly analyze brace arguments in templated C++ function declarations.
140374         d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
140375         2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
140376         1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
140377         8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
140378         4b37cba Improve documentation of Delete Selection mode
140379         a034dd3 Fix two project-find-file issues
140380         30abf29 Clarify doc string of 'dired-current-directory'
140381         e990bb2 Use the face of preceding text for displaying the ellipsis
140382         5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
140383         eeb710a ; * lisp/startup.el: Sentences end with two spaces.
140384         428b3de * admin/admin.el (set-version): Also handle the NEWS file.
140385         648de81 ; Add NEWS entry for project.el
140386         671862f apropos-library: Skip obvious duplicates; don't error on generics
140387         51668a5 ; Grammar fix
140388         ed41d11 Add project-find-file and project-or-external-find-file
140389         056da45 ; Improve commentary in 'setup_for_ellipsis'
140390         269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
140392 2016-01-11  John Wiegley  <johnw@newartisans.com>
140394         Merge from origin/emacs-25
140396         ce4a052 Add defvar-local to lisp-imenu-generic-expression
140397         a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
140398         76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
140399         1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
140400         b6b47af Properly encode/decode base64Binary data in SOAP
140401         c632466 Obey coding-system-for-write when writing stdout/stderr in batch
140402         2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
140403                 Update the URI of MELPA and marmalade-repo.
140404                 Reported by CHENG Goa <chenggao@royau.me> in
140405                 https://lists.gnu.org/r/emacs-devel/2016-01/msg00390.html.
140406         d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
140407         5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
140408         7380990 Remove function wrongly on AWK Mode value of context
140409         fontification hook.
140410         d400753 * src/buffer.c: Stick with ASCII in doc string.
140411         221240c Reword transient-mark-mode doc string
140412         977d3ea Update doc string of 'selective-display'
140413         229c3fa Make C++ buffers writeable when writing their initial text
140414                 properties.
140415         f5c762c Additional changes for "make check-expensive"
140416         1729cf3 ; * admin/MAINTAINERS: Remove myself.
140417         33219d3 Apply text properties for <, > in new after-change function
140418                 (C++ Java Modes).
140420 2016-01-11  John Wiegley  <johnw@newartisans.com>
140422         Merge from origin/emacs-25
140424         9fb185a shr-tag-video bug fix
140425         6300655 Minor fixes in tramp-tests.el
140426         50575b1 Ensure redisplay when 'truncate-lines' is set
140427         0d9e80d Fix a doc string of 'transient-mark-mode'
140428         0000ae5 MS-Windows followup to latest gnulib update
140429         4bc5e02 Spelling fix
140430         f1093f7 Do secure signed Bcc handling
140432 2016-01-11  John Wiegley  <johnw@newartisans.com>
140434         Merge from origin/emacs-25
140436         861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
140437         46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
140438         71ea138 * lisp/align.el (align): Simplify a lambda
140439         5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
140440         1f680db Fix compilation next-error in buffers with selective-display
140441         d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
140442         1da116f Add SHA1 warnings for high network security settings
140443         e48bacd ; * etc/NEWS: Typo fix.
140445 2016-01-11  John Wiegley  <johnw@newartisans.com>
140447         Merge from origin/emacs-25
140449         43662a2 ; Clarify that xref is still experimental
140450         0a6e6ca ; * admin/release-process: Remove some obsolete records.
140451         c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
140452         8637f3d (semantic-symref-derive-find-filepatterns): Return a list
140453         0a7ad07 ; Re-arrange xref-related entries in NEWS.
140454         fe903ef Fix xref-find-references on MS-Windows
140455         55a28d8 ; Fixed visual bell artifact problem on NextStep.
140456         d064034 Document new features of tildify-mode
140457         964bea7 Document new features of Whitespace mode
140458         cd68f47 Improve documentation of new Hide-IfDef features
140459         723b8bf Fix regression in font-locking cl-assert and cl-check-type
140461 2016-01-11  John Wiegley  <johnw@newartisans.com>
140463         Merge from origin/emacs-25
140465         ef33bc7 Spelling and grammar fixes
140466         9c3dbab Fix copyright years by hand
140467         0e96320 Update copyright year to 2016
140469 2016-01-11  John Wiegley  <johnw@newartisans.com>
140471         Merge from origin/emacs-25
140473         9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
140474         526d80c Port chart.el methods to cl-generic.
140475         410bb69 Add nt/INSTALL.W64 build instructions
140476         8f5b524 Add new input method 'programmer-dvorak'
140477         6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
140478         bb83bb1 Fix EWW rendering of long RTL lines
140479         b1a8509 fix  bug#21054
140480         ce5ad12 Clean up cairo printing code
140482 2016-01-11  John Wiegley  <johnw@newartisans.com>
140484         Merge from origin/emacs-25
140486         6ee327d Add handle_user_signal_hook
140487         47580e0 Avoid writing to purespace
140488         0588be7 Remove unused variable
140489         89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
140490         3b95e9c Use posix_openpt instead of openpty on Darwin
140491         86312ff Document support for ':documentation' in Lisp mode
140492         c930e75b Document new features of TeX mode
140493         7c83d84 Clarify docs of hscroll in RTL text
140494         4c8f8db Fix rendering of HTML pages that use character composition
140495         a8d37ca Avoid some compiler warnings in w32.c
140496         ce106f3de Undo ill-advised change
140497         be0bba4 Unbreak completion in python-mode buffers
140499 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
140501         Adding example replies to bug-triage.
140503         * admin/notes/bug-triage: Added example replies. Also, as requested,
140504           making the process notes into more of a checklist.
140506 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
140508         Rename the notes/admin/triage file to bug-triage.
140510         * CONTRIBUTE: Change reference to the triage file name.
140511         * admin/notes/triage: Rename file to admin/notes/bug-triage.
140513 2016-01-08  K. Handa  <handa@gnu.org>
140515         Fix outdated comments.
140517 2016-01-06  Glenn Morris  <rgm@gnu.org>
140519         Allow creation of loaddefs files without timestamps.
140521         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
140522         (autoload-generate-file-autoloads, update-directory-autoloads):
140523         If autoload-timestamps is nil, write "t" instead of file timestamp.
140524         (autoload-find-destination, update-directory-autoloads):
140525         If timestamp is "t", use the modtime of the output file instead.
140527 2016-01-06  Glenn Morris  <rgm@gnu.org>
140529         Doc tweaks.
140531         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
140532         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
140533         (calendar-iso-from-absolute):
140534         * lisp/calendar/cal-tex.el (cal-tex-comment):
140535         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
140537 2016-01-06  Glenn Morris  <rgm@gnu.org>
140539         Build tweaks related to tags files.
140541         * lib-src/Makefile.in (tagsfiles): New variable.
140542         (TAGS): Also depend on the source files.  Use our own etags program.
140543         * lisp/Makefile.in (ETAGS): Add EXEEXT.
140544         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
140545         Remove.
140546         (tagsfiles): New, replacing lisptagsfiles1 etc.
140547         Remove irrelevant source files here rather than in the TAGS rule.
140548         (${ETAGS}): New rule.
140549         (TAGS): Also depend on the etags executable.
140550         * lwlib/Makefile.in (EXEEXT): New, set by configure.
140551         (ETAGS): Add EXEEXT.
140552         (${ETAGS}): New rule.
140553         (ctagsfiles): Use "wildcard".
140554         (TAGS): Also depend on the etags executable.
140555         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
140556         (${ETAGS}): New rule.
140557         (TAGS): Fix dependencies.
140558         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
140559         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
140560         Remove "-t" argument.
140561         (${ETAGS}): New rule.
140562         (tagsfiles): New variable.
140563         (TAGS): New rule, with proper dependencies.
140564         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
140565         (ctagsfiles1, ctagsfiles2): Use "wildcard".
140566         (ctagsfiles3): Remove.
140567         (TAGS): Depend on etags.
140568         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
140569         directories decide if updates are needed.
140571 2016-01-06  Glenn Morris  <rgm@gnu.org>
140573         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
140575 2016-01-06  Glenn Morris  <rgm@gnu.org>
140577         * test/lisp/emacs-lisp/package-tests.el
140579         (package-test-macro-compilation): Fixup branch merge.
140581 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
140583         Fix fallout from merging emacs-25 branch in test/
140585         * .gitignore: Update for the new place of biditest.txt.
140586         * test/automated/: Directory removed.  All files moved to their
140587         proper places.
140588         * test/etags/: Directory removed.  All files moved to their proper
140589         places.
140590         * test/automated/url-parse-tests.el: File removed; it was an exact
140591         copy of the same file in test/lisp/url/.
140592         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
140594 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
140596         Spelling fixes
140598 2016-01-04  Daniel Colascione  <dancol@dancol.org>
140600         Let users disable unsafe signal handling code
140602         * src/keyboard.c (syms_of_keyboard): New user variables
140603         `attempt-stack-overflow-recovery' and
140604         `attempt-orderly-shutdown-on-fatal-signal'.
140605         * src/sysdep.c (stack_overflow): Check
140606         `attempt-stack-overflow-recovery'.
140607         * src/emacs.c (terminate_due_to_signal): Check
140608         `attempt-orderly-shutdown-on-fatal-signal'.
140610 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
140612         * configure.ac: Add error message for gfile on Nextstep.
140614 2016-01-02  John Wiegley  <johnw@newartisans.com>
140616         Merge branch 'emacs-25-merge'
140618 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
140620         Align textually on fix done for emacs-25 branch for bug#21054
140622         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
140623         and useless `(if t ...)' in order to align textually on fix done for
140624         emacs-25 branch for bug#21054.
140626 2016-01-01  K. Handa  <handa@gnu.org>
140628         support rendering of wider range of combinging characters by ftfont backend
140630         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
140631         supports rendering of combining characters, call
140632         font-shape-gstring.
140634         * src/font.c (Ffont_get): Handle `combining-capability' property.
140635         (syms_of_font): New symbol ":combining-capability'.
140637         * src/font.h (struct font_driver): New member combining_capability.
140639         * src/ftfont.c: Include "category.h".
140640         (ftfont_driver): Initialize combining_capability to
140641         ftfont_combining_capability.
140642         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
140643         FLT in advance.
140644         (ftfont_combining_capability): New function.
140646 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
140648         Add notes on bug triage procedure
140650         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
140651         * admin/notes/triage: New file explaining triage procedure.
140653 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
140655         Correct ses-rename-cell cursor-intangible text prop updating.
140657         There were two problems:
140659         - First ses-rename-cell has to work when called non interactively
140660           (with non-nil CELL argument), so in this case the start pos of
140661           put-text-property cannot be plainly (point), you need a
140662           ses-goto-print call before
140664         - Second, the range itself was computed erroneously, only the first
140665           char was affected instead of the full cell width. This was not
140666           noticeable prior to changes (Deprecate `intangible' and
140667           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
140669         * lisp/ses.el (ses-rename-cell): Correct computation of position range
140670         to which the 'cursor-intangible text property has to be set to cell
140671         new name.
140673 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
140675         Don't fake empty cells value by "" when printing with a lambda.
140677         When using a lambda expression printer function the user should be
140678         free to format differently a really empty cell, ie. containing nil,
140679         from a cell containing an empty string "".
140681         * lisp/ses.el (ses-call-printer): Replace `(or value "")' by just
140682         `value' in the case of a lambda expression printer function.
140684         * doc/misc/ses.texi (Printer functions): Add example and
140685         description about lambda expression printer function handling all
140686         the possible values, including unexpected ones.
140688 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
140690         Quick temporary hack to fix curcell refreshing.
140692         The problem was caused by change: 2015-04-13 Deprecate `intangible'
140693         and `point-entered' properties. The problem is that this change has
140694         removed the (setq ses--curcell t) setting in the ses-command-hook
140695         function.
140697         * lisp/ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
140698         a condition to call function `ses-set-curcell'. Comment this as a quick
140699         temporary hack to make it work, as I don't know yet whether a definite
140700         correction would be to make the ses-set-curcell at every ses-check-curcell,
140701         or to revert to the previous approach, ie marking ses--curcell as out-of-date
140702         at every potentially cursor motion command.
140704 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
140706         Restrictive URL checking tweaks
140708         * lisp/net/eww.el (eww): Check whether the domain is
140709         restrictive instead of the string
140710         (http://македонија.icom.museum is restrictive even if each
140711         part is from a different script).
140713 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
140715         New function `puny-highly-restrictive-domain-p'
140717         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
140718         (puny-highly-restrictive-domain-p): New function.
140720 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
140722         eww build fix (require puny)
140724 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
140726         Transform non-restrictive domains to punycode for display
140728         * lisp/net/eww.el (eww): Check whether the domain is Highly
140729         Restrictive in the Unicode IDNA sense.
140731 2015-12-29  John Wiegley  <johnw@newartisans.com>
140733         Merge emacs-25 into master (using imerge)
140735 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
140737         Further Unicode restrictive fixups
140739         * lisp/net/puny.el (puny-highly-restrictive-p): Include the extra
140740         identifier characters from table 3.
140742 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
140744         Add a new function to say whether a string is restrictive
140746         * lisp/net/puny.el (puny-highly-restrictive-p): New function.
140748 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
140750         Mention the new puny.el library
140752 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
140754         IDNA-related fixes for the URL library
140756         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
140757         the Host: header.
140759         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
140760         domain names, but leave them as UTF-8, so that they can be
140761         IDNA-encoded later when contacting the host.
140763 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
140765         IDNA-encode all domain names in `open-network-stream'
140767         * lisp/net/network-stream.el (open-network-stream)
140768         (network-stream-open-plain, network-stream-open-starttls):
140769         IDNA-encode all domain names, if needed.
140771 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
140773         Fix puny-encoding all-non-ASCII domains
140775         * lisp/net/puny.el (puny-encode-string): Fix the all-non-ASCII
140776         encoding case.
140778 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
140780         shr link traversal fixup
140782         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
140784 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
140786         Reconnect erc even on server errors
140788         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
140789         reconnect even if a server error has occurred (bug#18527).
140791 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
140793         Fix punycode short circuit logic
140795         * lisp/net//puny.el (puny-encode-domain): Fix short-circuit logic.
140797 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
140799         IDNA speed up
140801         * lisp/net/puny.el (puny-encode-domain): Make the common non-IDNA case faster
140803 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
140805         Add IDNA domain encode/decode functions
140807         * lisp/net/puny.el (puny-decode-domain): New function.
140808         (puny-encode-domain): Ditto.
140809         (puny-decode-digit): Fix digit decoding error.
140811 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
140813         Rename idna.el to puny.el
140815         * lisp/net/puny.el: Renamed from idna.el to avoid name collisions with
140816         the external idna.el library.
140818 2015-12-27  Katsumi Yamaoka  <yamaoka@jpl.org>
140820         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
140822         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
140823         Don't use split-string with 4th arg for old Emacsen compatibility.
140825 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
140827         * lisp/net/idna.el (idna-decode-string-internal): Implement
140828         decoding.
140830 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
140832         Further IDNA tweaks
140834         (idna-encode-string): Make idna-encode-string safe for
140835         non-ASCII use.
140837 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
140839         Clean up the code slightly
140841 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
140843         Added basic idna encoding support
140845         * lisp/net/idna.el: New file.
140847 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
140849         Disconnection fixes for erc
140851         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
140852         reconnect if the user has disconnected explicitly (bug#4589).
140854 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
140856         Further erc asynch fixes
140858         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
140859         erc-server-connect to return even if the connection is not
140860         ready.  Then erc-open and erc-server-reconnect do the
140861         same. (bug#5650).
140863 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
140865         Make erc connect asynchronously
140867         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
140868         reconnect asynchronously.
140870         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
140872 2015-12-27  David Edmondson  <dme@dme.org>
140874         Proxy error in erc with multiple clients
140876         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
140877         generated when multiple IRC clients talk to a single IRC proxy
140878         (bug#19034).
140880 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
140882         Fix mml-sec build warnings
140884         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
140885         (bug#18718).
140887 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
140889         (eww-setup-buffer): Restore left-to-right defaults
140891         * lisp/net/eww.el (eww-setup-buffer): Restore left-to-right
140892         defaults.
140894 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
140896         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
140898 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
140900         Identify unsafe combinations of Bcc and encryption
140902         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
140903         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
140904         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
140906 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
140908         * lisp/net/shr.el (shr-descend): Allow using lambdas in external
140909         functions.
140911 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
140913         * admin/gitmerge.el: Tweaks that seemed necessary
140915         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
140916         (gitmerge-maybe-resume): Provide explicit empty commit message.
140918 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
140920         Use a different port for TLS erc
140922         * lisp/erc/erc.el (erc-default-port-tls): New variable
140923         (bug#19497).
140924         * lisp/erc/erc.el (erc-tls): Use it.
140926 2015-12-25  Alain Schneble  <a.s@realize.ch>
140928         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
140930         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
140931         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
140932         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
140933         information in URL-struct.
140934         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
140935         path and query into nil path and query, respectively.
140936         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
140937         empty path into an absolute ("/") path.
140938         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
140939         fragment-only URIs. Do not just return them unchanged.
140940         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
140941         reference URI should not drop the last segment.
140943 2015-12-25  Alain Schneble  <a.s@realize.ch>
140945         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
140947         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
140948         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
140949         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
140950         information in URL-struct.
140951         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
140952         path and query into nil path and query, respectively.
140953         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
140954         empty path into an absolute ("/") path.
140955         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
140956         fragment-only URIs. Do not just return them unchanged.
140957         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
140958         reference URI should not drop the last segment.
140960 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
140962         Let url use default file modes when copying files
140964         * lisp/url/url-handlers.el (url-copy-file): Use default file
140965         modes when copying files (bug#11400).
140967 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
140969         Doc fix for url-http
140971         * lisp/url/url-http.el (url-http): Document better return values
140972           (bug#13187) (tiny change)
140974 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
140976         * lisp/net/eww.el (eww-display-html): Support <button> tags
140977         (bug#20485).
140979 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
140981         Made ffap-url-p a defun instead of a defsubst
140983         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
140984         since there doesn't seem to be much of a reason for it to be a
140985         defsubst (bug#18203).
140987 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
140989         Add a command to view files in the browser to dired
140991         * lisp/dired.el (dired-mode-map): Add the `W' command
140992         (bug#18810).
140994 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
140996         Allow http://user:pass@foo/ URLs again
140998         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
140999         user/passwords in URLs (bug#19046).
141001 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
141003         * lisp/net/eww.el (eww-mode-map): Fix command name of
141004         eww-toggle-colors.
141006 2015-12-25  Samer Masterson  <samer@samertm.com>
141008         Autoload url-insert-buffer-contents
141010         * lisp/url/url-handlers.el: Add autoload cookie so that
141011         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
141013 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
141015         Allow toggling colors in eww
141017         * doc/misc/eww.texi (Basics): Mention "C".
141019         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
141021         * lisp/net/shr.el (shr-use-colors): New variable.
141022         (shr-colorize-region): Use it.
141024 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
141026         Follow meta refresh tags in eww
141028         * lisp/net/eww.el (eww-tag-meta): Follow meta refresh tags
141029         (bug#22234).
141031 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
141033         More eww file name coding fixes
141035         * lisp/net/eww.el (eww-decode-url-file-name): Use the base coding
141036         system to check for encodability.
141038 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
141040         Always save eww history
141042         * lisp/net/eww.el (eww-setup-buffer): Always save history, even
141043         when called from outside the eww buffer (bug#19638).
141045 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
141047         Default web pages to right-to-left
141049         * lisp/net/eww.el (eww-mode): Most web pages are left-to-right,
141050         so make that the default (bug#19801).
141052         * lisp/net/shr.el (shr-tag-html): Respect "dir" attributes
141053         (left-to-right, right-to-left).
141055 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
141057         Make toggling checkboxes work again
141059         * lisp/net/eww.el (eww-update-field): Make toggling checkboxes
141060         work again (bug#21881).
141062 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
141064         Don't store cookies with empty names
141066         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
141067         cookies with empty names (bug#21936).
141069 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
141071         Stop rendering HTML before specdlr exhaustion
141073         Fixes: 22117
141075         * lisp/net/shr.el (shr-descend): Stop rendering before we run out
141076         of specpdl room (bug#22117).
141078 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
141080         Use cl-reduce, not reduce.
141082 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
141084         Allow several <tbody> tags in shr
141086         * lisp/net/shr.el (shr-table-body): New function to find the real body
141087         of a table.
141088         (shr-tag-table): Use it to render several <tbody> tags in a
141089         table (bug#22170).
141091 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
141093         Make prettier unique file names in eww
141095         (eww-make-unique-file-name): Make unique file names by making
141096         files like foo(2).jpg instead of foo(1)(2).jpg.
141098 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
141100         Decode hex-encoded URLs before using them as file names
141102         * lisp/net/eww.el (eww-decode-url-file-name): New function.
141103         (eww-download-callback): Use it to decode file names before
141104         saving them.
141106 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>
141108         Add FreeBSD cert bundle
141110         * doc/misc/emacs-gnutls.texi (Help For Users): Document
141111         FreeBSD bundle.
141113         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
141115 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
141117         Allow overriding shr functions from eww
141119         * lisp/net/eww.el (eww-display-html): Allow overriding elements in
141120         `shr-external-rendering-functions'.
141122 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
141124         Ignore invalid SVG images
141126         * lisp/net/shr.el (shr-tag-svg): Ignore SVG images that have no
141127         width or height, because these can't be displayed by ImageMagick,
141128         anyway.
141130 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
141132         shr table rendering fix
141134         * lisp/net/shr.el (shr-tag-table): Allow rendering body-less
141135         tables that have headers.
141137 2015-12-22  Sam Steingold  <sds@gnu.org>
141139         clipboard should still work even if interprogram-* is disabled
141141         (clipboard-yank): When `interprogram-cut-function' is nil,
141142         bind it to `gui-selection-value' - the default value.
141143         (clipboard-kill-region, clipboard-kill-ring-save): When
141144         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
141145         the default value.
141147 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
141149         Fix bootstrap issue with dired-loaddefs
141151         * lisp/dired.el: Autoloads for secondary files loaded optionally.
141153 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
141155         dired generate autoloads to non-versioned file.
141157         * lisp/dired.el: Remove autoloads.
141158         * lisp/Makefile.in: Add dired to autogenel.
141159         * lisp/dired-aux.el, lisp/dired-x.el: Update file local.
141160         * test/lisp/dired-tests.el: Add new test.
141162 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
141164         eieio generate autoloads to non-versioned file.
141166         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
141167         * lisp/emacs-lisp/eieio.el, lisp/emacs-lisp/eieio-core.el:
141168           Remove autoloads.
141169         * lisp/emacs-lisp/eieio-compat.el, lisp/emacs-lisp/eieio-custom.el,
141170           lisp/emacs-lisp/eieio-opt.el: Update file local.
141171         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
141173 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
141175         htmlfontify generate autoload to non-versioned file.
141177         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
141178         * lisp/hfy-cmap.el: Update file local.
141179         * lisp/htmlfontify.el: Remove autoloads, add require.
141180         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
141182 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
141184         ibuffer generate autoloads to non-versioned file.
141186         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
141187         * lisp/ibuf-ext.el: Update file local.
141188         * lisp/ibuffer.el: Remove autoloads and add a require.
141189         * test/lisp/ibuffer-tests.el: Test that autoload is working.
141191 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
141193         rmail generate autoloads to non-versioned file.
141195         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
141196         * lisp/mail/rmail.el: Remove autoloads, add require.
141197         * lisp/mail/rmailedit.el, lisp/mail/rmailkwd.el:
141198         * lisp/mail/rmailmm.el, lisp/mail/rmailmsc.el:
141199         * lisp/mail/rmailsort.el, lisp/mail/rmailsum.el:
141200         * lisp/mail/undigest.el: Update file-local.
141201         * test/lisp/mail/rmail-tests.el:
141203 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
141205         Add autoload-force target.
141207         * lisp/Makefile.in (autoload-force): New target.
141209 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
141211         ps-print generate autoloads to non versioned file.
141213         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
141214         * lisp/ps-print.el: Remove autoloads.
141215         * lisp/ps-mule.el: Update file-local.
141216         * test/lisp/ps-print-tests.el: Test autoload functionality.
141218 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
141220         reftex generate autoloads to non versioned file.
141222         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
141223         * lisp/textmodes/reftex.el: Remove autoloads.
141224         * lisp/textmodes/reftex-auc.el, lisp/textmodes/reftex-cite.el:
141225         * lisp/textmodes/reftex-dcr.el, lisp/textmodes/reftex-global.el:
141226         * lisp/textmodes/reftex-index.el, lisp/textmodes/reftex-parse.el:
141227         * lisp/textmodes/reftex-ref.el, lisp/textmodes/reftex-sel.el:
141228         * lisp/textmodes/reftex-toc.el: Update autoload file-local.
141229         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
141230           function.
141232 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
141234         * lisp/calculator.el (calculator-define-key): Undo last change
141236         Make map argument mandatory instead (bug#22106).
141237         (calculator-add-operators): Pass the argument that's not optional any more.
141239 2015-12-03  Glenn Morris  <rgm@gnu.org>
141241         * Makefile.in: Avoid duplication.
141243         (have-tests): New rule.
141244         (check, check-maybe): Use it.
141246 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
141248         make check unconditional, check-maybe top-level.
141250          * Makefile.in: Add check-maybe target.
141251          * test/Makefile.in: Restore unconditional behavior to make check.
141253 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
141255         Tests now support out-of-source-build.
141257          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
141258            about current working directory.
141260 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
141262         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
141264 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
141266         Improve documentation and clean up.
141268          * test/Makefile.in: Improve documentation, use EMACS variable
141269            correctly, and clean up makefile rules.
141271 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
141273         Update file headers for name change.
141275          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
141277 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
141279         Test files renamed to new scheme.
141281          * (finalizer-tests.el): Now renamed alloc-tests.el
141282          * (zlib-tests.el): Now renamed decompress-tests.el.
141284 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
141286         Tests now depend on source files
141288          * test/Makefile.in: Include dependences from tests to source files.
141289          * test/make-test-deps.emacs-lisp: New file
141290          * .gitignore: Ignore generated make include file
141292 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
141294         * lisp/progmodes/which-func.el: Improve disabling the mode
141296         Use lexical-binding.
141297         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
141298         (which-func, which-func-format): Remove redundant :group arg.
141299         (which-func-try-to-enable): New function.
141300         (which-func-ff-hook, which-function-mode): Use it.
141301         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
141302         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
141304 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
141306         * lisp/calculator.el (calculator-define-key): Silence warning
141308         ...about unknown calculator-mode-map.
141310 2015-11-29  Eli Barzilay  <eli@barzilay.org>
141312         * lisp/calculator.el: more improvements and bugfixes.
141314         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
141315           effect anyway.)
141317         - Simplify `calculator-number-to-string' by throwing most of the work
141318           onto `number-to-string', leaving just some tweaks for decimal inputs.
141319           This leads to some minor changes, for example, pasting "1x1" in hex
141320           mode would warn that "x" is ignored and result in "11" (and it wasn't
141321           done in decimal mode), whereas now it just ignores everything from the
141322           "x" and on and result in a "1" just like in decimal input mode.  Also,
141323           overflows are left for `number-to-string' to deal with.
141325         - `calculator-paste' is very simple as a result.
141327         - Extend the simplified `calculator-paste': with a prefix argument it
141328           pastes a string as if the characters were entered.  This can be used
141329           to reduce expressions, but note that it's a simple literal operation,
141330           so precedence can be messed, a number can be paster while entering a
141331           number, spaces and newlines matter, etc.
141333         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
141334           operator.
141336         - Fix a bug in `calculator-put-value': avoid grouping in the display
141337           that is used to construct `calculator-curnum'.  This would trigger
141338           when pasting or getting a value from a register in some radix mode
141339           with a large enough value.  Another fix: make the output radix equal
141340           the input one, otherwise numbers could be converted twice.
141342 2015-11-29  Eli Barzilay  <eli@barzilay.org>
141344         * lisp/calculator.el: Re-do key bindings.
141346         Use a helper function that arranges a parent keymap that binds alternate
141347         case keys so if some letter key is unbound and it's un/shifted version
141348         is, it will get used.  This makes the global-map trickery unnecessary.
141350         Also switch to passing strings that name keys through `kbd'.
141352 2015-11-29  Eli Barzilay  <eli@barzilay.org>
141354         * lisp/calculator.el: improve radix modes
141356         Fix prompt for some input radix with decimal output (eg, "BD" instead of
141357         the incorrect "B="); also, some minor docstring tweaks for these.
141359 2015-11-29  Eli Barzilay  <eli@barzilay.org>
141361         * lisp/calculator.el: better reading of register names
141363         Use `register-read-with-preview' with a dynamically bound
141364         `register-alist' and a proper preview function to read register names.
141366 2015-11-29  Eli Barzilay  <eli@barzilay.org>
141368         * lisp/calculator.el: General improvements
141370         Use things like `when', `unless', and `push'.
141372         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
141373         non-electric mode.
141375 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
141377         Fix a problem with gfilenotify in filenotify-tests.el
141379         * test/lisp/filenotify-tests.el
141380         (file-notify--test-expected-events): Remove.
141381         (file-notify--test-cleanup): Do not set that variable.
141382         (file-notify--test-with-events): EVENTS can also be a list of lists.
141383         (file-notify-test02-events, file-notify-test04-file-validity):
141384         Adapt expected result.
141386 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
141388         * .gitignore: Adjust to changes in 'test' directory structure.
141390 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
141392         Fix test/manual/etags/Makefile
141394         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
141395         changes in 'test' directory structure.
141397 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
141399         Exclude resource dirs from search for tests.
141401         * test/Makefile.in: Test file locations are now found with find
141402           rather than using finds native functions.
141404 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
141406         Add test targets without directory names.
141408          * (test/Makefile.in): Extend test_template to add two targets for each
141409            file.
141411 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
141413         * lisp/emacs-lisp/package.el: Require url-handlers
141415 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
141417         Move elisp-mode-tests to new function names.
141419          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
141420          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
141422 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
141424         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
141426 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
141428         Merge branch 'feature/standard-test-location'
141430 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
141432         * lisp/emacs-lisp/eieio.el: Add some default implementations
141434         (standard-class): Mark it obsolete.
141435         (slot-missing): Give it a default implementation.
141436         (destructor): Simplify and mark it obsolete.
141437         (object-print): Give it a default implementation.
141438         (eieio-change-class): Rename from change-class.
141439         (change-class): Redefine as obsolete alias.
141441 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141443         Mention kqueue in NEWS
141445 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141447         Merge from scratch/kqueue
141449         bec57a4 Some final fixes in file notification before merging with master
141450         0247489 Rework file notifications, kqueue has problems with directory monitors
141451         5154781 Continie with pending events
141452         6b490c0 Improve loops in file-notify-test06-many-events
141453         c8e266f Handle more complex rename operation in kqueue
141454         5044bdf New test with a larger number of events.
141455         65ba5a9 Further fixes for kqueue.
141456         13f3508 Code cleanup of kqueue.c
141457         99aa855 Doc changes for kqueue
141458         8deebe1 Finish implementation in kqueue.c
141459         90d6c69 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
141460         e95b309 More work on kqueue
141461         41d9bd0 Implement directory events
141462         c571fc1 Build fixes for kqueue support.
141463         e0a68f2 Continue kqueue implementation
141464         7543d1c Work on kqueue
141465         e3354e2 Add kqueue support
141466         c6457ce Minor fix to comment indentation and typo in last commit
141467         b92307f linum-mode plays more nicely with other margin-setting extensions
141468         58e6235 * lisp/image-mode.el: Support encrypted file
141469         9375652 * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
141470         47f83b6 ; ChangeLog.2 fixes
141471         7cc233e * lisp/emacs-lisp/package.el: Fix a decoding issue
141472         5f9153f * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
141473         353f5e7 * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
141474         70f1fda ; Auto-commit of ChangeLog files.
141475         ae0653b * CONTRIBUTE: Remove information about feature freeze.
141476         9459456 Merge branch 'release-process-lowercase'
141477         9a4aa0f Document the release process
141478         f8cc14b * admin/release-process: Rename from admin/FOR-RELEASE.
141479         dcd5877 gitmerge: Fix git log command
141480         2ac79ae gitmerge: Try to detect cherry-picks
141481         5f7a2a9 Increment Emacs version on master branch
141482         ed2e7e2 Mention CONTRIBUTE in README
141483         9e00a02 Update verilog-mode.el to 2015-11-09-b121d60-vpo.
141484         138ad3d ; Fix warnings
141485         7126e9a ; Update xref-etags-mode for the latest change
141486         246d660 Use generic dispatch for xref backends
141487         31f6e93 Support rectangular regions for more commands
141488         f103a27 Handle multiple matches on the same line; add highlighting
141489         fe973fc Replace xref-match-bounds with xref-match-length
141490         92a5010 Merge from gnulib
141491         04ac097 Spruce up ftfont.c memory allocation
141492         4c4b520 Port recent XCB changes to 64-bit ‘long int’
141493         4f0ce9c * src/undo.c (run_undoable_change): Now static.
141494         695a6f9 Remove support for ':timeout' from w32 tray notifications
141495         a731c2f * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
141496         2b4c0c0 * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
141497         66b9f7b * src/undo.c: Small fixes for previous change
141498         2fac30e Add a few more variables to redisplay--variables
141499         04f69f1 * lisp/loadup.el: Enlarge the size of the hash table to 80000.
141500         e221d32 Fix point positioning after transposing with negative arg
141501         35f5afb Fix last change in shr.el
141502         508e77b Fix last change
141503         d60ed3f Another fix for MinGW64 and Cygwin builds due to notifications
141504         805a39b Remove intern calls and XXX comments from Fx_export_frames
141505         9463abf shr: don't invoke unbound function (Bug#21895)
141506         6e5186e * test/automated/keymaps-test.el: Fix test to make it repeatable
141507         0c92826 * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
141508         39dbd1c : Tests for undo-auto functionality.
141509         20aa42e ; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
141510         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'.
141511         d2f73db Bind [?\S-\ ] to previous line command in Dired-like modes.
141512         c1bc6e5 Fix the MinGW64 and Cygwin-w32 builds
141513         1e363a8 Enable sorting of JSON object keys when encoding
141514         9dd7da9 * test/automated/keymap-tests.el: New test file
141515         aa17de9 Speed up x_real_pos_and_offsets using XCB
141516         a838c83 Enable use of XCB for checking window manager state
141517         c7f2b6a Detect XCB and save a connection handle
141518         e1c27db Reduce some data dependencies between X calls
141519         25e32bd Use color cache for creating bitmap
141520         851be0f Add "^" to the interactive specs of `dired-next/previous-line'
141521         055ca3a Sync with soap-client repository, version 3.0.2
141522         e0f64e7 CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
141523         952395d * lisp/obarray.el: Fix shadowed variables
141524         436d330 Avoid error in submitting a form with EWW
141525         e887f6e ; * doc/lispref/os.texi: Fix indentation of sample code.
141526         51d840a Rename seq-p and map-p to seqp and mapp
141527         23036ba Rename obarray-p to obarrayp
141528         20aea42 Rename obarray-foreach to obarray-map
141529         a3b2101 New file with obarray functions.
141530         9d43941 Implement tray notifications for MS-Windows
141532 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141534         Some final fixes in file notification before merging with master
141536         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
141537         (file-notify-callback): Improve check for `stopped' event.  Call
141538         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
141539         (file-notify-add-watch): In case FILE is not a directory, call the
141540         file monitor for the kqueue backend.  Otherwise, call the
141541         directory monitor for the upper directory.
141543         * src/inotify.c (inotifyevent_to_event): Extract file name from
141544         watch_object if the event doesn't provide it.
141545         (Finotify_add_watch): Add file name to watch_object.
141547         * test/automated/file-notify-tests.el (file-notify--test-timeout):
141548         Use different timeouts for different libraries.
141549         (file-notify--test-with-events): Suppress lock files.  Flush
141550         outstanding events before running the body.
141551         (file-notify-test02-events, file-notify-test04-file-validity): Do
141552         not skip cygwin tests.  Add additional test for file creation.
141553         Adapt expected result for different backends.
141554         (file-notify-test03-autorevert): Some of the tests don't work for
141555         w32notify.
141556         (file-notify-test06-many-events): Rename into both directions.
141558 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141560         Rework file notifications, kqueue has problems with directory monitors
141562         * lisp/filenotify.el (file-notify-add-watch): Call the native
141563         add-watch function on the file, not on the dir.
141565         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
141566         about already deleted entries.
141568         * test/automated/auto-revert-tests.el
141569         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
141570         since this deletes the target file first.
141572         * test/automated/file-notify-tests.el (file-notify--test-event-test):
141573         Make stronger checks.
141574         (file-notify-test01-add-watch, file-notify-test02-events)
141575         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
141576         Rewrite in order to call file monitors but directory monitors.
141577         (file-notify-test06-many-events): Ler rename work in both directions.
141579 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141581         Continie with pending events
141583         * src/kqueue.c (pending_events): Remove global variable.
141584         (kqueue_compare_dir_list): Create `write' event for not used
141585         pending events.
141586         (globals_of_kqueue): Remove initialization of pending_events.
141588 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141590         Improve loops in file-notify-test06-many-events
141592         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
141593         Use `read-event' pauses for the `write-file' loops; otherwise
141594         events are lost in inotify and gfilenotify cases.
141596 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141598         Handle more complex rename operation in kqueue
141600         * src/kqueue.c (pending_events): New variable.
141601         (kqueue_compare_dir_list): Handle more complex rename operation.
141602         (globals_of_kqueue): Initialize pending_events.
141604         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
141605         Adapt expected events in the `rename-file' case.
141606         (file-notify-test06-many-events-remote): Declare.
141608 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
141610         New test with a larger number of events.
141612         * test/automated/file-notify-tests.el (file-notify--test-with-events):
141613         Make timeout heuristically depend on the number of events.
141615         (file-notify-test06-many-events): Use it for new test.
141617 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141619         Further fixes for kqueue.
141621         * lisp/filenotify.el (file-notify-callback): Raise also event if
141622         directory name matches.
141623         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
141625         * src/kqueue.c (kqueue_generate_event): Use watch_object as
141626         argument instead of ident.  Remove callback argument.  Adapt
141627         callees.  Check actions whether they are monitored flags.
141629         * test/automated/file-notify-tests.el (file-notify--test-library):
141630         New defun.
141631         (file-notify-test00-availability, file-notify-test02-events)
141632         (file-notify-test04-file-validity)
141633         (file-notify-test05-dir-validity): Use it.
141634         (file-notify-test02-events, file-notify-test04-file-validity): Add
141635         `read-event' calls between different file actions, in order to
141636         give the backends a chance to rais an event.  Needed especially
141637         for kqueue.  In case of deleting a directory, there are two
141638         `deleted' events.
141640 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141642         Code cleanup of kqueue.c
141644         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
141645         (kqueue_compare_dir_list): Do not loop when calling
141646         directory_files_internal.  Remove checks for "." and "..", this is
141647         done in kqueue_directory_listing now.
141648         (Fkqueue_add_watch): Check for proper emacs_open flags.
141650 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141652         Doc changes for kqueue
141654         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
141655         Fix some glitches in the example.
141657 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141659         Finish implementation in kqueue.c
141661         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
141662         Simplify access to list.
141663         (kqueue_compare_dir_list): Simplify access to list.  Raise
141664         `delete' event if directory does not exist any longer.  Otherwise,
141665         wait until directory contents has changed.  Fix error in check.
141667 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141669         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
141671 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141673         More work on kqueue
141675         * lisp/filenotify.el (file-notify-callback): Handle also the
141676         `rename' event from kqueue.
141677         (file-notify-add-watch): Do not register an entry twice.
141679         * src/kqueue.c (kqueue_directory_listing): New function.
141680         (kqueue_generate_event): New argument FILE1.  Adapt callees.
141681         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
141683 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141685         Implement directory events
141687         * lisp/filenotify.el (file-notify-handle-event)
141688         (file-notify-callback): Remove traces.
141690         * src/kqueue.c: Include <sys/time.h>.
141691         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
141692         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
141693         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
141694         Compute initial directory listing.  Close file descriptor in case
141695         of errors.
141696         (syms_of_kqueue): Declare Qcreate.
141698 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
141700         Build fixes for kqueue support.
141702         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
141703         flag.
141705         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
141706         kqueue on *BSD.
141708 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141710         Continue kqueue implementation
141712         * lisp/filenotify.el (file-notify-handle-event)
141713         (file-notify-callback): Enable trace messages.
141715         * src/kqueue.c: Include also <sys/types.h>.
141716         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
141717         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
141718         (syms_of_kqueue): Add them.
141720 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141722         Work on kqueue
141724         * lisp/filenotify.el (file-notify--library)
141725         (file-notify-descriptors, file-notify-callback)
141726         (file-notify-add-watch, file-notify-rm-watch)
141727         (file-notify-valid-p): Add kqueue support.
141729         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
141731 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141733         Add kqueue support
141735         * configure.ac (--with-file-notification): Add kqueue.
141736         (top): Remove special test for "${HAVE_NS}" and
141737         ${with_file_notification}, this is handled inside gfilenotify
141738         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
141739         instead of library specific variables.
141741         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
141743         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
141745         * src/kqueue.c: New file.
141747         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
141749 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
141751         Some final fixes in file notification before merging with master
141753         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
141754         (file-notify-callback): Improve check for `stopped' event.  Call
141755         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
141756         (file-notify-add-watch): In case FILE is not a directory, call the
141757         file monitor for the kqueue backend.  Otherwise, call the
141758         directory monitor for the upper directory.
141760         * src/inotify.c (inotifyevent_to_event): Extract file name from
141761         watch_object if the event doesn't provide it.
141762         (Finotify_add_watch): Add file name to watch_object.
141764         * test/automated/file-notify-tests.el (file-notify--test-timeout):
141765         Use different timeouts for different libraries.
141766         (file-notify--test-with-events): Suppress lock files.  Flush
141767         outstanding events before running the body.
141768         (file-notify-test02-events, file-notify-test04-file-validity): Do
141769         not skip cygwin tests.  Add additional test for file creation.
141770         Adapt expected result for different backends.
141771         (file-notify-test03-autorevert): Some of the tests don't work for
141772         w32notify.
141773         (file-notify-test06-many-events): Rename into both directions.
141775 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
141777         Update elisp-mode-tests for changed file location.
141779          * test/lisp/progmodes/elisp-mode-tests.el:
141781 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
141783         Exclude manual tests from Makefile
141785          * test/Makefile.in:
141787 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
141789         Move package test files to new directory.
141791          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
141792          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
141794 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
141796         Restore delete Makefiles and fix .gitignore.
141798          * .gitignore: Update Makefiles to changed locations
141799          * test/lisp/progmodes/flymake-resources/Makefile,
141800            test/manual/etags/Makefile,
141801            test/manual/etags/make-src/Makefile,
141802            test/manual/indent/Makefile: Restored and moved to new location.
141804 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
141806         Test infrastructure: updates after directory move
141808          * (test/Makefile.in): Support directories several levels deep.
141809          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
141810          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
141812 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
141814         Rename all test files to reflect source layout.
141816         * CONTRIBUTE, Makefile.in, configure.ac: Update to reflect
141817         test directory moves.
141818         * test/file-organisation.org: New file.
141819         * test/automated/Makefile.in:
141820         * test/automated/data/decompress/foo.gz:
141821         * test/automated/data/epg/pubkey.asc:
141822         * test/automated/data/epg/seckey.asc:
141823         * test/automated/data/files-bug18141.el.gz:
141824         * test/automated/data/flymake/test.c:
141825         * test/automated/data/flymake/test.pl:
141826         * test/automated/data/package/archive-contents:
141827         * test/automated/data/package/key.pub:
141828         * test/automated/data/package/key.sec:
141829         * test/automated/data/package/multi-file-0.2.3.tar:
141830         * test/automated/data/package/multi-file-readme.txt:
141831         * test/automated/data/package/newer-versions/archive-contents:
141832         * test/automated/data/package/newer-versions/new-pkg-1.0.el:
141833         * test/automated/data/package/newer-versions/simple-single-1.4.el:
141834         * test/automated/data/package/package-test-server.py:
141835         * test/automated/data/package/signed/archive-contents:
141836         * test/automated/data/package/signed/archive-contents.sig:
141837         * test/automated/data/package/signed/signed-bad-1.0.el:
141838         * test/automated/data/package/signed/signed-bad-1.0.el.sig:
141839         * test/automated/data/package/signed/signed-good-1.0.el:
141840         * test/automated/data/package/signed/signed-good-1.0.el.sig:
141841         * test/automated/data/package/simple-depend-1.0.el:
141842         * test/automated/data/package/simple-single-1.3.el:
141843         * test/automated/data/package/simple-single-readme.txt:
141844         * test/automated/data/package/simple-two-depend-1.1.el:
141845         * test/automated/abbrev-tests.el:
141846         * test/automated/auto-revert-tests.el:
141847         * test/automated/calc-tests.el:
141848         * test/automated/icalendar-tests.el:
141849         * test/automated/character-fold-tests.el:
141850         * test/automated/comint-testsuite.el:
141851         * test/automated/descr-text-test.el:
141852         * test/automated/electric-tests.el:
141853         * test/automated/cl-generic-tests.el:
141854         * test/automated/cl-lib-tests.el:
141855         * test/automated/eieio-test-methodinvoke.el:
141856         * test/automated/eieio-test-persist.el:
141857         * test/automated/eieio-tests.el:
141858         * test/automated/ert-tests.el:
141859         * test/automated/ert-x-tests.el:
141860         * test/automated/generator-tests.el:
141861         * test/automated/let-alist.el:
141862         * test/automated/map-tests.el:
141863         * test/automated/advice-tests.el:
141864         * test/automated/package-test.el:
141865         * test/automated/pcase-tests.el:
141866         * test/automated/regexp-tests.el:
141867         * test/automated/seq-tests.el:
141868         * test/automated/subr-x-tests.el:
141869         * test/automated/tabulated-list-test.el:
141870         * test/automated/thunk-tests.el:
141871         * test/automated/timer-tests.el:
141872         * test/automated/epg-tests.el:
141873         * test/automated/eshell.el:
141874         * test/automated/faces-tests.el:
141875         * test/automated/file-notify-tests.el:
141876         * test/automated/auth-source-tests.el:
141877         * test/automated/gnus-tests.el:
141878         * test/automated/message-mode-tests.el:
141879         * test/automated/help-fns.el:
141880         * test/automated/imenu-test.el:
141881         * test/automated/info-xref.el:
141882         * test/automated/mule-util.el:
141883         * test/automated/isearch-tests.el:
141884         * test/automated/json-tests.el:
141885         * test/automated/bytecomp-tests.el:
141886         * test/automated/coding-tests.el:
141887         * test/automated/core-elisp-tests.el:
141888         * test/automated/decoder-tests.el:
141889         * test/automated/files.el:
141890         * test/automated/font-parse-tests.el:
141891         * test/automated/lexbind-tests.el:
141892         * test/automated/occur-tests.el:
141893         * test/automated/process-tests.el:
141894         * test/automated/syntax-tests.el:
141895         * test/automated/textprop-tests.el:
141896         * test/automated/undo-tests.el:
141897         * test/automated/man-tests.el:
141898         * test/automated/completion-tests.el:
141899         * test/automated/dbus-tests.el:
141900         * test/automated/newsticker-tests.el:
141901         * test/automated/sasl-scram-rfc-tests.el:
141902         * test/automated/tramp-tests.el:
141903         * test/automated/obarray-tests.el:
141904         * test/automated/compile-tests.el:
141905         * test/automated/elisp-mode-tests.el:
141906         * test/automated/f90.el:
141907         * test/automated/flymake-tests.el:
141908         * test/automated/python-tests.el:
141909         * test/automated/ruby-mode-tests.el:
141910         * test/automated/subword-tests.el:
141911         * test/automated/replace-tests.el:
141912         * test/automated/simple-test.el:
141913         * test/automated/sort-tests.el:
141914         * test/automated/subr-tests.el:
141915         * test/automated/reftex-tests.el:
141916         * test/automated/sgml-mode-tests.el:
141917         * test/automated/tildify-tests.el:
141918         * test/automated/thingatpt.el:
141919         * test/automated/url-future-tests.el:
141920         * test/automated/url-util-tests.el:
141921         * test/automated/add-log-tests.el:
141922         * test/automated/vc-bzr.el:
141923         * test/automated/vc-tests.el:
141924         * test/automated/xml-parse-tests.el:
141925         * test/BidiCharacterTest.txt:
141926         * test/biditest.el:
141927         * test/cedet/cedet-utests.el:
141928         * test/cedet/ede-tests.el:
141929         * test/cedet/semantic-ia-utest.el:
141930         * test/cedet/semantic-tests.el:
141931         * test/cedet/semantic-utest-c.el:
141932         * test/cedet/semantic-utest.el:
141933         * test/cedet/srecode-tests.el:
141934         * test/cedet/tests/test.c:
141935         * test/cedet/tests/test.el:
141936         * test/cedet/tests/test.make:
141937         * test/cedet/tests/testdoublens.cpp:
141938         * test/cedet/tests/testdoublens.hpp:
141939         * test/cedet/tests/testfriends.cpp:
141940         * test/cedet/tests/testjavacomp.java:
141941         * test/cedet/tests/testnsp.cpp:
141942         * test/cedet/tests/testpolymorph.cpp:
141943         * test/cedet/tests/testspp.c:
141944         * test/cedet/tests/testsppcomplete.c:
141945         * test/cedet/tests/testsppreplace.c:
141946         * test/cedet/tests/testsppreplaced.c:
141947         * test/cedet/tests/testsubclass.cpp:
141948         * test/cedet/tests/testsubclass.hh:
141949         * test/cedet/tests/testtypedefs.cpp:
141950         * test/cedet/tests/testvarnames.c:
141951         * test/etags/CTAGS.good:
141952         * test/etags/ETAGS.good_1:
141953         * test/etags/ETAGS.good_2:
141954         * test/etags/ETAGS.good_3:
141955         * test/etags/ETAGS.good_4:
141956         * test/etags/ETAGS.good_5:
141957         * test/etags/ETAGS.good_6:
141958         * test/etags/a-src/empty.zz:
141959         * test/etags/a-src/empty.zz.gz:
141960         * test/etags/ada-src/2ataspri.adb:
141961         * test/etags/ada-src/2ataspri.ads:
141962         * test/etags/ada-src/etags-test-for.ada:
141963         * test/etags/ada-src/waroquiers.ada:
141964         * test/etags/c-src/a/b/b.c:
141965         * test/etags/c-src/abbrev.c:
141966         * test/etags/c-src/c.c:
141967         * test/etags/c-src/dostorture.c:
141968         * test/etags/c-src/emacs/src/gmalloc.c:
141969         * test/etags/c-src/emacs/src/keyboard.c:
141970         * test/etags/c-src/emacs/src/lisp.h:
141971         * test/etags/c-src/emacs/src/regex.h:
141972         * test/etags/c-src/etags.c:
141973         * test/etags/c-src/exit.c:
141974         * test/etags/c-src/exit.strange_suffix:
141975         * test/etags/c-src/fail.c:
141976         * test/etags/c-src/getopt.h:
141977         * test/etags/c-src/h.h:
141978         * test/etags/c-src/machsyscalls.c:
141979         * test/etags/c-src/machsyscalls.h:
141980         * test/etags/c-src/sysdep.h:
141981         * test/etags/c-src/tab.c:
141982         * test/etags/c-src/torture.c:
141983         * test/etags/cp-src/MDiagArray2.h:
141984         * test/etags/cp-src/Range.h:
141985         * test/etags/cp-src/burton.cpp:
141986         * test/etags/cp-src/c.C:
141987         * test/etags/cp-src/clheir.cpp.gz:
141988         * test/etags/cp-src/clheir.hpp:
141989         * test/etags/cp-src/conway.cpp:
141990         * test/etags/cp-src/conway.hpp:
141991         * test/etags/cp-src/fail.C:
141992         * test/etags/cp-src/functions.cpp:
141993         * test/etags/cp-src/screen.cpp:
141994         * test/etags/cp-src/screen.hpp:
141995         * test/etags/cp-src/x.cc:
141996         * test/etags/el-src/TAGTEST.EL:
141997         * test/etags/el-src/emacs/lisp/progmodes/etags.el:
141998         * test/etags/erl-src/gs_dialog.erl:
141999         * test/etags/f-src/entry.for:
142000         * test/etags/f-src/entry.strange.gz:
142001         * test/etags/f-src/entry.strange_suffix:
142002         * test/etags/forth-src/test-forth.fth:
142003         * test/etags/html-src/algrthms.html:
142004         * test/etags/html-src/index.shtml:
142005         * test/etags/html-src/software.html:
142006         * test/etags/html-src/softwarelibero.html:
142007         * test/etags/lua-src/allegro.lua:
142008         * test/etags/objc-src/PackInsp.h:
142009         * test/etags/objc-src/PackInsp.m:
142010         * test/etags/objc-src/Subprocess.h:
142011         * test/etags/objc-src/Subprocess.m:
142012         * test/etags/objcpp-src/SimpleCalc.H:
142013         * test/etags/objcpp-src/SimpleCalc.M:
142014         * test/etags/pas-src/common.pas:
142015         * test/etags/perl-src/htlmify-cystic:
142016         * test/etags/perl-src/kai-test.pl:
142017         * test/etags/perl-src/yagrip.pl:
142018         * test/etags/php-src/lce_functions.php:
142019         * test/etags/php-src/ptest.php:
142020         * test/etags/php-src/sendmail.php:
142021         * test/etags/prol-src/natded.prolog:
142022         * test/etags/prol-src/ordsets.prolog:
142023         * test/etags/ps-src/rfc1245.ps:
142024         * test/etags/pyt-src/server.py:
142025         * test/etags/tex-src/gzip.texi:
142026         * test/etags/tex-src/nonewline.tex:
142027         * test/etags/tex-src/testenv.tex:
142028         * test/etags/tex-src/texinfo.tex:
142029         * test/etags/y-src/atest.y:
142030         * test/etags/y-src/cccp.c:
142031         * test/etags/y-src/cccp.y:
142032         * test/etags/y-src/parse.c:
142033         * test/etags/y-src/parse.y:
142034         * test/indent/css-mode.css:
142035         * test/indent/js-indent-init-dynamic.js:
142036         * test/indent/js-indent-init-t.js:
142037         * test/indent/js-jsx.js:
142038         * test/indent/js.js:
142039         * test/indent/latex-mode.tex:
142040         * test/indent/modula2.mod:
142041         * test/indent/nxml.xml:
142042         * test/indent/octave.m:
142043         * test/indent/pascal.pas:
142044         * test/indent/perl.perl:
142045         * test/indent/prolog.prolog:
142046         * test/indent/ps-mode.ps:
142047         * test/indent/ruby.rb:
142048         * test/indent/scheme.scm:
142049         * test/indent/scss-mode.scss:
142050         * test/indent/sgml-mode-attribute.html:
142051         * test/indent/shell.rc:
142052         * test/indent/shell.sh:
142053         * test/redisplay-testsuite.el:
142054         * test/rmailmm.el:
142055         * test/automated/buffer-tests.el:
142056         * test/automated/cmds-tests.el:
142057         * test/automated/data-tests.el:
142058         * test/automated/finalizer-tests.el:
142059         * test/automated/fns-tests.el:
142060         * test/automated/inotify-test.el:
142061         * test/automated/keymap-tests.el:
142062         * test/automated/print-tests.el:
142063         * test/automated/libxml-tests.el:
142064         * test/automated/zlib-tests.el: Files Moved.
142066 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
142068         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
142070         * lisp/progmodes/verilog-mode.el
142071         (verilog-save-font-no-change-functions): Commentary and fix
142072         pre-Emacs 21 behavior.
142074 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
142076         Rework file notifications, kqueue has problems with directory monitors
142078         * lisp/filenotify.el (file-notify-add-watch): Call the native
142079         add-watch function on the file, not on the dir.
142081         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
142082         about already deleted entries.
142084         * test/automated/auto-revert-tests.el
142085         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
142086         since this deletes the target file first.
142088         * test/automated/file-notify-tests.el (file-notify--test-event-test):
142089         Make stronger checks.
142090         (file-notify-test01-add-watch, file-notify-test02-events)
142091         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
142092         Rewrite in order to call file monitors but directory monitors.
142093         (file-notify-test06-many-events): Ler rename work in both directions.
142095 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
142097         Use obarray functions from obarray.
142099         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
142100           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
142101           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
142102           delegate to obarray.el functions.
142103         * lisp/loadup.el: load obarray before abbrev
142104         * test/automated/abbrev-tests.el: new tests
142106 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
142108         Continie with pending events
142110         * src/kqueue.c (pending_events): Remove global variable.
142111         (kqueue_compare_dir_list): Create `write' event for not used
142112         pending events.
142113         (globals_of_kqueue): Remove initialization of pending_events.
142115 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
142117         Improve loops in file-notify-test06-many-events
142119         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
142120         Use `read-event' pauses for the `write-file' loops; otherwise
142121         events are lost in inotify and gfilenotify cases.
142123 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
142125         Handle more complex rename operation in kqueue
142127         * src/kqueue.c (pending_events): New variable.
142128         (kqueue_compare_dir_list): Handle more complex rename operation.
142129         (globals_of_kqueue): Initialize pending_events.
142131         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
142132         Adapt expected events in the `rename-file' case.
142133         (file-notify-test06-many-events-remote): Declare.
142135 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
142137         epa.el: Add option to replace original text
142139         * lisp/epa.el (epa-replace-original-text): New user option.
142140         (Bug#21947)
142142 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
142144         Add interactive seek command.
142146         * lisp/mpc.el (mpc-cmd-seekcur): New function.
142147         (mpc-seek-current): New command.
142148         (mpc-mode-menu): Add entry for mpc-seek-current
142149         (mpc-mode-map): Bind mpc-seek-current to "g"
142151 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
142153         Fix issue where a new tempfile was created every refresh
142155         * lisp/mpc.el (mpc-format): Leave dir as relative path
142157 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
142159         New test with a larger number of events.
142161         * test/automated/file-notify-tests.el (file-notify--test-with-events):
142162         Make timeout heuristically depend on the number of events.
142164         (file-notify-test06-many-events): Use it for new test.
142166 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
142168         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
142170         (c-save-buffer-state): Use with-silent-modifications when available.
142171         (c--macroexpand-all): Check macroexpand-all directly rather than
142172         c--mapcan-status.
142174 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
142176         * lisp/loadup.el: Set max-lisp-eval-depth here
142178         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
142179         (BYTE_COMPILE_FLAGS): Adjust accordingly.
142181 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
142183         Further fixes for kqueue.
142185         * lisp/filenotify.el (file-notify-callback): Raise also event if
142186         directory name matches.
142187         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
142189         * src/kqueue.c (kqueue_generate_event): Use watch_object as
142190         argument instead of ident.  Remove callback argument.  Adapt
142191         callees.  Check actions whether they are monitored flags.
142193         * test/automated/file-notify-tests.el (file-notify--test-library):
142194         New defun.
142195         (file-notify-test00-availability, file-notify-test02-events)
142196         (file-notify-test04-file-validity)
142197         (file-notify-test05-dir-validity): Use it.
142198         (file-notify-test02-events, file-notify-test04-file-validity): Add
142199         `read-event' calls between different file actions, in order to
142200         give the backends a chance to rais an event.  Needed especially
142201         for kqueue.  In case of deleting a directory, there are two
142202         `deleted' events.
142204 2015-11-17  João Távora  <joaotavora@gmail.com>
142206         Minor fix to comment indentation and typo in last commit
142208         * lisp/linum.el (linum-update-window): Fix comment indentation and
142209         a typo.
142211 2015-11-17  João Távora  <joaotavora@gmail.com>
142213         linum-mode plays more nicely with other margin-setting extensions
142215         linum.el will only modify the left margin if it needs to, and will
142216         only reset the it back to 0 if it guesses that no-one has touched that
142217         margin in the meantime.
142219         As such, this is a more of a workaround than an actual fix, but fixes
142220         the problems described in bug#20674 regarding the interaction with
142221         modes such as darkroom-mode and olivetti-mode.
142223         A similar fix was committed to nlinum.el in ELPA.git's
142224         e7f5f549fbfb740b911fb7f33b42381ecece56d8
142226         * lisp/linum.el (linum-delete-overlays): Restore margins more
142227         criteriously.
142228         (linum-update-window): Set margins more criteriously.
142230 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
142232         Code cleanup of kqueue.c
142234         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
142235         (kqueue_compare_dir_list): Do not loop when calling
142236         directory_files_internal.  Remove checks for "." and "..", this is
142237         done in kqueue_directory_listing now.
142238         (Fkqueue_add_watch): Check for proper emacs_open flags.
142240 2015-11-16  Daiki Ueno  <ueno@gnu.org>
142242         * lisp/image-mode.el: Support encrypted file
142244         (image-toggle-display-image): Read content from the buffer instead
142245         of the file, if the buffer holds a decrypted data.  (Bug#21870)
142247 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
142249         Doc changes for kqueue
142251         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
142252         Fix some glitches in the example.
142254 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
142256         Finish implementation in kqueue.c
142258         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
142259         Simplify access to list.
142260         (kqueue_compare_dir_list): Simplify access to list.  Raise
142261         `delete' event if directory does not exist any longer.  Otherwise,
142262         wait until directory contents has changed.  Fix error in check.
142264 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
142266         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
142268 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
142270         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
142272 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
142274         * lisp/emacs-lisp/package.el: Fix a decoding issue
142276         (package--with-response-buffer): Use `url-insert-buffer-contents'.
142277         The previous code had some issues with decoding. Refactoring that
142278         function allows us to use the decoding from url-handlers while still
142279         treating both sync and async requests the same.
142281         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
142282         `url-insert-buffer-contents'.
142283         (url-insert-buffer-contents): New function
142285 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
142287         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
142289         (package--with-work-buffer-async): Reimplement as
142290         `package--with-response-buffer'.
142291         (package--with-work-buffer): Mark obsolete.
142292         (package--with-response-buffer): New macro. This is a more self
142293         contained and less contrived version of
142294         `package--with-work-buffer-async'.  It uses keyword arguments,
142295         doesn't have async on the name, doesn't fallback on
142296         `package--with-work-buffer', and has _much_ simpler error
142297         handling.
142299         (package--check-signature, package--download-one-archive)
142300         (package-install-from-archive, describe-package-1): Use it.
142302         (package--download-and-read-archives): Let
142303         `package--download-one-archive' take care of calling
142304         `package--update-downloads-in-progress'.
142306 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
142308         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
142310         (verilog-save-buffer-state): Use with-silent-modifications when available.
142311         (verilog-save-font-no-change-functions): Don't bind
142312         before/after-change-functions if it's not needed.
142314 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
142316         More work on kqueue
142318         * lisp/filenotify.el (file-notify-callback): Handle also the
142319         `rename' event from kqueue.
142320         (file-notify-add-watch): Do not register an entry twice.
142322         * src/kqueue.c (kqueue_directory_listing): New function.
142323         (kqueue_generate_event): New argument FILE1.  Adapt callees.
142324         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
142326 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
142328         * CONTRIBUTE: Remove information about feature freeze.
142330         Merge branch 'release-process-lowercase'
142332 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
142334         Document the release process
142336         * admin/notes/versioning: Add information about RC releases.
142337         * admin/release-process: Document the release process.
142338         * admin/authors.el (authors-ignored-files):
142339         * admin/README: Change FOR-RELEASE to release-process.
142340         * CONTRIBUTE:
142341         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
142343 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
142345         * admin/release-process: Rename from admin/FOR-RELEASE.
142347 2015-11-14  David Engster  <deng@randomsample.de>
142349         gitmerge: Fix git log command
142351         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
142352         only want commits from the branch that is to be merged.
142353         (gitmerge-setup-log-buffer): Use the same symmetric range as in
142354         `gitmerge-missing'.
142356 2015-11-14  David Engster  <deng@randomsample.de>
142358         gitmerge: Try to detect cherry-picks
142360         * admin/gitmerge.el (gitmerge-default-branch): Change to
142361         origin/emacs-25.
142362         (gitmerge-missing): Use symmetric difference ('...') between
142363         branch and master so that cherry-picks can be detected.
142365 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
142367         Implement directory events
142369         * lisp/filenotify.el (file-notify-handle-event)
142370         (file-notify-callback): Remove traces.
142372         * src/kqueue.c: Include <sys/time.h>.
142373         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
142374         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
142375         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
142376         Compute initial directory listing.  Close file descriptor in case
142377         of errors.
142378         (syms_of_kqueue): Declare Qcreate.
142380 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
142382         Increment Emacs version on master branch
142384         * lisp/cus-edit.el (customize-changed-options-previous-release):
142385         Increase previous version to 24.5.
142387         * configure.ac:
142388         * msdos/sed2v2.inp: Bump version to 25.1.50.
142390 2015-11-13  Xue Fuqiao  <xfq.free@gmail.com>
142392         Mention CONTRIBUTE in README
142394         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
142395         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
142396         * README: Mention CONTRIBUTE.
142398 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
142400         Update verilog-mode.el to 2015-11-09-b121d60-vpo.
142402         * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-delete-auto)
142403         (verilog-modi-cache-results, verilog-save-buffer-state)
142404         (verilog-save-font-no-change-functions): When internally suppressing change
142405         functions, use `inhibit-modification-hooks' and call
142406         `after-change-functions' to more nicely work with user hooks.
142407         Reported by Stefan Monnier.
142409         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
142410         Create `verilog-delete-auto-buffer' to avoid double-calling
142411         fontification hooks.
142413         (verilog-restore-buffer-modified-p, verilog-auto)
142414         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
142415         set-buffer-modified-p. Reported by Stefan Monnier.
142417         (verilog-diff-auto, verilog-diff-buffers-p)
142418         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
142420         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
142421         AUTOINST with unpacked dimensional parameters, bug981. Reported by
142422         by Amol Nagapurkar.
142424         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
142425         properties inside internal structures. No functional change
142426         intended.
142428 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
142430         Build fixes for kqueue support.
142432         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
142433         flag.
142435         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
142436         kqueue on *BSD.
142438 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
142440         Continue kqueue implementation
142442         * lisp/filenotify.el (file-notify-handle-event)
142443         (file-notify-callback): Enable trace messages.
142445         * src/kqueue.c: Include also <sys/types.h>.
142446         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
142447         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
142448         (syms_of_kqueue): Add them.
142450 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
142452         Work on kqueue
142454         * lisp/filenotify.el (file-notify--library)
142455         (file-notify-descriptors, file-notify-callback)
142456         (file-notify-add-watch, file-notify-rm-watch)
142457         (file-notify-valid-p): Add kqueue support.
142459         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
142461 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
142463         Add kqueue support
142465         * configure.ac (--with-file-notification): Add kqueue.
142466         (top): Remove special test for "${HAVE_NS}" and
142467         ${with_file_notification}, this is handled inside gfilenotify
142468         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
142469         instead of library specific variables.
142471         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
142473         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
142475         * src/kqueue.c: New file.
142477         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
142479 This file records repository revisions from
142480 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
142481 commit 1ca4da054be7eb340c511d817f3ec89c8b819db7 (inclusive).
142482 See ChangeLog.2 for earlier changes.
142484 ;; Local Variables:
142485 ;; coding: utf-8
142486 ;; End:
142488   Copyright (C) 2015-2020 Free Software Foundation, Inc.
142490   This file is part of GNU Emacs.
142492   GNU Emacs is free software: you can redistribute it and/or modify
142493   it under the terms of the GNU General Public License as published by
142494   the Free Software Foundation, either version 3 of the License, or
142495   (at your option) any later version.
142497   GNU Emacs is distributed in the hope that it will be useful,
142498   but WITHOUT ANY WARRANTY; without even the implied warranty of
142499   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
142500   GNU General Public License for more details.
142502   You should have received a copy of the GNU General Public License
142503   along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.